Фиксируем направление, в которое движется проект после пилота
Спринтов 1–3. Перепланировка спринтов будет сделана отдельно.
Ключевая идея: отказаться от «мега-промпта», где один системный
промпт знает про всё (запись, перенос, цены, ДМС, детский приём,
хирургию), и перейти на graph-based routing — входная реплика идёт
через LLM-роутер, который определяет намерение и передаёт диалог в
узкую изолированную ветку со своим промптом, своей базой знаний и
своим шагом state machine. Роутер продолжает незримо присутствовать
в диалоге и перекидывает тред между ветками, когда срабатывают
exit conditions (пациент меняет тему на лету).
Документ описывает:
- Почему мега-промпт перестаёт работать по мере роста сценариев.
- Роутер как отдельный дешёвый вызов LLM на каждой реплике.
- Узкие ветки (new_booking, reschedule, surgery, medical_question,
general_info, escalate_human).
- State machine внутри ветки с хранением шага и собранных слотов.
- Exit conditions и bouncing между ветками через служебные сигналы
модели ([INTENT_CHANGE: ...]).
- Передача человеку не как «сброс», а как квалификация лида с
полным контекстом.
- Что меняется в данных (таблицы intents, thread_state, routing_log;
agent_configs привязывается к intent_id; несколько RAG-коллекций).
- Что меняется в UI (Настройки по веткам; в Песочнице виден
текущий intent, шаг, история переходов).
- Открытые вопросы: фреймворк оркестровки (LangGraph/n8n или
вручную), выбор модели для роутера, формат exit conditions,
граница бот/человек по хирургии, работа с уверенностью.
Направление подтверждает memory-записку project_future_architecture
от 2026-04-23 (мульти-пользователи, мульти-промпты, несколько
специализированных RAG + RAG-маршрутизатор) и детализирует её.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>