Современный ИИ-агент должен присутствовать там, где удобно клиенту: Telegram, Max, email, сайт. Но разрабатывать отдельного бота под каждый канал — неэффективно. Нужна единая архитектура.
Компоненты системы
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Telegram │ │ Max │ │ Email │
│ Adapter │ │ Adapter │ │ Adapter │
└──────┬──────┘ └──────┬──────┘ └──────┬──────┘
└───────────────┼───────────────┘
▼
┌─────────────────┐
│ Gateway │
│ (Message │
│ Normalizer) │
└────────┬────────┘
▼
┌─────────────────┐
│ Core AI │
│ (OpenRouter) │
└────────┬────────┘
▼
┌─────────────────┐
│ Memory / Context│
│ (Redis) │
└─────────────────┘
Принципы
- Единый контекст. Клиент пишет в Telegram, потом звонит — агент помнит всё.
- Нормализация. Любой входящий формат превращается в единый внутренний формат сообщения.
- Масштабируемость. Добавить новый канал = написать ещё один адаптер.
Технологии
На бэкенде используем Node.js + Express, Redis для контекста и RabbitMQ для очереди задач. LLM-модели подключаем через OpenRouter для гибкости выбора провайдера.