포스트

에이전트 하네스의 해부학: 모델을 둘러싼 시스템의 모든 것

목차

  1. 개요
  2. 하네스란 무엇인가
  3. 핵심 구성 요소
  4. 모델과 하네스의 공진화
  5. 의미와 시사점
  6. 결론
  7. Reference

개요

LangChain은 “Agent = Model + Harness”라는 정의를 제시한다. 순수한 언어 모델은 그 자체로 에이전트가 아니다. 모델이 상태 관리, 도구 실행, 피드백 루프, 제약을 제공하는 인프라에 감싸일 때 비로소 에이전트가 된다. 하네스(harness)는 모델을 제외한 코드와 로직 전체를 의미하며, 원초적인 모델 지능을 실제 작업 엔진으로 변환하는 시스템이다.

하네스란 무엇인가

하네스는 다음과 같은 요소들을 포괄한다.

  • 시스템 프롬프트
  • 설명이 붙은 도구, 스킬, MCP
  • 번들로 묶인 인프라(파일시스템, 샌드박스, 브라우저)
  • 오케스트레이션 로직(서브에이전트 스폰, 핸드오프, 모델 라우팅)
  • 결정적 실행을 위한 훅과 미들웨어(컴팩션, 연속 실행, 린트 검사)

LangChain은 “모델은 지능을 담고, 하네스는 그 지능을 유용하게 만드는 시스템”이라고 표현한다. 하네스는 모델의 결함을 메우는 단순한 패치가 아니라, 지능을 실제 작업으로 변환하는 본질적 구성 요소다.

핵심 구성 요소

파일시스템과 영속 저장소

모델은 세션 간에 영속적인 메모리를 갖지 못한다. 하네스는 파일시스템 추상화를 제공해 다음을 가능하게 한다.

  • 데이터와 문서를 읽기 위한 작업 공간 유지
  • 컨텍스트 윈도우를 초과하는 정보의 오프로딩
  • 중간 출력과 세션 상태의 저장
  • 다중 에이전트 협업을 위한 표면 제공

여기에 Git을 결합하면 버저닝과 롤백, 실험 추적이 가능해진다. 이는 단순한 저장소가 아니라 에이전트의 작업 흔적을 추적하고 되돌릴 수 있는 협업 인프라가 된다.

Bash와 코드 실행

모든 행동에 대해 사전에 도구를 만드는 대신, 하네스는 범용 코드 실행 환경을 제공한다. 이를 통해 모델은 “고정된 도구 집합에 제약되는 대신 즉석에서 자신의 도구를 설계”할 수 있다. 본질적으로 모델에게 컴퓨터를 주어 자율적으로 문제를 해결하게 하는 접근이다.

샌드박스와 실행 환경

안전하고 격리된 실행 환경은 보안과 확장성 모두를 해결한다.

  • 위험한 로컬 코드 실행 방지
  • 온디맨드로 환경 생성과 폐기
  • 명령 허용 리스트와 네트워크 격리
  • 검증을 위한 사전 설치 런타임, CLI, 브라우저

브라우저, 로그, 테스트 러너 같은 도구는 자기 검증 루프를 가능하게 한다. 에이전트는 애플리케이션 코드를 작성하고, 테스트를 실행하고, 로그를 검사하고, 오류를 수정하는 사이클을 자율적으로 수행한다.

메모리와 검색

모델은 사후 학습 지식에 접근할 수 없으므로 하네스가 컨텍스트를 주입한다.

  • AGENTS.md 같은 메모리 파일 표준으로 지속적 학습 지원
  • Context7 같은 MCP 도구와 웹 검색으로 최신 정보 접근
  • 세션 간 영속 지식 저장으로 미래의 컨텍스트 주입 가능

컨텍스트 관리

컨텍스트 윈도우가 채워질수록 모델 성능은 저하된다(context rot). LangChain은 세 가지 전략을 제시한다.

전략설명
Compaction윈도우가 임계점에 가까워지면 컨텍스트를 지능적으로 오프로드하고 요약
Tool call offloading토큰 요약은 유지하되 전체 출력은 파일시스템에 저장
Skills점진적 공개로 과도한 도구 메타데이터가 초기 성능을 저하시키는 것을 방지

장기 실행 능력

복잡한 자율 작업은 다음 메커니즘을 요구한다.

  • 파일시스템과 Git: 여러 컨텍스트 윈도우에 걸친 진행 추적
  • Ralph Loop: 하네스 훅이 종료 시도를 가로채고 깨끗한 컨텍스트에서 프롬프트를 재주입해 연속 실행 강제
  • 계획과 자기 검증: 모델이 목표를 단계로 분해하고 테스트 스위트로 작업 정확성을 확인

모델과 하네스의 공진화

Claude Code 같은 현대 에이전트는 하네스가 학습 루프에 포함된 상태로 사후 훈련된다. 유용한 기본 단위가 모델의 네이티브 능력이 되는 피드백 사이클이 형성되는 것이다. 그러나 이는 과적합 문제를 만든다. 도구 로직을 바꾸면 성능이 저하되며, Codex-5.3에서 “apply_patch tool logic for editing files”가 그 예로 인용된다.

또 다른 핵심 통찰은 특정 작업에서는 모델 선택보다 하네스가 더 중요하다는 점이다. Terminal Bench 2.0에서 “Opus 4.6 in Claude Code scores far below Opus 4.6 in other harnesses”가 입증되었다. 모델을 업그레이드하는 것보다 하네스 아키텍처를 최적화하는 것이 더 큰 성능 향상을 가져올 수 있다.

의미와 시사점

하네스 엔지니어링은 모델 개선과 별개의 독립적인 레버다. LangChain의 deepagents 라이브러리는 이러한 원리를 적용한 하네스 빌딩 도구이며, ReAct 루프(reason → act → observe → repeat)는 표준 에이전트 실행 패턴이 되었다.

향후 방향은 명확하다. 모델이 개선될수록 하네스 엔지니어링은 결함을 패치하는 작업에서 지능 주변 시스템을 최적화하는 작업으로 이동한다. 연구 영역으로는 수백 개 병렬 에이전트의 오케스트레이션, 트레이스 기반 자기 복구, 동적 적시 도구 어셈블리가 열려 있다.

결론

“모델은 지능을 담고, 하네스는 그 지능을 유용하게 만드는 시스템이다.” 잘 구성된 환경, 영속 상태, 검증 루프는 어떤 모델의 효율성도 향상시킨다. 하네스 엔지니어링은 기본 지능과 무관하게 장기적으로 가치를 유지하는 영역이다.

Reference