Это только что решило главную проблему ИИ-программирования

AAI LABS
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00За последние два месяца ИИ-сообщество осознало, что у MCP есть огромная проблема.
00:00:04И благодаря этому сообщество фактически предложило несколько решений.
00:00:08Но у всех этих решений есть серьезные недостатки.
00:00:10Некоторое время назад мы делали видео о решении от Docker,
00:00:12которое до настоящего времени мы считали лучшим выходом из проблемы MCP.
00:00:16Docker выпустил режим кода, который позволяет агентам писать JavaScript-код, напрямую вызывающий инструменты MCP.
00:00:21Это решило проблему, при которой инструменты MCP потребляют слишком много контекста,
00:00:24поскольку описание инструмента постоянно находится в окне контекста.
00:00:27Так что если вы работаете с большим количеством MCP, ваше контекстное окно будет забито
00:00:32лишними инструментами, большинство из которых почти никогда не нужны.
00:00:36Но с MCP-шлюзом от Docker вы были ограничены только теми MCP, которые настроил Docker,
00:00:41и существовали ограничения на локальные и удаленные MCP.
00:00:43Кроме того, вы не могли сохранять эти пользовательские инструменты как функции.
00:00:47Все это сдвинулось с мертвой точки, когда Cloudflare выявила проблему и предложила решение:
00:00:51сделать эти инструменты исполняемым кодом, а не просто текстом в контекстном окне.
00:00:56Anthropic, изначальные архитекторы этого протокола, признали пробел в своем продукте
00:01:00и выпустили статью, в которой подчеркнули именно эту проблему.
00:01:04После этого люди начали серьезно относиться к проблеме и искать пути решения.
00:01:09Но их решение по конвертации каждого инструмента в TypeScript-файл тоже имеет минусы.
00:01:13При множестве подключенных MCP вам приходится конвертировать каждый в код по отдельности,
00:01:18а также тратить много времени, чтобы убедиться, что ни один из них не сломается в процессе.
00:01:22Но так как проблема стала официально признанной,
00:01:24разработчики продолжают предлагать более совершенные решения.
00:01:26И именно тогда мы нашли новый инструмент под названием MCP to CLI.
00:01:30MCP to CLI решает проблему раздувания контекста, превращая все
00:01:36серверы MCP в инструменты командной строки (CLI), которые можно запускать через bash-команды.
00:01:40В нашей команде мы в основном используем Cloud Code, и у него есть CLI-флаг,
00:01:45цель которого — решить часть этой проблемы. Он убирает раздувание контекста,
00:01:50не выгружая все инструменты сразу, а позволяя Cloud Code динамически загружать
00:01:55каждый инструмент по мере необходимости. Но это не решает другую проблему Cloud Code.
00:02:00Как вы знаете, MCP возвращают свои результаты прямо в контекстное окно.
00:02:05И если MCP-инструмент выдает объемный результат, он все равно остается в контексте,
00:02:10что ведет к его ненужному забиванию. Возможно, вы слышали о других open-source проектах,
00:02:15таких как CLI Hub, которые нацелены на ту же проблему, но они неэффективны,
00:02:20так как выполняют конвертацию во время сборки (build time), а не во время выполнения (runtime).
00:02:25Что вообще значит конвертация в runtime? Это значит, что инструмент превращается
00:02:29в bash-команду именно в момент вызова. Почему это важно? Что если оригинальный
00:02:34MCP обновится? Поскольку этот инструмент собирает MCP в runtime, любые изменения
00:02:39в исходном MCP автоматически отражаются в конвертированном инструменте. Это было бы невозможно,
00:02:43если бы мы собирали их заранее — тогда пришлось бы каждый раз обновлять всё вручную.
00:02:48Вы можете подумать, что конвертация при каждом вызове замедлит работу. Здесь-то
00:02:53и вступает в дело механизм кэширования, встроенный в инструмент.
00:02:58Он сохраняет инструменты MCP в кэше со сроком жизни (TTL) в один час по умолчанию.
00:03:03Часто используемые инструменты попадают в кэш и остаются там на час. Таким образом,
00:03:08агент получает их быстрее, не теряя при этом гибкости runtime-подхода.
00:03:13Этот инструмент построен на базе MCP Python SDK — того самого, который используют
00:03:19все серверы MCP. Он просто выполняет вызовы инструментов как bash-команды
00:03:24и вставляет ответ в контекст агента только тогда, когда это требуется.
00:03:30Он также работает с OpenAPI и REST API через тот же интерфейс CLI,
00:03:35позволяя использовать любые существующие API без серверов MCP точно так же.
00:03:39Без этого инструмента вы ограничены в типах подключаемых MCP.
00:03:44Другие решения обычно не дают такой гибкости для работы со всеми типами в одном месте.
00:03:49Чтобы доказать эффективность по токенам, они провели тесты с помощью Tiktoken —
00:03:54Python-библиотеки для подсчета токенов. Результаты показали, что инструмент гораздо дешевле
00:03:59и работает быстрее. Так что это не просто слова — за этим стоят реальные цифры.
00:04:03Вы можете установить его через pip или запускать без установки. Мы выбрали второй вариант,
00:04:07чтобы не засорять рабочую среду. Также разработчики предоставили "skill",
00:04:13который помогает агентам лучше работать с инструментом. Он описывает основной процесс
00:04:18и дает примеры bash-команд для таких задач, как аутентификация и кэширование.
00:04:22Но прежде чем продолжить, пара слов о нашем спонсоре — Orchids.
00:04:27Многие ИИ-конструкторы справляются с простыми макетами, но пасуют перед сложной логикой.
00:04:32Тут на помощь приходит Orchids — первый ИИ-агент, способный создавать и развертывать
00:04:36любые приложения на любом стеке прямо из вашей среды. Вы можете подключить свои
00:04:41аккаунты ChatGPT, Claude или Gemini и даже GitHub Copilot. Он не ограничен вебом —
00:04:47вы можете создавать всё: от мобильных приложений до сложных Slack-ботов.
00:04:52Взгляните на эти примеры: настройка OpenClaw для управления оборудованием,
00:04:57терминал Bloomberg, обрабатывающий живые данные в реальном времени,
00:05:02и мобильные приложения, вроде этого идентификатора зданий, использующего камеру.
00:05:07Переходите по ссылке в комментариях и начните создавать. Промокод MARCH15 даст скидку 15%.
00:05:12Как и вы, мы хотим стать богатыми. Один из способов — найти свободную нишу на рынке.
00:05:17Так нам пришла идея: «Grindr, но для лошадей». Шутки в сторону, для крупных продуктов
00:05:22нужно много MCP-инструментов, у которых много зависимостей, забивающих контекст.
00:05:27Мы подключили агента к Supabase MCP через MCP to CLI, так как это была наша база.
00:05:34Теперь вам не нужно ничего настраивать вручную благодаря тому самому «скиллу»,
00:05:38который мы установили ранее. Он сам берет на себя конфигурацию всех MCP.
00:05:43Но перед установкой обязательно получите токены доступа для ваших MCP.
00:05:47Иначе вы столкнетесь с ошибками, как это случилось у нас. Мы сгенерировали токен
00:05:52и передали его Claude для добавления. После правильной настройки вы увидите
00:05:57список доступных инструментов. Вы можете спросить: раз это работает через bash,
00:06:01насколько безопасно передавать ключи API и токены? Ведь они могут «засветиться»
00:06:06в списке процессов. Но этот инструмент добавляет уровень защиты.
00:06:11Он не передает секретные данные прямо в аргументах командной строки.
00:06:15Вместо этого он использует переменные окружения, ссылается на файлы с токенами
00:06:21или применяет менеджер секретов. Это безопасно. По аналогии с Supabase,
00:06:26мы подключили GitHub MCP для контроля версий, Puppeteer MCP для тестирования в браузере
00:06:32и Context 7 MCP для обучения агента на актуальной документации.
00:06:37Когда все MCP были подключены, мы попросили Claude проверить их.
00:06:42Он подтвердил, что видит все 4 MCP — в нашем случае это 78 инструментов.
00:06:47Кстати, если вам нравится контент, жмите кнопку «hype» — это помогает нам расти.
00:06:52После подключения пришло время постепенно внедрять функционал приложения.
00:06:57Мы начали с соединения клиентской части с бэкендом на Supabase.
00:07:02Когда Claude запустил команду MCP to CLI для создания проекта, мы заметили,
00:07:07что он не вставил токен прямо в вызов, а сослался на файл .env.local проекта.
00:07:12Он всё настроил и добавил логику подключения. Но мы увидели, что он использовал
00:07:17файл middleware для обновления сессий, хотя этот метод уже считается устаревшим.
00:07:22Новая версия Next.js использует прокси, и мы знали, что это вызовет ошибку при запуске.
00:07:27Это лишний раз доказывает: просто подключить инструменты мало, нужно заставить
00:07:31агента правильно их использовать. Мы создали файл Claude.md и проинструктировали
00:07:36агента обращаться к Context 7 MCP перед написанием любого кода. Это помогло.
00:07:42Теперь он знает, что сначала нужно свериться с актуальной документацией.
00:07:47Когда он закончил с таблицами и аутентификацией в Supabase, мы указали Claude
00:07:52на предупреждение об устаревшем middleware. После этого он наконец обратился
00:07:57к Context 7 MCP, подтянул нужные данные и корректно исправил проблему.
00:08:03Изучая инструмент дальше, мы поняли, что есть способ лучше, чем файл Claude.md.
00:08:07«Скиллы» (Skills) эффективнее, потому что их описания загружаются напрямую в контекст.
00:08:11Агент сразу видит, какие инструменты есть и когда их применять, вместо того чтобы
00:08:16мы просто скидывали инструкции в Claude.md в надежде, что он их прочитает.
00:08:21Мы попросили его создать скиллы для всех подключенных MCP. Claude создал
00:08:26отдельные скиллы, описав инструменты, способы и условия их использования.
00:08:32Разобравшись с этим, мы перешли к следующей задаче. Проект был еще сырым.
00:08:36Наши «пользователи-лошади» жаловались, что не могут переписываться на платформе.
00:08:41Мы поручили Claude сделать чат функциональным, дополнив уже готовый интерфейс.
00:08:46При тесте сообщения не загружались — висел только экран загрузки. Тогда мы
00:08:51попросили его использовать Puppeteer MCP для проверки работы сообщений.
00:08:56Агент, который может кликать и скроллить, находит ошибки, которые не видит статический анализ.
00:09:01Для теста он создал двух юзеров, но не смог сохранить сессию между вызовами,
00:09:06так как каждый раз открывался новый браузер. Глядя на количество вызовов
00:09:10и время работы в безголовом браузере, мы поняли: лучше доверить это MCP.
00:09:15Это было гораздо быстрее тех семи минут, что мы потратили на простую задачу.
00:09:21Мы предпочитаем расширение для браузера от Claude — оно мощнее и лучше
00:09:25сохраняет сессии для сквозных тестов. А MCP работают как постоянные процессы,
00:09:30позволяя сохранять состояние на протяжении всей сессии. Этот инструмент также
00:09:35дает контроль над форматом вывода, будь то JSON или сырые данные. Он поддерживает
00:09:40TOON — формат кодирования, экономящий токены при работе с LLM.
00:09:46Когда мы работаем с такими MCP, как Context 7, они часто выдают огромный массив
00:09:51данных прямо в контекст. Чтобы этого избежать, мы прописали в Claude.md,
00:09:57что при использовании Context 7 нужно выводить данные в формате TOON.
00:10:02Это компактный формат, который сжимает информацию лучше, чем JSON или YAML.
00:10:07Так вы не тратите токены впустую. Но главная фишка в другом — в том, что
00:10:12раньше было невозможно при нативной работе агентов с MCP. Если помните,
00:10:16в Cursor появился процесс редактирования контекста. Они воспринимали результаты
00:10:22MCP как файлы и использовали bash-скрипты вроде grep для извлечения данных.
00:10:27Мы разбирали это в прошлом видео. Мы пробовали внедрить это в другие агенты,
00:10:32но из-за нативной обработки MCP ничего не выходило. С CLI это стало реально,
00:10:37ведь MCP теперь — это bash-инструменты. Мы добавили инструкцию в Claude.md:
00:10:43если MCP выдает большой объем данных, не выводить его в контекст, а перенаправлять
00:10:49в указанный файл. Мы следили за прогрессом проекта через файл progress.json.
00:10:54После настройки мы попросили Claude реализовать одну из функций из списка.
00:10:59Он вызвал Context 7 MCP, но вместо того чтобы забить контекстное окно,
00:11:05отправил вывод в файл и через grep вытянул нужные данные для работы.
00:11:10Файл Claude.md со всеми лучшими практиками доступен в AI Labs Pro.
00:11:16Для тех, кто не знает, это наше новое сообщество с готовыми шаблонами,
00:11:20которые можно сразу внедрять в свои проекты. Если вам ценно то, что мы делаем,
00:11:25это лучший способ поддержать канал. Ссылка в описании. На этом мы заканчиваем.
00:11:29Если хотите поддержать нас и выход новых роликов, вы можете нажать
00:11:33кнопку «Super Thanks» под видео. Как всегда, спасибо за просмотр,
00:11:38и до встречи в следующем выпуске!

