LLMOps управляет системой, а не только моделью
Результат production-функции зависит от model ID, prompt, examples, response schema, tools, retrieval index, parameters, safety policy и application code. Обновление любого компонента способно изменить качество.
LLMOps - практики и платформенные возможности для разработки, оценки, выпуска, наблюдения и улучшения этого bundle. Это расширение DevOps/MLOps под вероятностные ответы и compound AI architecture.
Что LLMOps добавляет к обычному DevOps
| Обычный software gate | Дополнительный AI gate | Почему |
|---|---|---|
| Unit/integration tests | Golden, regression, safety evals | Ответ вероятностный |
| Binary artifact | Prompt/model/data/policy bundle | Поведение распределено |
| Error rate | Task success и critical errors | HTTP 200 может быть неверным |
| CPU/memory | Tokens, cost, retrieval, tool loops | Экономика зависит от контента |
| Rollback code | Rollback совместимого bundle | Модель и schema связаны |
Антипаттерн: платформа раньше повторяемой потребности
Команда с одним пилотом часто покупает registry, tracing, gateway и labeling system одновременно. Интеграция отвлекает от вопроса, нужен ли продукт. Начинайте с минимального контроля, устраняющего конкретный риск.
- Есть ли хотя бы один измеримый production workflow?
- Какая повторяющаяся боль есть у двух команд?
- Как выглядит минимальный manual process?
- Как измерить сокращение времени или риска?
- Кто будет владельцем capability?
- Какие данные сервис будет видеть?
- Можно ли экспортировать artifacts?
- Как удалить инструмент без остановки продукта?
Maturity level 0: demo без воспроизводимости
Prompt хранится в ноутбуке или интерфейсе, model alias плавает, тест - несколько красивых примеров. Нет связи ответа с версией, а стоимость смотрят в общем счёте. Это нормально для discovery, но не для критического production.
- Цель уровня - быстро проверить ценность.
- Не использовать реальные запрещённые данные.
- Не давать модели необратимые tools.
- Зафиксировать решение: закрыть, продолжить или ограничить.
- Перед production перейти хотя бы на следующий уровень.
Maturity level 1: воспроизводимый baseline
Все ключевые artifacts попадают в репозиторий. У каждого запуска есть trace ID, точный model ID, prompt version, usage и статус validator. Небольшой eval-набор запускается локально или в CI.
application_version: git SHA workflow_id: support.reply model_id: exact provider model prompt_version: immutable ID input_schema: version output_schema: version toolset_version: version retrieval_index: version policy_version: version eval_suite: version pricing_table: version/date owner: team rollback_bundle: ID
Maturity level 2: стандартизированный delivery
Команды используют единый шаблон проекта, registry, секреты, adapter и telemetry schema. Pull request запускает автоматические validators и evals. Release создаёт immutable bundle и меняет alias через controlled deployment.
Registry
Версии prompt, model и datasets.
Eval CI
Quality и safety gates.
Deployment
Canary, alias и rollback.
Maturity level 3: управляемая production-платформа
End-to-end traces связывают user outcome с model, retrieval и tools. Quality, latency и cost per successful task наблюдаются по cohorts. Есть quotas, policy enforcement, incident runbooks, feedback review и lifecycle owners.
| Capability | Доказательство зрелости | Не доказательство |
|---|---|---|
| Quality | Автоматический gate и online eval | Дашборд без owner |
| Deployment | Canary со stop conditions | Кнопка deploy |
| Observability | Lineage до результата | Полный prompt в логах |
| Cost | Budget и cost/success | Общий месячный счёт |
| Governance | Policy as code и audit | Документ без enforcement |
Maturity level 4: оптимизация портфеля и self-service
Платформа предлагает paved road: approved models, templates, eval harness, gateway, deployment и telemetry, которые команда подключает самостоятельно. Исключения проходят risk review. Портфель workflows регулярно пересматривается: слабые закрываются, дорогие оптимизируются.
Этот уровень нужен не всем. Если организация поддерживает три стабильных сценария, простая архитектура с хорошей дисциплиной может быть лучше сложной внутренней платформы.
Минимальная архитектура LLMOps-платформы
Control plane
Registry, policies, datasets, releases.
Data plane
Gateway, runtime, retrieval и tools.
Evidence plane
Traces, evals, feedback и reports.
Control plane не должен быть синхронной зависимостью каждого model call: runtime получает проверенную конфигурацию и безопасно работает с последней версией при временной недоступности управления.
Registry: версионируйте весь AI-stack
Prompt registry без tools, model settings и schema не воспроизводит поведение. Release manifest связывает immutable IDs и результаты eval.
- Application code и infrastructure.
- System/developer prompts и examples.
- Model/provider/region и parameters.
- Input/output schemas и validators.
- Tool definitions, permissions и versions.
- Retrieval pipeline, corpus и index.
- Policies, guardrails и feature flags.
- Eval datasets, graders и reports.
- Pricing table и budget policy.
- Release approvals и rollback target.
Dataset registry: provenance важнее красивого CSV
Eval и training datasets содержат права, источники и историю изменений. Для каждого record храните provenance, data class, purpose, consent/permission, labeler, review, cohort и reason. Split manifests immutable.
| Dataset | Назначение | Контроль |
|---|---|---|
| Golden | Подтверждённый baseline | Строгий review |
| Regression | Прошлые сбои | Связь с incident |
| Challenge | Редкие safety/edge cases | Отдельные hard limits |
| Production sample | Online evaluation | Privacy и sampling |
| Feedback candidates | Будущая разметка | Не смешивать автоматически |
Eval CI: разные ворота для разных изменений
Изменение CSS не требует полного дорогого eval, а смена модели или retrieval index - требует. Классифицируйте diff и запускайте соответствующий suite. Nightly и release evals дополняют быстрый PR gate.
PR gate: - schema/unit/security static checks; - deterministic validators; - fast regression subset. Nightly: - full golden/regression/challenge; - multiple runs for unstable cases; - cost and latency profile. Release: - candidate vs production paired report; - critical error hard limits; - quality floor; - cost/latency budgets; - approvals and rollback manifest.
Grader governance: LLM-судья тоже версия системы
LLM grader может менять оценку при смене модели или prompt. Валидируйте его на human-labeled set, храните версию и не используйте для критериев, которые можно проверить кодом.
- Schema и exact constraints - deterministic.
- Facts - domain rules и provenance.
- Style - rubric с examples.
- Safety critical - отдельный expert review.
- Judge disagreements - sampling и adjudication.
- Grader update - backtest на исторических runs.
Deployment: bundle, feature flag, canary и rollback
Release публикует bundle, а alias указывает production-конфигурацию. Canary распределяется по стабильному cohort. Stop conditions задаются до запуска.
- Build immutable bundle.
- Проверить signatures и dependencies.
- Выполнить release eval.
- Deploy candidate без трафика.
- Smoke test и shadow при необходимости.
- Canary по стабильному cohort.
- Сравнить quality, errors, latency, cost.
- Расширять только после gates.
- Rollback alias при stop condition.
- Сохранить decision report.
Observability: lineage от результата до каждого компонента
Google Cloud рекомендует end-to-end lineage для компонентов generative AI application. Trace должен объяснять, какие artifacts и параметры участвовали, но не обязан хранить raw content.
trace_id, workflow_id, tenant_id release_bundle_id, model_id, prompt_version schema/toolset/retrieval/policy versions route and fallback reasons input/cached/output usage retrieved document IDs and scores tool calls, approvals and status validators and grader versions/results latency by span, retries, estimated cost business outcome and human correction content fields: redacted/hashed or absent by default
Online evaluation и drift
Offline suite не видит новые cohorts. Сэмплируйте production по policy, применяйте deterministic checks и ограниченные graders, собирайте delayed business outcomes. Сравнивайте распределение production inputs с eval dataset.
| Сигнал | Возможная причина | Действие |
|---|---|---|
| Новый input cohort | Изменился продукт | Разметить и расширить eval |
| Retrieval recall падает | Corpus/index drift | Проверить ingestion |
| Schema failures растут | Model/prompt/API change | Rollback/repair |
| Cost/success растёт | Контекст/retries/route | Cost trace audit |
| Human corrections меняются | Новая policy | Review criteria |
Feedback loop: production-ответ не становится эталоном автоматически
Thumbs up может означать вежливость, а отредактированный ответ - личный стиль одного оператора. Feedback попадает в candidate queue с provenance, затем проходит triage, разметку, review и разделение datasets.
Collect
Outcome, correction и context IDs.
Review
Privacy, label и failure taxonomy.
Promote
Versioned regression или training set.
Cost governance: бюджет связан с outcome
Платформа распределяет usage по tenant, workflow, release и route. Quotas и alerts защищают общий лимит, а оптимизация сравнивает cost per successful task.
- Versioned pricing table.
- Input/cached/output/tool usage.
- Retries и fallback в том же trace.
- Budget по tenant/workflow/environment.
- Hard cap для agent run.
- Rate и concurrency limits.
- Anomaly alert по release version.
- Batch/caching eligibility.
- Cost-success-quality dashboard.
Platform team и product team: разделите ответственность
| Platform team | Product team | Совместно |
|---|---|---|
| SDK, gateway, registry | Business contract | Release criteria |
| Eval harness | Domain dataset | Incident response |
| Telemetry schema | Outcome instrumentation | Cost optimization |
| Approved models/policies | Workflow risk | Vendor migration |
| Paved road/SLO | Quality owner | Roadmap feedback |
Платформа не может гарантировать правильность юридического ответа или поддержки клиента без product/domain owner.
Build или buy: выбирайте capability, а не модный стек
Сначала опишите интерфейс и data policy capability, затем сравните готовый сервис, open source и собственную реализацию. Учтите integration, operations, upgrades, support, lock-in и export.
Capability: [eval registry / tracing / gateway / labeling] Current pain and volume: [данные] Required integrations and data classes: [список] Build option: delivery + annual operations cost Buy option: license + usage + integration + exit cost Open-source option: hosting + upgrades + security + support Hard gates: residency, export, access, SLO Pilot success metric: [измерение] Decision owner and review date: [данные]
90-дневный roadmap без big bang
- Дни 1 - 15: inventory workflows, owners и текущие incidents.
- 16 - 30: manifest, trace schema и небольшой eval baseline.
- 31 - 45: reusable SDK/adapter, secrets и usage attribution.
- 46 - 60: PR/nightly eval gates и release bundle.
- 61 - 75: alias, canary, rollback и dashboards.
- 76 - 90: feedback triage, cost budgets и platform SLO.
После каждого этапа измерьте adoption, время релиза, найденные регрессии и operational нагрузку. Не автоматизируйте процесс, который ещё не доказал ценность вручную.
Итоговый чек-лист LLMOps
- Workflow имеет outcome и quality owner.
- AI-stack описан immutable manifest.
- Prompts, schemas, tools, retrieval и policies версионируются.
- Datasets имеют provenance и privacy controls.
- Eval CI соответствует риску изменения.
- Critical errors блокируют релиз.
- Grader версии валидированы.
- Release использует bundle, alias и canary.
- Rollback отрепетирован.
- Trace обеспечивает lineage без лишнего raw content.
- Online eval обнаруживает новые cohorts.
- Feedback проходит review до dataset.
- Cost связан с successful outcome.
- Platform и product ownership разделены.
- Каждый купленный компонент имеет exit plan.
Зрелая LLMOps-практика сокращает расстояние между ошибкой и доказательством её причины. Инструменты полезны лишь тогда, когда поддерживают этот результат.
Что такое LLMOps простыми словами?
Чем LLMOps отличается от MLOps?
Какие инструменты LLMOps нужны небольшой команде?
Что нужно версионировать в LLM-приложении?
Как встроить evals в CI/CD?
Нужно ли хранить все промпты и ответы в логах?
Кто отвечает за качество AI-функции?
Как понять, что LLMOps-платформа окупается?
- AWS - Generative AI Lifecycle Operational Excellence framework
- AWS - Hardening with a GenAIOps framework
- AWS - Data lifecycle in generative AI
- Google Cloud - Deploy and operate generative AI applications
- Google Cloud - Enterprise generative AI and MLOps blueprint
- OpenAI - Evals guide
- OpenTelemetry - Generative AI semantic conventions
- NIST - AI Risk Management Framework