장기 실행 애플리케이션 개발을 위한 하네스 설계
Anthropic이 생성기-평가기 분리 구조와 3-에이전트 아키텍처(플래너-생성기-평가기)로 장기 자율 코딩 세션을 6시간 단위로 완성 가능하게 구현
AI 요약
Context
장기 실행 자율 코딩 애플리케이션에서 에이전트가 시간 경과에 따라 궤도를 이탈하는 두 가지 실패 모드가 발생했다. 첫째, 컨텍스트 윈도우 채움에 따라 모델이 일관성을 잃고 컨텍스트 불안 현상으로 조기 종료하려는 경향이 나타났다. 둘째, 에이전트가 자신의 결과물을 평가할 때 자신감 있게 칭찬하는 자기 평가 편향으로 주관적 태스크(특히 디자인)에서 품질 저하가 발생했다.
Technical Solution
- 컨텍스트 리셋 도입: 컨텍스트 윈도우를 전체 비우고 이전 에이전트 상태와 다음 단계를 포함한 구조화된 핸드오프로 새 에이전트 시작 (기존 요약 기반 컴팩션과 다른 접근)
- 생성기-평가기 분리 구조: 작업 에이전트와 평가 에이전트를 독립적으로 분리하여 회의적으로 튜닝한 평가기가 생성기를 자기 비판적으로 만드는 구조 도입
- 4가지 채점 기준 설정: 디자인 품질(색상, 타이포그래피, 레이아웃의 일관성), 독창성(템플릿 패턴 회피), 완성도(기술적 실행), 기능성(사용성)을 명시적으로 정의하고 디자인과 독창성에 높은 가중치 적용
- 3-에이전트 아키텍처 구성: 플래너(1~4문장 프롬프트를 16개 기능 스펙으로 확장) → 생성기(스프린트 단위 React/Vite/FastAPI/SQLite로 구현) → 평가기(Playwright MCP로 라이브 페이지 상호작용 및 채점)
- 스프린트 계약 협상 도입: 각 스프린트 전에 생성기와 평가기가 코드 작성 전에 "완료" 정의에 합의하여 사용자 스토리와 테스트 가능한 구현 간 간극 해소
- Opus 4.6 출시 후 하네스 단순화: 스프린트 구조 완전 제거 및 평가기를 스프린트별 채점에서 실행 종료 시 단일 패스로 이동
Impact
솔로 에이전트 대비 풀 하네스: 20분/$9 vs 6시간/$200(20배 이상 높은 비용) 레트로 게임 메이커 사례: 솔로 실행은 엔티티가 입력에 반응하지 않아 게임이 작동하지 않았으나 하네스 실행은 플레이 가능한 게임 완성 브라우저 DAW 테스트: 플래너 4.7분/$0.46 + 빌드 3라운드 + QA 3라운드 = 약 4시간/$124.70 Opus 4.6 적용 후: 스프린트 분해 없이 2시간 이상 일관된 코딩 가능 프론트엔드 디자인: 기준과 관련 언어 자체가 평가기 피드백 이전에도 기본값 대비 눈에 띄게 우수한 결과 유도
Key Takeaway
장기 실행 자율 에이전트 태스크는 단일 모델의 단독 능력 범위를 초과할 때 생성-평가 분리와 명시적 채점 기준으로 15~20회 반복 피드백 루프를 구축하면 단순 패스 생성에서 불가능한 창의적 도약(예: 다크 테마 웹사이트에서 3D 공간 경험으로의 전환)을 달성할 수 있다. 새 모델 출시 시 하네스의 각 컴포넌트를 체계적으로 검증하여 더 이상 성능 병목이 아닌 부분을 제거하고 새로운 역량 달성을 위한 구조를 추가하는 반복이 필수적이다.