하네스(harness)는 세션부터 조직, 도메인에 이르기까지 에이전트를 둘러싼 시스템 전반을 관리한다.
Harrison Chase는 한때 흥분을 감추지 못하며 이런 통찰을 공유했다. 에이전트는 네 가지로 구성된다는 것이다. 시스템 프롬프트, 플래닝 툴, 파일 시스템, 그리고 서브에이전트. 그 발언 이후 1년이 넘도록, 이 구성은 대체로 여전히 유효하다. (물론 범용 툴 등을 추가해 조금 수정할 수는 있겠지만.)
요즘 하네스(harness)의 물결이 거세다. 매일같이 새로운 코딩 하네스가 등장하고 있고, 이달이 끝나기 전에 수십 개가 더 나올 것 같은 기세다. 최근에 등장한 것들만 해도:
이 밖에도 OpenClaw, NanoClaw, Hermes, Conductor, Prime Agent 등 더 있다.
이 정도면 공통 패턴이 윤곽을 드러내기 시작한다. 저마다 고유한 특징을 갖고 있지만, 다른 점보다 닮은 점이 더 많다. 오히려 그게 반갑다. 공통점이 있어야 메타패턴을 찾을 수 있으니까. 그리고 그 메타패턴이 바로 "상황 속 에이전트"로 우리를 다시 데려간다.
이 프레임이 마음에 든다. Harrison이 제시한 에이전트의 네 요소—시스템 프롬프트, 플래닝 툴, 파일 시스템, 서브에이전트—는 여전히 핵심 루프를 설명한다. 개발자가 키보드로 직접 다루는 영역이다. 하네스는 그 너머, 즉 개발자가 몸담고 있는 세계 전체를 관리한다.
가장 단순한 코딩 에이전트를 떠올려보자. 당신이 키보드 앞에 앉아 있다. 이제 서서히 시야를 넓혀가며 하네스가 관리할 수 있는 요소들을 살펴보자:
AGENTS.md, 가이드, 훅이 담겨 있다.바깥으로 나갈수록, 각 레이어를 사용하는 사람은 많아지고 변경 빈도는 낮아진다.
하네스는 이 레이어들을 에이전트를 중심으로 바깥으로 펼쳐가며 관리한다. 무엇이 컨텍스트에 포함될지, 루프가 어떻게 실행될지, 무엇이 저장될지를 결정한다.
새로운 하네스들이 쏟아지면서, 각 레이어를 둘러싼 혁신도 활발하다. Buzz의 채널, Claude Tag 등은 멀티플레이어 에이전트 환경을 실험 중이다. Omnigent의 정책 기능은 조직의 요구사항을 세션 단위로 밀어 넣어 특정 세션에서 허용되는 행동을 제어한다. Meta는 Muse Spark를 자사 하네스를 인식하도록 학습시켰다. (다른 곳들도 마찬가지지만, 대부분은 그냥 안 쓸 뿐이다…)
하네스 혁신의 흐름이 쉽게 꺾이지 않을 것이라 본다. 이 레이어들을 관리하는 시스템은 상황에 덜 얽매인 에이전트보다 훨씬 강한 락인 효과를 만들어내기 때문이다. Opus의 문체가 싫어졌을 때 Claude Code에서 Codex로 갈아타는 건 간단하다. 하지만 조직과 팀 전체가 이미 구축해놓은 시스템이 위의 레이어 전부를 관리하고 있다면, 이야기가 달라진다.
Cursor와 Copilot 사람들은 지금쯤 고개를 끄덕이며, 이제야 왔냐는 표정으로 우리를 반길 것이다.
AI 연구소들이 그토록 찾아 헤매던 네트워크 효과가, 결국 SaaS 시대의 네트워크 효과와 판박이로 귀결된다면 꽤 아이러니한 일이다. 에이전트를 둘러싼 환경을 관리하는 코딩 하네스는, 과거의 SaaS 플랫폼과 놀랍도록 닮아 있다.