도커가 이걸 출시하며 AI 코딩의 90%를 해결했습니다

AAI LABS
Internet TechnologyComputing/Software

Transcript

00:00:00AI에서 가장 중요한 것 중 하나였던 MCP 프로토콜이 6개월 뒤에 우리에게 큰 문제가 되었습니다.
00:00:06처음에는 사람들이 로컬에서 2~3개의 MCP 서버만 실행했지만, MCP는 훨씬 더 발전했습니다.
00:00:13이제 사람들은 수백 개의 MCP 서버와 수천 개의 도구를 동시에 가지고 있으며,
00:00:18이것이 엄청난 문제가 되었습니다.
00:00:20아시다시피 Cloudflare가 이 문제를 먼저 발견했고,
00:00:23Claude도 이 문제에 대한 연구 논문을 발표해서 따라갔습니다.
00:00:26하지만 Docker가 실제로 이 문제의 해결책을 내놓았고,
00:00:29MCP의 가장 중요한 문제 중 하나를 완전히 새로운 방식으로 해결했습니다.
00:00:34많은 토큰을 절약하고,
00:00:35에이전트 속도를 높이고,
00:00:37완전히 새로운 종류의 자동화를 가능하게 하는 동적 모드를 구현했는데,
00:00:41저는 정말 기대하고 있습니다.
00:00:43그래서 Docker는 실제로 기사를 발행했는데,
00:00:46기본적으로 에이전트 환경을 하드코딩하지 말 것을 강력히 촉구하고 있습니다.
00:00:50그런데 그게 무슨 뜻일까요?
00:00:51먼저 우리가 실제로 신뢰하는 MCP 서버가 어떤 것들인지 파악하는 것입니다.
00:00:54두 번째는 사용하지 않을 수도 있는 도구 정의로 컨텍스트를 가득 채우는 것을 어떻게 피할 것인가 하는 것입니다.
00:01:00예를 들어, 1,000개의 도구가 있다면 한 번의 채팅에서 2~3개만 사용할 수도 있습니다.
00:01:05세 번째는 에이전트가 이러한 도구를 효율적으로 그리고 자율적으로 발견하고, 구성하고, 사용하는 방법입니다.
00:01:12하지만 두 번째에 집중해 주셨으면 합니다.
00:01:14즉, 사용하지 않을 수도 있는 도구 정의로 컨텍스트를 가득 채우는 것을 어떻게 피할 것인가 하는 것입니다..
00:01:19예를 들어, 1,000개의 도구가 있다면 한 번의 채팅에서 2~3개만 사용할 수도 있습니다.
00:01:23Anthropic도 이에 대한 게시물을 발표했는데,
00:01:26우리가 이전 영상 중 하나에서 다루었고,
00:01:28구현을 원하는 사람들로부터 정말 긍정적인 반응을 받았습니다.
00:01:32그리고 Docker가 실제로 이를 구현했습니다.
00:01:34계속 진행하기 전에,
00:01:35Docker가 실제로 문제가 되기 훨씬 전에 이 모든 인프라를 설정했다는 것을 알아야 합니다.
00:01:41그리고 그러기 위해서는 검증된 MCP 서버를 나열한 MCP 카탈로그에 대해 알아야 합니다.
00:01:48그리고 연결하기가 정말 쉽습니다. Docker에서 여기서 연결하면 됩니다.
00:01:52예를 들어,
00:01:52Notion을 여기에 연결했는데,
00:01:54지금 현재 두 개의 서버를 가지고 있고,
00:01:56대부분의 경우 Claude Code인 제 MCP 클라이언트는 Docker에만 연결되고,
00:02:01Docker가 기본적으로 모든 MCP 서버를 관리합니다.
00:02:04그래서 이것이 완전히 우리가 실제로 신뢰할 수 있는 MCP 서버가 어떤 것인지에 대한 첫 번째 문제를 해결합니다.
00:02:09이제 에이전트가 MCP를 동적으로 사용할 수 있도록 하기 위해,
00:02:13그들은 카탈로그 내의 MCP 서버를 사용하고 자율적으로 사용할 수 있는 사전 구성된 도구가 이미 있는 MCP 게이트웨이를 구현했습니다.
00:02:22본질적으로 일어나는 일은 하나의 MCP만 연결하고,
00:02:26이 MCP는 연결된 도구가 무엇인지에 대한 모든 컨텍스트를 가지고 있습니다.
00:02:31두 개에 연결되었고 실제로 어떤 도구 정의를 컨텍스트 윈도우에 넣을지 알고 있습니다.
00:02:36따라서 컨텍스트 윈도우가 팽창하지 않습니다..
00:02:39이것이 실제로 작동하려면,
00:02:40MCP 찾기,
00:02:41추가 및 제거를 포함하는 새로운 도구를 추가했으며,
00:02:44이는 기본적으로 이름이나 설명으로 카탈로그에서 MCP 서버를 찾습니다.
00:02:48그리고 제가 보여드리겠듯이, 올바르게 추가하는 방법을 안내해 드립니다.
00:02:51예를 들어,
00:02:52여기서 GitHub MCP를 사용하고 있으며,
00:02:54흥미로운 저장소를 검색하고 싶다고 말하고 있습니다.
00:02:57어떤 종류의 저장소인지 지정한 후,
00:02:59실제로 도구 자체를 호출하지 않고 Docker MCP 서버를 사용하여 올바른 정보로 도구를 호출한 다음 당연히 모든 결과를 반환합니다.
00:03:08이제 한 가지를 주목해 주셨으면 합니다.
00:03:10LLM은 저장소에 대한 모든 것을 반환하고 있습니다.
00:03:14링크를 반환하고, 별을 반환하고, 설명을 반환하고, 심지어 이 저장소가 게시된 날짜까지 알고 있습니다..
00:03:21저는 이것을 기억해 주셨으면 합니다. 앞으로 중요한 것이 될 것이기 때문입니다.
00:03:25이제 동적 도구 선택으로 넘어갑니다.
00:03:28이것이 기사의 가장 중요한 부분이며,
00:03:30MCP 서버를 사용하는 새로운 방식에 대해 이야기할 때 언급한 것입니다..
00:03:35다시 Claude 기사를 참고하면,
00:03:37Claude나 다른 AI 에이전트가 실제로 더 많은 토큰을 사용하는 방식에 대해 이야기합니다.
00:03:42하나는 컨텍스트 윈도우의 도구 정의이고, 두 번째는 중간 도구 결과입니다.
00:03:46이것은 MCP 도구 호출에서 실제로 반환되는 원본 결과에 대해 이야기하는 부분입니다.
00:03:51따라서 GitHub 도구를 사용하여 검색한 모든 세부 정보가 컨텍스트 윈도우로 반환되었습니다.
00:03:57그것이 Claude가 저장소의 모든 작은 세부 정보를 알고 있는 반면,
00:04:01저는 저장소의 설명과 링크만 원했던 이유입니다.
00:04:03이러한 방식으로,
00:04:04제 경우에는 20개 정도의 도구 호출만으로 전체 컨텍스트 윈도우가 가득 찰 때까지만 걸립니다.
00:04:10이것이 MCP 게이트웨이 프로젝트에서 실제로 유용한 도구만 제공하는 것을 개선한 부분입니다.
00:04:15예를 들어,
00:04:16제 경우에는 컨텍스트를 절약하는 한 가지 방법은 검색 저장소 도구만 제공하고 이 GitHub MCP 내에 있는 다른 40개의 도구는 제공하지 않는 것입니다.
00:04:25왜냐하면 이 세션에서는 검색 저장소 도구만 사용하고 싶기 때문입니다.
00:04:29하지만 다시,
00:04:29한 번 이러한 방식으로 도구를 선택하기 시작하면,
00:04:32그것은 또한 새로운 범위의 가능성을 열어줍니다.
00:04:35그리고 이것이 코드 모드로 이끌어집니다.
00:04:37Cloudflare는 기본적으로 우리가 MCP를 잘못 사용했고, 이것이 실제 방식이 아니라고 설명했습니다.
00:04:43그리고 여기서 Docker가 실제로 이 새로운 솔루션을 구현한 첫 번째입니다.
00:04:48저는 많이 시도해 봤습니다.
00:04:49그리고 실제로 얼마나 잘 실행되었는지 정말 놀랐습니다.
00:04:53그들은 에이전트가 MCP 도구를 사용하여 직접 코드를 작성할 수 있게 함으로써,
00:04:57즉 도구를 가져와서 코드에 구현함으로써,
00:04:59에이전트에게 도구를 완전히 새로운 방식으로 사용하는 코드 모드 도구를 제공할 수 있다고 말합니다.
00:05:05그럼 코드 모드는 뭘 하나요?
00:05:07다른 MCP 도구를 호출할 수 있는 JavaScript 활성화 도구를 만듭니다.
00:05:11이것이 정말 간단해 보일 수 있지만, 제가 보여드릴 예제가 이를 명확히 해 주기를 바랍니다.
00:05:17구현에 들어가기 전에, 고려할 사항이 있습니다.
00:05:19먼저, 이것이 에이전트가 작성한 코드이기 때문에, 당연히 테스트되지 않았고 안전하지 않습니다.
00:05:25따라서 Docker는 이것이 실제로 샌드박스에서 실행되도록 계획했습니다.
00:05:29그리고 그들이 이미 Docker 컨테이너를 제공하고 있으므로,
00:05:32이것은 기본적으로 그들에게 당연한 선택이었습니다.
00:05:35이 접근 방식은 세 가지 핵심 이점을 제공합니다.
00:05:38먼저, 샌드박싱의 주요 이점이 완전히 안전합니다.
00:05:41시스템에 실제 손상을 입히지 않습니다.
00:05:43그런 다음 도구가 모든 요청에서 모델로 전송될 필요가 없는 우리가 이야기해온 모든 토큰 및 도구 효율성이 있으며,
00:05:50모델은 단 하나의 새로운 코드 모드 도구에 대해 알아야 합니다.
00:05:53따라서 코드 모드가 없으면,
00:05:553개의 도구만 사용하고 있다면,
00:05:57반복적으로 실행하고 있다면,
00:05:58우리가 실제로 사용하는 3개의 도구와 함께 다른 47개의 도구의 컨텍스트도 함께 진행됩니다.
00:06:04하지만 코드 모드를 사용하면,
00:06:05에이전트가 실제로 사용해야 하는 도구만 사용하여 사용자 정의 분석 내 저장소 도구를 작성합니다.
00:06:11그리고 매번 하나의 코드 모드 도구만 참조합니다.
00:06:14그리고 이런 식으로, 우리가 실제로 사용해야 하는 도구를 보내지 않으므로 다른 모든 컨텍스트를 절약합니다.
00:06:20그리고 나서 우리는 상태 지속성도 가지고 있습니다.
00:06:23볼륨이 이러한 도구 호출 사이에 데이터가 저장되는 방식을 관리합니다.
00:06:27그리고 그들은 실제로 모델로 전송되지 않습니다.
00:06:29이것의 아주 간단한 예시는 데이터 처리 파이프라인입니다.
00:06:33따라서 데이터 세트를 다운로드하려고 한다고 하면,
00:06:35데이터 세트가 다운로드되고 반환되지만,
00:06:38실제로는 볼륨에 저장되고,
00:06:39모델은 성공적으로 다운로드되었다는 것만 알게 됩니다.
00:06:42모델이 5GB의 데이터로 넘치지 않습니다.
00:06:45그런 다음 처음 10,
00:06:46000행을 처리하고 싶다면,
00:06:47모델은 데이터가 저장된 볼륨에서 읽고 실제 요약을 반환할 수 있습니다.
00:06:52이런 식으로,
00:06:52최종 결과,
00:06:53요약,
00:06:53오류 메시지 또는 질문에 대한 답변과 같이 모델로 가야 할 데이터만 모델로 전송되고 컨텍스트 윈도우가 깨끗한 상태로 유지됩니다..
00:07:07이제 제가 이 GitHub 저장소를 검색한 이유는 비디오에 실제로 넣을 새로운 오픈 소스 도구를 발견하기 위해서입니다.
00:07:13그리고 저는 보통 GitHub 저장소 찾기 도구를 사용하여 여러 호출을 실행합니다.
00:07:17도구를 검색하기 위해 다양한 키워드를 작성합니다.
00:07:20그래서 저는 이것을 Claude Code에 제시했고,
00:07:22그것은 다양한 도구 호출을 하나의 도구로 결합했는데,
00:07:25이것은 제가 주는 키워드에 따라 저장소를 검색합니다.
00:07:27코드 모드가 없어도 Docker가 실제로 여러 쿼리를 실행한다는 것을 여기서 볼 수 있습니다.
00:07:32그리고 그것이 제가 해결하고 싶었던 것입니다.
00:07:34만든 도구는 다중 검색 저장소라고 불렸습니다..
00:07:37도구를 만든 후, MCP exec 도구를 사용하여 실제로 실행했습니다.
00:07:41기본적으로 6개의 서로 다른 키워드로 검색하여 29개의 고유한 저장소를 제공했지만,
00:07:46결과는 응답 및 터미널에서 직접 반환되었으므로,
00:07:49모든 결과가 컨텍스트 윈도우 내에서 반환되고 있었습니다.
00:07:52이를 해결하기 위해, 모든 것을 파일에 작성해야 하고 모델은 저장소의 설명만 받아야 한다고 말했습니다.
00:07:59별점이나 다른 것을 제공할 필요가 없습니다.
00:08:01그리고 도구를 변경하고 모든 결과를 제 저장소의 텍스트 파일에 작성했으므로 특정 저장소에 대한 무언가를 찾고 싶다면 텍스트 파일을 참조하여 그렇게 할 수 있습니다.
00:08:11이제 이 도구를 저장하고 재사용할 수 있는 방법을 구현하고 싶은 것이 하나 있습니다.
00:08:16지금 유일한 옵션은 수동으로 파일로 저장하는 것입니다.
00:08:19그 후 Notion MCP를 검색해 달라고 요청했습니다.
00:08:22연결되면,
00:08:23GitHub 검색 결과를 텍스트 파일을 사용하는 대신 Notion으로 직접 출력할 수 있는 도구를 만들 수 있는지 물었습니다.
00:08:30그리고 다시,
00:08:31코드 모드를 사용하면서,
00:08:32실제로 Notion에 결과를 붙여넣을 수 있게 해 주는 GitHub to Notion 도구를 만들었습니다..
00:08:40그리고 실행한 후 기본적으로 작은 문제들이 있었는데 제가 수정했습니다.
00:08:44하지만 본질적으로, 저는 이제 Notion에 이 데이터베이스를 가지고 있습니다.
00:08:48기본적으로 하드코딩되어 있습니다.
00:08:50그래서 제가 어떤 쿼리를 제공하든, 다양한 필드에 따라 이 데이터베이스에 결과를 입력할 것입니다..
00:08:55그리고 심지어 날짜를 포함하므로 쉽게 필터링할 수 있고 실제로 원하는 결과만 검색할 수 있습니다.
00:09:01모델은 한 번에 GitHub 저장소의 이름과 설명만 알게 됩니다.
00:09:04다른 것은 아무것도 받지 않지만, 나머지 정보는 모두 여기에 저장되어 있습니다.
00:09:09정직하게,
00:09:09이 카탈로그를 살펴보기만 해도 함께 연결할 수 있는 MCP의 아이디어를 적어도 하나는 얻을 수 있습니다.
00:09:15이를 통해 놀라운 워크플로우를 만들 수 있습니다.
00:09:18그리고 동시에, 토큰을 절약하고 자신의 AI 에이전트의 성능을 유지합니다.
00:09:22시작하기는 정직하게 꽤 쉽습니다.
00:09:24Docker 버전을 업데이트해야 합니다.
00:09:26하지만 여전히 없다면, 베타 기능에서 비활성화될 수 있습니다.
00:09:29따라서 이 Docker MCP 도구 키트가 활성화되어 있는지 확인하세요..
00:09:34그 외에는, 카탈로그를 가질 것이고 이 새로운 기능들은 기본적으로 활성화되어 있습니다.
00:09:39따라서 클라이언트를 연결하기만 하면 됩니다.
00:09:42이 영상의 끝에 도달했습니다.
00:09:43채널을 지원하고 이런 영상들을 계속 만드는 것을 도와주고 싶다면,
00:09:47아래의 슈퍼 감사 버튼을 사용하여 그렇게 할 수 있습니다.
00:09:50늘 그렇듯이, 시청해 주셔서 감사합니다.
00:09:52다음 영상에서 뵙겠습니다..

