Abstract
Почему Telegram
У всех он есть. Push-уведомления, медиа, группы, threads. API зрелый, лимиты щедрые, long polling без вебхуков — бот за NAT работает без проблем. Для ИИ-агента это готовый фронтенд: не нужно писать UI, авторизацию, доставку сообщений. Telegram даёт всё из коробки.
Архитектура
python-telegram-bot → приём сообщений → CrewAI crew kickoff → vLLM inference → ответ. Память — ChromaDB с эмбеддингами от nomic-embed-text. Каждый диалог сохраняется, при новом сообщении последние 5 релевантных контекстов подгружаются в prompt. Агент «помнит» прошлые разговоры без перегрузки контекстного окна.
Tool calling — агент может искать в вебе, читать файлы, вызывать внешние API. В Hermes это skills — декларативные модули с инструкциями и скриптами. В CrewAI — @tool функции с автогенерацией схемы.
Подводные камни
Rate limits. Telegram позволяет ~30 сообщений в секунду на бота. Локальный LLM отвечает 3–15 секунд — не проблема. Но при параллельных запросах из группы — упираетесь в лимит. Решение: очередь.
Длинные ответы. Telegram — 4096 символов. Агент иногда генерит больше — режу на части, отправляю последовательно с задержкой 500ms.
Группы vs личка. В группе бот должен отличать «адресовано мне» от фонового шума. Решение: reply-to detection + mention parsing. Без этого бот отвечает на каждый message в чате.
Souls. В группе с несколькими ботами у каждого должна быть своя персона — иначе неразличимы. Soul определяет не только что говорит, но и когда молчит.
Связанные