diff --git a/docs/backlog.md b/docs/backlog.md index 4f0afea..774b757 100644 --- a/docs/backlog.md +++ b/docs/backlog.md @@ -121,32 +121,6 @@ qBittorrent — осознанный выход за инвариант «ист матча, провайдер-id), [«Улучшения UI: показывать матч»](#улучшения-ui-показывать-матч-с-записью-метабазы), пакет `httpapi`. -### Наблюдаемость: метрики и учёт стоимости LLM - -Сейчас единственное окно в систему — `slog`. Нет быстрых ответов на -вопросы «сколько задач висит в review», «сколько токенов и денег съело -распознавание», «какова медиана времени ingest → done». Нужны метрики: -эндпоинт `/metrics` (Prometheus-формат) со счётчиками загрузок по -состояниям, длительностями стадий и расходом LLM (токены/стоимость на -задачу). - -**Расход LLM уже снимается с провода** — `llm.openai` парсит `usage` -(prompt/completion/total tokens и `cost`, который отдаёт шлюз) в -`llm.Response.Usage` и пишет в лог. Не хватает только **персистентности и -отображения**: сохранять `usage` у попытки распознавания (`recognition`) и -показывать в карточке загрузки + агрегатом в `/metrics`. Где провайдер не -шлёт `cost` — считать из токенов по таблице «модель → цена» в конфиге. - -Отдельный LLM-прокси (LiteLLM и т.п.) для этого **не нужен** и противоречит -принципам «один бинарь» / «минимум компонентов»: подсчёт токенов уже в коде, -а роль мульти-модельного шлюза играет используемый OpenAI-совместимый -эндпоинт (он и возвращает `cost`); разные модели подключаются сменой -`[llm].model` или новым типом провайдера за интерфейсом `llm.Provider`. - -Связано: [architecture.md](specs/architecture.md) → «Логирование», -[recognition.md](specs/recognition.md) (провайдер LLM, `[llm].type`), -пакеты `worker`, `llm`, `httpapi`. - ### Ретеншн и очистка БД Терминальные задачи (`done`/`cancelled`/`failed`/`reverted`), их попытки @@ -231,9 +205,7 @@ qBittorrent, пул LLM-вызовов и запись в SQLite спроект [drafts/logical-title-model.md](drafts/logical-title-model.md) §5.4 (схема `state_transition`, actor `worker|human|reconcile`), [workflow.md](specs/workflow.md) (граф состояний), -[«Наблюдаемость: метрики»](#наблюдаемость-метрики-и-учёт-стоимости-llm) -(длительности стадий), [database.md](specs/database.md), пакеты `worker`, -`store`. +[database.md](specs/database.md), пакеты `worker`, `store`. ### Машина состояний на go-библиотеке