FinOps для ИИ и LLM
FinOps для ИИ и LLM
Версия: 2.0 · Обновлено: 2026-04-23 · Теги: FinOps, cost attribution, anomaly, token flood, denial of wallet, budget · Tier: 1-4
TL;DR. Unit economics, cost attribution, budget guard, anomaly detection, optimization (cache/routing/batch), token flood и denial of wallet как security-темы. В версии 2.0: интерактивный сценарий (denial-of-wallet атака на публичный API бота) и расширенный гайд "С чего начать по вашей роли" (5 ролей: FinOps Lead, Platform/DevOps, Product Owner, SecOps, CFO).
0. Зачем отдельный документ
Стоимость ИИ это не ИТ-статья, а операционный риск. Месячный счёт OpenAI или Anthropic на 3-5M рублей с 10 кратным ростом за квартал это типовая история. Причины кроются в агентах, которые зацикливаются, в RAG-системах с неоптимальными чунками, в пользователях, которые запускают тысячи запросов, и в атаках типа token flood.
FinOps для ИИ отвечает на вопросы:
- Кто сколько тратит (unit economics по user/team/model/project)
- Сколько должны тратить (budget planning)
- Когда тревога (anomaly detection, thresholds)
- Как снижать без потери качества (optimization)
- Как реагировать на атаки, которые выражаются в росте счёта
Документ связывает FinOps с безопасностью: бюджетные контроли это часть защитного контура.
1. Unit Economics
1.1 Дименсии
Стоимость LLM-запроса привязывается к 4+ дименсиям:
| Дименсия | Пример |
|---|---|
| User | Конкретный разработчик, сотрудник |
| Team | Frontend, Risk, Compliance, Marketing |
| Model | GPT-5, Claude Opus 4.6, Gemini 3.1, GigaChat, Qwen, Ollama local |
| Project | Название инициативы, проекта, продукта |
| Tool | Claude CLI, Cursor, Aider, внутренний сервис |
| Request type | chat/completion, embedding, vision, audio |
Gateway (Rilio) должен атрибутировать каждый запрос по всем дименсиям.
1.2 Формула стоимости
Cost = Σ (input_tokens * input_price + output_tokens * output_price)
+ overheads (infrastructure, monitoring, egress)
+ DLP compute (внутренний scan)
Для self-hosted:
Cost = GPU hours * GPU hourly rate
+ support / maintenance
+ power + cooling
Для hybrid сценариев (routing): оценка по профилю трафика (% на cloud vs local).
1.3 Пример разбиения
| Team | Model mix | Monthly cost | Per seat |
|---|---|---|---|
| Frontend | Claude (60%), GPT (30%), local (10%) | 420k ₽ | 14k/dev |
| Backend | Claude (80%), local (20%) | 310k ₽ | 10.3k/dev |
| Data Science | GPT (50%), local (50%) | 190k ₽ | 6.3k/ds |
| Support | GigaChat (90%), YandexGPT (10%) | 85k ₽ | 1.7k/agent |
| Marketing | GPT (100%) | 120k ₽ | 8k/marketer |
Вывод: Support оптимизирует через отечественные модели. Marketing на одной модели без fallback. Data Science использует local где возможно.
Калькулятор: cloud LLM vs self-hosted vs hybrid
{
"id": "ch22-cloud-vs-onprem",
"title": "Точка перелома: когда self-hosted дешевле cloud",
"description": "Покрутите ползунок: сколько токенов / месяц генерирует ваш сервис. Цифры — для типичного 70B-class на 8×H100, при OpenAI tier-1 пассе ($30/1M output tokens) и self-hosted vLLM с amortised hardware.",
"min": 1,
"max": 1000,
"step": 1,
"default": 100,
"unit": " M токенов/мес",
"axisLabel": "Output tokens / месяц",
"tracks": [
{ "label": "Cloud LLM cost ($k/мес)", "compute": "x * 30", "format": "fixed1", "tone": "warn", "hint": "$30/M output tokens (Claude Sonnet / GPT-4 average). Для меньших моделей $5-15/M." },
{ "label": "Self-hosted total ($k/мес)", "compute": "55 + x * 0.5", "format": "fixed1", "tone": "info", "hint": "8×H100 amortised: ~$55k/мес (CapEx 36 мес + power + ops). Variable: $0.5/M от electricity при high utilisation." },
{ "label": "Self-hosted savings vs cloud (%)", "compute": "Math.max(-1000, 100 * (1 - (55 + x * 0.5) / (x * 30 + 0.001)))", "format": "%", "tone": "ok", "hint": "Точка перелома на ~2-3M токенов/мес. Для 100M+ self-hosted экономит 90%+." },
{ "label": "Months to ROI (для CapEx $1.3M на 8×H100)", "compute": "x < 5 ? 999 : Math.max(3, 1300 / Math.max(1, (x * 30 - 55 - x * 0.5)))", "format": "fixed1", "tone": "info", "hint": "Капекс H100-кластера типично окупается за 5-12 мес при ≥100M токенов/мес." }
],
"regions": [
{ "from": 1, "to": 5, "label": "Малый объём — cloud LLM безусловно дешевле", "tone": "info" },
{ "from": 5, "to": 30, "label": "Средний — break-even зона; решение зависит от compliance / latency", "tone": "warn" },
{ "from": 30, "to": 200, "label": "Sweet spot для self-hosted — significant savings + predictable cost", "tone": "ok" },
{ "from": 200, "to": 1000, "label": "Большой scale — self-hosted обязателен; cloud = безумный overspend", "tone": "ok" }
]
}
Дальше — практика и артефакты
Полная версия главы «FinOps для ИИ и LLM» с готовыми артефактами, шаблонами, чек-листами и подробными процедурами доступна по подписке.
- Полный доступ ко всем главам и обновлениям 30 дней
- Готовые playbook'и, шаблоны и runbook'и под копирование
- Поддержка автора — paywall не для заработка, а для развития справочника
Можно отменить в любой момент. Возврат средств в первые 7 дней без вопросов.
10. Связи с другими документами
- 06. Operations. Observability.
- 13. Внедрение в РФ. Бюджет в roadmap.
- 14. Governance. Attribution в AI-BOM.
- 15. IR. Денежные атаки как инциденты.
- 20. Code Assistants. Cost per tool.
Интерактивный сценарий: Denial of Wallet атака
{
"title": "Атакующий сжигает $100k в LLM API за сутки",
"steps": [
{"title": "Discovery", "actor": "Attacker", "action": "Находит endpoint вашего бота без rate-limit. Public demo или частично защищённый. Начинает посылать long-context prompts.", "defense": "Rate limit per-user/IP с первого дня. Captcha для public endpoints. API key required даже для freemium."},
{"title": "Amplification", "actor": "Attacker", "action": "Каждый prompt с 100k context window и запросом 'напиши длинное эссе'. Cost per request: $5-10. Thousand requests = $5000-10000.", "defense": "Max tokens лимит. Budget guard с alert на threshold (50% daily budget)."},
{"title": "Detection не срабатывает", "actor": "FinOps", "action": "Alert system опирается на месячный отчёт. Атакующий тратит $100k в 24 часа, никто не видит.", "defense": "Real-time cost dashboard. Alert per hour (not month). Anomaly detection на spend velocity."},
{"title": "Утро обнаружения", "actor": "FinOps + CFO", "action": "Утром CFO видит биллинг $100k. Паника. Отключение API через cloud-console.", "defense": "Kill-switch L4 (per-endpoint) в runbook. Pre-authorization для ручного increase budget."},
{"title": "Post-mortem", "actor": "CISO + FinOps", "action": "Атакующий сторонний; может быть competitor, может быть просто griefer. Budget заморожен. Форсированная подача incident в insurance (если есть).", "defense": "Insurance policy покрывает API-abuse. Contractual obligation cloud provider refund по security incident."}
]
}
{"id": "ch22-q1", "question": "Denial of Wallet атака на LLM API. Что первостепенно?", "options": ["Только monthly budget alerts", "Real-time rate limit + per-hour budget alerts + max tokens per request + captcha на public endpoints + kill-switch ready", "Отключить API", "Полагаться на cloud provider"], "answer": 1, "explanation": "Denial of Wallet — specific для LLM. Нужны несколько слоёв: rate limit (throughput), budget guards (money), max tokens (bloating), captcha (public), kill-switch (emergency). Cloud provider не защитит, это ваш cost."}
С чего начать по вашей роли
FinOps Lead
| Горизонт | Действия |
|---|---|
| День 1 | Real-time dashboard: cost per team/product/model. Alert на spike (2x daily baseline). |
| Неделя 1 | Budget guards per team. Chargeback model. Anomaly detection rules. |
| Месяц 1 | Monthly FinOps review. ROI analysis на LLM use cases. Kill-switch drill. |
Platform / DevOps
| Горизонт | Действия |
|---|---|
| День 1 | Rate limit per-user, per-IP, per-endpoint в Gateway. Max tokens cap. |
| Неделя 1 | Semantic cache для частых запросов. Routing к cheaper models для simple queries. |
| Месяц 1 | Batch processing для async workloads (Anthropic Batch API, OpenAI Batch). |
Product Owner
| Горизонт | Действия |
|---|---|
| День 1 | Unit economics: cost per user / per transaction. Pricing covers cost? |
| Неделя 1 | Tiering: freemium vs paid с разными limits. Customer abuse policy. |
| Месяц 1 | Optimize: A/B тесты cheaper models, prompt compression, cache. |
SecOps
| Горизонт | Действия |
|---|---|
| День 1 | SIEM-rule: spend anomaly (2x baseline). Correlation с suspicious access patterns. |
| Неделя 1 | Detection: token flood from single tenant, long-context abuse, multi-account abuse. |
| Месяц 1 | Runbook: Denial of Wallet response (throttle, kill-switch, forensics). |
CFO / Finance
| Горизонт | Действия |
|---|---|
| День 1 | Visibility: AI OpEx breakdown. Forecast vs actual. |
| Неделя 1 | Contracts с LLM-provider: volume discount, refund policy по incidents, committed spend. |
| Месяц 1 | Insurance coverage для API abuse. Board reporting. |
{"id": "ch22-q2", "question": "Best ROI optimization для LLM cost?", "options": ["Убрать AI полностью", "Semantic cache (30-60% hit) + routing cheaper models для simple + prompt compression + batch API — даёт 30-70% reduction без ущерба качеству", "Только дорогие модели", "Замедлить все запросы"], "answer": 1, "explanation": "Semantic cache ловит повторяющиеся запросы. Routing к cheaper models (haiku vs sonnet vs opus) для простых. Prompt compression уменьшает input. Batch API для async — 50% скидка. Все вместе — значимое сокращение без ухудшения UX."}
← 21. Люди и процесс: AI Literacy, Decommissioning, Bug Bounty · ↑ Индекс
Упоминается в (7)
- Рекомендации ИБ: Обзор и Архитектура ML SecOps
- Люди и процесс: AI Literacy, Decommissioning, Bug Bounty
- Глава 24. Безопасность векторных баз данных
- Безопасность код-ассистентов и AI-агентов разработки
- MLSec Recommendations. Индекс документов
- Российская специфика MLSec. Deep Dive
- Безопасность обучающей инфраструктуры