Key Takeaway

도커의 새로운 동적 모드와 코드 모드는 MCP 프로토콜의 확장성 및 컨텍스트 관리 문제를 해결하여 AI 에이전트의 효율성, 보안 및 자동화 기능을 혁신적으로 개선합니다.

Highlights

도커는 MCP 프로토콜의 확장성 문제를 해결하기 위해 '동적 모드'를 출시했습니다.

도커의 MCP 카탈로그와 게이트웨이는 신뢰할 수 있는 MCP 서버를 관리하고 컨텍스트 창의 과부하를 방지합니다.

'코드 모드'는 AI 에이전트가 MCP 도구를 사용하여 직접 코드를 작성하고 샌드박스 환경에서 실행할 수 있게 합니다.

코드 모드는 토큰 효율성, 보안(샌드박싱), 상태 지속성을 통해 AI 에이전트의 성능을 크게 향상시킵니다.

에이전트는 필요한 도구만 동적으로 선택하고, 중간 결과를 모델에 직접 보내지 않고 볼륨에 저장하여 컨텍스트 창을 깨끗하게 유지합니다.

사용자 지정 도구(예: '멀티 검색 저장소', 'GitHub 투 노션')를 생성하여 복잡한 워크플로우를 자동화하고 효율적으로 데이터를 관리할 수 있습니다.

