Главная / Статьи

MCP, CLI и навыки вместе: стек подключения для производственных агентов

Навыки, CLI и MCP решают разные проблемы подключения. Узнайте, когда использовать каждый из них, а также о постепенном открытии информации, режиме кода и планах развития MCP на 2026 год.

Издатель: REACTAPP.TOP5 мин чтения1106 слов

Источники: How to Build Production-Ready AI Agents: MCP, CLI, and Skills — the Right Tool for the Right Job

Демо-версии определили характеристики 2024 года, агенты для программирования — характеристики 2025 года, а 2026 год станет годом, когда агенты для выполнения общезнаниевых задач выйдут в промышленное использование. Сообщается, что количество ежемесячных загрузок Model Context Protocol достигло примерно 110 миллионов, причем этот рубеж был преодолен быстрее, чем у React. Однако по мере того, как агенты начинают использоваться в корпоративных рабочих процессах, охватывающих множество приложений SaaS и общих хранилищ, постоянно возникает один вопрос: подключаемость — это не единая вещь. Любой, кто утверждает, что существует единственный ответ, будь то использование компьютера, MCP или командная строка, преувеличивает. Сильные агенты не выбирают один из вариантов — они используют всю стек-структуру подключаемости одновременно.

Три уровня

Навыки, CLI и MCP решают разные задачи, причем каждый из них разрабатывается по-своему.

  • Навыки включают в себя специализированные знания. Это повторно используемые процедурные инструкции, обычно в формате файлов Markdown, которые учат модель использовать инструменты. Они передаются между клиентами и обеспечивают контекст, необходимый для выполнения сложных задач. Их пишут люди или генерируют агенты; они загружаются из локальных каталогов, таких как .claude/skills/, или из удаленных репозиториев.
  • CLI, или использование компьютера, представляет собой локальную обработку в стиле Unix. Он хорошо компонуется, потребляет немного токенов (около 200 на ответ) и использует предварительную обученность модели инструментам вроде git, gh и curl. Инструменты CLI получаются путем установки обычных бинарных файлов с помощью менеджера пакетов.
  • MCP представляет собой соединительную ткань. Он обеспечивает богатую семантику, независимость от платформы и корпоративные функции, такие как OAuth, политики управления и трекеры аудита. Сервер определяется в коде, например server.py или server.ts, вместе с инструментами, ресурсами и командами, и обменивается данными по протоколу JSON-RPC 2.0 через HTTP или SSE.
  • Когда стоит использовать MCP

    Обращайтесь к MCP, когда вам нужна богатая семантика, авторизация и независимость от платформы. Он использует подход, основанный на схемах, для выбора инструментов, включая встроенные механизмы управления и трекеры аудита. Недостатком является затратность ресурсов. Наивная настройка, при которой загружаются все схемы инструментов заранее, может потребовать от 44 000 до 55 000 токенов, причем каждый ответ представляет собой полный типизированный JSON-объект, что удобно для программной обработки, но сопряжено с большими затратами токенов.

    Для тех, кто пишет серверы, рекомендуется использовать описательные имена функций и параметров, а также добавлять к каждому параметру описание. Модели работают лучше и быстрее, когда точно знают, чего от них ожидается.

    # Annotated Tool Definitions
    from typing import Annotated
    from datetime import date
    from enum import Enum
    
    class Category(str, Enum):
        TRAVEL = "travel"
        MEALS = "meals"
        OFFICE = "office"
    
    def submit_expense(
        amount: Annotated[float, "The expense amount in USD"],
        date: Annotated[date, "Date of the expense in YYYY-MM-DD format"],
        category: Annotated[Category, "The expense category"]
    ) -> str:
        """Submits a new expense report for approval."""
        pass
    

    Когда использование CLI — правильный выбор

    Если инструмент уже присутствует в данных предварительной обучаемости модели, как, например, Git или GitHub CLI, выполнение через командную строку оказывается чрезвычайно эффективным. Модель может объединять команды с помощью трубок и перенаправлений, а также быстро обрабатывать ошибки. Вместо получения огромного JSON-пакета она может использовать jq для фильтрации и получить только необходимую информацию — компактный ответ объемом примерно 200 токенов.

    Постепенное открытие инструментов

    Самым значительным улучшением для большинства агентов является возможность постепенного открытия инструментов. Вместо загрузки всех инструментов в окно контекста их загрузку можно отложить до момента, когда модели действительно понадобится тот или иной инструмент. Дайте ей возможность выполнять поиск инструментов с помощью функции tool_search, чтобы она могла динамически находить необходимые инструменты, что позволит сократить использование контекста примерно в пять раз.

    Программное вызов инструментов

    Когда модели необходимо координировать работу нескольких инструментов, не заставляйте её вызывать их по очереди, поскольку каждый такой шаг увеличивает время обработки запроса. Используйте программный способ вызова инструментов, также называемый режимом кода. Предоставьте среду REPL, такую как изолированная среда V8 или песочницу Python, и позвольте модели написать скрипт, который объединяет эти инструменты. Скрипт пишется один раз и выполняет всю последовательность действий, что значительно сокращает время ожидания.

    // Programmatic Tool Calling (Code Mode)
    // Instead of multiple sequential LLM turns, the model writes this script once:
    const issue = await mcp.call_tool("linear_get_issue", { id: "ENG-5121" });
    const prs = await mcp.call_tool("github_list_prs", { repo: "frontend" });
    
    // Use structured output to enforce types
    const expectedType = z.object({ title: z.string(), status: z.string() }).passthrough();
    const typedIssue = await extract("claude-haiku-4-5", expectedType, issue);py
    

    Разработка для агентов

    Авторам серверов следует прекратить однозначное соответствие REST-API и серверов MCP и с самого начала проектировать решения с учётом агентов. Для этого помогут три привычки: создавайте инструменты с чёткой целью, как интерфейсы для людей; предоставляйте среды выполнения, подобно тому, как это делает Cloudflare MCP, чтобы модели могли организовывать сложные рабочие процессы с помощью кода; а также выпускайте приложения MCP: используйте семантику MCP для передачи ресурсов интерфейса — HTML, JavaScript и CSS — по сети, чтобы сервер мог отрисовать собственный интерфейс внутри клиента.

    Что предстоит для MCP

    Экосистема быстро развивается, чтобы удовлетворять потребности корпоративных клиентов и обеспечивать масштабируемость, и план на 2026 год включает три основных направления.

    • Улучшенный ядро: новый безсостоянийный протокол, предложенный Google, должен облегчить развертывание серверов MCP на Kubernetes и Cloud Run; ожидаются версии 2.0 SDK для TypeScript и Python.
    • Интеграция повсюду: функция Cross-App Access обеспечит единый вход в серверы MCP через поставщика идентификации компании, а серверы можно будет автоматически находить по файлу в пути .well-known/mcp-server-card/server.json.
    • Что-то большее, чем современные решения: технология Skills over MCP позволит серверам передавать доменные знания вместе с инструментами через концовки skills/list и skills/get.

    Выбор между ними

    Решение зависит от контекста и требований: MCP — когда необходима строгая контрольная система и богатая семантика; CLI — когда модель уже знает инструмент и важны токены; Skills — для предоставления процедурных знаний, связывающих их воедино.

    Основные выводы

    Нет единственного идеального инструмента, и представление MCP как альтернативы CLI не отражает сути проблемы. Для производственных задач требуются многоуровневые решения. Критика MCP, в частности связанная с избыточным использованием токенов, пробелами в механизмах аутентификации и неравномерным качеством серверов, указывает на реальные проблемы, но это инженерные проблемы, имеющие решения, и экосистема уже находится в процессе адаптации. Функции постепенного открытия информации и режим кода сокращают объем токенов и задержки, поэтому стандарт можно настраивать, а не отказываться от него. Отказ от MCP в корпоративной среде приводит к ещё более серьезным проблемам: фрагментированной аутентификации, отсутствию журнала операций и зависимости от поставщика. Ожидается, что самые совершенные агенты будут сочетать функции Skills для работы с знаниями, MCP для управляемых соединений и CLI для дешевой локальной обработки.