Документация

AI-агенты

Как настроить агента — роль, миссия, выборка, инструменты, LLM-модель.

AI-агенты

Узел agent вызывает LLM с составленным контекстом и набором инструментов. Это центральный AI-компонент betool.

Триада роль / миссия / выборка

Agent сам по себе не знает, что делать. Им управляют три вещи:

  • Ролькак он работает (стиль, ограничения, позиция). Короткая. Переиспользуется между агентами.
  • Миссиячто он должен сделать для этого конкретного сценария использования. Более длинная. Специфична для pipeline.
  • Выборкакакие данные контекста он получает на вход. Составляется явно.

Agent, который ведёт себя неправильно, почти всегда имеет проблему с ролью, миссией или выборкой — а не с моделью. Прежде чем обновлять модель, проверьте сначала эти три вещи.

Настройка выборки

Выборка определяет ровно то, что видит LLM. Пять типов:

ТипЭффект
keyЧитает ctx.results[<key>] — например, exchange.intent
prefixКонкатенирует все ключи под префиксом — например, project.*
literalСырой текст с плейсхолдерами — например, "Question: {user_message}"
fileПрикрепляет файл (мультимодальность) — например, webhook.payload._files
historyВключает N предыдущих ходов (нативный многоходовый режим)

Первые четыре составляют user_message для текущего хода. history — это ортогональный канал, передаваемый в массиве LLM messages[].

Нет запасного варианта во время выполнения. Если выборка пуста, LLM получает "" и логирует предупреждение. Вы должны явно включить всё, что нужно агенту — никакой магии.

LLM-модель

Выбирается из моделей, настроенных в разделе Администрирование → Модели. Вы можете:

  • Закрепить конкретную модель (например, claude-opus-4-7).
  • Использовать модель организации по умолчанию.
  • Определить запасной вариант (если основная модель даёт сбой, переключиться на вторичную).

Инструменты

Инструменты — это функции, которые LLM может вызывать. Вы выбираете их из каталога:

  • Глобальные инструментыknowledge.search, web.fetch, compute.now
  • Канальные инструменты — для голосового pipeline: voice.barge_in, voice.hangup, voice.transfer
  • Доменные инструменты — создаваемые вашими операторами (например, crm.create_ticket, раскрываемый через узел operator).

Agent видит только те инструменты, которые действительно достижимы в его контексте выполнения. Агенту в email-pipeline голосовой инструмент предложен не будет.

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

Три варианта:

  • Свободный текст — для ответов, обращённых к пользователю.
  • Структурированный JSON — agent должен произвести JSON, соответствующий заданной схеме (строго валидируется).
  • Только вызов инструмента — agent ничего не пишет: он либо вызывает инструмент, либо не делает ничего.

Режим JSON обязателен для агентов, чей вывод поступает на вход нижестоящего condition или другого агента.

Лучшие практики

  • Описывайте инструменты точно. Описание, которое видит LLM, должно охватывать: ЧТО, КОГДА ИСПОЛЬЗОВАТЬ, КОГДА ИЗБЕГАТЬ, ФОРМАТ. Слишком короткое описание означает, что LLM угадывает — а это невидимые баги.
  • Тестируйте с помощью benchmark. См. Бенчмарки.
  • Сохраняйте миссию согласованной. Миссия, которая меняется на протяжении 3 версий, означает регрессирующего агента. Версионируйте свои миссии.

Стоимость

См. Тарифы. С BYOK вы платите своему LLM-провайдеру напрямую. В противном случае рассчитывайте приблизительно на 30 кредитов за 1K входных токенов и 90 за 1K выходных токенов.