Timeline

MCP 프로토콜의 문제점과 도커의 해결책 소개

AI 분야에서 중요한 MCP(Message Control Protocol) 프로토콜이 수백 개의 서버와 수천 개의 도구가 동시에 사용되면서 심각한 확장성 문제에 직면했습니다. 클라우드플레어와 클로드(Claude)가 이 문제를 인지하고 연구했지만, 도커(Docker)가 '동적 모드'라는 혁신적인 해결책을 제시했습니다. 이 새로운 접근 방식은 토큰을 절약하고 에이전트 속도를 높이며, 완전히 새로운 종류의 자동화를 가능하게 하여 MCP의 핵심 문제를 해결합니다. 이는 AI 코딩 환경의 효율성을 크게 향상시키는 중요한 발전입니다.

에이전트 환경의 도전 과제와 도커의 인프라

도커는 에이전트 환경을 하드코딩하는 것을 중단해야 한다고 주장하며 세 가지 주요 질문을 제기했습니다: 어떤 MCP 서버를 신뢰할 것인가, 사용하지 않을 도구 정의로 컨텍스트를 채우는 것을 어떻게 피할 것인가, 에이전트가 도구를 어떻게 효율적으로 발견하고 사용할 것인가. 도커는 이러한 문제에 대한 해결책을 제시하기 위해 'MCP 카탈로그'를 구축했습니다. 이 카탈로그는 신뢰할 수 있는 검증된 MCP 서버를 나열하며, 사용자는 도커에 연결하여 모든 MCP 서버를 관리할 수 있어 신뢰 문제를 해결합니다. 이는 에이전트가 안전하고 효율적으로 작동할 수 있는 기반을 마련합니다.

