에이전트는 모델이 아니다
AI 에이전트 시스템은 모델(Model), 추론 서비스(Inference Service), 하네스(Harness) 세 층위로 구성되며, 흔히 혼용되는 '에이전트'와 '모델'은 엄연히 다른 개념이라는 용어 정리 글입니다. MCP나 Skills 같은 기능은 모델이 아니라 하네스 계층에 속하며, 같은 모델도 하네스에 따라 다르게 동작한다는 점을 Claude Desktop, Cursor 등 실제 사례로 설명합니다.
사람들이 '에이전트(agent)'와 '모델(model)'이라는 단어를 서로 바꿔가며 사용하는 것을 자주 접합니다. Claude를 둘 중 어느 쪽으로 부르기도 하죠. 그래서 우리가 사용하는 용어에 대한 간단한 참고 자료를 작성하면 더 정확한 대화를 나누는 데 도움이 될 것 같았습니다. 먼저 전체 그림을 보여드리겠습니다.
[에이전트 시스템 → 하네스(Harness) → 추론 서비스(Inference Service) → 모델(Model)]
에이전트 시스템은 여러 계층으로 구성됩니다. 그 핵심에는 모델이 있습니다. Sonnet, Opus, Gemini 같은 것들이죠. 이들은 방대한 양의 텍스트와 데이터로 학습되었으며, 결국 특정한 방식으로 연결된 거대한 부동소수점 숫자들의 집합에 불과합니다.
최첨단 프론티어 모델은 우리 대부분이 로컬에서 전체 규모로 실행하기에는 계산 비용이 너무 많이 듭니다. 로컬 머신의 RAM보다 훨씬 더 많은 메모리가 필요하죠. 그래서 이를 실행할 다른 장소가 필요한데, 그것이 바로 추론 서비스(inference service)입니다. AWS Bedrock이나 Anthropic의 API 같은 서비스들이죠. 추론 서비스는 여러분의 API 호출을 받아 모델에 전달하고, 사용량에 따른 요금도 추적합니다. 이 서비스는 추론 엔진에서 모델을 실행하지만 여전히 꽤 기본적인 수준입니다. 텍스트를 넣으면 텍스트가 나오는 것이죠. ChatGPT가 처음 출시되었을 때의 모습을 떠올리면 됩니다.
그 상호작용 계층, 즉 API와 대화할 수 있는 좋은 방법을 제공하는 것을 하네스(harness)라고 합니다. 가장 단순한 형태로는 그저 가벼운 래퍼(wrapper)일 뿐입니다. 알고 있을 만한 다른 하네스로는 Claude Desktop이나 Claude CLI가 있습니다.
그리고 여기서 흥미로워집니다. MCP나 Skills 같은 기능은요? 이들은 주로 하네스 계층의 일부입니다. 모델은 MCP 서버나 Skill에 대해 본질적으로 알지 못합니다. 어떤 컨텍스트와 도구를 모델에 노출할지는 하네스가 결정하죠.
이 모든 것을 종합하면, 에이전트 시스템은 입력을 처리하기 위한 도구와 로직의 집합인 하네스가, 모델을 실행하는 추론 서비스를 호출하는 것입니다. 그게 전부입니다. 이것이 전체 스택입니다.
실제 사례
여러분이 사용하고 있을 법한 몇 가지 일반적인 도구들의 스택 구성은 다음과 같습니다.
| 에이전트 시스템 | 하네스 | 추론 서비스 | 모델 |
|---|---|---|---|
| Claude Desktop | Claude Desktop (UI + MCP + 로컬 로직) | Anthropic의 추론 서비스 | Sonnet / Opus / Haiku |
| Claude CLI | Claude CLI (도구 파싱 + 파일 I/O) | Anthropic의 추론 서비스 | Sonnet / Opus / Haiku |
| Cursor | Cursor 에디터 (컨텍스트 조립 + 도구 라우팅) | Cursor의 추론 계층 (다양한 제공자) | Sonnet / GPT / Gemini 등 |
| ChatGPT | ChatGPT UI (히스토리 + 오케스트레이션) | OpenAI의 추론 서비스 | GPT 모델 |
| LangChain으로 직접 만든 에이전트 | 여러분의 LangChain 코드 (프롬프트 템플릿 + 도구 정의) | 선택한 제공자 (Bedrock, OpenAI 등) | 선택한 모델 |
패턴이 보이시나요? 하네스가 여러분의 로직이 있는 곳입니다. 추론 서비스는 모델을 실행하는 호스팅 계층입니다. 모델은 텍스트를 생성하는 수학적 존재입니다. Sonnet 같은 동일한 모델이라도 완전히 다른 하네스를 가진 여러 에이전트 시스템에서 사용될 수 있으며, 하네스가 입력을 구성하고 출력을 해석하기 때문에 각각 다르게 동작합니다.
비유를 좀 더 확장해 보자면
집을 짓는다고 상상해 봅시다. 현장에 건설 인부들이 있습니다. 이들은 설계도를 받아 자재를 주문하고, 장비를 다루고, 작업 순서를 결정합니다. 실제로 땅을 만질 수 있는 유일한 사람들이죠. 콘크리트를 붓고, 못을 박는 일 등 말입니다. 하지만 뭔가 문제가 생겨 두뇌가 필요하면 건축가에게 연락합니다. 다만 건축가와 직접 대화할 수는 없고, 그들을 고용한 회사를 거쳐야 합니다. 회사는 일정 관리와 결제를 처리하죠. 그리고 건축가는 아주 까다롭습니다. 요구사항을 주면 종이 설계도를 돌려줄 뿐, 그 이상은 하지 않습니다.
인부가 바로 하네스입니다. 실제로 외부 세계와 접촉하고 건축가의 설계도를 행동으로 옮기는 부분이죠. 회사가 추론 서비스입니다. 물류와 비용을 처리하는 관문이죠. 그리고 건축가가 모델입니다. 순수하고, 제약되어 있으며, 자신의 좁은 영역에서는 탁월합니다.
따라서 Claude CLI 같은 것을 사용할 때, CLI가 하네스입니다. 이는 Anthropic의 추론 서비스를 사용하며, 그 서비스가 Sonnet과 Opus 모델을 실행합니다.