Agent Harness

Harness는 agent가 반복 작업을 안정적으로 수행하도록 context, tool, policy, observability, verification을 제공하는 주변 실행 환경이다. Source에는 두 가지 용례가 섞여 있다 — product agent용 harness(Deep Agents SDK 같은 올인원 프레임워크)와 coding agent용 repository harness engineering(Codex를 위한 리포지터리 설계). 공통점은 scaffolding과 control surface지만, 같은 제품 계층을 가리키지는 않는다.

Framework, Runtime, Harness가 나뉘는 층위

계층 중심 질문 대표 책임
Framework 구성 요소를 어떻게 조립하는가 prompt, tool, agent abstraction
Runtime 상태 실행을 어떻게 진행·재개하는가 scheduling, checkpoint, retry
Product harness 범용 agent에 무엇을 기본 제공하는가 filesystem, subagent, context policy
Repository harness codebase를 어떻게 읽고 검증하는가 docs map, lint, test, observability

Human-steered, Agent-executed 아래의 다섯 원칙

Runtime persistence가 harness에 들어올 때

큰 AGENTS.md가 실패하는 이유

개인 workflow 기록은 같은 방향을 다른 규모에서 보여준다. task를 작게 나누고 plan, DESIGN, handoff 문서를 남기는 편이 대화창에만 기억을 맡기는 것보다 안정적이었다는 관찰이다.[4]

Harness 품질을 판단하는 기준

좋은 harness는 자유도를 없애지 않고 실패 비용이 큰 경계만 강제한다고 보인다. 문서가 많을수록 entrypoint는 짧은 map이어야 하며, 상세 문서는 freshness와 검증 경로를 가져야 한다. Harness quality는 prompt 길이보다 feedback latency로 평가할 수 있다는 것이 이 페이지의 해석이다. Runtime state와 repository record는 보존 대상과 lifecycle이 다르다 — 하나는 실행 재개를 위한 state history이고, 다른 하나는 사람과 다음 agent가 읽을 지식 기록이다.

이 경계가 흐려지는 경우

테스트 질문

관련

출처


  1. Frameworks, runtimes, and harnesses.md — "Framework: 에이전트를 쉽게 만들기 위한 추상화 제공", "Runtime: 에이전트를 안정적으로 실행하기 위한 실행 환경 제공", "Harness: 복잡한 에이전트를 만들기 위한 사전 구성된 도구와 기능 제공", "LangChain 1.0은 LangGraph를 기반으로 구축되었다.", "Deep Agents SDK는 LangGraph를 기반으로 구축되었으며, 계획 수립 기능, 컨텍스트 관리를 위한 파일 시스템, 하위 에이전트를 생성할 수 있는 기능 등을 추가로 제공합니다." ↩︎

  2. Harness Engineering.md — "에이전트 관점에서 실행 중 컨텍스트 안에서 접근할 수 없는 것은 사실상 존재하지 않는다.", "Codex에는 1,000페이지의 설명서가 아니라 맵을 제공해야 한다.", "컨텍스트는 희소 리소스다. 거대한 지침 파일은 작업, 코드, 관련 문서를 압박하여...", "지침이 너무 많으면 지침이 되지 않는다. 모든 것이 중요하다면 중요한 것은 아무것도 없다.", "단일 거대 매뉴얼은 빠르게 낡는다...", "단일 블롭은 기계적 점검에 적합하지 않다...", "따라서 AGENTS.md는 백과사전이 아니라 목차로 취급한다.", "이 구조는 기계적으로 시행된다. 전용 린터와 CI 작업은...", "Codex는 사람이 CLI에 복사해 붙여넣지 않아도 gh, 로컬 스크립트, 리포지터리 내장 스킬 같은 표준 개발 도구를 직접 사용해 컨텍스트를 수집한다.", "Chrome DevTools Protocol을 에이전트 런타임에 연결함", "DOM 스냅샷, 스크린샷, 탐색 작업을 위한 스킬을 만듦" ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  3. langgraph-durable-execution.md — "Checkpointers persist a thread's graph state as checkpoints. Use them for short-term, thread-scoped memory...", "Stores persist application-defined data outside the graph state. Use them for long-term, cross-thread memory...", "Agent Server handles persistence automatically... The server handles persistence infrastructure behind the scenes." ↩︎ ↩︎

  4. AGENT 활용.md — "대화창에 기억을 맡기기보다는, 기억해야 할 내용을 레포에 남기는 쪽이 더 안정적이었다.", "차라리 이렇게 나누는 게 낫다. 1. 요구사항 정리 2. 데이터 모델 설계 3. API 설계..." ↩︎