Перейти к основному содержимому

Инструменты и функции

Инструменты расширяют возможности агента, позволяя ему не только генерировать текст, но и выполнять действия: вызывать API, искать по документам, запускать процессы и управлять данными. Агент автоматически решает, какой инструмент вызвать, на основе запроса пользователя и своих инструкций.

Типы инструментов​

Пользовательские функции​

Функции — это код (Python или JavaScript), который агент может вызвать для выполнения конкретной задачи. Функции создаются в разделе Функции проекта и затем подключаются к агенту.

Подключение функций​

  1. На странице редактирования агента найдите секцию Функции в правой панели.
  2. Раскройте выпадающий список.
  3. Выберите одну или несколько функций из списка доступных.
  4. Для обновления списка нажмите кнопку обновления.

Каждая функция в списке отображается с именем в формате имя_функции().

Как это работает​

Когда агент получает запрос, он анализирует доступные функции и их описания. Если задача соответствует одной из функций, агент вызывает её, передавая нужные аргументы, а затем использует результат для формирования ответа.

Совет

Давайте функциям понятные имена и описания — это помогает агенту правильно определять, когда их использовать. Например, get_weather(city) с описанием «Получить текущую погоду в указанном городе» лучше, чем func1().

MCP-серверы​

MCP (Model Context Protocol) — стандартный протокол для подключения внешних инструментов к LLM. MCP-серверы предоставляют наборы инструментов, которые агент может использовать.

Подключение MCP-сервера​

  1. На странице редактирования агента найдите секцию MCP серверы.
  2. Выберите сервер из выпадающего списка. В списке отображается имя сервера и количество доступных инструментов.
  3. Нажмите Добавить.

После добавления сервер появляется в списке подключённых серверов.

Выбор инструментов​

По умолчанию агенту доступны все инструменты подключённого MCP-сервера. Для ограничения набора инструментов:

  1. Нажмите на строку сервера для раскрытия списка инструментов.
  2. Снимите галочки с инструментов, которые не нужны агенту.
  3. Используйте кнопку Выбрать все / Снять все для массового управления.

Каждый инструмент отображается с именем и кратким описанием. Рядом с сервером показывается счётчик выбранных инструментов (например, 3/10 tools).

Управление MCP-серверами​

  • Для удаления сервера от агента нажмите кнопку с крестиком.
  • Для настройки самих серверов перейдите в раздел MCP-серверы проекта.
  • В списке отображаются только включённые серверы.

Процессы (Workflows)​

Процессы — это визуальные цепочки обработки, созданные в редакторе процессов. Агент может запускать процесс как инструмент, передавая входные данные и получая результат.

Подключение процессов​

  1. На странице редактирования агента найдите секцию Процессы.
  2. Выберите один или несколько процессов из выпадающего списка.
  3. Для обновления списка используйте кнопку обновления.
Примечание

Процесс, подключённый как инструмент, выполняется полностью при каждом вызове. Убедитесь, что он не содержит длительных операций, если важно время отклика.

Отправка сообщений в Telegram​

Отдельного инструмента «написать в Telegram» у агента нет: отправка делается процессом с нодой «Сообщение в Telegram», который подключён к агенту как инструмент. Так агент сам решает, когда уведомить человека, а адресат и бот остаются под контролем в настройках процесса, а не в промпте.

  1. Создайте Telegram-бота в проекте. Включать его не нужно, для отправки достаточно токена.
  2. Создайте процесс: Начало → Сообщение в Telegram → Конец. В ноде выберите бота, в Chat ID укажите адресата (например, чат менеджеров), в Текст — {{input.text}}.
  3. Подключите процесс к агенту в секции Процессы и опишите в инструкциях, когда его вызывать и что передавать в text: например, «после сбора контактов отправь сводку заявки менеджеру».

Chat ID лучше задать в ноде, а не доверять агенту: модель не должна выбирать, кому писать. Если адресатов несколько, сделайте по процессу на каждого или вычислите Chat ID в процессе из входных данных.

Форматирование в ноде оставьте «Без форматирования», если не просите модель явно писать в Markdown или HTML: неэкранированные символы разметки в тексте агента приводят к ошибке отправки.

База знаний (RAG)​

Поиск по загруженным документам организации через RAG-систему (Retrieval-Augmented Generation).

Включение​

  1. На странице редактирования агента раскройте секцию База знаний (RAG) в настройках.
  2. Включите переключатель Поиск по документам.

После включения агент автоматически получает инструмент поиска по документам. Когда пользователь задаёт вопрос, агент может обратиться к базе знаний для получения релевантной информации.

OpenAI Vector Store​

Для поиска по документам, загруженным в OpenAI Vector Store:

  1. В секции База знаний (RAG) найдите поле OpenAI Vector Store.
  2. Введите ID хранилища в формате vs_....
  3. Можно указать несколько ID через запятую или пробел.
Важно

Для работы с OpenAI Vector Store необходим активный API-ключ OpenAI.

Веб-браузер​

Агент может взаимодействовать с веб-сайтами: открывать страницы, кликать по элементам, заполнять формы и извлекать данные.

Включение​

  1. Раскройте секцию Веб-браузер в настройках.
  2. Включите переключатель.

Агент получит набор инструментов для работы с браузером через сервис 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 — удалить файл из своей папки.

Подробнее — в разделе Файлы проекта.

Как агент использует инструменты​

Процесс работы с инструментами:

  1. Агент получает сообщение пользователя.
  2. LLM анализирует запрос и доступные инструменты.
  3. Если нужен инструмент, LLM формирует вызов с аргументами.
  4. Платформа выполняет вызов и возвращает результат.
  5. LLM использует результат для формирования ответа или вызывает следующий инструмент.
  6. Цикл повторяется до 10 раундов или пока LLM не сформирует финальный ответ.
Примечание

Все вызовы инструментов отображаются в чате агента в реальном времени, что позволяет отслеживать, какие инструменты вызываются и с какими аргументами.

Формат вывода​

Текстовый формат​

По умолчанию агент возвращает ответ в виде обычного текста.

JSON формат​

Для получения структурированных ответов:

  1. В секции Формат ответа выберите JSON.
  2. Нажмите Настроить JSON Schema.
  3. В боковой панели определите 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 для строгого режима.

Превью текущей схемы отображается под кнопкой, показывая имена и типы основных полей.