블로그 목록으로

AI 코딩 에이전트 시대의 Harness Engineering

AI 코딩 에이전트(Claude Code, Codex 등)의 등장으로 소프트웨어 개발 방식이 근본적으로 변화하고 있습니다. 그런데 핵심 인사이트는 의외의 곳에 있었습니다.

“The agent isn’t the hard part — the harness is.”

가장 임팩트 있는 엔지니어링 작업은 더 이상 코드를 직접 작성하거나 더 좋은 모델을 선택하는 것이 아닙니다. AI 에이전트가 동작하는 환경을 설계하는 것이 핵심입니다.

Harness Engineering이란?

Harness Engineering은 AI 코딩 에이전트를 감싸는 제약 조건, 도구, 피드백 루프, 문서, 검증 시스템을 설계하는 엔지니어링 분야입니다. 2026년 초 Martin Fowler의 글과 OpenAI의 Codex 워크플로 공개를 통해 널리 알려졌습니다.

Martin Fowler는 이를 “AI 에이전트를 통제하기 위해 사용할 수 있는 도구와 관행”이라고 정의합니다.

Scaffolding, Harness, Context Engineering

AI 에이전트 인프라는 세 가지 계층으로 구성됩니다:

계층역할시점
Scaffolding에이전트가 구축되는 방식. 시스템 프롬프트, 도구 스키마, 서브 에이전트 등록실행 전
Harness에이전트가 실행되는 방식. 추론 루프, 도구 실행, 컨텍스트 관리, 안전 장치실행 중
Context Engineering에이전트에 정보가 전달되는 방식. CLAUDE.md, 동적 컨텍스트 검색, 컨텍스트 압축실행 중

왜 Harness가 모델보다 중요한가?

LangChain의 코딩 에이전트는 TerminalBench 2.0에서 모델은 그대로 두고 harness만 변경하여 52.8%에서 66.5%로 점수가 올랐습니다 (Top 30에서 Top 5로).

더 놀라운 수치도 있습니다. 동일한 모델이 적절한 harness와 함께 78%, harness 없이 42%를 기록했습니다. Harness 품질이 코딩 벤치마크에서 약 22점의 차이를 만들어내는 반면, 프론티어 모델 간 교체는 약 1점 차이에 불과합니다.

Harness Engineering의 ROI가 모델 선택보다 압도적으로 높다는 의미입니다.

Harness의 핵심 구성 요소

1. 설정 인터페이스 (Configuration Surface)

CLAUDE.md(Anthropic)와 AGENTS.md(OpenAI)처럼 에이전트에게 저장소에서 어떻게 작업해야 하는지 알려주는 기계 판독 가능한 지시 파일입니다. 이것이 인간과 에이전트 간의 주요 인터페이스입니다.

# CLAUDE.md 예시
- 테스트 실행: npm test
- 커밋 시 Conventional Commits 사용
- PR 생성 전 lint 통과 필수

2. 도구 오케스트레이션 (Tool Orchestration)

에이전트가 접근할 수 있는 도구, 파일시스템 접근 방식, 권한 라우팅, 서브 에이전트 디스패치를 관리합니다.

3. 컨텍스트 관리 (Context Management)

긴 세션에서 컨텍스트 비대화와 추론 품질 저하를 방지합니다:

  • 컨텍스트 압축: 자동으로 이전 대화를 요약
  • 서브 에이전트를 통한 컨텍스트 격리: 중간 도구 호출 결과가 부모 컨텍스트 윈도우를 오염시키지 않음
  • 자동 요약: 작업 결과만 상위로 전달

HumanLayer는 이를 “서브 에이전트는 컨텍스트 제어 장치”라고 표현합니다. 작업을 서브 에이전트에 위임하면 주 에이전트의 컨텍스트 윈도우가 깨끗하게 유지되어 스마트 존에 머물 수 있습니다.

4. 안전 장치와 가드레일 (Safety & Guardrails)

Harness Engineering의 핵심은 에이전트가 할 수 없는 조건을 설계하는 것입니다. 권한 에스컬레이션, 파일시스템 접근 제어, 파괴적 작업 방지 등이 포함됩니다.

안전 경계는 능력에 대한 제약이 아니라, 신뢰의 기반입니다.

5. 피드백 루프 (Feedback Loops)

린터, 타입 체커, 테스트 스위트, CI 게이트가 에이전트에게 즉각적인 신호를 제공합니다. 기계적 불변성(Mechanical invariants)이 에이전트를 자기 수정 가능하게 만듭니다.

6. 관찰 가능성 (Observability)

첫 몇 번의 도구 호출이 아닌, 50번째, 100번째 도구 호출에서의 신뢰성을 추적합니다. 에이전트 행동 패턴, 도구 호출 빈도, 세션 건강 상태를 모니터링합니다.

실제 사례

OpenAI Codex 팀

3명의 엔지니어가 5개월간 100만 줄 이상의 코드를 모두 에이전트로 작성했습니다. 약 1,500개의 PR이 머지되었고, 엔지니어당 하루 평균 3.5개의 PR을 생산했습니다. 심지어 최초의 AGENTS.md 파일도 Codex가 작성했습니다.

“Humans steer. Agents execute.”

Anthropic (Claude Code)

장기 실행 에이전트를 위한 harness 설계 가이드를 공개했습니다:

  • 3-에이전트 시스템: GAN에서 영감을 받은 Planner, Generator, Evaluator 구조
  • Leader/Teammate 조직 구조: 에이전트들이 메일박스 파일로 통신하고, 격리된 Git worktree에서 작업하며, 권한 요청을 Leader에게 라우팅
  • 최신 모델에서는 컨텍스트 리셋 없이 자동 압축으로 하나의 연속 세션을 유지

