출처: https://cra.mr/context-management-and-mcp/

이 글은 Sentry의 창립자인 David Cramer가 작성한 것으로, 최근 개발자들 사이에서 벌어지는 “MCP(Model Context Protocol)냐 CLI(명령줄 인터페이스)냐” 의 논쟁이 본질을 벗어난 것임을 지적하며 ‘컨텍스트 관리와 조종(Steering)’ 의 중요성을 강조하고 있습니다.

1. MCP vs CLI 논쟁의 핵심

  • 잘못된 비교: 많은 사람들이 CLI가 나왔으니 MCP를 쓸 필요가 없다고 말하지만, 이는 LLM이 컨텍스트를 어떻게 처리하는지 이해하지 못한 결과입니다.
  • MCP의 진정한 가치: MCP는 단순한 API 프록시가 아니라, LLM이 도구를 더 정확하게 사용하도록 ‘조종(Steering)’ 하는 데 최적화되어 있습니다. MCP는 마크다운, XML 구조, 힌트 등을 활용해 모델이 이해하기 쉬운 형태로 정보를 전달합니다.

2. 조종(Steering)의 중요성

  • LLM 맞춤형 응답: 일반적인 API나 CLI는 기계(Machine) 중심의 출력을 내놓지만, 우수한 MCP 서버(예: Sentry MCP)는 LLM이 다음 행동을 결정하기 좋게끔 요약된 정보와 가이드를 제공합니다.
  • 토큰 효율성: “항상 켜져 있는 MCP 도구가 토큰을 낭비한다"는 비판도 있지만, 초기 조종 컨텍스트에 토큰을 투자하는 것이 나중에 모델이 길을 잃어 발생하는 ‘컨텍스트 부패(Context Rot)‘를 막는 데 더 효과적입니다.

3. 점진적 공개(Progressive Disclosure)의 한계

  • 필요할 때만 도구 설명을 불러오는 방식은 모델로부터 ‘도구의 의도’를 숨기게 되어, 결국 모델의 추론 능력을 떨어뜨리고 API 호출기 수준으로 전락시킵니다.

4. 해결책: 서브에이전트(Subagents)

  • 저자는 현재의 한계를 극복하기 위해 서브에이전트 방식 을 제안합니다.
  • 특정 작업에만 필요한 MCP 도구와 컨텍스트를 격리된 서브에이전트에 할당함으로써, 컨텍스트 부패를 최소화하고 각 모델이 전문적인 작업을 수행하도록 만들 수 있습니다.

요약 결론

결국 중요한 것은 어떤 프로토콜을 쓰느냐가 아니라 “어떻게 하면 모델이 실수 없이 작업을 완수하도록 컨텍스트를 잘 설계하고 전달(Steering)하느냐” 입니다. 저자는 이를 위해 모델의 한계를 인정하고 서브에이전트와 같은 구조적 접근이 필요하다고 주장합니다.