Key Takeaway

Инструмент MCP to CLI радикально оптимизирует работу ИИ-агентов с протоколом MCP, решая проблему переполнения контекста путем трансформации серверов в bash-инструменты с поддержкой кэширования и эффективных форматов данных.

Highlights

Проблема раздувания контекста (context bloating) в протоколе MCP и недостатки существующих решений от Docker и Cloudflare

Представление нового инструмента MCP to CLI, который превращает MCP-серверы в исполняемые bash-команды

Преимущества конвертации в runtime и использование механизма кэширования для сохранения гибкости и скорости работы

Безопасность передачи токенов через переменные окружения и файлы, исключающая утечку данных в аргументах командной строки

Использование формата TOON для сжатия данных и экономии токенов при передаче больших объемов информации агенту

Возможность перенаправления вывода MCP в файлы для последующей фильтрации через grep, что оптимизирует использование контекстного окна

Timeline

Кризис контекста в MCP и ранние попытки решения

Спикер обсуждает фундаментальную проблему протокола MCP, при которой описания инструментов постоянно занимают ценное место в контекстном окне LLM. Рассматриваются решения от Docker и Cloudflare, которые пытались перевести инструменты в формат исполняемого кода, но столкнулись с ограничениями гибкости. Anthropic признала этот пробел, что подтолкнуло сообщество к поиску более совершенных методов интеграции. Основной недостаток ранних подходов заключался в сложности конвертации каждого инструмента в TypeScript вручную. Это создавало риски поломок и требовало значительных временных затрат со стороны разработчиков.

