Комментарии 2
Интересная тема. У нас в StudyQA (EdTech, 4M+ пользователей/год) прошли похожий путь, но без enterprise-уровня ресурсов — полезно было сверить опыт.
Что оказалось важнее всего:
Stateful контекст на уровне домена. Для нас это Telegram-топик на каждый тип задачи (контент, поддержка, аналитика). Без изоляции контекста модель смешивает домены и деградирует по качеству за несколько сессий.
Fallback-цепочка важнее retry. Недетерминированность на продакшне лечится не “попробовать снова”, а упрощённым промптом с меньшей степенью свободы. В критичных задачах: validate → retry с simplified prompt → escalate to human.
Observability трека агента, не только финального ответа. Мы начали с логирования только выхода, но отладка без промежуточных шагов — слепое угадывание. Сейчас пишем весь цикл: промпт, вызов, результат, применённое действие.
Из опыта: для mid-size команды самое ценное в enterprise-подходах — не сами паттерны, а понимание, где именно недетерминированность становится операционным риском. В контентных задачах терпимо. В финансовых и compliance — нет, и это надо закладывать в архитектуру с самого начала.
у нас то же, через ?conversation=header: id из хедера, история живёт в Postgres (ConversationProps). Один нюанс: внутри каждого чата у нас не плоская лента, а дерево — parentMessageId на каждом узле, продолжать можно от любой точки. Полезно при откате к моменту до неудачного решения модели - не «удаляем», а уходим в новую ветку от того же родителя. Ваш Telegram-топик отлично решает изоляцию доменов.
Второе - fallback вместо retry. Полностью так же. Retry на недетерминированной системе странная идея, если вдуматься: тот же промпт, тот же state, та же температура почему второй раз должно стать лучше? У нас .OnException().Continued().To("llm://...?systemPromptRef=#simplified"), упрощённый сломался — в очередь на человека.
Третье observability цепочки. Больно знакомо. весь цикл (промпт, вызов, результат, действие) пишется в MessageProps + ToolAuditProps, плюс wire-tap в Kafka — через год можно поднять «а что мы 15 апреля чего наотвечали».
и про «недетерминированность как операционный риск только в одних доменах, и архитектурно надо закладывать сразу» — лучшая формулировка, я бы её в эпиграф вынес. В EdTech контент косячит — переписали и забыли. В финансах ту же ошибку трактуют как fraud, в медицине — как смертельный исход. Поэтому в статье 10 паттернов, а не «вот правильный способ делать AI».

Интеграция ИИ уровня предприятия: встраивание LLM в бизнес-процессы крупных компаний — redb.Route.Llm 3.1.1