장기 실행 애플리케이션 개발을 위한 Anthropic 하네스 설계

TL;DR

Anthropic은 플래너, 생성기, 평가기로 구성된 3-에이전트 하네스를 출시하여 Claude가 수시간에 걸친 실행 동안 풍부한 풀스택 애플리케이션을 자율적으로 생성할 수 있게 했으며, 프론트엔드 디자인의 미적 판단과 장기 실행 코딩 작업에서의 안정적인 코드 품질 문제를 모두 해결했습니다.


순진한 장기 실행 에이전트가 실패하는 이유

자율 코딩 에이전트의 단순한 구현은 컨텍스트 창이 가득 차면서 일관성을 빠르게 잃고, 모델이 작업을 조기에 마무리하는 '컨텍스트 불안'을 초래합니다. 단순한 컨텍스트 압축은 모델의 내부 상태를 재설정하지 않으므로 불안은 지속됩니다. 또한 자기 평가를 수행하는 에이전트는 특히 디자인과 같은 주관적인 작업에서 자신의 출력을 과대평가하는 경향이 있어 평범하거나 버그가 있는 산출물을 만듭니다.


GAN에서 영감을 받은 다중 에이전트 아키텍처

Anthropic은 생성적 적대 신경망(GAN)의 생성기-평가기 패턴을 적용했습니다:

  • 생성기는 코드 또는 UI 자산을 생성합니다.
  • 평가기는 구체적인 기준에 따라 출력을 평가하고 상세한 피드백을 제공합니다.
  • 플래너(풀스택 작업을 위해 추가됨)는 짧은 사용자 프롬프트를 상세한 제품 사양으로 확장하여 하위 에이전트의 범위를 설정합니다.

생성과 평가를 분리하면 평가기를 회의적으로 조정할 수 있어 생성기에 개선을 위한 구체적인 신호를 제공할 수 있습니다.


프론트엔드 디자인: 취향을 평가 가능한 기준으로 전환

주관적인 미학을 측정 가능하게 만들기 위해 Anthropic은 네 가지 평가 기준을 정의했습니다:

  1. 디자인 품질 – 색상, 타이포그래피, 레이아웃, 이미지의 일관성.
  2. 독창성 – 기본 템플릿 대비 맞춤 결정의 존재 여부.
  3. 장인정신 – 간격, 대비, 위계와 같은 기술적 실행.
  4. 기능성 – 시각적 매력과 무관한 사용성.

평가기는 퓨삿(few-shot) 예시로 보정되었으며, 점수를 매기기 전에 Playwright를 사용하여 실제 페이지와 상호작용했습니다. 반복 루프(생성당 5-15사이클)는 생성기를 더 독특한 디자인으로 이끌었으며, 10회 반복 후 3D CSS 박물관 사이트와 같은 주목할 만한 창의적 도약이 나타났습니다.


풀스택 개발로 확장

아키텍처

  • 플래너 – 1~4문장 프롬프트를 10개 스프린트에 걸친 16개 기능 사양으로 변환하며, 가능한 경우 AI 강화 기능을 추가합니다.
  • 생성기 – React/Vite/FastAPI/SQLite(이후 PostgreSQL) 스택을 사용하여 스프린트당 하나의 기능을 구현하고, git에 커밋하며, 인계 전에 자체 평가를 수행합니다.
  • 평가기 – Playwright를 사용하여 종단 간 테스트를 실행하고 각 스프린트를 제품 깊이, 시각적 디자인, 기능성, 코드 품질로 평가합니다. 구현 전에 스프린트 계약을 협상하여 기대치를 맞춥니다.

실행 세부 사항

  • 컨텍스트 재설정은 컨텍스트 불안으로 인해 Claude Sonnet 4.5에서 필요했지만, 더 긴 컨텍스트 처리가 잦은 재설정의 필요성을 제거한 Claude Opus 4.5로 전환하면서 제거되었습니다.
  • 에이전트 간 통신은 구조화된 파일을 통해 이루어지며, 구현 세부 사항을 과도하게 지정하지 않고 세션 간 상태를 보존합니다.

비교 결과: 하네스 vs 단독 실행

레트로 비디오 게임 제작기

  • 단독 실행 – 기본 UI를 생성했지만 레이아웃 낭비, 경직된 워크플로우, 작동하지 않는 게임 코어 문제가 있었습니다.
  • 하네스 실행 – 더 풍부한 사양, 더 세련된 UI, Claude 기반 AI 기능 통합, 플레이 가능한 게임(사소한 물리 결함은 있음)을 생성했습니다. 평가기는 27개의 스프린트 수준 기준을 포착하여 단독 버전에서 나타난 많은 버그를 방지했습니다.
  • 비용 – 하네스는 20배 이상 비쌌지만 품질 격차는 즉시 명확했습니다.

디지털 오디오 워크스테이션(DAW) 프로토타입

  • 실행 시간 – 약 4시간, 토큰 비용 $124.
  • 결과 – 기능적인 배열 뷰, 믹서, 트랜스포트; AI 지원 작곡이 시연됨.
  • 평가기 발견 사항 – 핵심 상호작용(드래그 앤 드롭 클립, 악기 패널, 비주얼 이펙트 편집기) 누락 및 오디오 녹음 스텁 처리로, Opus 4.5에서도 남은 격차를 드러냄.

Opus 4.6 이후 하네스 단순화

Opus 4.6은 장기 컨텍스트 검색, 계획, 자체 디버깅을 개선하여 하네스 구성 요소의 체계적인 축소를 촉진했습니다:

  • 스프린트 분해 제거 – 모델은 명시적인 청크 없이도 더 긴 일관된 실행을 처리할 수 있었습니다.
  • 평가기를 실행 종료 시점으로 이동 – 엣지 케이스 검증에는 여전히 유용하지만, 모델의 단독 능력 내에서 편안하게 처리할 수 있는 작업에는 불필요합니다.
  • 플래너 유지 – 간결한 프롬프트를 실행 가능한 사양으로 확장하는 데 필수적입니다.

단순화는 평가기의 유용성이 작업 부하에 따라 달라진다는 것을 보여주었습니다: 작업이 모델의 기본 능력을 초과할 때는 비용을 추가하지만, 모델 단독으로 충분할 때는 생략할 수 있습니다.


교훈과 향후 방향

  1. 대상 모델을 반복하세요 – 항상 현재 모델 버전으로 하네스를 테스트하십시오. 기능이 향상되면 스캐폴드의 일부가 쓸모없어질 수 있습니다.
  2. 필요할 때 분해하세요 – 작업 청킹과 전문화된 에이전트는 복잡한 문제에 여유를 제공하지만, 모델이 작업을 기본적으로 처리할 수 있게 되면 제거해야 합니다.
  3. 생성과 평가를 분리하세요 – 외부의 회의적인 평가기는 생성기를 자기 비판적으로 만드는 것보다 더 다루기 쉬운 튜닝을 제공합니다.
  4. 구체적인 평가 기준은 주관성을 피드백으로 전환합니다 – 디자인 원칙을 평가 가능한 용어로 인코딩하면 미적 개선을 이끌어냅니다.
  5. 하네스 설계는 계속 진화하는 대상입니다 – 모델이 개선됨에 따라 새로운 에이전트 조합이 등장하여 유용한 하네스의 공간을 활발하게 유지할 것입니다.

부록

DAW 프롬프트에 대한 플래너 출력 예시(간결함을 위해 생략).

Sources