LongHorizon-Harness: 작업 상태를 밖으로 빼고 감사해서 장기 에이전트 성공률 올리기
LongHorizon-Harness: Advancing Long-Horizon Agents for Real-World Tasks
TL;DR Highlight
작업 상태를 실행 밖에 두고 검증하자 WeaveBench 51.8%→80.7%
Who Should Read
Claude Code·Codex 같은 코딩/컴퓨터 사용 에이전트를 길게 돌리다 중간에 같은 실수를 반복하거나 끝났다고 착각하는 문제로 고민인 개발자
Core Mechanics
- 실행·상태·완료 판단이 한 컨텍스트에 섞여 문제
- 기존 하네스는 같은 긴 세션에서 작업을 하고, 상태를 기억하고, 끝났는지도 스스로 판단한다.
- 그래서 잘못된 완료 판단이 다음 결정의 전제로 굳어진다.
- Manager-Executor-Auditor 3역할 루프
- 매니저는 환경을 직접 못 만지고, 상태와 감사 보고서만 보고 다음 서브태스크 계약(목표·합격 기준·제약)을 만든다.
- 실행자는 매 라운드 새 컨텍스트에서 그 서브태스크만 수행하고, 대화 기록은 버려진다.
- 감사자는 읽기 전용으로 환경을 직접 확인해 보고서를 쓴다.
- 실행자의 '다 했어요'는 상태에 안 들어간다
- 상태 기록은 깨끗한 감사 증거가 있을 때만 completed로 바뀐다.
- 감사자가 파일을 건드리면 무결성 위반으로 기록되고 그 보고서로는 완료 처리가 안 된다.
- 겉보기 완료를 감사가 잡아냈다
- 베이스라인은 제목이 맞아 보인다고 XML을 직접 고쳐서 0.00점이었다.
- 하네스는 감사자가 XML을 파싱해 15개 제목 스타일을 확인했고 0.89점이 나왔다.
- 멈춘 곳에서 400스텝 헛돌지 않는다
- 베이스라인은 응답 없는 Wireshark 대화상자를 400스텝 넘게 반복 클릭했다.
Evidence
- WeaveBench에서 Qwen 3.7-Plus 성공률 51.8%→80.7%
- 같은 모델·같은 Claude Code 백엔드의 베이스라인 대비, 114개 태스크 기준이다.
- Claude Opus 4.7+Claude Code 공식 결과 41.2%보다 높다. 단 공식 결과는 권한 설정이 달라 참고용이다.
- Terminal-Bench 2.1은 69.7%→77.2%
- Qwen 3.7-Plus+Claude Code 베이스라인 대비다.
- Codex 백엔드에 GPT-5.6 Luna를 쓰면 83.1%이고, 토큰은 베이스라인보다 24% 적게 썼다.
- OSWorld 2.0 binary 2.8%→8.3%, partial 21.5%→35.2%
- Qwen 3.7-Plus single action 대비, 108개 태스크 기준이다.
- 평균 출력 토큰은 28.9K→104K로 늘었다.
- Claude Opus 4.7도 OSWorld 2.0 34개 서브셋에서 20.6%→35.3%
- Opus 4.7 single action 대비 binary 기준이다.
- WeaveBench Games 17개에서는 Qwen+하네스 평균 0.733이 Opus+기본 0.680을 넘었다.
How to Apply
- 완료 보고를 믿지 말고 검증 프롬프트 한 번 돌리기
- 오늘 쓰는 에이전트 작업이 끝나면 새 세션에 목표와 결과물 위치만 주고 읽기 전용으로 검사하게 하라.
- 실행 로그는 넘기지 말고, 통과 여부를 합격 기준별로 증거와 함께 쓰게 하라.
- 서브태스크마다 계약서 만들기
- 긴 작업은 목표, 합격 기준, 제약, 필요한 이전 증거를 담은 계약으로 쪼개 한 번에 하나씩 실행시켜라.
- 합격 기준에는 'ls로 파일이 보인다'처럼 확인 명령을 적어라.
- 상태 파일을 만들고 검증된 것만 completed로 표시하기
- requirement·artifact·fact를 pending/completed/blocked/untrusted로 적는 파일을 두고, 실행자 주장은 pending에 두어라.
- 각 라운드는 새 컨텍스트로 시작하고 이 파일과 감사 보고서만 넘겨라.
- 감사 비용을 감안해 라운드 예산 정하기
- 라운드마다 시간 제한을 둬라. 논문은 실행자 1800초, 매니저·감사자 300초, 최대 25라운드를 썼다.
- 분석·수학처럼 단일 스텝 능력이 병목인 작업에는 효과가 작을 수 있으니 긴 의존 작업에 먼저 써라.
Try It
# Claude나 ChatGPT 새 대화창에 붙여넣기 (논문 방법의 간이 버전: 읽기 전용 감사자 역할)
너는 읽기 전용 감사자다. 파일을 수정하거나 상태를 바꾸는 명령은 실행하지 마라.
아래 원래 목표와 합격 기준만 보고, 결과물이 실제로 충족하는지 판단해라. 작업자의 완료 주장은 증거가 아니다.
[원래 목표]
{{원래 목표}}
[합격 기준]
{{합격 기준 목록}}
[결과물 위치/내용]
{{결과물 또는 경로}}
각 합격 기준마다 다음 형식으로 답해라.
- 상태: complete / incomplete / blocked
- 직접 확인한 증거
- 남은 빈틈
마지막에 무결성 상태(clean / suspect / violation)와 다음에 할 서브태스크 하나를 제안해라.
이어서 해 볼 것: 이 보고서를 상태 파일에 옮겨 적고, 새 세션의 실행자에게 다음 서브태스크만 주고 반복해 보라.Terminology
관련 논문
같은 시뮬레이션, 다른 근거: 도구 출력을 파일로 넘기면 LLM 에이전트 정확도가 어디서 깎이나
긴 툴 출력을 파일로 넘기자 GPT-5.1은 정확도 11.3%p 하락, 정식 출력 지정하니 회복
가짜 뉴스가 진짜 폭락을: LLM 트레이딩 에이전트 대상 정보 주입 공격
가짜 헤드라인 한 줄로 LLM 트레이딩 에이전트 62%를 조종했다(프롬프트 주입은 14%)
Harness Engineering 101: LLM은 뇌, harness는 몸
에이전트는 JSON 배열을 관리하는 루프이고, 16개 챕터로 직접 만들어 본다
Harness²: 에이전트 harness를 스스로 고쳐 쓰는 재귀 최적화 프레임워크
모델은 고정하고 harness를 재귀로 고쳤더니 벤치마크 점수가 최대 11.8%p 올랐다
해고된 Savannah 경찰관, ICE 요원 남편에게 Flock 계정 공유
경찰관이 Flock 계정을 남편(ICE 요원)에게 공유했고, 감사에서 983건 검색이 드러나 해고됐다
tmux와 Claude Code: 세션, send-keys, 그리고 한계선
tmux로 Claude Code 여러 개를 돌리면 편하지만 에이전트 4개쯤에서 한계가 온다
Hybrid Reasoning Agents: 잠재 공간에서 생각하고 텍스트로 행동하는 LLM 에이전트
잠재 공간 추론과 텍스트 도구 호출을 섞었더니 성능 10.4%↑, 토큰 최대 54.7%↓
Related Resources
Original Abstract (Expand)
Large language model (LLM) agents increasingly undertake long-horizon tasks that require sustained reasoning, tool use, and revision across many interdependent steps. However, existing agent harnesses maintain task execution, task state, and completion assessment within a growing context, making the state difficult to track and allowing incorrect self-assessments to propagate into later decisions. We reformulate long-horizon execution as a task-state management problem and propose LongHorizon-Harness, which maintains the task state explicitly outside execution and updates it only with facts independently verified from the environment. Its Manage-Execute-Audit(MEA) loop uses a manager to maintain the task state and determine the next subtask, a fresh-context executor to perform it, and a read-only auditor to verify the resulting environment state before the next round. A lightweight AgentAdapter supports interchangeable model and harness backends without modifying their native agent loops. LongHorizon-Harness improves Qwen~3.7-Plus from 51.8% to 80.7% on WeaveBench, from 69.7% to 77.2% on Terminal-Bench~2.1, and from 2.8% to 8.3% on OSWorld~2.0. It also raises Claude Opus~4.7 from 20.0% to 34.3% on an OSWorld2.0 subset, demonstrating consistent gains across models, harnesses, and interaction domains.