Обзор
Узнайте, как создать агента продаж в реальном времени, который мгновенно обрабатывает письма, используя соединения WebSocket. В отличие от агентов на основе веб-хуков, которые требуют ngrok и открытые URL, этот подход WebSocket подключается непосредственно к AgentInbox для истинной обработки в реальном времени с минимальной настройкой. Этот агент демонстрирует практический рабочий процесс продаж: менеджер поручает агенту охват клиентов, который затем автономно обрабатывает всю беседу, держа менеджера в курсе ключевых сигналов.Что вы будете создавать
К концу этого руководства у вас будет работающий агент продаж, который:- Подключается через WebSocket для мгновенной обработки писем в реальном времени
- Обрабатывает письма менеджера путем извлечения информации о клиенте и отправки персонализированного аутрича
- Обрабатывает ответы клиентов с помощью ответов на основе ИИ с учетом контекста
- Уведомляет менеджера когда клиенты проявляют сильные сигналы покупки
WebSocket vs Webhook: почему WebSocket?
| Функция | Подход с Webhook | Подход с WebSocket |
|---|---|---|
| Установка | Требует ngrok + открытый URL | Не нужны внешние инструменты |
| Архитектура | Flask сервер + HTTP | Чистый асинхронный Python |
| Задержка | HTTP round-trip | Мгновенная потоковая передача |
| Брандмауэр | Должен открыть порт | Только исходящий |
Предварительные требования
Перед началом убедитесь, что у вас есть:Необходимо:
- Python 3.11 или выше установлен
- Учетная запись AgentInbox и API ключ
- Учетная запись OpenAI и API ключ
Настройка проекта
Шаг 1: создайте каталог проекта
Создайте новый каталог для вашего агента:Шаг 2: создайте код агента
Создайте файл с именемmain.py и вставьте следующий код:
Нажмите, чтобы просмотреть полный код main.py
Нажмите, чтобы просмотреть полный код main.py
Шаг 3: создайте файл требований
Создайте файл с именемrequirements.txt:
Шаг 4: установите зависимости
Установите требуемые пакеты Python:Шаг 5: настройте переменные окружения
Создайте файл.env со своими учетными данными:
Примечание: в отличие от агентов на основе веб-хуков, вам не нужны ngrok или открытый URL. Соединение WebSocket только исходящее, поэтому оно работает за брандмауэрами без переадресации портов.
разбор кода
Давайте поймем, как работает агент, разбив ключевые компоненты.обзор архитектуры
1. Настройка соединения WebSocket
Основной частью этого агента является соединение WebSocket:AsyncAgentInbox— асинхронная версия клиентаAgentinbox.websockets.connect()создает соединение WebSocketSubscribeуказывает, какие входящие ящики отслеживать
2. цикл обработки событий
Агент использует асинхронный паттерн итератора для обработки событий:Subscribed— подтверждение успешной подпискиMessageReceivedEvent— новое письмо прибыло во входящий ящик
3. процесс обработки писем
Агент маршрутизирует письма на основе содержимого:4. обработчик писем менеджера
Когда менеджер отправляет письмо с информацией о клиенте:5. обработчик писем клиента с обнаружением намерения
Агент отслеживает беседы и обнаруживает намерение клиента:6. создание ответа на основе ИИ
Агент использует OpenAI для создания ответов:- Включает полную историю беседы для контекста
- Корректная обработка ошибок с резервным сообщением
запуск агента
Запустите агента:Успех! Ваш агент теперь работает и слушает письма в реальном времени.Оставьте это окно терминала открытым — закрытие его остановит агента.
тестирование вашего агента
Давайте проверим, что все работает с несколькими тестовыми сценариями.тестовый сценарий: запрос аутрича менеджера
Отправьте это письмо с вашей личной электронной почты:Это работает! Агент обработал письма в реальном времени, создал ответы на основе ИИ и уведомил вас о заинтересованном клиенте.
кастомизация
изменение обнаружения намерения
Обновите словарьintent_keywords в handle_customer_email():
добавление подписки на несколько входящих ящиков
Подпишитесь на несколько входящих ящиков:решение проблем
распространенные проблемы
WebSocket соединение отклонено или превышено время ожидания
WebSocket соединение отклонено или превышено время ожидания
Проблема: невозможно подключиться к WebSocket AgentInbox.Решения:
- Проверьте, что ваш API ключ правильный:
- Проверьте соединение Интернета и параметры брандмауэра
- Убедитесь, что вы используете
agentmail>=0.0.19, который включает поддержку WebSocket:
Письма не получаются
Письма не получаются
Проблема: агент работает, но письма не поступают.Контрольный список:
- Убедитесь, что входящий ящик существует:
- Проверьте подтверждение подписки в выходе консоли
- Отправьте тестовое письмо на правильный адрес входящего ящика
- Убедитесь, что письмо не фильтруется как спам
Агент крушится с ошибками asyncio
Агент крушится с ошибками asyncio
Проблема: исключения, связанные с асинхронностью.Решения:
- Убедитесь, что установлен Python 3.11+:
- Не смешивайте синхронный и асинхронный код неправильно
- Используйте
asyncio.run(main())как точку входа
Если вы создадите что-то крутое с AgentInbox, мы будем рады это услышать. Поделитесь в нашем канале в Telegram.
