본문 바로가기

인공지능

장시간 실행 애플리케이션 개발을 위한 Harness 설계 이해하기 — 자율 에이전트 코딩의 성능을 끌어올리는 방법

728x90
반응형
728x170

 

이 글은 장시간 실행되는 자율 코딩 에이전트가 어떻게 더 완성도 높은 애플리케이션을 만들 수 있는지, 그리고 그 핵심에 있는 Harness 설계가 왜 중요한지를 설명합니다. 단일 AI 모델의 성능을 넘어, 여러 에이전트를 구조적으로 조합하고 평가·피드백 루프를 설계함으로써 프론트엔드 디자인부터 풀스택 애플리케이션 개발까지 품질을 끌어올린 실제 실험과 결과를 중심으로 정리합니다.

반응형

Harness 설계란 무엇인가

Harness 설계는 단순히 AI 모델에게 “코드를 작성하라”고 요청하는 수준을 넘어섭니다.
장시간 실행되는 작업에서 에이전트가 길을 잃지 않도록 구조를 제공하고, 작업 결과를 반복적으로 개선할 수 있도록 피드백과 평가 체계를 만드는 것이 핵심입니다.

이 글에서 다루는 Harness는 다음과 같은 목표를 가집니다.

  • 장시간 작업에서도 맥락을 잃지 않게 유지
  • 주관적인 영역(디자인)과 객관적인 영역(기능·정확성)을 모두 개선
  • 사람의 개입 없이도 애플리케이션을 끝까지 완성

기존 단일 에이전트 접근의 한계

기존의 단일 에이전트 기반 코딩 방식에는 두 가지 대표적인 문제가 있습니다.

1. 긴 작업에서의 맥락 붕괴

작업 시간이 길어질수록 컨텍스트가 누적되고, 모델은 점점 일관성을 잃거나 스스로 작업을 마무리하려는 경향을 보입니다. 이를 글에서는 컨텍스트 불안(context anxiety) 이라고 설명합니다.

이를 해결하기 위해 이전 실험에서는

  • 작업을 작은 단위로 분해
  • 세션 간 컨텍스트를 파일 형태로 전달
  • 필요 시 컨텍스트를 초기화(reset)

하는 방식이 사용되었습니다.

2. 자기 평가의 한계

에이전트는 자신이 만든 결과물을 평가할 때 지나치게 관대합니다.
특히 디자인처럼 정답이 없는 영역에서는 “그럴듯하지만 평범한 결과물”을 높은 점수로 판단하는 문제가 반복적으로 발생합니다.


해결 전략: 생성과 평가의 분리

이 문제를 해결하기 위해 저자는 생성 에이전트와 평가 에이전트를 분리하는 구조를 도입합니다.
이 접근은 생성 모델이 스스로를 비판하도록 강요하는 대신, 외부의 회의적인 평가자를 두는 방식입니다.

이 구조는 다음과 같은 장점을 가집니다.

  • 평가 기준을 명확히 정의할 수 있음
  • 주관적인 판단을 점수화 가능
  • 생성 결과를 반복적으로 개선하는 피드백 루프 형성

프론트엔드 디자인: 주관적 품질을 점수로 만들다

프론트엔드 디자인 실험에서는 다음 네 가지 평가 기준이 사용되었습니다.

  1. 디자인 완성도
    전체가 하나의 정체성 있는 결과물처럼 느껴지는가
  2. 독창성
    템플릿이나 AI 특유의 반복 패턴이 아닌, 의도된 선택이 보이는가
  3. 완성도(기술적 숙련도)
    타이포그래피, 여백, 색상 대비 등 기본기가 지켜졌는가
  4. 기능성
    사용자가 목적을 이해하고 조작할 수 있는가

이 중 특히 디자인 완성도와 독창성에 높은 가중치를 두어, 안전하지만 평범한 결과물을 명확히 감점하도록 설계했습니다.

이 평가 기준은 생성 에이전트와 평가 에이전트 모두에게 제공되었고, 평가 에이전트는 실제로 화면을 조작하며 결과를 검증했습니다. 그 결과 반복 횟수가 늘어날수록 디자인은 점점 더 대담하고 개성 있는 방향으로 진화했습니다.


장시간 자율 코딩으로의 확장

