1. 에이전트 루프
에이전트 루프란 AI 모델이 사용자의 매번 승인 없이도 스스로 목표를 달성할 때까지 도구를 반복해서 실행하며 작업을 수행하는 구조를 말합니다. 쉽게 말해, AI가 혼자서 멈추지 않고 시행착오를 거치며 문제를 해결해 나가는 자동화된 반복 작업 과정이라고 이해할 수 있습니다.
1.1 YOLO 모드와 생산성
'YOLO 모드(You Only Live Once)'는 에이전트가 사용자의 개별 승인 없이 모든 명령을 자동으로 실행하는 모드입니다. 소프트웨어 개발자 Simon Willison에 따르면, 이 모드는 매번 승인하는 과정에서 발생하는 지연을 없애 생산성을 극대화하는 핵심 요소입니다. 다만, 무분별한 실행으로 인한 보안 위험이 따르므로 격리된 샌드박스나 컨테이너 환경에서 실행하는 것이 필수적입니다.
1.2 루프를 위한 도구 선택 (MCP 대신 MD가 유리한 이유)
에이전트가 루프 안에서 최적으로 작동하도록 도구를 설계하는 과정에서, Simon Willison은 복잡한 MCP(Model Context Protocol)를 도입하는 대신 에이전트가 이해하기 쉬운 쉘 명령어 위주의 'AGENTS.md' 파일 형태를 선호합니다. 그는 LLM이 이미 다양한 도구 사용법을 학습한 상태이므로, 복잡한 프로토콜보다는 에이전트가 즉시 복사하여 실행할 수 있는 실무 예시가 포함된 마크다운 문서가 더 직관적이고 생산적이라고 설명합니다.
1.3 에이전트 루프 도입 시점
모든 문제에 에이전트 루프가 적합한 것은 아닙니다. 성공 기준이 명확하고, 시행착오를 거쳐 해결해야 하는 반복적인 작업에 효과적입니다. 특히 테스트 케이스가 잘 갖춰진 환경에서 디버깅, 성능 최적화, 의존성 업데이트와 같은 작업을 수행할 때 가장 큰 효과를 발휘합니다.
1.4 에이전트 루프의 본질
에이전트 루프는 단순한 자동화를 넘어, AI가 ‘도구’를 사용하는 방식에서 ‘문제를 해결하는 동반자’로 진화하는 중요한 전환점입니다. 에이전트 루프의 핵심은 ‘반복적인 시행착오를 통한 학습’에 있습니다. 따라서 성공적인 에이전트 루프를 위해서는 사용자가 AI에게 완벽한 지시를 내리려 하기보다, AI가 자유롭게 실험하고 실패할 수 있는 안전한 환경(Sandbox)을 제공하고 명확한 성공 기준(Test Suite)을 설정해 주는 것이 가장 효율적인 협업 모델입니다.
1.5 AI 모델 구조의 혁신: MoE (Mixture of Experts)
에이전트 루프를 돌릴 때 가장 큰 고민은 '응답 속도'와 '비용'입니다. 이를 해결하기 위해 최근 AI 업계는 거대한 단일 모델 대신 MoE(전문가 혼합 모델) 아키텍처를 도입하고 있습니다.
- 구조적 본질 (전문가 팀 체제): MoE는 '동네 의사'처럼 혼자서 모든 것을 다 잘하려는 모델이 아닙니다. 수학, 언어, 코딩 등 각 분야에 특화된 전문가(Expert) 파라미터들이 대기하고 있는 종합병원과 같습니다. 질문이 들어오면 모델 내부의 '라우터(Router)'가 해당 질문의 패턴을 즉시 분석하여, 가장 잘 답변할 수 있는 전문가 경로를 실시간으로 선택합니다.
- 성능과 효율 (희소 활성화): 전체 파라미터는 거대하지만, 실제 답변을 생성할 때는 질문의 논리 구조에 최적화된 일부 전문가만 활성화(Sparse Activation)됩니다. 전체 모델을 다 가동하지 않고 필요한 부분만 똑똑하게 골라 쓰기 때문에, 지능은 유지하면서도 연산량과 전기료를 획기적으로 줄일 수 있습니다.
- 실제 적용 사례: Claude 3.5 Sonnet과 같은 최신 모델들은 코딩이나 복잡한 추론 요청이 들어오면, 내부 라우터가 코딩 논리에 최적화된 전문가 파라미터 경로를 활성화합니다. 이는 에이전트 루프를 돌며 끊임없이 코드를 수정하고 테스트할 때, 전체 모델을 다 돌리지 않고도 높은 정확도로 빠르게 답변을 생성하게 만드는 핵심 동력입니다.
이러한 에이전트 루프를 안전하고 효과적으로 제어하기 위해서는 시스템 전반을 체계적으로 연결하고 보호하는 하네스 엔지니어링이 필수적입니다.
2. 하네스 엔지니어링
| 가드레일 | 입출력 실시간 필터링 | 부적절한 답변 노출, 보안 사고, 할루시네이션 |
| 데이터 거버넌스 | 접근 권한 및 민감 정보 통제 | 기업 기밀 유출, 데이터 오남용 |
| 모니터링·피드백 순환 | 성능 추적 및 지속적 최적화 | 반복되는 오류 방치, 시스템 노후화 |
2.1 하네스 엔지니어링의 본질
'하네스(Harness)'는 AI 에이전트 시스템에서 거대 언어 모델(LLM)이라는 '강력한 엔진'을 실제 서비스라는 '자동차'에 얹기 위한 안전장치, 계기판, 그리고 제어 시스템을 설계하는 작업입니다. 단순한 프롬프트 엔지니어링을 넘어, AI가 실제로 일을 해낼 수 있는 작업 환경과 제어 구조 자체를 설계하는 것을 의미합니다.
2.2 도입이 필수적인 이유
- 확률적 모델의 결정론적 통제: LLM의 출력을 지속적으로 검증하고 형식을 강제하여 예측 가능한 결과물을 도출합니다.
- 컴플라이언스 및 보안: 중간 가로채기(Intercept)를 통한 강력한 가드레일로 섀도우 AI를 차단하고 데이터 유출을 방지합니다.
- 레거시 시스템 연동: 사내 API와 AI 사이의 통역사 역할을 수행하며 시스템의 데이터를 AI가 이해할 수 있는 문맥으로 변환합니다.
2.3 핵심: 오케스트레이션 레이어(Orchestration Layer)
시스템의 두뇌 역할을 하며 다음과 같은 제어 로직을 수행합니다:
- 작업 분할 및 계획: 복잡한 요청을 수행 가능한 작은 하위 작업으로 세분화합니다.
- 지능형 라우팅: 작업 성격에 맞춰 최적의 도구나 모델을 할당합니다.
- 체이닝 및 워크플로우: 여러 단계의 작업을 유기적으로 연결합니다.
- 오류 복구 및 재시도: AI가 생성한 에러 메시지를 가로채 스스로 오류를 바로잡을 기회를 제공합니다.
- 장기 작업 유지: 프로젝트 진행 상황을 지속적으로 기억하여 긴 작업을 완주하게 합니다.
2.3.1 LangGraph: 에이전트 오케스트레이션의 표준
우리가 2.3절에서 정의한 '오케스트레이션 레이어'를 실무에서 가장 강력하게 구현할 수 있는 최신 개발 프레임워크가 바로 LangGraph(랭그래프)입니다. 단순한 선형적 체인(Chain)을 넘어, 하네스 엔지니어링이 지향하는 제어 구조를 완벽히 구현합니다.
- 순환형 그래프(Cyclic Graph) 구조: LangGraph의 핵심은 작업에 '루프(Loop)'를 넣을 수 있다는 점입니다. AI가 코드를 작성한 후, 테스트 결과에 따라 스스로 "에러가 났으니 처음으로 돌아가서 수정해!"라고 명령하는 순환형 구조를 아주 쉽게 짤 수 있습니다.
- 상태(State) 관리: 하네스 엔지니어링에서 중요한 '긴 작업의 맥락 유지'를 위해, LangGraph는 작업의 현재 상태를 메모리(State)에 저장합니다. 에이전트가 작업 중 어디까지 진행했고, 아까 무슨 에러가 났었는지를 잊지 않고 이어갈 수 있게 합니다.
- Human-in-the-loop(승인 루프): YOLO 모드의 위험성을 제어하기 위해, 특정 단계에서 "여기부터는 중요하니까 관리자 승인(Y/N)을 받고 넘어가도록 해"와 같은 안전장치를 코드 수준에서 즉각 삽입할 수 있습니다.
2.4 보안 설계의 5대 핵심 요소
자율형 에이전트 시스템에는 다음의 보안 로직이 반드시 포함되어야 합니다.
- 프롬프트 인젝션 방어: 입력 단계에서 검증을 통해 악의적인 입력을 차단합니다.
- 동적 권한 제어(RBAC): 현재 요청자의 권한에 기반하여 데이터 접근 범위를 제한합니다.
- 민감 정보 마스킹: 외부 API 전송 시 개인정보를 가짜 데이터로 치환하여 프라이버시를 보호합니다.
- 도구 실행 샌드박싱: 네트워크가 격리된 컨테이너 환경에서만 코드를 실행합니다.
- 출력 검증 및 가드레일: 최종 답변이 내부 윤리 가이드라인을 준수하는지 필터링합니다.
2.5 실전 구현: 무엇을 해야 할까요?
- AI에게 도구(Tool)를 쥐여줍니다. (쉘 명령어 실행, 데이터베이스 조회 등)
- 그 도구들을 안전하게 감싸는 컨테이너(Docker)를 만듭니다. (인프라 하네스)
- 에러가 나면 스스로 고치게 하거나, 사람에게 보고하도록 '제어 로직'을 코딩합니다. (오케스트레이션 레이어)
- 그 도구들을 어떻게 써야 하는지 적힌 설명서(.MD)를 에이전트가 항상 참조하게 합니다. (운영 가이드)
2.6 하네스의 구성 요소
프로젝트 루트/
│
├── AGENTS.md ← ① 지시 문서
├── .eslintrc ← ② 아키텍처 제약
│
├── tests/ ← ③ 피드백 루프
│
└── ...
│
└── docs/ ← ④ 지식 저장소
├── decisions/
└── conventions/
| 지시 문서 | 에이전트에게 규칙을 전달 | AGENTS.md, CLAUDE.md |
| 아키텍처 제약 | 구조적으로 잘못된 코드를 차단 | 린터(Linter), 디렉토리 규칙 |
| 피드백 루프 | 행동을 실시간으로 교정 | 테스트, CI 자동화 |
| 지식 저장소 | 팀의 결정과 맥락을 축적 | docs/ 디렉토리 |
2.7 AI 하네스 엔지니어링 적용 사례
하네스 엔지니어링은 이론을 넘어 실제 프로덕션 레벨의 AI 시스템에서 핵심적인 안전망으로 작동하고 있습니다.
- Anthropic - Claude Code (Fable 5) 보안 하네스: 터미널 환경에서 코드를 직접 작성하고 실행하는 자율형 에이전트입니다. 사용자가 터미널에서 명령을 내리면 내부의 "보안 하네스"가 명령의 위험성을 1차적으로 필터링합니다. sudo 권한 상승 시도나 허용되지 않은 파일 접근을 감지하면 즉시 실행을 중단하고 사용자 승인을 요청하여 보안 가드레일을 구축했습니다.
- GitHub - Copilot Workspace 워크플로우 하네스: 이슈 해결 과정을 자동화하는 시스템입니다. AI가 계획을 수립하고 코드를 작성하는 동안, 하네스가 단위 테스트를 자동으로 실행하고 실패 시 AI가 스스로 코드를 수정(Self-correction)하도록 제어합니다. 이 과정에서 단계별 성공/실패 여부를 시각화하여 사용자가 AI의 사고 과정을 실시간으로 감독할 수 있게 합니다.
- Netflix - 클라우드 리소스 최적화 오케스트레이션 하네스: 대규모 클라우드 인프라의 비용과 성능을 관리하는 시스템입니다. AI가 인프라 설정을 자동으로 변경하기 전, 반드시 샌드박스 환경에서 예측 시뮬레이션을 실행합니다. 성능 임계값을 벗어나는 순간 하네스가 자동으로 롤백을 실행하여, AI의 판단이 비즈니스 장애로 이어지지 않도록 방어적 제어 구조를 설계했습니다.
- Salesforce - Agentforce 보안 및 신뢰 하네스: 기업용 AI 서비스의 "Einstein Trust Layer"입니다. 에이전트가 데이터에 접근하기 전 데이터 마스킹 기술로 민감 정보를 비식별화하며, LLM이 사내 지식 베이스(Grounding) 기반으로만 답변하도록 통제하여 환각 현상을 방지하는 전형적인 보안 하네스 모델입니다.
- Shopify - Sidekick 트랜잭션 하네스: 쇼핑몰 운영 에이전트 시스템입니다. 운영자가 "할인 이벤트 생성"을 명령하면, AI가 직접 DB를 수정하는 대신 내부 API와 연결된 트랜잭션 하네스를 호출합니다. 모든 실행 내용을 롤백 가능한 단위로 관리하며, 실제 데이터 반영 전 운영자에게 변경 사항 요약본을 보여주고 승인을 받는 중간 단계를 필수적으로 삽입합니다.
- Sakana AI - AI Scientist 실험 하네스: 과학적 발견을 자동화하는 연구용 에이전트 시스템입니다. AI가 작성한 실험 코드를 격리된 환경(Sandbox)에서 실행하고, 에러 발생 시 로그를 분석해 스스로 코드를 재작성하도록 유도(Self-reflection)합니다. 연구 데이터 훼손을 방지하기 위해 파일 쓰기 권한을 엄격히 제어하는 데이터 캡슐화 하네스를 구현했습니다.
- Enterprise SQL Agent - 데이터베이스 질의 하네스 (DBA용): AI가 사내 DB에 직접 접근하여 분석하는 시스템에서 필수적인 하네스입니다. AI가 생성한 SQL이 데이터베이스에 전송되기 전, 쿼리 파서가 이를 분석하여 DROP, TRUNCATE 등 파괴적인 명령을 사전에 차단합니다. 또한, 결과 데이터에 포함된 주민등록번호 등 민감 정보를 실시간 마스킹하고, 쿼리 실행 시간과 데이터 조회 범위를 제한하여 DB 부하를 원천 방지하는 보안 게이트웨이 역할을 수행합니다.
2.8.3 정적 분석을 통한 안전 가드레일
구조적 마커(MARKER = "// == GENERATED ==")를 사용하여 AI가 생성한 코드를 영역별로 명확히 관리합니다. AST(추상 구문 트리) 파싱과 이름 중복 방지 로직을 통해 AI가 기존 코드를 덮어쓰지 않도록 보호하며, 원본 코드의 무결성을 보존하는 방식으로 설계되었습니다.
2.8.4 데이터 캡슐화와 인프라 무결성 유지
스냅샷 기반 복구(shutil.copy2)를 통해 에러 발생 시 즉각적으로 코드를 이전 상태로 되돌리는 롤백 구조를 갖추고 있습니다. 또한, 해결 불가능한 인프라 오류는 별도의 로그(infra_queue.md)로 격리하여 시스템 전체의 회복탄력성을 확보하는 패턴을 적용했습니다.
- 강제 종료 (Stop Condition): 코드가 성공했거나, 더 이상 개선의 여지가 없거나(Coverage gain 없음), 인프라 오류가 발생하면 루프를 즉시 종료하여 시스템 자원을 보호합니다.
3. YOLO 모드와 안전한 실행
YOLO 모드는 에이전트의 생산성을 극대화하기 위해 사용자의 승인 과정을 생략하는 방식이지만, 그 자율성만큼이나 치명적인 보안 위협이 뒤따릅니다. 안전한 운영을 위해 반드시 고려해야 할 리스크와 대응 방안을 정리합니다.
3.1 YOLO 모드의 3대 리스크
- 의도치 않은 시스템 손상: 에이전트가 잘못된 명령을 실행하여 중요한 파일을 삭제하거나 시스템 설정을 변경할 수 있습니다.
- 정보 유출 (Exfiltration): 소스 코드나 환경 변수에 포함된 비밀 키(Secret) 등이 외부 공격자에게 탈취될 위험이 있습니다.
- 프록시 공격: 에이전트가 공격자의 도구로 악용되어 DDoS 공격의 발신지가 되거나 다른 타깃을 공격하는 통로가 될 수 있습니다.
3.2 안전한 실행을 위한 가이드라인
- 샌드박스 활용: Docker나 Apple 컨테이너 도구와 같은 격리된 환경에서 실행하여 호스트 시스템을 보호해야 합니다. 특히 GitHub Codespaces와 같은 일회성 클라우드 환경을 사용하면 보안 사고 발생 시 영향 범위를 최소화할 수 있습니다.
- 네트워크 격리 및 신뢰 호스트 제한: Anthropic의 가이드라인처럼 인터넷 접근을 전면 차단하거나, 반드시 필요한 최소한의 신뢰할 수 있는 호스트(Trusted Hosts)에만 연결을 허용하여 정보 유출을 방지해야 합니다.
- 위험 격리: API 키와 같은 자격 증명(Credentials)을 노출할 때는 항상 권한과 예산 범위가 제한된 테스트 전용 환경을 사용하십시오.
주요 개념 정리
- 에이전트 루프 (Agentic Loop): AI가 사용자의 승인 없이 스스로 목표를 달성할 때까지 도구(Tool)를 반복적으로 실행하는 구조입니다. 시행착오를 통한 학습과 자동화된 문제 해결의 핵심 단위입니다.
- YOLO 모드 (You Only Live Once): 에이전트의 생산성을 극대화하기 위해 사용자의 승인 과정을 생략하는 실행 방식입니다. 보안 위험이 수반되므로 샌드박스 등 격리된 환경에서의 실행이 전제되어야 합니다.
- AI 거버넌스 (AI Governance): AI 거버넌스란 AI가 제멋대로 행동하지 않게 회사 규칙을 정하거나, AI가 한 일이 회사의 보안 및 윤리 기준에 맞는지 꼼꼼하게 검사하는 것을 말합니다. 하네스 엔지니어링을 통해 AI의 모든 행동을 투명하게 기록하고 감시함으로써, 기업이 의도한 정책 안에서만 AI가 안전하게 움직이도록 통제하는 'AI 관리 체계'입니다.
- AGENTS.md: 복잡한 프로토콜(MCP 등) 대신 에이전트가 이해하기 쉬운 쉘 명령어 위주로 작성된 마크다운 문서입니다. 에이전트에게 도구 사용법을 직관적으로 학습시키는 효율적인 설계 방식입니다.
- 하네스 엔지니어링 (Harness Engineering): LLM이라는 강력한 엔진을 서비스로 구현하기 위해 필요한 안전장치, 제어 시스템, 워크플로우를 설계하는 작업입니다. AI의 자율성을 통제하고 신뢰성을 확보하는 필수적인 설계론입니다.
- 오케스트레이션 레이어 (Orchestration Layer): 하네스의 핵심 두뇌입니다. 작업 분할, 라우팅, 오류 복구, 장기 기억 유지 등 시스템의 복잡한 제어 로직을 수행하며 에이전트가 끝까지 작업을 완주하도록 돕습니다.
- 보안 가드레일 (Security Guardrails): AI의 입출력을 감시하고 필터링하는 방어 체계입니다. 프롬프트 인젝션 방어, 데이터 마스킹, 권한 제어 등을 통해 자율 에이전트의 잠재적 위험을 원천 차단합니다.
- 샌드박싱 (Sandboxing): AI가 실행하는 코드가 호스트 시스템에 직접적인 영향을 주지 않도록 네트워크나 파일 시스템을 격리된 환경(컨테이너 등)에서 수행하게 하는 보안 기술입니다.
- 할루시네이션-환각 (Hallucination): LLM이 학습 데이터나 사실관계와 무관하게 그럴듯하지만 틀린 정보를 생성하는 현상입니다. 하네스 엔지니어링은 이러한 확률적 오류를 검증하고 통제하여 시스템의 신뢰성을 확보하는 역할을 합니다.
- MoE (Mixture of Experts): 거대 모델을 하나의 덩어리로 쓰는 대신, 특정 분야별 전문가 모델들의 집합으로 구성하여 효율성을 극대화하는 아키텍처입니다. 답변 시 필요한 전문가 모델만 선별하여 가동함으로써 속도와 성능을 동시에 잡습니다.
- LangGraph (랭그래프): AI 에이전트의 작업 지시서에 순환(Cycle)과 조건문을 넣어, 스스로 에러를 복구하고 상태를 유지하는 '오케스트레이션 레이어'를 구현하기 위한 개발 프레임워크입니다. 하네스 엔지니어링의 핵심인 '제어 구조'를 코드로 짜는 도구입니다.
참조 문헌
- 채널톡 블로그: 하네스 엔지니어링이란?
https://channel.io/kr/blog/articles/what-is-harness-2611ddf1 - Simon Willison: Designing Agentic Loops
https://simonwillison.net/2025/Sep/30/designing-agentic-loops/ - selectstar ai : 하네스 엔지니어링
https://selectstar.ai/blog/insight/about-harness-engineering/ - Moe, 남훈멘토
https://insightsblue.tistory.com/11
'IT > AI | All' 카테고리의 다른 글
| 광고 보는 챗GPT vs 돈 내고 쓰는 클로드, 당신의 선택은? (0) | 2026.07.06 |
|---|---|
| AI 에이전트의 YOLO 모드 (0) | 2026.07.06 |
| Claude Code로 보는 하네스 엔지니어링 | feat. 2026.7 Fable 5 업데이트 (0) | 2026.07.06 |
| 에이전트 루프 설계 | Agentic Loops (0) | 2026.07.06 |
| [개발자가 쓰는 LLM 비교] 인텔리제이 AI 플러그인 | LLM 바이브코딩 | AI 서비스 비교 (1) | 2025.09.24 |