跳转至

Глава 4 · Инструменты

Инструменты — это руки агента. Обсуждаются классификация инструментов и общие принципы их проектирования, протокол MCP и трудности выбора инструментов, три типа инструментов (восприятие, исполнение, сотрудничество) и событийно-управляемые асинхронные агенты.

К оглавлению · 📖 Читать главу

Сопутствующие проекты

Эксп. Проект Тип Описание
4-1 perception-tools Строит полноценный набор инструментов восприятия: веб-поиск, мультимодальное понимание, операции с файловой системой и доступ к публичным источникам данных. Большинство функций основано на бесплатных открытых API (DuckDuckGo, Open-Meteo, Yahoo Finance, OpenStreetMap и др.) и не требует API-ключа.
4-2 execution-tools Реализует набор инструментов исполнения с механизмами безопасности: операции с файлами, интерпретатор кода, виртуальный терминал и интеграция с внешними системами. Предотвращает опасные операции через вторичный механизм подтверждения LLM, автоматически суммирует сложные выводы и проверяет синтаксис кода.
4-3 collaboration-tools Даёт полный набор возможностей сотрудничества: автоматизация браузера (фреймворк browser-use), Human-in-the-Loop, многоканальные уведомления (Email, Telegram, Slack, Discord) и управление таймерами. Поддерживает одобрение чувствительных операций администратором и запуск задач по расписанию.
4-4 agent-with-event-trigger Современный событийно-управляемый агент на FastAPI, по умолчанию интегрирующий все инструменты первых трёх MCP-серверов. Использует нативную асинхронную архитектуру для чистой загрузки MCP-инструментов и принимает события из разных источников (Web, мессенджеры, GitHub, таймеры и т. д.) через HTTP API. Даёт автоматическую документацию API (Swagger UI) и фоновый мониторинг.
4-5 async-agent Реализует ядро событийно-управляемого асинхронного фреймворка агента (Flux) на однопоточной модели asyncio: очередь событий-«входящих» распределяет задачи по срочности (прерывание/немедленно/очередь), поддерживает параллельное исполнение асинхронных инструментов, позволяет прерывать текущий раунд во время исполнения и даёт отмену и запрос статуса для имитируемых долгих задач. Решения принимает настоящий LLM (function calling).
4-6 active-tool-discovery Сравнивает две парадигмы: «внедрить схемы всех 120+ инструментов» и «активное обнаружение по требованию». Во второй в системном промпте остаются лишь несколько базовых инструментов и мета-инструмент discover_tools, а по сходству эмбеддингов из библиотеки извлекаются 3–5 наиболее релевантных специализированных инструментов. Это экономит токены и не даёт модели ошибочно выбрать или неправильно применить инструмент из чрезмерно длинного списка.
active-tool-selection Реализует интеллектуальный выбор инструментов, позволяя агенту активно подбирать наиболее подходящую их комбинацию под задачу, а не пассивно принимать предопределённый набор.

Дополнительно chapter4/docker-compose.yml и chapter4/DOCKER_DEPLOYMENT.md дают эталонное решение для контейнеризации и развёртывания упомянутых MCP-серверов инструментов.

Типы проектов

Значок Тип Значение
Автономный Полный код в этом репозитории, запускается после настройки API-ключа
📖 Гайд по воспроизведению Подробный документ, зависящий от внешних репозиториев через git clone
🚧 Проектный документ Только архитектура/план реализации, рабочий код ещё в разработке