같은 모델을 쓰는데 하네스만 바꿨더니 리더보드 순위가 30위에서 5위로 뛰었습니다. LangChain이 Terminal Bench 2.0에서 직접 경험한 일입니다. 에이전트 성능을 결정하는 건 모델 하나가 아니라, 모델을 둘러싼 시스템 전체라는 뜻입니다.

LangChain의 Vivek Trivedy가 최근 에이전트 설계의 핵심 개념인 ‘하네스(Harness)’를 체계적으로 정리한 글을 발표했습니다. 에이전트를 구성하는 두 축, 즉 모델과 하네스 중에서 하네스가 무엇인지, 왜 필요한지를 역추론 방식으로 설명합니다.
출처: The Anatomy of an Agent Harness – LangChain Blog
하네스란 무엇인가
Trivedy는 에이전트를 이렇게 정의합니다. 에이전트 = 모델 + 하네스. 모델이 아닌 모든 것이 하네스입니다.
구체적으로는 시스템 프롬프트, 툴과 그 설명문, 파일시스템·샌드박스 같은 실행 환경, 서브에이전트 생성이나 모델 라우팅 같은 오케스트레이션 로직, 그리고 컨텍스트 압축이나 린트 검사 같은 미들웨어까지 포함됩니다. 모델은 텍스트·이미지·오디오를 받아 텍스트를 출력할 뿐입니다. 지속적인 상태 유지, 코드 실행, 실시간 정보 접근은 모두 하네스가 담당합니다.
하네스의 핵심 컴포넌트들
Trivedy는 “원하는 에이전트 동작 → 이를 위한 하네스 설계”라는 역추론 방식으로 각 컴포넌트가 왜 존재하는지 설명합니다.
파일시스템과 샌드박스는 가장 기초적인 두 레이어입니다. 파일시스템은 에이전트가 작업 공간을 갖고, 세션이 끝나도 결과물을 유지하고, 여러 에이전트가 공유 파일로 협업할 수 있게 합니다. 샌드박스는 에이전트가 생성한 코드를 로컬이 아닌 격리된 환경에서 실행하도록 해 보안과 확장성을 동시에 확보합니다. 여기에 bash 툴을 결합하면 에이전트가 필요한 툴을 그때그때 코드로 직접 만들어 쓸 수 있어, 미리 정해진 툴 세트에만 의존하지 않아도 됩니다.
메모리와 컨텍스트 관리는 에이전트의 장기적 성능을 좌우합니다. 컨텍스트 창이 채워질수록 모델 성능이 저하되는 현상을 ‘컨텍스트 로트(Context Rot)’라고 부릅니다. 이를 막기 위해 하네스는 세 가지 전략을 씁니다. 컨텍스트 창이 가득 찼을 때 기존 내용을 요약해 이어가는 컴팩션(Compaction), 대용량 툴 출력의 앞뒤만 남기고 나머지는 파일시스템에 오프로드하는 툴 출력 오프로딩, 그리고 너무 많은 툴이 처음부터 컨텍스트에 로드되지 않도록 필요할 때만 노출하는 스킬(Skills) 기능입니다.
장기 자율 실행은 현재 에이전트 개발의 최전선입니다. 복잡한 작업을 여러 컨텍스트 창에 걸쳐 일관되게 처리하려면 앞서 언급한 파일시스템·git을 통한 작업 추적, ‘Ralph Loop’라는 하네스 패턴(모델이 종료를 시도할 때 원래 프롬프트를 새 컨텍스트에 다시 주입해 작업을 계속하게 하는 방식), 그리고 계획 수립과 자기 검증 루프가 모두 맞물려야 합니다.
모델과 하네스는 함께 진화한다
오늘날 Claude Code나 Codex 같은 에이전트 제품은 모델 훈련 시 하네스를 함께 고려합니다. 파일시스템 조작이나 bash 실행 같은 하네스 동작에 모델이 최적화되도록 포스트트레이닝이 이루어지고, 그 결과가 다음 세대 모델 개발에 반영되는 피드백 루프가 형성됩니다.
흥미로운 점은 이 공진화가 특정 하네스에 대한 과적합을 만들어낸다는 것입니다. 툴 로직을 조금만 바꿔도 모델 성능이 크게 달라지는 이유가 여기 있습니다. 역설적으로, 이는 모델이 포스트트레이닝된 하네스가 특정 작업에 항상 최적은 아니라는 의미이기도 합니다. 앞서 언급한 Terminal Bench 2.0 사례가 바로 이를 보여줍니다.
LangChain은 하네스 설계가 앞으로도 중요한 영역으로 남을 것으로 보고 있습니다. 모델이 더 똑똑해지면서 오늘의 하네스 기능 중 일부는 모델 자체에 흡수될 수 있지만, 작업에 맞는 환경 구성, 적절한 툴 조합, 검증 루프 설계는 어떤 모델이든 성능을 끌어올리는 요소로 남는다는 설명입니다. 논문은 수백 개의 에이전트를 병렬 운영하거나, 에이전트가 자신의 실행 로그를 분석해 하네스 오류를 자가 수정하는 시나리오 등 현재 탐색 중인 방향도 다룹니다.

답글 남기기