<aside> 🌐
이 글은 Harness Wars — OpenAI vs Anthropic, and What We Need to Prepare For 의 한국어 발행본이다. 영문 원작에서 표기·인용은 그대로 두고, 한국 독자가 자연스럽게 읽을 수 있도록 톤·리듬·문장 호흡만 다듬었다.
</aside>
<aside> 🎯
30초 요약
원래 하네스(harness) 는 마구(馬具) — 말의 원시적인 힘을 통제 가능한 방향으로 바꿔주는 장비를 가리킨다. AI에서 이 용어는 이제 LLM(말)을 통제 가능한 일꾼 으로 만드는 바깥 계층 전체 를 의미한다.
"Claude Code serves as the agentic harness around Claude: it provides the tools, context management, and execution environment that turn a language model into a capable coding agent."
— Anthropic 공식 문서 (메모라이저: How Claude Code Works — Harness, AI Agent, Agentic Loop)
하네스의 6대 구성요소를 그림으로 풀면 다음과 같다.
flowchart LR
Model["LLM<br/>(말 = 추론 엔진)"]
subgraph Harness["Harness (마구)"]
Tools["도구<br/>Bash / Read / Write"]
Perm["권한 &<br/>승인 게이트"]
Sandbox["샌드박스"]
Session["세션 &<br/>메모리"]
Context["컨텍스트<br/>관리"]
Ext["확장:<br/>MCP / Skills / Hooks"]
end
Model --> Harness
Harness --> Agent["AI 에이전트<br/>(스스로 판단·행동)"]
지난 2년의 표준화 흐름을 보면 모델 → 도구 → MCP → 스킬 → CLI 순으로 개방·표준화 파도가 지나갔다. 그런데 2026년 봄, 두 벤더가 동시에 다시 고삐를 잡으려 한 계층이 하나 있다 — 바로 하네스다.
원문: <https://www.anthropic.com/engineering/harness-design-long-running-apps> (2026.3.24)
Anthropic은 장기 실행 앱 (수 시간 ~ 수 일에 걸친 작업)을 위한 하네스 설계 원칙을 공식 발표했다.
"Find the simplest solution possible, and only increase complexity when needed."
— Prithvi Rajasekaran, Anthropic Labs
"Every component in a harness encodes an assumption about what the model can't do on its own."
즉, 하네스는 모델의 약점을 보완하기 위해 짠 코드 이며, 모델이 강해질수록 하네스의 일부는 삭제 후보 가 된다. 버리는 것이 설계의 일부다. 이 한 줄이 이 글의 가장 무거운 명제다.