00:00:00Closco 팀이 MCP의 가장 큰 문제를 해결했습니다.
00:00:03바로 도구 검색 기능을 추가하여 컨텍스트를 최대 95%까지 줄일 수 있게 된 것입니다.
00:00:07사용 가능한 모든 도구를 미리 컨텍스트에 로드하는 대신,
00:00:11사용하기 전에 도구 이름을 검색하는 방식으로 말이죠.
00:00:13기존 방식은 첫 프롬프트를 작성하기도 전에 수만 개의 토큰을 소모할 수 있었습니다..
00:00:18그런데 왜 처음부터 이런 방식으로 작동하지 않았을까요?
00:00:21그리고 이 기법을 Cloudflare에서 가져온 걸까요?
00:00:24구독 버튼을 누르시고 본격적으로 들어가 보겠습니다.
00:00:26MCP 서버는 정말 어디에나 있습니다.
00:00:28GitHub용,
00:00:29Docker용,
00:00:30Notion용이 있고,
00:00:32정말 좋다고 들은 Better Stack용도 있습니다..
00:00:35그리고 사람들이 Claude Code와 LLM을 코드 외의 모든 것에 사용하고 있는 상황을 보면,
00:00:41MCP는 당분간 사라지지 않을 것 같습니다.
00:00:43하지만 문제점들이 있습니다.
00:00:45이름 충돌, 명령 주입, 그리고 가장 큰 문제인 토큰 비효율성입니다.
00:00:49연결된 서버의 모든 도구가 일반적으로 모델의 컨텍스트 윈도우에 미리 로드되어 모델이 완전한 가시성을 갖도록 하기 때문입니다..
00:00:57도구 이름,
00:00:57도구 설명,
00:00:58선택적 및 필수 매개변수,
00:01:00타입,
00:01:00제약 조건 등을 포함하는 전체 JSON 스키마 문서까지,
00:01:04기본적으로 엄청난 양의 데이터가 포함됩니다.
00:01:07Redis 팀은 4개의 서로 다른 서버에서 167개의 도구를 사용했는데,
00:01:11프롬프트를 작성하기도 전에 60,
00:01:13000개 이상의 토큰을 사용했습니다.
00:01:15Opus의 20만 토큰 컨텍스트 윈도우의 거의 절반이며, 이는 스킬과 플러그인을 제외한 수치입니다.
00:01:21따라서 서버가 많다면 상당한 양의 토큰을 차지할 수 있습니다.
00:01:25물론 Gemini처럼 100만 토큰 윈도우를 가진 모델들이 있다는 것은 알고 있지만,
00:01:30모델은 일반적으로 컨텍스트에 더 많은 것을 추가할수록 성능이 저하되는 경향이 있습니다.
00:01:35그렇다면 이를 해결하는 가장 좋은 방법은 무엇일까요?
00:01:37온라인에서 두 가지 인기 있는 방법을 봤는데,
00:01:39Cloudflare가 사용한 프로그래밍 방식과 Claude Code 팀이 사용한 검색 방식입니다.
00:01:46프로그래밍 방식에 대해서는 나중에 이야기하고, 먼저 검색 방식에 대해 말씀드리겠습니다.
00:01:51이 방식은 다음과 같이 작동합니다..
00:01:53먼저, Claude는 미리 로드된 MCP 도구가 컨텍스트의 10% 이상인지 확인합니다.
00:01:59즉, 컨텍스트 윈도우가 20만 토큰이라면 2만 토큰이 되는 것입니다.
00:02:04그렇지 않다면 변경 사항이 없으며, 모델은 MCP 도구를 정상적으로 사용합니다.
00:02:10하지만 그렇다면,
00:02:12Claude는 자연어를 사용하여 사용할 올바른 도구를 동적으로 발견하고 프롬프트를 기반으로 가장 관련성 높은 3~5개의 도구를 로드합니다.
00:02:22이렇게 선택된 도구들만 완전히 로드하여 모델이 정상적으로 사용할 수 있도록 합니다.
00:02:27이것은 실제로 GitHub에서 가장 많이 요청된 기능이었으며, AgentSkills와 유사하게 작동합니다.
00:02:34AgentSkills는 스킬 이름과 설명만 컨텍스트에 로드하고,
00:02:38관련성이 있다고 판단되는 스킬이나 프롬프트에서 언급된 스킬을 찾으면 해당 특정 스킬의 모든 내용을 컨텍스트 윈도우에 로드합니다..
00:02:46한마디로 점진적 공개 방식입니다.
00:02:47Anthropic과 Cursor 모두 MCP 도구에 이 방식을 사용할 때 큰 이점을 보았습니다.
00:02:53그렇다면 프로그래밍 방식은 어떨까요?
00:02:55이 방식은 API 호출을 하는 대신 모델이 코드를 통해 도구를 조율하는 방식으로 작동합니다.
00:03:01이전 응답을 기반으로 차례로 작동해야 하는 세 가지 도구의 경우,
00:03:05개별 API 도구 호출을 하는 대신 Claude는 이 모든 조율을 수행하는 Python 스크립트를 작성한 다음 코드를 실행하고 결과를 모델에 다시 제시합니다.
00:03:16Cloudflare는 모델이 사용 가능한 모든 도구에 대한 TypeScript 정의를 작성하도록 한 다음 샌드박스(보통 Worker)에서 코드를 실행하는 방식으로 한 단계 더 나아갔습니다.
00:03:27Claude Code 팀은 실제로 프로그래밍 방식을 시도했지만 검색 방식이 더 잘 작동한다는 것을 발견했는데,
00:03:33Claude가 코드 작성에 매우 뛰어나다는 점을 고려하면 정말 믿기 어렵습니다.
00:03:38그리고 Vacel이 출시한 에이전트 브라우저 CLI 헤드리스 크로미움 기능도 Claude Code에서 아주 잘 작동하는데,
00:03:45만약 MCPorter 같은 걸로 모든 MCP 도구를 CLI 명령어로 변환할 수 있다면,
00:03:51모델이 컨텍스트에 로드하는 대신 특정 CLI 명령어로 도구를 실행하는 게 훨씬 쉽고 컨텍스트 측면에서도 효율적일 것 같아요.
00:03:59뭐, 이건 제 생각일 뿐이지만요..
00:04:01전반적으로 MCP 서버 관련 문제들이 개선되고 있다니 반갑고,
00:04:05어쩌면 이게 저한테 서버를 두 개 이상 설치하도록 설득할지도 모르겠네요.