Реклама. ИП Ахунов Александр Раисович, ИНН 665911236854
Себестоимость AI-диалога: budget cap, routing моделей и cost/ticket за 30 дней

Себестоимость AI-диалога: budget cap, routing моделей и cost/ticket за 30 дней

Себестоимость AI-диалога я контролирую четырьмя рычагами: budget cap на один диалог, routing cheap→strong только по правилам, метрика cost per closed ticket и дашборд за 30 дней. Без cap и routing «успешный» агент просто сжигает маржу на длинных тредах.

Я не оптимизирую «токены ради токенов». Я считаю деньги на закрытый тикет/диалог и режу хвосты, где модель думает впустую. Ниже — production-контур для МСП, который собираю за 2–4 недели.


Budget cap на диалог: жёсткий потолок

Cap — это не «лимит в .env на месяц», а потолок на conversation_id с понятным поведением при превышении.

ПараметрЗачемТиповое значение для МСП
max_usd_per_dialogстоп по деньгам$0.15–0.80 в зависимости от канала
max_tokens_in / max_tokens_outзащита от простынейin 12–40k, out 1–4k на ход
max_turnsанти-зацикливание12–25 ходов
max_tool_callstool-storm8–20 на диалог
max_wall_time_minзомби-сессии30–90 мин

Поведение при hit cap (фиксирую до боя):

  1. Soft stop — агент завершает ход коротким «передам человеку», пишет reason BUDGET_CAP.
  2. Handoff — задача владельцу + summary без повторного «дорогого» reasoning.
  3. No silent drop — клиент не остаётся в пустоте; статус в CRM обязателен.
  4. Исключения — VIP/эскалация L2 только по whitelist, с отдельным cap.

Чеклист внедрения cap:

  • счётчик cost обновляется после каждого completion и tool-раунда;
  • cap читается из конфига канала (TG ≠ email ≠ голос);
  • алерт в Slack/TG, если 5%+ диалогов упираются в cap за сутки;
  • postmortem на top-10 самых дорогих диалогов раз в неделю.

Routing cheap / strong: когда дорогая модель

Дорогая модель по умолчанию — самый частый способ убить unit-экономику. Я держу две+ линии и маршрутизатор.

СлойМодель (логика)Когда
L0 classifiertiny / cheapintent, язык, spam, «нужен человек?»
L1 workhorsemid / cheapFAQ, статус заказа, шаблонные ответы
L2 strongfrontierсложный scope, конфликт, юр./деньги, 3-й failed L1
L3 humancap, policy, клиент просит человека

Правила routing (примеры, которые реально режут cost):

СигналДействие
Известный intent + hit KBL1, без strong
Confidence L1 < порогаодин retry L1 с другим prompt или escalate L2 (не оба сразу)
Слова: договор, претензия, возврат денегсразу L2 или human
Тред > N ходов без resolveL2 один раз, затем human
Tool-only шаг (записать поле CRM)mini / cheap, без «рассуждений»

Анти-паттерны:

  1. Strong на каждый turn «на всякий случай».
  2. Двойной вызов cheap+strong параллельно без нужды.
  3. Гигантский system prompt + вся история на L2, когда хватило summary.
  4. RAG «всё подряд» в контекст вместо top-k.

Cost per closed ticket и дашборд 30 дней

Считать «$/1k tokens» полезно инженеру. Собственнику нужен cost per closed ticket (или per resolved dialog) и воронка потерь.

Формула, которую я кладу в дашборд:

cost_per_closed = (sum model_cost + sum tool_cost + sum embed_cost) / count(closed_with_reason)

Дополнительно:

МетрикаСмыслКрасная зона
cost_p50 / cost_p95 диалогахвост дорогих тредовp95 > 5–8× p50
% dialogs_hit_capcap слишком жёсткий или агент тупит> 8–10%
% routed_L2strong ест бюджетрастёт без роста CSAT/close
turns_to_resolveболтливостьрастёт при том же close-rate
cost / closed vs baseline week0тренд 30 дней+30% без объяснения
human_takeover_ratecap/qualityскачок = смотреть quality, не только $

