출처
- 논문: MemoHarness: Agent Harnesses That Learn from Experience
- 저자: Yue Huang 외 9명
- 버전: arXiv v1, 2026-07-14 제출, preprint / under review
- 코드: HowieHwong/MemoHarness
- 원문 보존: raw source:
2026-07-18-arxiv-2607-14159-memoharness
한 줄 요약
MemoHarness는 프롬프트 하나가 아니라 에이전트 하네스 전체를 최적화 대상으로 삼고, 과거 실행의 성공·실패 진단을 경험 은행에 축적한 뒤 새 입력에 맞춰 하네스 구성을 바꾸는 2단계 시스템이다.
문제의식
같은 LLM과 도구를 사용해도 에이전트의 성능은 컨텍스트 조립, 도구 호출, 디코딩 예산, 다중 호출 순서, 메모리 유지, 출력 검증 방식에 따라 크게 달라진다. 기존 자동화 연구는 주로 프롬프트·워크플로·파이프라인 중 하나를 최적화하고, 배포 시에는 하나의 전역 하네스를 모든 사례에 재사용한다.
MemoHarness가 겨냥하는 빈틈은 두 가지다.
- 하네스 전체를 여러 제어면의 결합된 객체로 최적화한다.
- 학습 단계에서 찾은 전역 하네스를 테스트 입력별로 추가 검색 없이 적응시킨다.
핵심 구조
1. 6차원 하네스 공간
하네스를 추상적인 단일 프롬프트로 취급하지 않고 추론의 시간적 흐름에 따라 여섯 개 제어면으로 나눈다.
| 차원 | 제어 대상 | 예시 |
|---|---|---|
| D1 Context | 모델 호출 전 입력 구성 | 프롬프트 구조화, 데모 추가, 컨텍스트 압축 |
| D2 Tool | 도구·검색 사용 | 검색 활성화, top-k, 증거 재순위화 |
| D3 Generation | 생성 제어 | 토큰 예산, temperature, 후보 샘플링 |
| D4 Orchestration | 호출·워크플로 구조 | 단일 호출 → 계획/실행/정제 |
| D5 Memory | 호출 간 상태 | 상태 유지, trace 요약, 오래된 컨텍스트 제거 |
| D6 Output | 결과 후처리 | 답 추출, 스키마 검증, fallback |
이 분해는 하네스 수정 범위를 좁히고, 실패 원인을 특정 제어면에 귀속시키려는 장치다. 동시에 각 차원은 서로 결합되어 있으므로 완전히 독립적인 최적화는 아니다.
2. 이중 경험 은행
경험 은행 B_t = (E_t, G_t)는 두 층으로 구성된다.
- 사례별 실행 기록
E_t: 어떤 입력에 어떤 하네스를 적용했는지, 모델·도구 trace, 성공 여부, 토큰 사용량, 실패 차원, 진단 문장을 저장한다. - 전역 패턴
G_t: 여러 사례의 실패 클러스터에서 반복되는 현상과 효과가 있었던 수정 방향을 주기적으로 추출한다.
따라서 검색은 점수만 보고 다음 후보를 찍는 방식이 아니라, “어떤 종류의 입력에서 어떤 하네스 차원이 문제였고, 어떤 수정이 개선을 만들었는가”를 재사용하는 방식이 된다.
3. 학습 검색과 테스트 적응의 분리
학습 단계에서는 정답이 있는 search set을 사용한다. 최소 하네스에서 시작해 후보 하네스를 실행하고, 주된 정확도/성공률을 우선시하며 토큰 사용량은 동률일 때만 비용 기준으로 사용한다.
테스트 단계에서는 정답·feedback·gradient·추가 search 없이 입력의 특징과 경험 은행만 사용한다. 새 입력과 유사한 과거 성공 사례·실패 사례·전역 패턴을 검색해 전역 하네스 W*를 사례별 하네스 W(x)로 변환한다.
즉, 논문의 차별점은 “하네스 자체를 학습한다”는 것뿐 아니라, 한 번 찾은 전역 하네스를 입력별로 다르게 실행한다는 데 있다.
실험 결과
논문은 Terminal-Bench(장기 셸 에이전트), LiveCodeBench(코드 생성), FinanceAgent(다단계 금융 추론)를 평가했다.
- Terminal-Bench: 기본 하네스
0.722→ 최종0.806 - LiveCodeBench:
0.900→0.967 - FinanceAgent:
0.600→0.767 - Terminal-Bench에서 비교한 가장 강한 고정 하네스(Codex)의
0.722대비+0.084 - GPT-5.3-Codex로 검색한 하네스를 다른 6개 모델에 재학습 없이 적용했을 때 모두 개선되었고, 평균 향상은
+0.098 - GLM-5에서
0.500→0.733으로 가장 큰 이득을 보였고, GPT-4.1에서는0.500→0.538로 이득이 작았다.
교차 데이터셋 전이는 선택적이었다. Terminal-Bench에서 학습한 하네스가 MMMLU, StrongReject, SWE-Bench Pro 등 일부 외부 스위트에서 개선을 보였지만, 모든 벤치마크를 지배하는 범용 템플릿은 아니었다.
비용
18개 held-out Terminal-Bench split에서 MemoHarness는 검색된 경험을 컨텍스트에 추가해 총 입력 토큰은 가장 많았지만, 캐시 가능한 입력이 대부분이었다.
- MemoHarness: 입력 14.18M 토큰, 그중 cached 13.32M, 비용
$6.89 - Codex:
$10.28 - Claude Code:
$9.51 - OpenCode:
$2.34 - Terminus:
$6.68
따라서 논문의 비용 경쟁력은 경험 검색 컨텍스트가 실제 서빙 환경에서 얼마나 잘 캐시되는가에 강하게 의존한다. OpenCode와 Terminus는 더 저렴하지만 정확도가 낮다는 비교다.
논문의 의미
모델 중립적 하네스 최적화의 구체화
harness를 단순한 프롬프트 wrapper가 아니라 context/tool/generation/orchestration/memory/output을 포함한 실행 제어 계층으로 다룬다. 이는 “성능을 올리려면 모델을 키우는 것 외에 하네스를 최적화할 수 있다”는 주장을 구조와 실험으로 구체화한 사례다.
경험은 메모리가 아니라 제어 정책의 근거
일반적인 에이전트 메모리가 사실·대화·작업 상태를 저장하는 데 초점을 둔다면, MemoHarness의 경험 은행은 하네스 변경의 결과와 실패 원인을 저장한다. 기억의 목적이 회상보다 “다음 실행의 제어면 선택”에 가깝다.
SkillOpt와의 차이
2026-07-11-skillopt-self-evolving-agent-skills가 고정된 실행 하네스 바깥의 SKILL.md를 bounded edit와 validation gate로 최적화한다면, MemoHarness는 하네스의 실행 구조 자체를 여섯 제어면으로 나누고 사례별 적응까지 포함한다. 전자는 절차 지식 artifact의 안정적 업데이트에, 후자는 실행 시스템 구성의 검색·라우팅에 더 가깝다.
비판적 검토
- 완전한 비지도 학습은 아니다. 하네스 검색 단계에는 정답 출력이 있는 labeled search set이 필요하다. 비라벨·무feedback 조건은 테스트 시점에만 적용된다.
- 하네스 효과의 귀속이 아직 약하다. 6개 차원 각각의 제거 실험이나 조합별 ablation이 충분하지 않아, 성능 향상이 어느 제어면에서 주로 발생했는지 명확히 분리되지 않는다.
- 비교 범위에 주의가 필요하다. 일부 baseline은 순수 하네스만이 아니라 제품별 전체 시스템 구성이다. 따라서
0.806을 모든 비교에서 “하네스만의 효과”라고 해석하면 안 된다. - 전이의 선택성이 높다. 모든 외부 벤치마크·모델에서 동일하게 좋아지는 것은 아니다. 논문도 이를 universal prompt가 아니라 부분적으로 portable한 실행 정책의 증거로 제한해 해석한다.
- 비용 결과는 캐시 가정에 민감하다. 캐시 적중률이 낮거나 경험 은행이 커지면 추가 검색 컨텍스트가 비용·지연의 병목이 될 수 있다.
- 검색 controller 자체가 복잡한 구성요소다. 진단·패턴 추출·검색·하네스 수정을 담당하는 모델 호출과 구현 복잡성이 최종 시스템에 추가된다. 고정 하네스와 비교할 때 이 최적화 비용을 별도로 봐야 한다.
- 표본 규모와 재현성 검증이 더 필요하다. preprint이며 저자들도 더 큰 규모의 검증, 세밀한 component attribution, 온라인 경험 축적을 향후 과제로 남겼다.
정석님 관점의 해석
이 논문은 Planner–Builder–Verifier 같은 역할 분담 자체보다 한 단계 위에서, 그 역할 분담을 포함한 실행 하네스를 경험으로 조정하는 meta-controller를 제안한다. 실전 적용 시에는 다음처럼 번역할 수 있다.
- 하네스를 Context / Tool / Generation / Orchestration / Memory / Output 계약으로 분리한다.
- 실행 trace와 verifier 결과를 사례별로 저장한다.
- 실패를 “모델이 못 풀었다”가 아니라 어느 제어면의 실패인지 진단한다.
- 반복 실패 패턴을 전역 규칙으로 승격한다.
- 새 작업에서는 전체 하네스를 갈아엎지 말고, 검색된 근거가 있는 제어면만 사례별로 조정한다.
- correctness를 먼저 보고 비용·지연은 동률 또는 별도 Pareto 기준으로 관리한다.
이는 moc-ai-agents-harness의 자가개선 루프와 잘 연결되지만, 실제 운영에서는 evaluator·권한 경계·보안 정책은 MemoHarness의 수정 대상에서 분리해 고정하는 편이 안전하다.
관련 노트
- harness — 에이전트 하네스 개념과 실행 계층
- 2026-07-11-skillopt-self-evolving-agent-skills — 외부 스킬 artifact의 bounded self-improvement
- moc-ai-agents-harness — 하네스·자가개선 MOC
- 2026-07-11-harness-bench-research-and-open-projects — 하네스 효과 벤치마크와 오픈 프로젝트 조사
검증 정보
- 원문 PDF 추출 본문 SHA-256:
2708fb9987c269a46a3a8b381f6ed7c33600d8b17e790b736df79f591de39b21 - 해시 대상:
raw/papers/2026-07-18-arxiv-2607-14159-memoharness.md의 YAML frontmatter 아래 원문 본문 - arXiv 버전:
2607.14159v1