Запишите метаданные ответа
Для одного вызова первичны метаданные, возвращённые этим ответом: id, usage или стоимость только если соответствующее поле присутствует.
Не предполагается отдельный endpoint для агрегирования использования: внешний сборщик требует собственного опубликованного контракта.
Per-response request record
typescript
const requestRecord = {
model: selectedModel,
status: response.status,
responseId: responseBody.id,
usage: responseBody.usage ?? null,
receivedAt: new Date().toISOString(),
};
// Persist only usage fields actually returned by this response.Модель данных
- Разделяйте входные, выходные, кешированные и медиа-единицы, если они возвращены.
- Храните валюту и единицу измерения вместе с числом.
- Не суммируйте незавершённые фоновые задачи как окончательный расход.
Операционная картина
Стройте дашборд вокруг продукта: пользователи, сценарии, модели, ошибки и задержка. Это помогает найти изменение поведения раньше, чем один общий итог.
Ограничивайте доступ к usage данным теми же правилами, что и к финансовой или организационной информации.