Anthropic: 장기 실행 에이전트를 위한 하네스 설계

Anthropic Labs 팀의 Prithvi Rajasekaran이 작성한 엔지니어링 블로그. 장기 실행 에이전트 코딩의 성능을 높이기 위한 하네스 설계 경험 공유.

핵심 문제의식

단순한 단일 에이전트 방식은 복잡한 장기 작업에서 한계에 부딪힘.

두 가지 주요 실패 모드

실패 모드설명
컨텍스트 소진컨텍스트 창이 채워질수록 모델의 일관성 저하. 일부 모델은 한계 근접 시 조기 마무리하려는 “컨텍스트 불안” 현상
자기 평가 편향모델이 자신의 결과물을 품질과 무관하게 긍정적으로 평가하는 경향

해결책

  • 컨텍스트 리셋: 컨텍스트 창 완전히 비우고 새 에이전트 시작 + 구조화된 핸드오프
  • 평가기 분리: 생성기와 평가기를 분리하여 객관적 피드백 가능

GAN에서 영감받은 멀티 에이전트 구조

GAN(생성적 적대 신경망)에서 착안하여 생성기(Generator) + 평가기(Evaluator) 분리 구조 설계.

프론트엔드 디자인 적용

4가지 평가 기준

기준설명
Design Quality디자인이 일관된 전체로 느껴지는가? 색상, 타이포그래피, 레이아웃이 조화를 이루는가?
Originality커스텀 결정의 증거가 있는가? 템플릿/라이브러리 기본값/AI 패턴인가?
Craft기술적 실행: 타이포그래피 계층, 간격 일관성, 색상 조화, 대비 비율
Functionality사용성: 사용자가 인터페이스를 이해하고 작업을 완료할 수 있는가?

디자인 품질과 독창성에 더 높은 가중치. Claude는 기본적으로 Craft와 Functionality에서 잘 함.

평가기에 Playwright MCP 부여

  • 실제 페이지를 직접 탐색하며 채점
  • 페이지 네비게이션, 스크린샷, 구현 세부 사항 연구 후 평가
  • 5~15회 반복으로 점진적으로 더 독창적인 디자인 도출

실제 예시

네덜란드 미술관 사이트를 10번째 이터레이션에서 CSS perspective로 구현한 3D 갤러리 공간으로 완전히 재창조


풀스택 코딩으로 확장: 3에이전트 구조

Planner → Generator → Evaluator
에이전트역할
Planner1~4문장 프롬프트를 상세 제품 스펙으로 확장, AI 기능도 자동 포함
Generator스프린트 단위로 기능 구현 후 자체 평가
EvaluatorPlaywright로 실제 앱을 클릭/테스트하며 스프린트 계약 기준으로 채점, 실패 시 상세 피드백 반환

핵심 교훈 (이전 하네스 작업에서)

  1. 빌드를 처리 가능한 청크로 분해
  2. 구조화된 아티팩트로 세션 간 컨텍스트 핸드오프

기술적 구현

  • Claude Agent SDK 기반 오케스트레이션
  • 각 이터레이션: 실제 wall-clock time 소요
  • 전체 실행: 최대 4시간
  • 생성기는 각 평가 후 전략적 결정:
    • 점수가 잘 나오면 현재 방향 정제
    • 접근이 작동하지 않으면 완전히 다른 미적 방향으로 피벗

핵심 통찰

“모델이 발전해도 흥미로운 하네스 조합의 공간은 줄어들지 않는다. 단지 이동할 뿐이다.”

  • 평가기는 고정된 필수 요소가 아님
  • 현재 모델의 한계와 작업 복잡도에 따라 가치가 달라짐
  • 새 모델 출시 시마다 하네스의 각 구성 요소를 재검토하고 불필요한 부분을 제거하는 것이 원칙

의미

  1. 단일 에이전트의 한계: 복잡한 장기 작업에서는 멀티 에이전트 구조가 필수
  2. GAN 영감: 생성기 + 평가기 분리로 객관적 품질 평가 가능
  3. 컨텍스트 관리: 리셋 + 핸드오프로 장기 실행 가능
  4. 지속적 최적화: 새 모델 출시마다 하네스 재검토