이 구조는 프론트엔드 디자인을 넘어 풀스택 애플리케이션 개발로 확장됩니다.
여기서 핵심은 세 가지 에이전트로 구성된 아키텍처입니다.

1. Planner 에이전트

  • 짧은 사용자 요청을 상세한 제품 사양서로 확장
  • 구현 세부보다는 기능과 목표에 집중
  • AI 기능을 제품 흐름에 자연스럽게 포함

2. Generator 에이전트

  • 사양서를 기반으로 기능을 하나씩 구현
  • 각 단계 후 스스로 점검
  • 코드, UI, API를 실제로 동작하는 수준까지 구현

3. Evaluator 에이전트

  • 실제 사용자처럼 애플리케이션을 조작
  • 기능, 디자인, 코드 품질을 기준으로 통과/실패 판단
  • 기준 미달 시 구체적인 수정 지점 피드백

이 구조는 이전보다 훨씬 긴 시간 동안 에이전트가 자율적으로 작업할 수 있게 했습니다.


단일 에이전트 vs Harness 구조 비교 결과

같은 한 줄 프롬프트로 실험한 결과는 명확했습니다.

  • 단일 에이전트
    • 빠르고 저렴
    • 핵심 기능이 깨진 채로 완성되는 경우 다수
  • Harness 구조
    • 비용과 시간은 증가
    • 기능적으로 실제 사용 가능한 애플리케이션 완성
    • UI·UX와 내부 구조 모두 더 안정적

평가 에이전트는 실제로 코드 레벨의 버그, API 라우팅 오류, UI 동작 불일치까지 정확히 짚어냈고, 생성 에이전트는 이를 반영해 수정했습니다.


Harness의 진화와 단순화

모델 성능이 향상되면서 모든 구조가 항상 필요한 것은 아니게 되었습니다.
저자는 구성 요소를 하나씩 제거하며 어떤 요소가 실제로 성능에 기여하는지 검증했습니다.

그 결과,

  • Planner와 Evaluator는 여전히 높은 가치를 제공
  • 세밀한 스프린트 분해는 최신 모델에서는 필수는 아님
  • Evaluator는 모델 능력의 경계에 있는 작업에서 특히 효과적

이라는 결론에 도달합니다.


최종 실험: 브라우저 기반 DAW

최종적으로 브라우저에서 동작하는 음악 제작 도구(DAW)를 생성하는 실험에서도 Harness 구조는 유의미한 성과를 보였습니다.

  • 작곡, 편곡, 믹서, 타임라인 등 핵심 구성요소 구현
  • 에이전트를 통해 음악 생성 흐름을 자동화
  • 평가 에이전트가 “보여주기용 기능”과 “실제 사용 가능한 기능”을 구분해 지적

완벽하지는 않았지만, 단일 에이전트로는 도달하기 어려운 수준의 결과였습니다.


728x90

이 글이 전달하는 핵심은 단순합니다.

  • 모델이 좋아질수록 Harness는 불필요해지는 것이 아니라 다른 방식으로 진화한다
  • 복잡한 작업일수록 역할 분리와 평가 구조가 성능을 끌어올린다
  • 중요한 것은 항상 가장 단순한 구조에서 시작해, 필요한 만큼만 복잡도를 더하는 것

장시간 자율 코딩의 미래는 단일 모델의 성능 경쟁이 아니라, 어떤 구조로 모델을 활용하느냐에 달려 있습니다.
Harness 설계는 그 가능성을 여는 중요한 도구이며, 앞으로도 새로운 조합과 패턴이 계속 등장할 것입니다.

300x250

https://www.anthropic.com/engineering/harness-design-long-running-apps?fbclid=IwY2xjawQwbiBleHRuA2FlbQIxMABicmlkETFMcFNyR2JmT25Zc2l3OWRXc3J0YwZhcHBfaWQQMjIyMDM5MTc4ODIwMDg5MgABHiooDmpFHg-RMBmeKFVw7j7UQ37V6HeS47SZwQ2LEx3XD-M9r1IfuyLwIzFe_aem_qQdPKIAzVBB69A3iPfGo9A

 

Harness design for long-running application development

Anthropic is an AI safety and research company that's working to build reliable, interpretable, and steerable AI systems.

www.anthropic.com

728x90
반응형
그리드형