Gönderi içeriği
MCP: как LLM вообще ходит во внешние сервисы #Протоколы_в_агентах Давно для себя хотел разобраться с агентскими протоколами(на уровне того, чтобы я с легкостью мог обьяснить), наконец-то дошли руки, поэтому работаем 💳 Зачем в целом нужны протоколы? 🔫 Главное, что отличает агентов от вызовов LLM, так это возможности взаимодействия с внешней средой. Вот именно для того, чтобы не писать под каждую интеграцию отдельный код, нужны протокол. MCP решает эту проблему, предоставляя LLM стандартизированный способ подключения к внешним источникам данных и инструментам Как работает MCP 🤨 Когда пользователь взаимодействует с хост-приложением (приложением ИИ), поддерживающим MCP, за кулисами происходит несколько процессов, обеспечивающих быструю и бесперебойную связь между ИИ и внешними системами. Давайте подробнее рассмотрим, что происходит, когда пользователь просит Claude Desktop выполнить задачу, которая вызывает инструменты за пределами окна чата. Основные компоненты MCP 😁 - Приложение с ИИ: Claude Desktop, IDE-плагин, веб-чат — всё это хосты, которые держат LLM и общаются с пользователем. - Встроенный клиент MCP: устанавливает соединения с MCP-серверами, переводит запросы из мира приложения в формат протокола - MCP-сервер: он описывает: какие есть resources, tools, подсказки (prompts). - Транспортный уровень Как именно клиент и сервер общаются: STDIO — локально, когда сервер живёт рядом (CLI, локальные тулзы). HTTP + SSE — удалённо, когда нужен сетевой доступ и стриминг ответов. Протокол рукопожатия 😧 1. Первоначальное подключение: при запуске клиента MCP (например, Claude Desktop) он подключается к настроенным серверам MCP на вашем устройстве. 2. Обнаружение возможностей: клиент спрашивает каждый сервер: «Какие возможности вы предлагаете?» Каждый сервер отвечает доступными ему инструментами, ресурсами и подсказками. 3. Регистрация: Клиент регистрирует эти возможности, делая их доступными для использования ИИ во время разговора. Путь нашего запроса 😮 1. При получении нашего запроса, LLM решает, какие инструменты дернуть и составляет план. 2. Клиент MCP отправляет на сервер: имя инструмента, параметры (например, repo, branch, фильтры), контекст (ID сессии и т.п.) 3. Далее происходит выполнение на стороне сервиса и оборачивает результат в стандартизированный ответ MCP 4. С помощью модели форматируем ответ и получаем нужный нам результат Фух, примерно так) Надеюсь вам понравится данный пост, жду в комментариях ваш опыт использования MCP 💗 - рассказать про ACP