Token Usage Tracking

Token Usage Tracking 是追踪每次 LLM 调用的输入和输出 token 消耗的机制。它是成本监控和优化的基础数据。

#type / concept #status / evergreen #tech / ai #tech / ops

[!info] related notes

Token Usage Tracking

一句话定义

Token Usage Tracking 是追踪每次 LLM 调用的输入和输出 token 消耗的机制。不追踪 token,就不知道钱花在哪里。

核心原理

追踪维度

维度说明用途
每次调用单次 LLM 调用的 token调试
每个 Run一次 Agent Run 的总 token任务成本
每个用户用户累计 token计费
每个模型不同模型的 token成本分析

Python 实现

class TokenTracker:
    def __init__(self, db):
        self.db = db

    async def record(self, usage: TokenUsage):
        await self.db.insert("token_usage", {
            "run_id": usage.run_id,
            "model": usage.model,
            "input_tokens": usage.input_tokens,
            "output_tokens": usage.output_tokens,
            "timestamp": datetime.now(),
        })

    async def get_user_total(self, user_id: str, period: str = "month") -> dict:
        return await self.db.query(f"""
            SELECT SUM(input_tokens) as input, SUM(output_tokens) as output
            FROM token_usage
            WHERE user_id = ? AND timestamp > NOW() - INTERVAL '{period}'
        """, user_id)

LLM 响应中的 token

# OpenAI
response.usage.prompt_tokens      # 输入 token
response.usage.completion_tokens  # 输出 token

# Anthropic
response.usage.input_tokens
response.usage.output_tokens

常见坑

  1. 不追踪: 不知道钱花在哪里
  2. 只追踪总量: 不知道哪个模型、哪个用户消耗最多
  3. 不归因: 不知道 token 消耗在哪个步骤

参考资料

创建于 2026/6/30 更新于 2026/7/15