Инструменты и агенты расширяют возможности моделей Gemini, позволяя им взаимодействовать с окружающим миром, получать доступ к информации в реальном времени и выполнять сложные вычислительные задачи. Модели могут использовать инструменты как в стандартных взаимодействиях типа «запрос-ответ», так и в сеансах потоковой передачи данных в реальном времени с помощью Live API .
- Инструменты — это конкретные возможности (например, поиск в Google или выполнение кода), которые модель может использовать для ответа на запросы.
- Агенты — это системы, способные планировать, выполнять и синтезировать многоэтапные задачи для достижения цели пользователя.
API Gemini предоставляет набор полностью управляемых встроенных инструментов и агентов, оптимизированных для моделей Gemini. Вы также можете определять собственные инструменты с помощью вызова функций .
Доступные встроенные инструменты
| Инструмент | Описание | Варианты использования |
|---|---|---|
| Поиск Google | Использование информации из интернета и актуальных событий для уменьшения галлюцинаций. | - Ответы на вопросы о недавних событиях - Проверка фактов с использованием различных источников. |
| Google Карты | Создавайте голосовых помощников, учитывающих местоположение, которые смогут находить места, прокладывать маршруты и предоставлять подробную информацию о местной обстановке. | - Планирование туристических маршрутов с несколькими остановками. - Поиск местных предприятий на основе критериев пользователя. |
| Выполнение кода | Позвольте модели писать и запускать код на Python для точного решения математических задач или обработки данных. | - Решение сложных математических уравнений - Точная обработка и анализ текстовых данных. |
| Контекст URL | Укажите модели, как считывать и анализировать контент с определенных веб-страниц или документов. | - Ответы на вопросы, основанные на конкретных URL-адресах или документах. - Получение информации с разных веб-страниц |
| Использование компьютера (предварительный просмотр) | Настройте Gemini на отображение экрана и генерацию действий для взаимодействия с пользовательскими интерфейсами веб-браузера (выполнение на стороне клиента). | - Автоматизация повторяющихся веб-процессов - Тестирование пользовательских интерфейсов веб-приложений |
| Поиск файлов | Для включения функции расширенного поиска и индексирования собственных документов (Retrieval Augmented Generation, RAG) необходимо использовать функцию индексирования и поиска. | - Поиск технических руководств - Ответы на вопросы, основанные на конфиденциальных данных. |
Подробную информацию о стоимости конкретных инструментов см. на странице «Цены» .
Доступные агенты
| Агент | Описание | Варианты использования |
|---|---|---|
| Глубокое исследование | Автономно планирует, выполняет и обобщает многоэтапные исследовательские задачи. | - Анализ рынка - Юридическая экспертиза - Обзоры литературы |
Как работает выполнение инструментов
Инструменты позволяют модели запрашивать действия во время диалога. Процесс отличается в зависимости от того, является ли инструмент встроенным (управляемым Google) или пользовательским (управляемым вами).
Встроенный поток инструментов
Для встроенных инструментов (Поиск Google, Карты Google, Контекст URL, Поиск файлов, Выполнение кода) весь процесс происходит в рамках одного вызова API:
- Вы отправляете запрос: "Какому квадратному корню равен последний курс акций GOOG?"
- Gemini решает, что ей нужны инструменты, и запускает их на серверах Google (например, ищет цену акций, а затем запускает код на Python для вычисления квадратного корня).
- Gemini отправляет окончательный ответ, основанный на результатах работы инструмента.
Пользовательский алгоритм работы инструмента (вызов функций)
Для пользовательских инструментов и использования компьютера выполнением занимается ваше приложение:
- Вы отправляете приглашение вместе с объявлениями функций (инструментов).
- Gemini может отправлять обратно структурированный JSON для вызова определенной функции (например,
{"name": "get_order_status", "args": {"order_id": "123"}}), всегда с уникальнымid. - Вы выполняете эту функцию в своем приложении или среде.
- Вы отправляете результаты выполнения функции с тем же
id, что и при вызове функции, обратно в Gemini. - Gemini использует полученные результаты для формирования окончательного ответа или вызова другого инструмента.
Подробнее см. в руководстве по вызову функций .
Сочетание встроенных и пользовательских инструментов в рабочем процессе.
Для запросов, объединяющих встроенные и пользовательские инструменты (вызовы функций), модель использует циркуляцию контекста инструментов для координации выполнения в различных средах:
- Вы отправляете приглашение и указываете встроенные инструменты и пользовательские функции, которые хотите включить, устанавливая флаг для включения поддержки комбинаций.
- Gemini выполняет встроенные инструменты и уступает место пользователю, если генерируются какие-либо вызовы функций на стороне клиента (какая функция выполнится первой, зависит от запроса и решения модели). В ответ он отправляет следующее:
- Подтверждение вызова инструмента
- Результаты ответа инструмента (они могут отображаться после JSON, если модель сгенерировала два параллельных вызова функции).
- Структурированный JSON для вызова вашей функции
- Зашифрованные подписи мыслей для сохранения контекста
- Вы выполняете эту функцию в своем приложении или среде.
- Вы возвращаете все части ответа Gemini, а также результаты вызова вашей функции.
- Gemini формирует окончательный ответ, используя весь объединенный контекст.
Ознакомьтесь с руководством по сочетаниям инструментов , чтобы узнать, как включить поддержку сочетаний встроенных и пользовательских инструментов, а также примеры циркуляции контекста.
Структурированные выходные данные против вызова функций
Gemini предлагает два метода генерации структурированных выходных данных. Используйте вызов функций, когда модели необходимо выполнить промежуточный шаг, подключившись к вашим собственным инструментам или системам данных. Используйте структурированные выходные данные , когда вам строго необходимо, чтобы окончательный ответ модели соответствовал определенной схеме, например, для отображения пользовательского интерфейса.
Структурированные результаты с использованием инструментов
Вы можете комбинировать структурированные выходные данные со встроенными инструментами, чтобы гарантировать, что ответы модели, основанные на внешних данных или вычислениях, по-прежнему соответствуют строгой схеме.
Примеры кода см. в разделе «Структурированные выходные данные с помощью инструментов» .
Строительные агенты
Агенты — это системы, использующие модели и инструменты для выполнения многоэтапных задач. В то время как Gemini предоставляет возможности логического мышления («мозг») и необходимые инструменты («руки»), часто требуется структура оркестровки для управления памятью агента, планирования циклов и выполнения сложных цепочек действий с использованием инструментов.
Для обеспечения максимальной надежности в многоэтапных рабочих процессах следует создавать инструкции, которые явно контролируют то, как модель рассуждает и планирует. Хотя Gemini обеспечивает сильную общую логику рассуждений, сложные агенты выигрывают от подсказок, которые обеспечивают выполнение конкретных действий, таких как настойчивость перед лицом проблем, оценка рисков и упреждающее планирование.
В разделе « Рабочие процессы Agentic» вы найдете стратегии разработки таких подсказок. Вот пример системной инструкции , которая повысила производительность в нескольких тестах Agentic примерно на 5%.
Агентские структуры
Gemini интегрируется с ведущими платформами для создания агентов с открытым исходным кодом, такими как:
- LangChain / LangGraph : Создание сложных, сохраняющих состояние потоков приложений и многоагентных систем с использованием графовых структур.
- LlamaIndex : Подключите агентов Gemini к вашим личным данным для оптимизации рабочих процессов с помощью RAG.
- CrewAI : Организуйте совместную работу автономных агентов искусственного интеллекта, имитирующих ролевые игры.
- Vercel AI SDK : Создавайте пользовательские интерфейсы и агентов на основе ИИ с использованием JavaScript/TypeScript.
- Google ADK : платформа с открытым исходным кодом для создания и координации взаимодействующих агентов искусственного интеллекта.