Инструменты и функции
Инструменты расширяют возможности агента, позволяя ему не только генерировать текст, но и выполнять действия: вызывать API, искать по документам, запускать процессы и управлять данными. Агент автоматически решает, какой инструмент вызвать, на основе запроса пользователя и своих инструкций.
Типы инструментов
Пользовательские функции
Функции — это код (Python или JavaScript), который агент может вызвать для выполнения конкретной задачи. Функции создаются в разделе Функции проекта и затем подключаются к агенту.
Подключение функций
- На странице редактирования агента найдите секцию Функции в правой панели.
- Раскройте выпадающий список.
- Выберите одну или несколько функций из списка доступных.
- Для обновления списка нажмите кнопку обновления.
Каждая функция в списке отображается с именем в формате имя_функции().
Как это работает
Когда агент получает запрос, он анализирует доступные функции и их описания. Если задача соответствует одной из функций, агент вызывает её, передавая нужные аргументы, а затем использует результат для формирования ответа.
Давайте функциям понятные имена и описания — это помогает агенту правильно определять, когда их использовать. Например, get_weather(city) с описанием «Получить текущую погоду в указанном городе» лучше, чем func1().
MCP-серверы
MCP (Model Context Protocol) — стандартный протокол для подключения внешних инструментов к LLM. MCP-серверы предоставляют наборы инструментов, которые агент может использовать.
Подключение MCP-сервера
- На странице редактирования агента найдите секцию MCP серверы.
- Выберите сервер из выпадающего списка. В списке отображается имя сервера и количество доступных инструментов.
- Нажмите Добавить.
После добавления сервер появляется в списке подключённых серверов.
Выбор инструментов
По умолчанию агенту доступны все инструменты подключённого MCP-сервера. Для ограничения набора инструментов:
- Нажмите на строку сервера для раскрытия списка инструментов.
- Снимите галочки с инструментов, которые не нужны агенту.
- Используйте кнопку Выбрать все / Снять все для массового управления.
Каждый инструмент отображается с именем и кратким описанием. Рядом с сервером показывается счётчик выбранных инструментов (например, 3/10 tools).
Управление MCP-серверами
- Для удаления сервера от агента нажмите кнопку с крестиком.
- Для настройки самих серверов перейдите в раздел MCP-серверы проекта.
- В списке отображаются только включённые серверы.
Процессы (Workflows)
Процессы — это визуальные цепочки обработки, созданные в редакторе процессов. Агент может запускать процесс как инструмент, передавая входные данные и получая результат.
Подключение процессов
- На странице редактирования агента найдите секцию Процессы.
- Выберите один или несколько процессов из выпадающего списка.
- Для обновления списка используйте кнопку обновления.
Процесс, подключённый как инструмент, выполняется полностью при каждом вызове. Убедитесь, что он не содержит длительных операций, если важно время отклика.
Отправка сообщений в Telegram
Отдельного инструмента «написать в Telegram» у агента нет: отправка делается процессом с нодой «Сообщение в Telegram», который подключён к агенту как инструмент. Так агент сам решает, когда уведомить человека, а адресат и бот остаются под контролем в настройках процесса, а не в промпте.
- Создайте Telegram-бота в проекте. Включать его не нужно, для отправки достаточно токена.
- Создайте процесс: Начало → Сообщение в Telegram → Конец. В ноде выберите бота, в Chat ID укажите адресата (например, чат менеджеров), в Текст —
{{input.text}}. - Подключите процесс к агенту в секции Процессы и опишите в инструкциях, когда его вызывать и что передавать в
text: например, «после сбора контактов отправь сводку заявки менеджеру».
Chat ID лучше задать в ноде, а не доверять агенту: модель не должна выбирать, кому писать. Если адресатов несколько, сделайте по процессу на каждого или вычислите Chat ID в процессе из входных данных.
Форматирование в ноде оставьте «Без форматирования», если не просите модель явно писать в Markdown или HTML: неэкранированные символы разметки в тексте агента приводят к ошибке отправки.
База знаний (RAG)
Поиск по загруженным документам организации через RAG-систему (Retrieval-Augmented Generation).
Включение
- На странице редактирования агента раскройте секцию База знаний (RAG) в настройках.
- Включите переключатель Поиск по документам.
После включения агент автоматически получает инструмент поиска по документам. Когда пользователь задаёт вопрос, агент может обратиться к базе знаний для получения релевантной информации.
OpenAI Vector Store
Для поиска по документам, загруженным в OpenAI Vector Store:
- В секции База знаний (RAG) найдите поле OpenAI Vector Store.
- Введите ID хранилища в формате
vs_.... - Можно указать несколько ID через запятую или пробел.
Для работы с OpenAI Vector Store необходим активный API-ключ OpenAI.
Веб-браузер
Агент может взаимодействовать с веб-сайтами: открывать страницы, кликать по элементам, заполнять формы и извлекать данные.
Включение
- Раскройте секцию Веб-браузер в настройках.
- Включите переключатель.
Агент получит набор инструментов для работы с браузером через сервис Stagehand. API-ключ для работы Stagehand берётся из того же провайдера, что и основная модель агента.
Инструменты памяти
При включении долгосрочной памяти агент автоматически получает набор инструментов для работы с хранилищем:
save_memory— сохранить факт.retrieve_memory— получить сохранённый факт.list_memories— список всех сохранённых фактов.delete_memory— удалить факт.
Подробнее — в разделе Память агента.
Инструменты данных проекта
Текстовым агентам можно предоставить инструменты для работы с хранилищем данных проекта:
datastore_get— прочитать запись по ключу.datastore_list_keys— посмотреть ключи коллекции.datastore_set— сохранить запись (только в коллекциях, которые агент может изменять).datastore_claim— занять ключ, чтобы не допустить повторного действия (только в коллекциях, которые агент может изменять).
Подробнее — в разделе Данные в текстовых агентах.
Инструменты файлов
При включении доступа к файлам проекта (секция Файлы проекта) агент получает инструменты для работы с файловым хранилищем проекта:
ws_list_files— список файлов.ws_read_file— прочитать текстовый файл.ws_write_file— создать, перезаписать или дописать текстовый файл.ws_delete_file— удалить файл из своей папки.
Подробнее — в разделе Файлы проекта.
Как агент использует инструменты
Процесс работы с инструментами:
- Агент получает сообщение пользователя.
- LLM анализирует запрос и доступные инструменты.
- Если нужен инструмент, LLM формирует вызов с аргументами.
- Платформа выполняет вызов и возвращает результат.
- LLM использует результат для формирования ответа или вызывает следующий инструмент.
- Цикл повторяется до 10 раундов или пока LLM не сформирует финальный ответ.
Все вызовы инструментов отображаются в чате агента в реальном времени, что позволяет отслеживать, какие инструменты вызываются и с какими аргументами.
Формат вывода
Текстовый формат
По умолчанию агент возвращает ответ в виде обычного текста.
JSON формат
Для получения структурированных ответов:
- В секции Формат ответа выберите JSON.
- Нажмите Настроить JSON Schema.
- В боковой панели определите JSON Schema ответа.
Пример JSON Schema
{
"type": "object",
"properties": {
"answer": { "type": "string" },
"confidence": { "type": "number" },
"sources": {
"type": "array",
"items": { "type": "string" }
}
},
"required": ["answer", "confidence"],
"additionalProperties": false
}
Для работы в строгом режиме OpenAI (strict mode) схема должна содержать "additionalProperties": false. Редактор проверяет это и показывает предупреждение, если поле отсутствует.
Валидация схемы
Редактор автоматически проверяет:
- Корректность JSON-синтаксиса.
- Наличие обязательного поля
type. - Наличие
propertiesдля объектных типов. - Наличие
additionalProperties: falseдля строгого режима.
Превью текущей схемы отображается под кнопкой, показывая имена и типы основных полей.