Harness Engineering을 위한 Google Cloud와 Gemini의 강점

Harness Engineering은 에이전트가 동작하는 환경의 품질이 곧 결과물의 품질을 결정합니다. Google Cloud와 Gemini는 이 환경을 구성하는 데 있어 독보적인 장점을 제공합니다.

Gemini: Harness에 최적화된 모델

Gemini는 현재 프론티어 모델 중 가장 긴 컨텍스트 윈도우(최대 2M 토큰)를 지원합니다. Harness Engineering에서 컨텍스트 관리는 가장 어려운 문제 중 하나인데, 긴 컨텍스트는 이 문제의 난이도를 근본적으로 낮춰줍니다.

  • 대규모 코드베이스 전체를 컨텍스트에 포함 가능
  • 컨텍스트 압축 빈도가 줄어들어 정보 손실 최소화
  • 장기 실행 세션에서도 추론 품질이 안정적으로 유지
  • 멀티모달 입력 지원으로 다이어그램, 스크린샷 기반 피드백 루프 구성 가능

또한 Gemini의 Function Calling은 에이전트의 도구 오케스트레이션 레이어와 자연스럽게 통합됩니다. 도구 스키마를 정의하면 모델이 정확한 파라미터와 함께 도구를 호출하므로, harness의 도구 디스패치 로직이 단순해집니다.

Vertex AI: Harness의 운영 플랫폼

Vertex AI는 harness가 요구하는 운영 인프라를 통합 제공합니다:

  • Vertex AI Evaluation: 에이전트 출력물의 품질을 자동으로 평가하는 파이프라인을 구성할 수 있습니다. 골든 테스트셋 대비 응답 품질, 정확도, 안전성을 정량적으로 측정합니다.
  • Vertex AI Experiments: 프롬프트 변경, 도구 구성 변경, 모델 버전 변경이 에이전트 성능에 미치는 영향을 체계적으로 추적합니다. A/B 테스트와 동일한 방식으로 harness 구성을 비교할 수 있습니다.
  • Model Garden: Gemini 외에도 다양한 오픈소스 모델을 동일한 인프라에서 서빙할 수 있어, harness를 고정한 상태에서 모델만 교체하는 실험이 용이합니다.

Agent Development Kit (ADK): Harness 구현 프레임워크

Google의 ADK는 Harness Engineering의 핵심 패턴을 프레임워크 수준에서 지원합니다:

  • 도구 정의와 오케스트레이션을 선언적으로 관리
  • 멀티 에이전트 구조(Leader/Teammate, 병렬 실행)를 네이티브로 지원
  • 세션 관리와 상태 지속성을 내장
  • Vertex AI Agent Engine으로 원클릭 프로덕션 배포

ADK로 구현한 에이전트는 이미 harness의 주요 구성 요소(도구 오케스트레이션, 세션 관리, 안전 장치)가 프레임워크에 내장되어 있어, 엔지니어는 비즈니스 로직과 피드백 루프 설계에 집중할 수 있습니다.

Cloud Build와 Cloud Logging: 피드백 루프와 관찰 가능성

Harness Engineering에서 피드백 루프와 관찰 가능성은 필수입니다:

  • Cloud Build: 에이전트가 생성한 코드의 빌드, 테스트, 린트, 보안 스캔을 자동화합니다. 실패 시 에이전트에게 즉각적인 피드백을 제공하여 자기 수정 루프를 완성합니다.
  • Cloud Logging / Cloud Trace: 에이전트의 도구 호출 패턴, 실행 시간, 오류율을 추적합니다. 50번째, 100번째 호출에서의 품질 저하를 감지할 수 있습니다.
  • Cloud Monitoring: 에이전트 세션의 건강 상태를 대시보드로 구성하고, 이상 징후 발생 시 알림을 설정합니다.

비용 효율성

Google Cloud의 종량제 인프라는 harness 실험에 적합합니다. 에이전트를 여러 구성으로 병렬 실행하며 비교 실험을 할 때, 필요한 만큼만 리소스를 사용하고 종료할 수 있습니다. Gemini API의 컨텍스트 캐싱은 반복적인 프롬프트 호출에서 비용을 절감합니다.

결론

Harness Engineering은 AI 코딩 에이전트 시대의 핵심 엔지니어링 역량입니다. 더 좋은 모델을 찾는 것보다, 에이전트가 동작하는 환경을 잘 설계하는 것이 훨씬 큰 성과를 만들어냅니다.

핵심 원칙을 정리하면:

  1. Harness가 모델보다 중요하다 — 인프라 설계가 모델 선택보다 큰 차이를 만든다
  2. 설정 파일이 인터페이스다 — CLAUDE.md, AGENTS.md가 인간-에이전트 소통의 핵심
  3. 컨텍스트 격리가 필수다 — 서브 에이전트로 추론 품질을 유지
  4. 기계적 검증이 자기 수정을 만든다 — CI, 린터, 테스트가 피드백 루프
  5. 안전 경계가 신뢰의 기반이다 — 제약이 곧 능력

Google Cloud는 Gemini의 긴 컨텍스트 윈도우, Vertex AI의 평가/실험 인프라, ADK의 에이전트 프레임워크, Cloud Build의 피드백 루프까지 Harness Engineering의 모든 계층을 통합적으로 지원합니다. AI가 코드를 작성하는 시대에, 엔지니어의 역할은 루프 안에서 일하는 것이 아니라 루프 자체를 설계하는 것으로 전환되고 있으며, Google Cloud는 그 루프를 설계하기에 가장 적합한 플랫폼입니다.


참고 자료