Узел 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-модель
Выбирается из управляемых моделей платформы или учётных записей LLM, настроенных в разделе Параметры → Providers (см. Подключение ключа LLM). Вы можете:
- Закрепить конкретную модель из каталога (управляемую или на вашей собственной учётной записи).
- Использовать модель организации по умолчанию.
- Определить запасной вариант (если основная модель даёт сбой, переключиться на вторичную).
Инструменты
Инструменты — это функции, которые LLM может вызывать. Вы выбираете их из каталога:
- Глобальные инструменты —
knowledge.searchиknowledge.semantic_search(база знаний),web_search.search(веб-поиск),web_scrape.fetch_page(чтение веб-страницы)… - Канальные инструменты — для голосового pipeline:
phone_gateway.transfer_call,phone_gateway.hangup_call,phone_gateway.set_call_disposition. - Инструменты коннекторов — инструменты интеграций, подключённых вашей организацией (например,
jira.create_issue,hubspot.search_contacts).
Agent видит только те инструменты, которые действительно достижимы в его контексте выполнения. Агенту в email-pipeline телефонный инструмент предложен не будет.
Формат вывода
Три варианта:
- Свободный текст — для ответов, обращённых к пользователю.
- Структурированный JSON — agent должен произвести JSON, соответствующий заданной схеме (строго валидируется).
- Только вызов инструмента — agent ничего не пишет: он либо вызывает инструмент, либо не делает ничего.
Режим JSON обязателен для агентов, чей вывод поступает на вход нижестоящего condition или другого агента.
Лучшие практики
- Описывайте инструменты точно. Описание, которое видит LLM, должно охватывать: ЧТО, КОГДА ИСПОЛЬЗОВАТЬ, КОГДА ИЗБЕГАТЬ, ФОРМАТ. Слишком короткое описание означает, что LLM угадывает — а это невидимые баги.
- Тестируйте с помощью benchmark. См. Бенчмарки.
- Сохраняйте миссию согласованной. Миссия, которая меняется на протяжении 3 версий, означает регрессирующего агента. Версионируйте свои миссии.
Стоимость
См. Тарифы. С BYOK вы платите своему LLM-провайдеру напрямую. На управляемой модели входные и выходные токены списываются в кредитах по тарифу выбранной модели.