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. 지속적 최적화: 새 모델 출시마다 하네스 재검토