Платформа метит каждый вызов модели — кто, на что и сколько потратил, — чтобы показать расход и держать бюджет. Учёт сквозной: один денежный агрегат по моделям плюс привязка токенов к людям из журналов. Деньги считаются по моделям и по компании; по людям — пока в токенах.
Экран показывает четыре среза; у каждого — свой источник, единица и охват. Один контур учёта, четыре проекции.
| Срез | Источник | Единица | Охват |
|---|---|---|---|
| Итого по компании | model_usage · SUM за период |
токены + $ | все функции |
| По сотрудникам | журналы: messages · agent_runs |
токены | чат + агенты |
| По моделям | model_usage · по модели · функции |
$ (вход / выход) | все функции |
| Лимиты | platform_settings |
токены · $ | потолки + оповещение |
Расход пишется в два места не от дублирования, а потому что они отвечают на разные вопросы.
cost по модели · функции · днюmessages.tokens_used; агенты — agent_runs.tokens_usedSUM из журналов, без счётчикаПересекаются по чату и агентам, но агрегат шире: он ловит индексацию и поиск, которые к человеку не привязать. Поэтому «итого по компании» ≠ сумме по людям. Деньги на человека требуют разнести цену вход/выход по каждому сообщению и прогону — это v2.
Панорама за неделю, месяц и год — это одна и та же таблица под разным окном.
SUM по
model_usage за календарное окно (неделя · месяц · год),
не отдельная таблица-счётчик. Тот же приём, что у
бюджета агентов — «бюджет производный».
ai_monthly_budget):
месячная плитка «итого» сверяется с ним, при достижении —
уведомление типа Budget, запросы не блокируются.
user_usage при росте нагрузки.