AI-стек (AI Stack): слои, роли и производственные паттерны построения систем на ИИ

AI-стек — это системная архитектура, описывающая слои и роли в современных продуктах на базе ИИ: от источников данных и индексов знаний до инференса моделей, инструментов, оркестрации, безопасности и наблюдаемости. Стек помогает ответить на три вопроса: что делает система (функции), где она это делает (слои/контуры) и как это согласовано по интерфейсам, SLO и ответственности команд.

AI-стек (AI Stack): слои, роли и производственные паттерны построения систем на ИИ

В отличие от «одиночного вызова модели», продакшн-системы на ИИ — это композиции сервисов: подготовка данных, индексация и поиск, генерация и проверка, вызовы инструментов, аудит, биллинг. Каждый слой влияет на качество, стоимость и скорость — три оси, которые приходится балансировать в боевом окружении. В этом материале мы разложим стек по полочкам и предложим практические шаблоны, чтобы архитектура оставалась управляемой по мере роста.

Кому полезно. Руководителям продуктов, архитекторам и инженерам MLOps/AI платформ, которые строят ассистентов, корпоративные поиски, аналитические панели, автоматизацию операций и другие сценарии с участием ИИ.

Картина целиком: какие слои есть в AI-стеке (AI Stack)

Удобно представлять стек как дорожку данных (снизу вверх) и дорожку исполнения (сверху вниз). Ниже — минимальная, но достаточная декомпозиция на слои. В каждом слое указаны цели, типовые технологии и артефакты.

Источники данных и забор контента

  • Что: агрегирование сырья — документы, базы знаний, тикеты, логи, код, медиаконтент, телеметрия.
  • Как: коннекторы, ETL/ELT-пайплайны, журнализация изменений, дедупликация и очистка.
  • Артефакты: нормализованный контент, схемы, каталоги данных, контроль качества сырья.

Подготовка, разметка и индексация знаний

  • Что: разбиение на фрагменты (chunking), лемматизация/нормализация, извлечение сущностей, вычисление векторов и построение индексов.
  • Как: расчёт эмбеддингов, хранение и поиск во векторных базах, гибридный поиск (keyword+вектор).
  • Артефакты: индексы ANN, метаданные (язык, раздел, свежесть, ACL), журналы пересборок.

Извлечение и подготовка контекста (retrieval)

  • Что: поиск релевантных фрагментов под запрос, их сжатие до «фактов» и сбор контекста.
  • Как: классический или многошаговый RAG, переранжирование, компрессия выдержек.
  • Артефакты: списки top-k с идентификаторами, ссылки на источники, оценка релевантности.

Модельный слой и инференс

  • Что: генерация, классификация, извлечение полей — всё, что выполняет модель.
  • Как: выбор моделей (LLM/компактные модели), режимы декодирования, кэш, батчинг; см. стек инференса LLM.
  • Артефакты: версии моделей и конфигов, профили маршрутизации, логи токенов и стоимости.

Инструменты и действия (tools/actions)

  • Что: доступ к БД, поиску, CRM, валидации, форматированию, внешним API — всё, что расширяет «деятельность» модели.
  • Как: строго типизированные контракты, белые списки доменов, песочницы, мок-режимы.
  • Артефакты: каталоги инструментов, спецификации схем (JSON-Schema), наборы тестов.

Оркестрация и агенты

  • Что: планирование шагов, разветвление гипотез, управление состоянием и памятью.
  • Как: последовательности, деревья и графы; роли (исследователь/критик/исполнитель); журналы эпизодов; смежно — агенты.
  • Артефакты: протоколы эпизодов, графы задач, правила остановки/эскалации.

Валидация, политика и безопасность

  • Что: проверка «верности источникам», соответствие схемам, фильтры тематики/PII/тональности, защита от prompt-injection.
  • Как: автоматические валидаторы, «второе мнение», песочницы инструментов, разделение ролей.
  • Артефакты: отчёты валидации, журналы политики, протоколы инцидентов.

Наблюдаемость, биллинг и SLO

  • Что: метрики задержек и стоимости, трассировки цепочек, аудит источников, аналитика качества и A/B.
  • Как: лог-трейсинг (сквозные ID), дешборды P50/P95 и цены/1k токенов, пайплайны отчётности.
  • Артефакты: каталоги метрик, алерты, бюджеты и лимиты.

Как это работает вместе: сквозной путь запроса

Разберём типичный эпизод: пользователь задает вопрос, система выдаёт ответ с цитатами.

  1. Приём и нормализация. API/приложение приводит запрос к ожидаемому формату, отсекает шум, присваивает trace-id.
  2. Извлечение (retrieval). Система формирует embedding запроса, делает гибридный поиск по индексу знаний, собирает top-k, переранжирует, сжимает выдержки.
  3. Подсказка модели. Контекст собирается в единый промт с идентификаторами источников, требованиями формата и запретами «выдумывать». При необходимости — шаблон JSON.
  4. Инференс. Запрос уходит на модельный сервинг: префилл контекста, авто-регрессия, первая порция токенов, стриминг.
  5. Пост-валидация. Проверка схем/тональности/фактов; при несоответствии — повторный шаг retrieval/генерации.
  6. Действия. Если нужно — вызовы инструментов (таблицы, конвертеры, API) с превью и мок-режимом.
  7. Ответ и логи. Система отдаёт результат с цитатами и одновременно сохраняет трассировки, стоимость и выбранные фрагменты для аудита качества.