Инновация MCP to CLI: Runtime-конвертация и кэширование

В этом разделе представляется инструмент MCP to CLI, который решает проблему раздувания контекста за счет превращения серверов в инструменты командной строки. Главным преимуществом является выполнение конвертации в режиме runtime, что позволяет автоматически подхватывать обновления оригинальных MCP-серверов. Чтобы избежать задержек при каждом вызове, разработчики внедрили систему кэширования с временем жизни (TTL) в один час. Это обеспечивает баланс между актуальностью данных и скоростью работы агента. Автор подчеркивает, что такой подход делает работу с множеством инструментов гораздо более эффективной и предсказуемой.

Техническая база, производительность и вопросы безопасности

Инструмент построен на базе официального MCP Python SDK и поддерживает не только стандартные серверы, но также OpenAPI и REST API. Тесты с использованием библиотеки Tiktoken подтвердили, что данный метод значительно дешевле и быстрее традиционных способов вызова инструментов. Важное внимание уделено безопасности: токены и ключи доступа не передаются напрямую в аргументах bash-команд, чтобы они не отображались в списке процессов системы. Вместо этого используются переменные окружения и ссылки на защищенные файлы конфигурации. Разработчики также предоставляют специальные «скиллы» (skills) для обучения агентов правильному взаимодействию с CLI-интерфейсом.