MCP 게이트웨이와 동적 도구 활용

도커는 에이전트가 MCP를 동적으로 사용할 수 있도록 'MCP 게이트웨이'를 구현했습니다. 이 게이트웨이는 카탈로그 내의 MCP 서버를 활용하고 사전 구축된 도구를 자율적으로 사용할 수 있게 합니다. 사용자가 하나의 MCP만 연결하면, 게이트웨이는 카탈로그에서 연결된 도구에 대한 모든 컨텍스트를 파악하여 필요한 도구 정의만 컨텍스트 창으로 가져와 과부하를 방지합니다. 또한, MCP 찾기, 추가, 제거와 같은 새로운 도구들이 추가되어 효율적인 도구 관리를 지원합니다. 예를 들어 GitHub MCP를 통해 저장소를 검색하는 과정을 시연하며 그 효율성을 보여줍니다.

토큰 효율성 개선과 컨텍스트 관리

클로드(Claude)의 연구 논문에서 언급된 바와 같이, AI 에이전트는 컨텍스트 창의 도구 정의와 중간 도구 결과로 인해 많은 토큰을 사용합니다. 예를 들어, GitHub 도구로 검색 시 모든 세부 정보가 컨텍스트 창으로 반환되어 불필요한 정보로 가득 차게 됩니다. MCP 게이트웨이는 이러한 문제를 해결하기 위해 실제로 유용한 도구만 제공하여 컨텍스트를 절약합니다. 예를 들어, 40개의 GitHub 도구 중 '저장소 검색' 도구만 필요한 경우, 해당 도구만 컨텍스트에 포함시켜 토큰 사용량을 최적화합니다. 이는 에이전트의 속도와 효율성을 크게 향상시키는 핵심적인 개선 사항입니다.

