AGONTS
Концепции и устройство

Архитектура и принципы работы

Как устроена платформа AGONTS, детерминированные графы диалогов и оркестрация ИИ

Архитектура и принципы работы

AGONTS — это платформа корпоративной голосовой автоматизации, объединяющая гибкость современных больших языковых моделей (LLM) со строгим детерминированным контролем бизнес-процессов.


1. Фундаментальный принцип: Граф вместо свободной генерации

Главный риск использования генеративного ИИ в телефонии — галлюцинации и непредсказуемое поведение. AGONTS решает эту проблему разделением ответственности:

flowchart TD
    subgraph FlowEngine["Ядро управления (Детерминированный граф)"]
        NodeA["Узел A: Приветствие и цель"]
        NodeB["Узел B: Уточнение времени"]
        NodeC["Узел C: Фиксация согласия"]
        NodeD["Узел D: Завершение звонка"]
        NodeE["Узел E: Перевод на оператора"]

        NodeA -->|Интент: готов общаться| NodeB
        NodeA -->|Интент: отказ / стоп| NodeD
        NodeA -->|Интент: сложный вопрос| NodeE
        NodeB -->|Слот: время зафиксировано| NodeC
        NodeB -->|Интент: оператор| NodeE
        NodeC --> NodeD
    end

    LLM["LLM (Языковая модель)"]
    NLU["NLU (Классификация намерений и слотов)"]

    NodeA <-->|Контекстный промпт узла| LLM
    NodeA <-->|Извлечение фактов| NLU
  • Граф состояний (Flow Graph) определяет допустимые переходы. Агент физически не способен перейти к оформлению услуги или закрытию сделки, пока не пройдены предшествующие обязательные узлы.
  • Языковая модель (LLM) используется исключительно как контекстный генератор реплик внутри текущего узла и инструмент семантического анализа. Инструкция узла жестко ограничивает допустимую тему высказывания.
  • NLU и слот-филлинг извлекают структурированные данные (даты, числа, согласия) по строгим схемам валидации.

2. Компоненты системы

КомпонентРоль в системеСтек / Реализация
Telephony GatewayПрием и инициация звонков, медиа-потоки (RTP), ASR/TTSSIP-транки, WebRTC / Audio streaming
Flow Execution EngineИсполнение графа диалога, хранение сессионного контекстаBun / TypeScript, движок состояний
Очереди задач (BullMQ)Управление расписанием звонков, повторные попытки, вебхукиRedis, BullMQ
База данныхХранение истории вызовов, логов переходов, конфигураций графовPostgreSQL (Drizzle ORM)
Провайдеры ИИРаспознавание интентов, генерация репликМаршрутизация запросов к моделям (прямые провайдерные адаптеры — target)

3. Жизненный цикл звонка

  1. Инициация (Dispatch): планировщик извлекает контакт из очереди BullMQ и направляет команду в шлюз телефонии.
  2. Установление соединения (Connect): телефония фиксирует снятие трубки абонентом и детектирует автоответчик (AMD). При успешном ответе создается контекст сессии.
  3. Итерация диалога (Turn Loop):
    • Синтез речи узла (TTS) $\to$ воспроизведение абоненту.
    • Захват реплики абонента $\to$ распознавание речи (ASR).
    • Классификация намерения (NLU) $\to$ валидация извлеченных слотов.
    • Определение целевого узла графа и проверка условий перехода.
  4. Завершение (Teardown): сброс линии, фиксация итогового статуса (disposition) в PostgreSQL.
  5. Постобработка (Callback Dispatch): формирование полезной нагрузки и асинхронная отправка вебхука клиенту.

4. Текущее и целевое состояние платформы

ПодсистемаТекущее состояние (observed-in-code)Целевое состояние (target)
Шлюз ИИГибридная маршрутизация с внешними проксиПрямые адаптеры Vercel AI SDK к провайдерам моделей
Управление графамиКонфигурационные схемы диалогов в кодовой базеВизуальный редактор графов с версионированием и песочницей
Очереди обзвонаСерверная оркестрация через BullMQ + PostgreSQLДинамическое адаптивное распределение нагрузки по транкам

On this page