Минимальный дашборд (Grafana/Metabase/таблица — не важно):

  1. День → spend total, dialogs, closed, cost/closed.
  2. Разрез: канал, intent top-10, model tier.
  3. Top-20 самых дорогих conversation_id со ссылкой на trace.
  4. Алерты: суточный spend > plan; p95 cost; spike L2 share.

Таблица «что править за 30 дней»:

НеделяФокусОжидаемый эффект
1cap + логи cost на turnвидимость, стоп сюрпризов
2routing L0/L1, урезать system/history−20–40% spend на FAQ
3tool-cost, лишние вызовы CRM/search−10–25% на agentic-тредах
4калибровка порогов escalate + top expensiveстабилизация cost/closed

Практика: как не сломать качество, режа cost

Cost-only оптимизация роняет CSAT. Я держу пару quality-метрик рядом с деньгами.

QualityРядом с costПравило
CSAT / оценка диалогаcost/closedнельзя резать L2, если CSAT падает > X
% resolve without humanhit_capесли resolve↓ и hit_cap↑ — cap мал или KB дырявая
Regress suite (N сценариев)после смены routingmerge только если suite зелёный
Доля «пустых» ответовturnsдешевле не значит короче до абсурда

Чеклист перед сменой модели/роутера в prod:

  1. Eval-набор из реальных тикетов (не синтетика alone).
  2. Canary 10–20% трафика.
  3. Сравнение cost/closed и resolve/CSAT на canary.
  4. Откат одной кнопкой (feature flag routing).
  5. Запись в changelog: что ждали по $ и что получили за 72 часа.

Часто задаваемые вопросы

С чего начать, если сейчас «просто один GPT на всё»?
С логирования cost на conversation_id и cap. Routing без цифр — гадание. Через неделю top-expensive уже подскажут, куда ставить cheap.

Budget cap не будет бесить клиентов обрывом?
Будет, если silent drop. Нужен soft stop + handoff и нормальный текст. На практике упираются в cap единицы процентов, если L1/KB настроены.

Чем cost per closed лучше cost per message?
Message дешёвый и бесполезный как KPI бизнеса: агент может дешево болтать 40 ходов. Closed ticket привязан к работе, которую вы продаёте клиенту внутри.

Нужен ли отдельный FinOps-человек?
На объёме МСП достаточно дашборда и 30 минут в неделю у техлида/интегратора. FinOps имеет смысл, когда агентов много и spend пятизначный.


Читайте также

Нужен контур cap + routing + дашборд cost/ticket под ваш AI-канал — напишите на https://raisovich.ru

Зачем routing cheap/strong, если cap уже стоит?

Cap режет хвост по деньгам; routing не даёт дорогой модели ходить на FAQ и tool-only шаги, где хватает L1 — так падает cost/closed без silent drop.

Какие метрики смотреть на дашборде за 30 дней?

Cost per closed, p50/p95 диалога, доля hit cap, share L2 и turns_to_resolve рядом с CSAT — иначе оптимизация только по $ роняет качество.

Как безопасно сменить модель или роутер в prod?

Eval на реальных тикетах, canary 10–20%, сравнение cost/closed и resolve/CSAT, feature flag для отката и changelog за 72 часа.

Р
Команда экспертов по AI-автоматизации бизнеса, созданию сайтов и продвижению нейросетями. Помогаем бизнесу расти с помощью современных технологий.

Часто задаваемые вопросы

Зачем routing cheap/strong, если cap уже стоит?

Cap режет хвост по деньгам; routing не даёт дорогой модели ходить на FAQ и tool-only шаги, где хватает L1 — так падает cost/closed без silent drop.

Какие метрики смотреть на дашборде за 30 дней?

Cost per closed, p50/p95 диалога, доля hit cap, share L2 и turns_to_resolve рядом с CSAT — иначе оптимизация только по $ роняет качество.