AIRUS PromptOps — Context Governance
Промпт в Notion — это записка на холодильнике, а не инфраструктура. Если промпт приносит деньги, у него должны быть владелец, версия, тесты, changelog, approval и rollback. AIRUS превращает промпты и контекст в управляемые production-артефакты.
Что делает
Prompt = не plain text, а управляемый пакет: инструкция, переменные, output schema, model-варианты, context policy, версия и gate. Каждый AI-ответ можно доказать prompt receipt: какая версия, какая модель, какой context, какой gate, какая цена.
Prompt Registry + версии
POST /v1/airus/prompts + /versions → semver-версии, история, diff. Промпт без версии — это продакшн на честном слове.
Lifecycle + rollback
draft → review → staging → production → deprecated. Прямой прыжок в прод запрещён; rollback возвращает предыдущую версию одним вызовом.
Context Policy Engine
Что можно в контекст, что нельзя: allow/block источников, data-classes, token budget, freshness, citation, provenance. Governance на платформе, а не в тексте промпта.
Prompt Gate + Receipt
Детерминированный gate: schema-validity, объявленные переменные, citation, cost-budget, injection/secret/safety-lint → Prompt Receipt (metadata-only).
Сигнал: governance не может жить внутри промпта
Известный кейс: агент нарушил инструкцию «не действовать без approval» после context compaction — инструкция просто выпала из контекста. Вывод: safety-правила, approvals и context-политики должны быть платформенным слоем, а не строкой в промпте.
- Prompt-gate флажит anti-pattern
governance_in_prompt_text— «approval/safety зашиты в текст» → выносите в ToolOps approval gate и Context Policy. - Context Policy Engine детерминированно решает, что попадёт в контекст, — не «мы аккуратно написали промпт».
- Prompt Receipt связывает ответ с версией, моделью, политикой и gate-статусом — воспроизводимо и аудируемо.
Как вызвать
# 1. Context policy — что можно в контекст (JWT)
POST /v1/airus/context-policies
{ "policy_key": "ctx_support", "allowed_sources": ["support_kb"],
"blocked_sources": ["hr_docs","finance_docs"], "data_classes_allowed": ["public","internal"],
"max_context_tokens": 24000, "citation_required": true, "freshness_required": true }
# 2. Prompt package + версия (JWT)
POST /v1/airus/prompts { "prompt_key": "support_answer", "context_policy_id": "..." }
POST /v1/airus/prompts/{id}/versions
{ "version": "1.4.2", "template": "Ответь на {{q}} по {{retrieved_context}}...",
"variables": ["q","retrieved_context"], "output_schema": {"required":["answer","citations"]} }
# 3. Gate → Prompt Receipt (API-ключ, CI клиента)
POST /v1/airus/prompts/{id}/test # → eval_gate_status, output_schema_valid, checks, cost_rub
# 4. Lifecycle
POST /v1/airus/prompts/{id}/promote { "to_status": "production" }
POST /v1/airus/prompts/{id}/rollback { "to_version": "1.4.1" }Честно про gate
- Gate — детерминированный: output-schema validity, объявленные/неиспользуемые переменные, citation requirement, cost-budget, injection/secret-lint, safety-instruction lint, governance-in-prompt anti-pattern, model-variants resolve. Это проверяемо и воспроизводимо.
- Семантика (tone, hallucination risk via LLM-judge) — roadmap; связка с EvalOps golden-датасетами уже есть.
- Prompt drift detector, A/B-тесты, prompt injection ML-scanner, prompt CI/CD, context provenance graph, prompt marketplace — roadmap.
- Prompt Receipt — metadata-only:
variables_hashпо ключам, без сырых значений (правило #6).