На каждом шаге действуют лимиты: длина контекста, k документов, время на шаг, бюджет токенов. Это помогает держать P95 и стоимость в пределах SLO.

Роли в команде и ответственность по слоям

Слой Владелец KPI/метрики Артефакты
Источники/ингест Data/Content Engineering Свежесть, полнота, качество сырья Каталоги, схемы, дедуп-репорты
Индексация Search/Platform Recall@k, NDCG@k, P95 поиска Конфиги индексов, метаданные
Retrieval Search/AI Faithfulness, Citation@k Логи кандидатов, сжатие
Инференс AI Platform TTFT, P95, $/1k токенов Конфиги моделей, трассировки
Инструменты App/Platform Ошибки, покрытие тестами Контракты, мок-наборы
Оркестрация AI/App Успех задач, шаги до успеха Графы, политики остановки
Валидация/безопасность Risk/AI Отказы по политике, инциденты Отчёты и правила
Наблюдаемость/биллинг Platform/FinOps SLA, бюджеты, алерты Дешборды, бюджеты

Паттерны проектирования AI-систем

1) Retrieval-centric. Делаем ставку на качественные индексы и компактные подсказки. Модель остаётся умеренной, зато ответ объясним и дешевле. Основа — RAG и строгие цитаты.

2) Маршрутизация моделей. «Лёгкая по умолчанию, тяжёлая по сигналам сложности». Экономит бюджет, не жертвуя качеством на трудных кейсах. Журналы маршрутов — обязательны.

3) Инструменты по контрактам. Все внешние действия — только через заранее описанные схемы. Мок-режим и превью до записи/отправки.

4) Двойной контур проверки. Быстрый автоматический валидатор + «второе мнение» для риск-сценариев. Позволяет держать качество и снижать инциденты.

5) Эпизодическая память. Журнал шагов и кратких сводок, доступный retrieval-слой; полезно для ассистентов и кейсов сопровождения.

Компромиссы: качество ↔ стоимость ↔ скорость

Рычаг Что меняем Влияние на качество Влияние на стоимость/скорость
Размер контекста Сжимаем и ранжируем выдержки Иногда ↓, если срезать факты Существенно ↓ стоимость и P95
k в retrieval 3–8 вместо «много» Стабильно, если есть rerank ↓ токенов, стабильнее инференс
Модель/маршрут Компактная→тяжёлая по сигналу Стабильно ↓ средняя цена эпизода
Кэш KV/ответов/поиска Без влияния на логику ↓ TTFT, ↓ стоимость
Квантование INT8/INT4 веса/кэш Возможна точечная деградация ×2–4 экономия памяти, ↑ токенов/сек

Минимальные интерфейсы между слоями

Чтобы стек был заменяемым, задавайте узкие контракты:

  • Ингест → индексация: {doc_id, text, lang, ts, acl, meta...}.
  • Индексация → retrieval: {query_vec, filters, k}{[chunk_id, score, meta...]}.
  • Retrieval → генерация: {prompt, [(chunk_id, snippet, source_id)]}.
  • Генерация → валидация: {answer, citations, schema?}.
  • Действия: {tool_name, input_schema}{output, errors}.
  • Наблюдаемость: trace_id сквозной, чтобы сшивать метрики.

Чек-лист запуска AI-стека

  • Определите узкие сценарии и KPI (успех задач, P95, цена/эпизод).
  • Согласуйте слои и интерфейсы: какие входы/выходы, какая ответственность.
  • Поднимите инфраструктуру индексов: индексы, метаданные, регламент пересборок.
  • Настройте retrieval: гибридный поиск, rerank, сжатие выдержек.
  • Выберите модели и маршрутизацию, включите кэш и квоты.
  • Введите валидацию и политику: схемы, фильтры, белые списки инструментов.
  • Постройте наблюдаемость: трассировки, P50/P95, цена/1k токенов, Faithfulness.
  • Проведите A/B и стресс-тесты: длинные контексты, массовые запросы, сбои источников.
  • Задокументируйте инциденты и откаты: переключение моделей, режим деградации.
  • Обучите команду: «рабочие инструкции» на случай алертов и отказов.

Таблица: эталонные SLO и ориентиры

Компонент P95 задержка Надёжность Стоимость/ед.
Retrieval (поиск) ≤ 120–150 мс ≥ 99.9% Входит в бюджет эпизода
Инференс (TTFT) ≤ 700 мс ≥ 99.5% $/1k токенов ввода/вывода
Генерация (полная) ≤ 3–8 с, по сценарию ≥ 99.0% Зависит от маршрутизации
Валидация ≤ 300 мс ≥ 99.9% CPU-friendly
Действия (tools) Контрактно Контрактно Отдельный бюджет
Сквозной эпизод SLA продукта SLA продукта Цена/эпизод в лимите