코드 모드의 도입과 새로운 가능성

클라우드플레어가 MCP 사용 방식에 문제가 있다고 지적한 가운데, 도커는 '코드 모드'라는 새로운 솔루션을 최초로 구현했습니다. 코드 모드는 에이전트가 MCP 도구를 직접 코드로 구현하여 사용할 수 있도록 함으로써, 도구를 완전히 새로운 방식으로 활용하게 합니다. 이는 다른 MCP 도구를 호출할 수 있는 JavaScript 지원 도구를 생성하여 에이전트의 기능을 확장하고, 기존의 한계를 뛰어넘는 자동화를 가능하게 합니다. 발표자는 이 기능의 실행 결과에 매우 놀랐다고 언급하며 그 잠재력을 강조합니다.

코드 모드의 핵심 이점: 보안, 효율성, 지속성

에이전트가 작성한 코드는 테스트되지 않고 안전하지 않을 수 있으므로, 도커는 코드 모드를 샌드박스(Docker 컨테이너)에서 실행하여 완벽한 보안을 보장합니다. 이 접근 방식은 세 가지 주요 이점을 제공합니다. 첫째, 시스템에 실제 손상을 입히지 않는 보안성입니다. 둘째, 모델이 단 하나의 코드 모드 도구만 알면 되므로 토큰 및 도구 효율성이 극대화됩니다. 셋째, 볼륨을 통해 도구 호출 간에 데이터가 저장되고 모델에 전송되지 않아 상태 지속성이 확보되며, 컨텍스트 창이 깨끗하게 유지됩니다. 이는 데이터 처리 파이프라인과 같은 복잡한 작업에서 특히 유용합니다.

