Перейти к содержимому
AUTHORВЫПУСК №008 → АВТОМАТИЗАЦИЯ АГЕНТАМИ: 90% НЕ ПРОМПТ / имейте совесть, когда будете делиться или копировать
>AISTUDY_

Модуль v.4 · Урок 1

Входящие и исходящие звонки через Twilio и FastRTC

35 мин
v.4 / Урок 1 из 4

Чему вы научитесь

  • Различать входящие и исходящие звонки в архитектуре агента
  • Понимать роль Twilio как телефонного транспорта
  • Видеть, что даёт FastRTC для потока аудио
  • Понимать, где в этой схеме живёт логика разговора
  • Связывать двустороннюю телефонию с остальными модулями v.4

Откуда взят сценарий

Этот модуль построен по мотивам учебного курса realtime-phone-agents-course от The Neural Maze: «колл-центр агентства недвижимости» с входящими и исходящими звонками. Это зрелый пошаговый туториал «от принципов до продакшена», а не готовый продукт.

Мы берём из него архитектурные идеи, а не копируем код один в один: версии библиотек и провайдеров меняются, а принципы остаются.

Две стороны телефонии

Production-агент должен уметь обе вещи: принимать входящие звонки и сам совершать исходящие.

ТипКто инициируетТиповой сценарий
ВходящийАбонент звонит вамРесепшен, поддержка, FAQ
ИсходящийАгент звонит абонентуНапоминания, обзвон базы, подтверждения

Входящий и исходящий используют одну и ту же логику разговора, но по-разному запускаются. Это важно заложить в архитектуру сразу.

Twilio как транспорт

Twilio здесь играет роль из урока v.3/01: даёт телефонный номер и связывает PSTN с вашим кодом. Входящий звонок Twilio направляет на ваш вебхук, а исходящий вы инициируете запросом к его API.

sequenceDiagram
    participant A as Абонент
    participant T as Twilio
    participant S as Ваш сервер (агент)
    A->>T: входящий звонок на номер
    T->>S: вебхук + медиапоток
    S-->>T: ответ агента (аудио)
    T-->>A: голос агента
    Note over S,T: исходящий: S->>T запрос на звонок, дальше так же

FastRTC: поток аудио к агенту

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

Идея запуска проста: вы определяете обработчик, который получает звук и возвращает звук, а транспорт связывает его с Twilio.

Обработчик реплики на FastRTC

python
Нажмите на строку — увидите объяснение

Где живёт логика

Заметьте: в обработчике выше вызов agent(text) — это вся ваша логика разговора. Транспорт (Twilio, FastRTC) и логика чётко разделены. Благодаря этому в следующих уроках мы заменим agent на версию с RAG, а stt/tts — на собственные модели, не трогая телефонию.


Следующий урок

RAG и поиск по данным во время разговора — научим агента отвечать по реальным данным компании.

Скачать урок

Есть идея или нашли ошибку?

// Обсуждение

Можно писать анонимно. Укажите email, чтобы получать уведомления об ответах.