Таблица: анти-паттерны и как их избегать

Анти-паттерн Симптомы Что делать
«Одна модель — всё» Рост стоимости без прироста качества Вводить маршрутизацию, retrieval, валидацию
Бесконтрольный контекст Длинные подсказки, P95 «плавает» Сжатие/rerank, лимиты, цитирование
Без логов версий Невозможно расследовать инциденты Сквозные trace-id, версии моделей/индексов
Свободные инструменты Побочные эффекты, утечки Жёсткие схемы, мок-режим, превью
Нет владельцев слоёв «Серая зона» ответственности Матрица ролей и KPI по слоям

Практика интеграции: несколько архитектурных рецептов

RAG-центричная база знаний. Для внутренних справок и норм: инвестируйте в индексы и переранжирование, ограничьте k, заставляйте систему цитировать источники. Это повышает доверие и удешевляет ответы.

Ассистент с действиями. Начинайте с «человеко-в-контуре»: инструмент в мок-режиме и превью изменений; затем добавляйте автоматизацию по классам задач. Держите класс «опасных» операций в ручном режиме.

Аналитика логов/телеметрии. Перекладывайте тяжёлые вычисления в пакетные пайплайны, а онлайн оставляйте только короткие извлечения и лёгкую генерацию выводов. Стоимость и P95 будут под контролем.

Контент-генерация. Храните шаблоны, примеры хороших ответов и требования формата вне промтов. Модель подключается к retrieval для фактов и к инструментам для таблиц/конвертаций.

Наблюдаемость: что измерять ежедневно

  • Качество: Faithfulness/Attribution rate (доля ответов с цитатами), полезность/корректность по ручной оценке.
  • Скорость: TTFT, токенов/сек, P50/P95 по шагам.
  • Стоимость: $/1k токенов ввода/вывода, цена/эпизод, нагрузка по маршрутам.
  • Стабильность: ошибки инференса, отказ инструментов, ретраи, «штормы» очередей.
  • Индексы: Recall@k/NDCG@k, свежесть (сколько документов моложе порога), частота пересборок.
  • Безопасность: попытки jailbreak, срабатывания фильтров, инциденты политики.

Безопасность и политика: базовые принципы

  • Разделяйте инструкции и данные. Документы и индексы не должны исполнять команды. Prompt-injection режем на входе.
  • Секреты — только через прокси. Ключи/токены в подсказку не попадать; инструменты получают доступ через сервисные учётные записи.
  • Контракты формата. Для таблиц/JSON — валидаторы; для действий — превью и мок-режим.
  • Логи и аудит. Сохраняйте источники фактов, версии моделей/индексов, параметры декодера, чтобы воспроизводить спорные ответы.
  • Пути деградации. При перегрузе — сокращение контекста, упрощённые модели, запрет «дорогих» действий; при сбоях индекса — временный fallback.

FAQ

Чем AI-стек отличается от «ML-пайплайна»? ML-пайплайн — про обучение и подготовку фичей. AI-стек шире: он включает retrieval, инференс, инструменты, оркестрацию, политику и наблюдаемость — весь контур продакшн-исполнения.

Всегда ли нужен RAG? Нет, но в задачах фактов и обновляемых знаний RAG даёт объяснимость и стабильность качества. В других сценариях достаточно чистого генератора и правил.

Нужны ли большие LLM? Не всегда. Часто выигрывает маршрутизация: компактная модель закрывает «массу» запросов, тяжёлая — редкие сложные случаи.

Как держать стоимость? Сжимайте контекст, ограничивайте k, включайте кэш, применяйте квантование и класс-маршрутизацию. Измеряйте цену/эпизод и проводите A/B.

Как масштабировать стек на несколько доменов и языков? Разносите индексы/профили, храните метаданные (язык/раздел), включайте гибридный поиск и переранжирование. Журналируйте качество по срезам.

Где начинать наблюдаемость? С трассировки (trace-id) и дешбордов P95/стоимости. Затем добавляйте метрики качества (faithfulness) и отчёты по источникам.

Словарь терминов

  • AI-стек — набор слоёв и интерфейсов для построения и эксплуатации систем ИИ.
  • Retrieval — извлечение релевантных фрагментов из индексов знаний.
  • Генерация — ответ/вывод модели (LLM/другая) по подсказке и контексту.
  • Инструменты (tools) — внешние функции и API, которые выполняют действия по контракту.
  • Оркестрация — планирование шагов/ролей и управление состоянием эпизода.
  • Наблюдаемость — метрики, логи, трассировки и бюджеты.
  • Политика — правила тематики/формата/безопасности и механизмы их соблюдения.
  • Маршрутизация — выбор модели/пути исполнения по сигналам сложности.
  • SLA/SLO — целевые уровни сервиса (задержка, качество, стоимость).
  • Faithfulness — верность ответа предоставленным источникам.

См. также

Task Runner