코드 모드 활용 사례: GitHub 및 Notion 연동

발표자는 자신의 영상에 사용할 오픈 소스 도구를 찾기 위해 'GitHub 저장소 찾기' 도구를 여러 번 호출하는 대신, 클로드 코드를 사용하여 여러 쿼리를 결합한 '멀티 검색 저장소' 도구를 만들었습니다. 초기에는 모든 검색 결과가 컨텍스트 창을 채웠지만, 모델에게 결과를 파일에 쓰고 설명만 반환하도록 지시하여 이 문제를 해결했습니다. 나아가 노션(Notion) MCP와 연동하여 'GitHub 투 노션' 도구를 생성, GitHub 검색 결과를 노션 데이터베이스에 직접 입력함으로써 복잡한 워크플로우를 자동화하고 데이터를 효율적으로 관리하는 과정을 시연했습니다. 이로써 모델은 필요한 정보만 받고 나머지 데이터는 노션에 저장되어 컨텍스트 창이 깨끗하게 유지됩니다.

결론 및 시작 방법

도커의 새로운 기능들은 토큰을 절약하고 AI 에이전트의 성능을 보존하면서 놀라운 워크플로우를 만들 수 있는 다양한 가능성을 제공합니다. 이러한 기능을 시작하는 것은 매우 쉽습니다. 사용자는 도커 버전을 업데이트하고, 베타 기능에서 '도커 MCP 툴킷'이 활성화되어 있는지 확인하기만 하면 됩니다. 클라이언트를 연결하면 새로운 기능들이 기본적으로 활성화되어 거의 즉시 활용할 수 있습니다. 이는 AI 코딩 환경을 혁신할 수 있는 강력한 도구임을 시사합니다.

Community Posts

View all posts