<aside> 🌐

이 글은 Harness Wars — OpenAI vs Anthropic, and What We Need to Prepare For 의 한국어 발행본이다. 영문 원작에서 표기·인용은 그대로 두고, 한국 독자가 자연스럽게 읽을 수 있도록 톤·리듬·문장 호흡만 다듬었다.

</aside>

<aside> 🎯

30초 요약


1. 왜 갑자기 "하네스(harness)" 가 화두인가

원래 하네스(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년 봄, 두 벤더가 동시에 다시 고삐를 잡으려 한 계층이 하나 있다 — 바로 하네스다.


2. Anthropic의 하네스 — "단순하게 시작하고, 필요할 때만 복잡성을 더하라"

원문: <https://www.anthropic.com/engineering/harness-design-long-running-apps> (2026.3.24)

Anthropic은 장기 실행 앱 (수 시간 ~ 수 일에 걸친 작업)을 위한 하네스 설계 원칙을 공식 발표했다.

2.1 설계 철학

"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."

즉, 하네스는 모델의 약점을 보완하기 위해 짠 코드 이며, 모델이 강해질수록 하네스의 일부는 삭제 후보 가 된다. 버리는 것이 설계의 일부다. 이 한 줄이 이 글의 가장 무거운 명제다.

2.2 핵심 패턴 — Generator / Evaluator / Planner (GAN 영감)