MCP, function calling, CLI и skills для ИИ-агентов: сравнение
Автоматический перевод
Эта статья была автоматически переведена с оригинальной английской версии.
Используйте function calling, когда одно приложение предоставляет одному API модели небольшой набор типизированных инструментов. Используйте Model Context Protocol (MCP), когда несколько совместимых клиентов должны обнаруживать и вызывать сервер, доступный для повторного использования. Используйте интерфейс командной строки (CLI), когда уже существует стабильная команда, а текст или файлы подходят в качестве входных и выходных данных. Используйте skill, когда инструкции, скрипты и справочные материалы для повторного использования должны обучать агента выполнению рабочего процесса.
Эти интерфейсы можно комбинировать. Skill может подсказывать агенту, когда вызывать MCP-инструмент. Этот сервер может запускать существующий CLI, пока модель выбирает операцию через function calling. Перед выполнением приложение должно валидировать аргументы и проверять права пользователя на целевой ресурс.
Выбор зависит от повторного использования, деплоя, разрешений и того, кто сопровождает интерфейс.
Таблица решений
| Потребность | С чего начать | Основной нюанс |
|---|---|---|
| Небольшой набор типизированных инструментов внутри одного приложения | Function calling | Валидная схема не даёт разрешения на действие и не делает аргументы безопасными. |
| Переиспользуемые инструменты для совместимых клиентов | Инструменты MCP | Подлинность сервера, учётные данные, изменения инструментов и возвращаемый контент требуют отдельных средств контроля. |
| Существующая команда для разработки или эксплуатации | CLI | Валидируйте аргументы, избегайте интерполяции в командной оболочке и ограничивайте доступ к окружению и учётным данным. |
| Переиспользуемые инструкции и ресурсы рабочего процесса | Agent Skills | Инструкции направляют использование инструментов; приложение по-прежнему отвечает за выполнение инструментов и разрешения. |
| Стабильная логика внутри процесса | Типизированная функция или API библиотеки | Не добавляйте протокол, если обе стороны принадлежат одной кодовой базе. |
Function calling
Function calling предоставляет модели именованные операции со структурированными аргументами. Он подходит для продукта, в котором инструменты, проверки политик, учётные данные и выполнение находятся в одном приложении. Делайте схемы узкими, валидируйте каждый аргумент и оценивайте как выбор инструмента, так и получившийся побочный эффект.
MCP
MCP отделяет клиентов от переиспользуемых серверов и стандартизирует обнаружение и вызов. Он полезен, когда одна и та же интеграция должна работать в нескольких совместимых агентах или приложениях. Его механизмы авторизации по-прежнему требуют проверок прав, специфичных для приложения. Аутентифицируйте сервер, ограничивайте область действия токенов, проверяйте изменения определений инструментов, изолируйте недоверенные серверы и считайте результаты недоверенными входными данными.
CLI-инструменты
CLI часто является самым коротким путём к зрелым возможностям Git, пакетных менеджеров, облачных инструментов и систем сборки. Предпочитайте структурированный вывод, явно заданные рабочие каталоги, неинтерактивные флаги, ограниченные тайм-ауты и учётные данные с узкой областью действия. Не формируйте строки командной оболочки из недоверенного текста.
Skills
Skill объединяет процедурные инструкции и может включать скрипты, справочные материалы или шаблоны. Спецификация Agent Skills позволяет совместимым агентам загружать эти инструкции по мере необходимости. Используйте skill для описания рабочего процесса, который могут выполнить существующие инструменты. Делайте его достаточно небольшим для проверки, записывайте предположения о версиях и указывайте, какие действия требуют подтверждения.
Чеклист выбора
- Кто владеет клиентом, интерфейсом и реализацией?
- Нужно ли переиспользовать его в нескольких клиентах?
- Является ли схема входных данных узкой и версионируемой?
- Где применяются авторизация и подтверждение?
- Может ли недоверенный контент получить доступ к учётным данным или исходящему сетевому трафику?
- Можно ли трассировать вызовы, аргументы, результаты и решения политик?
- Может ли типизированный вызов библиотеки решить задачу с меньшим объёмом интерфейса?
Дополнительные материалы
- Использование инструментов ИИ-агентами подробно сравнивает MCP, CLI, Skills, выполнение кода и интерфейсы взаимодействия агента с компьютером.
- Руководство по созданию MCP-сервера показывает, как создать типизированный сервер и протестировать его до интеграции с моделью.
- Безопасность ИИ-агентов рассматривает средства контроля для каждого интерфейса.