Is Claude Code an agent or a harnness?

hackernews | | 🔬 연구
#ai agent #anthropic #claude #claude code #harness #llm #review #agent
원문 출처: hackernews · Genesis Park에서 요약 및 분석

요약

에이전트(Agent)와 하니스(Harness)는 서로 다른 기술이 아니라 동일한 시스템에 대한 '사용자'와 '개발자'의 관점 차이일 뿐입니다. 야생마 같은 강력한 LLM(대형 언어 모델)을 제어하고 유용하게 만드는 코드, 샌드박스, 도구 등의 아키텍처 레이어가 하니스에 해당하며, 이 하니스를 더한 결과물이 사용자가 경험하는 에이전트입니다. 따라서 클로드 코드(Claude Code)는 사용자가 작업을 수행하는 에이전트인 동시에, 개발자가 AGENTS.md나 커스텀 훅(Hooks) 등을 구축하고 시스템을 개선하는 기반이 되는 하니스로 이해해야 합니다.

본문

Is Claude Code an agent or a harness? Think of an LLM like a wild horse. The harness is what makes it rideable. The agent is what the rider sees. TL;DR “Agent” and “harness” aren’t different categories. They’re different perspectives on the same system. Agent is what the user sees. Harness is what the builder builds on. Think of an LLM as a wild horse. The harness (bridle, reins, saddle) makes it usable. Horse plus harness is the agent. The rider just rides. Harness layers stack like an OS: Claude Code provides the kernel (agent loop, tools, sandbox). You build the application layer on top (AGENTS.md, skills, hooks, verification gates). Harness engineering is the discipline of building and improving these layers. When an agent makes a mistake, you don’t fix the output. You fix the system that produced it. Is Claude Code an agent or a harness? Ask Anthropic and they’ll say both. Ask Twitter and you’ll get a fight. Ask the engineer who just spent a week configuring hooks, sub-agents, and 14 MCP servers, and they’ll pause. “I... honestly don’t know anymore.” Six months ago the word was “agents.” Agent frameworks. Agent platforms. Agentic this, agentic that. Now the same people are saying “harness” like the vocabulary changed overnight. The confusion is simpler than it looks: people keep using “agent” and “harness” to describe the same products without realizing they’re talking about two different perspectives on the same system. So let’s sort it out. Think about a horse. A wild horse is raw power. Fast, strong, unpredictable. Incredibly capable, but not useful to anyone. You can’t ride it. You can’t direct it. It goes where it wants. Now put a harness on it. A bridle, reins, a saddle. The horse didn’t change. Same animal, same power. But now it’s controllable. Directable. The harness doesn’t do the work. The horse does. The harness makes the horse’s power usable. Horse plus harness? That’s a rideable horse. That’s the product. The rider gets on, gives direction, and arrives where they need to go. The rider doesn’t think about the harness. They just ride. The person who designed and fitted that harness? That’s a different role entirely. They’re not riding. They’re studying the horse’s behavior, adjusting the bit, choosing the right saddle for the terrain. They’re engineering the system that makes riding possible. That’s the whole vocabulary: An LLM is the horse. Raw capability. Powerful but unpredictable on its own. A harness is the bridle, reins, and saddle. An architectural layer of code, configuration, and tooling that wraps around the LLM and makes its power usable. Products contain harness layers. Claude Code contains one. Codex contains one. The quality of that harness layer is what separates a useful product from a frustrating one. Same model, different harness, completely different experience. You build additional harness layers on top of them. An agent is the horse plus the harness. The product you interact with. Claude Code, Codex, Cursor. You give it a task, it reasons, calls tools, and delivers a result. From the outside, it’s a thing that does work for you. You’re the rider. Harness engineering is the discipline of designing, fitting, and improving the harness. Same relationship as “software” and “software engineering.” Software is a thing you build. Software engineering is the practice of building it well. The harness engineer isn’t riding. They’re building the system that makes riding possible. Once you see it this way, the agent-vs-harness debate dissolves. They were never competing categories. They were always different parts of the same system. The perspective flip Open Claude Code. Type a prompt. It reads your files, writes code, runs tests, opens a PR. That’s the product perspective. You’re the end user. Claude Code is an agent. It does work for you. Now step to the other side. You create an AGENTS.md file. You write custom skills in .claude/skills/ . You configure hooks that auto-format code after every edit. You set up sub-agents for security reviews and TDD workflows. You tune which MCP servers are enabled per project to protect your context window. That’s the engineering perspective. You’re the builder. Claude Code is a harness. It’s the architectural layer you’re building on top of. Anytime you find an agent makes a mistake, you take the time to engineer a solution such that the agent never makes that mistake again. Notice what he’s describing. Not using an agent. Building the system around it. That’s the builder’s perspective. Agent = Model + Harness If you’re not the model, you’re the harness. We can extend this further to make it concrete: Agent = Model + Harness Harness = Agent Loop + Sandbox + Tools + Filesystem + Context Management + Session Management + Skills + Hooks + Sub-agents + ... Everything that isn’t the LLM itself is a harness layer. The tools, the prompts, the sandbox, the middleware, the verification loops, the context management. All of it. So when someone asks “is Cl

Genesis Park 편집팀이 AI를 활용하여 작성한 분석입니다. 원문은 출처 링크를 통해 확인할 수 있습니다.

공유

관련 저널 읽기

전체 보기 →