Этот обзор — «карта местности» для продуктовых, ML- и SRE-команд, которые превращают искусственный интеллект в устойчивый продукт. Мы разложим, из каких слоёв состоит стек, как эти слои взаимодействуют в продакшене и почему ключ к марже — дисциплина инференса и управление контекстом. Для ориентира держите под рукой опорные страницы: обзорный AI-стек, базовые понятия о LLM и конвейер поиска знаний RAG, а также эксплуатационный слой LLM-inference-стека и фундамент представлений текста через эмбеддинги.
AI Overview: как устроен современный ИИ-стек и где рождается экономика продукта
- Продакт-менеджерам. Понять, какие метрики действительно управляют опытом и экономикой (TTFT, P95, доля неформата, utility, «цена эпизода»), как ставить приёмочные критерии и строить дорожные карты.
- ML/Дата-инженерам. Свести модельную часть с пайплайнами данных, ретривером и артефактами воспроизводимости: конфиги, карточки модели, «золотые наборы».
- SRE/Платформе. Организовать эксплуатацию: очереди и профили, лимиты длины, кэш префилла, динамический batching, канарейки, rollback.
- Юр./Комплаенс. Сориентироваться в минимальном наборе прозрачности и наблюдаемости, необходимых для аудитов и требований enterprise-клиентов.
Как устроен современный ИИ-продукт
ИИ-продукт — это не одна «большая модель», а композиция механизмов:
- Данные → представления. Текст/таблицы/медиа приводятся к векторным представлениям (эмбеддингам), которые позволяют искать по смыслу и сжимать контекст.
- Ретривер → конденсация. Перед генерацией извлекаем релевантные фрагменты, сводим их в краткое резюме и только затем подаём модели.
- Генератор → контракт вывода. Модель отвечает строго по схеме: JSON/таблица/шаблон — это уменьшает «неформат» и ретраи.
- Оркестрация → эксплуатация. Маршрутизация запросов по профилям, очереди, кэш префилла и лимиты длины. Здесь рождаются TTFT, P95 и «цена эпизода».
- Наблюдаемость → улучшение. Трейсинг, дешборды, сравнения «до/после», канарейки и гейты релиза.
Секрет устойчивости прост: короткий ввод, строгий формат вывода, раздельные очереди и кэш — это даёт прогнозируемые задержки и стоимость.
Слои стека: роли, риски и артефакты
Данные и представления
Данные приносят ценность только после превращения в представления — компактные вектора, которые кодируют смысл. Выигрыши:
- поиск «по смыслу» вместо точного совпадения строк;
- снижение длины контекста → меньше токенов → ниже задержки/стоимость;
- переносимость знаний между задачами и доменами.
Практика: храните манифест данных (источники, лицензии, свежесть), версионируйте индексы, отмечайте чувствительность (PII). За теорией и механикой см. эмбеддинги.
Поиск и конденсация (Retrieval/Condense)
Поиск — это не просто «вернуть параграфы». Хороший ретривер:
- извлекает достаточные, но не избыточные фрагменты;
- умеет конденсировать факты в краткое входное резюме;
- возвращает ссылки/ID источников — для проверяемости и аудитов.
Ретривер избавляет модель от «мусорных» токенов и снижает риск галлюцинаций. Про роль ретривера в продукте см. RAG.
Генерация и контракты вывода
Генерация — это процесс соблюдения контракта вывода (JSON/таблица/строго заданный шаблон). Контракты:
- уменьшают долю неформата и число ретраев;
- упрощают автоматическую валидацию и интеграции;
- позволяют отслеживать utility на «золотом наборе» задач.
Архитектуру ограничения длины, температур, топ-k/p и режимов генерации раскрывает LLM-inference-стек. Терминологию — LLM.
Оркестрация и эксплуатация
Оркестратор решает «куда» и «как» направить запрос:
- профили Light/Standard/Heavy с отдельными очередями;
- кэш префилла и кэш эмбеддингов;
- лимиты длины и ранние остановки;
- динамический batching, warm-пулы.
Здесь живут метрики TTFT (время до первого токена), P95 задержек, доля неформата, utility и «цена эпизода» (полная себестоимость ответа).
Наблюдаемость и изменение
Любое улучшение «качества» должно подтверждаться диаграммами и карточками релиза: до/после по TTFT/P95/utility/цене эпизода и по доле неформата. Пороговые ухудшения — триггер авто-отката (canary → rollback).
Экономика инференса: считаем «цену эпизода»
| Компонент | Что входит | Как понизить |
| Контекст (ввод) | История, инструкции, примеры, найденные факты | Резюмирование, короткие шаблоны, точный ретривер |
| Префилл | Подготовка скрытых состояний модели | Тёплые пулы, кэш префилла, переиспользование состояний |
| Генерация | Длина вывода, скорость токенизации/декодера | Ограничители длины, ранние остановки, профили |
| Инструменты | Вызовы ретривера/классификаторов/функций | Кэш результатов, объединение шагов, отложенная генерация |
| Ретраи | Перегенерации из-за неформата/тайм-аутов | Жёсткие схемы JSON, пред-валидация, разумные тайм-ауты |
| Пост-обработка | Валидация, логирование, форматирование | Лёгкие валидаторы, единые форматы логов |
Рукоятки, которые работают всегда: сократить ввод, закрепить контракт вывода, развести очереди и включить кэш префилла.
Ключевые метрики «здоровья»
| Метрика | Что показывает | Почему важна |
| TTFT | Время до первого токена | Влияет на отмены и субъективную «живость» интерфейса |
| P95 задержек | «Длинный хвост» | Отражает устойчивость под пиками и смешением профилей |
| Доля неформата | Невалидные JSON/таблицы | Прямая причина ретраев и роста «цены эпизода» |
| Utility-скор | Прикладную полезность | Отвечает на вопрос «стало ли лучше пользователю» |
| «Цена эпизода» | Итоговую себестоимость ответа | Основной показатель FinOps и маржи |
Минимальный дешборд продукта на ИИ содержит эти пять рядов с порогами и автодействиями.
Паттерны архитектуры (что даёт эффект быстро)
- Короткие подсказки → строгий JSON. Сокращает токены и ошибки парсинга.
- RAG с цитатностью. Возвращайте ID/ссылки источников — повышает доверие и упрощает аудит.
- Разделённые очереди. Chat/long/offline: не смешивайте — это ломает P95.
- Кэш префилла. Повторно используйте состояния для однотипных запросов.
- Канарейки/фичефлаги. Любой релиз модели/шаблонов/ретривера — через малую долю.
Модель угроз и контрмеры
| Риск | Симптом | Контрмера |
| Галлюцинации | Уверенный, но неверный ответ | RAG, короткий ввод, пост-валидация по контракту |
| Prompt-инъекции | Выход из роли, утечка ключей | Санкбоксы инструментов, фильтры ввода, стоп-словарь |
| Утечки PII | «Длинный» контекст в логах | Маскирование и анонимизация, политика хранения |
| Пики P95 | Жалобы на «тормозит» | Развести профили, лимиты длины, тёплые пулы |
| Взрыв стоимости | «Дорогие» ответы | Сжатие контекста, кэш, квантизация, профили |
| Неформат | Битый JSON/таблицы | Жёсткие схемы, пред-валидация, управляемые ретраи |
Дополнительно: фиксируйте границы применения и назначайте human-oversight для чувствительных сценариев — это облегчает аудит и диалоги с enterprise.
Выбор подхода к данным и ретриверу
| Сценарий | Источник правды | Ретривер/индекс | Особенности |
| Справочный поиск | Документы/база знаний | Векторный индекс с фильтрами | Цитатность и ID источников обязательны |
| Аналитика документов | Файлы/таблицы | Гибрид (BM25 + вектор) | Конденсация перед генерацией |
| Классификация/разметка | Размеченные примеры | Кодировщик + «тонкая голова» | Чёткие метрики, стратификация |
| Агентные шаги | Инструменты/функции | Роутер задач | Ограничение глубины планов и трейсинг |
Профили инференса
| Профиль | Где применять | Плюсы | Риски |
| Light | Короткий Q&A, инструменты | Низкая задержка/цена | Меньше «литературности» |
| Standard | Диалог/рабочие сценарии | Баланс качества и стоимости | Требуется динамический batching |
| Heavy | Отчёты/аналитика | Длинные и детальные ответы | Отдельная очередь, удар по P95 и бюджету |
Правило: не смешивайте профили в одной очереди. Это главный источник «длинного хвоста».
Чек-лист внедрения (30 дней)
Неделя 1 — контекст и роли
- Описать назначение/границы системы и «не для того».
- Назначить владельцев: данные, модель, риск, SRE.
- Завести манифест данных и «золотой набор» utility-кейсов.
Неделя 2 — эксплуатация и экономия
- Включить лимиты длины, ранние остановки, кэш префилла.
- Развести очереди: chat / long / offline; ввести профили.
- Включить пред-валидацию и строгие схемы JSON/таблиц.
Неделя 3 — наблюдаемость и контроль
- Дешборды TTFT/P95/неформата/utility/«цены эпизода».
- Карточки релизов: до/после, причины, пороги отката.
- Канарейки, фичефлаги и авто-откаты при деградациях.
Неделя 4 — ретривер и доверие
- Настроить ретривер с цитатностью (ID/ссылки на источники).
- Сократить ввод: конденсация найденных фактов.
- Запустить регулярные ревизии «дорогих» токенов.
Шаблон карточки релиза (минимум)
| Поле | Описание |
| Версия | Метка модели/ретривера/шаблонов |
| Назначение | Что меняли и зачем |
| Метрики «до/после» | TTFT, P95, неформат, utility, «цена эпизода» |
| Известные риски | Что может пойти не так |
| План отката | Условия и шаги rollback |
| Канареечная доля | % трафика и длительность |
Часто задаваемые вопросы (FAQ)
Большая модель решит все проблемы качества? Нет. Обычно больше выигрыша дают короткий ввод, дисциплина вывода и сильный ретривер. Увеличение модели без управления контекстом бьёт по P95 и бюджету.
Нужны ли агенты во всех сценариях? Нет. Агенты полезны там, где есть чёткие инструменты/функции и измеримые шаги. Они требуют санкбоксов и трейсинга.
Как связать «качество» с экономикой? Через utility (польза) и «цену эпизода». Любая оптимизация должна одновременно держать/улучшать utility и снижать цену эпизода.
Как оценивать улучшения? Только до/после на «золотом наборе», с канарейками и порогами. Субъективные «стало лучше» не допускаются.
Что хранить для аудитов и интеграторов? Карточки модели/релизов, журналы версий и метрик, манифест данных, правила ввода/вывода, примеры контрактов.