Практическое применение: Создание приложения для лошадей

Автор демонстрирует работу MCP to CLI на примере создания шуточного, но технически сложного проекта — платформы для общения лошадей. К агенту Claude подключаются сразу четыре мощных MCP: Supabase для базы данных, GitHub для контроля версий, Puppeteer для браузерных тестов и Context 7 для документации. В сумме это дает агенту доступ к 78 различным инструментам без засорения его памяти. Спикер подчеркивает важность предварительной настройки токенов доступа для предотвращения ошибок при инициализации. Этот этап показывает, как легко масштабировать возможности ИИ-агента, объединяя разрозненные сервисы в единый рабочий процесс.

Оптимизация рабочего процесса и продвинутые техники

На этапе реализации бэкенда Claude сталкивается с проблемой устаревших методов в Next.js, что требует обращения к актуальной документации через Context 7 MCP. Спикер объясняет, почему использование встроенных «скиллов» эффективнее, чем простое добавление инструкций в файл Claude.md. Скиллы позволяют агенту мгновенно понимать контекст использования каждого инструмента в нужный момент. Демонстрируется процесс исправления ошибок в middleware после того, как агент получил свежие данные из документации. Это подчеркивает, что наличие инструментов — это лишь половина успеха, критически важна правильная стратегия их вызова агентом.

Экономия токенов с TOON и манипуляция выводом через файлы

Заключительная часть посвящена экстремальной оптимизации контекста с использованием формата кодирования TOON, который сжимает данные лучше, чем JSON. Автор показывает уникальную фишку: перенаправление огромных ответов от MCP напрямую в файлы, минуя контекстное окно LLM. Это позволяет агенту использовать стандартные bash-команды, такие как grep, для извлечения только нужных строк из больших массивов данных. Такой подход ранее был доступен только в специализированных средах вроде Cursor, но теперь стал возможен везде благодаря CLI-интерфейсу. В конце видео упоминается сообщество AI Labs Pro, где доступны готовые шаблоны и лучшие практики для внедрения этих технологий.

Community Posts

View all posts