单日 8 万亿 tokens:DeepSeek Flash 热度背后的用量、成本与可观测性

2026-08-04 46 预计阅读时间: 1 分钟
来源: oschina.net AI 摘要 Original link

Disclaimer: This article is an AI-assisted summary. Read it together with the original source when precision matters. The summary may omit context, version differences, or edge cases and is not official documentation.

预计阅读时间:9 分钟

OpenCode 公布的一组数字把 DeepSeek Flash 推上了热搜:8 月 1 日单日处理 8 万亿 tokens,其中 5 万亿来自免费使用,另外 3 万亿来自 OpenCode Go。相关帖子获得 79.8 万次浏览,随后出现了“DeepSeek 一天消耗了 8 万亿”的微博话题。

这个数字足够惊人,但对开发团队更有价值的问题不是“8 万亿有多大”,而是:tokens 如何统计、免费流量会怎样改变产品负载,以及 AI 编程工具该如何建立自己的用量账本。

8 万亿 tokens 代表流量,不等于 8 万亿次请求

Token 是模型处理文本的计量单位,一次请求通常同时包含输入和输出:

total_tokens = input_tokens + output_tokens

AI 编程工具的输入可能包括系统提示词、用户指令、当前文件、相关代码、对话历史以及工具执行结果。一次看似简单的“修复这个函数”,经过多轮检索、生成和验证后,累计 token 数可能远高于用户直接输入的文本。

因此,8 万亿 tokens 不能直接推导出用户数、请求数或生成了多少行代码。缺少平均上下文长度、平均输出长度、重试率、缓存命中率和活跃用户数时,下面这些结论都不能从总量单独得出:

  • 有多少独立开发者使用了服务;
  • 每个用户发起了多少任务;
  • 推理成本和服务利润是多少;
  • 流量中有多少来自自动重试或 Agent 循环;
  • 统计口径是否包含缓存读取、工具结果和内部请求。

标题中的“消耗”也容易让人误解。对工程系统而言,这更接近模型处理量,而不是可以直接换算为某个固定金额的资源账单。

5 万亿免费用量,暴露的是容量设计问题

根据 OpenCode 公布的数据,8 万亿 tokens 中有 5 万亿来自免费使用,3 万亿来自 OpenCode Go。免费部分占总量的 62.5%。这说明至少在该统计日,免费入口承担了主要流量。

免费套餐能快速降低试用门槛,但它也会把压力传递到整个调用链:API 网关需要处理突发请求,调度器需要限制并发,模型服务需要维持吞吐,产品侧还要识别脚本滥用、无限循环和异常重试。

对于 Agent 型编程工具,只限制“每天可发送多少条消息”通常不够。一个任务可能触发多次模型调用,因此更实用的控制维度包括:

  • 每分钟请求数与并发任务数;
  • 每日输入、输出及总 token 配额;
  • 单次请求的最大上下文和最大输出;
  • 单个 Agent 任务允许的最大步骤数;
  • 超时、重试次数和重复请求去重;
  • 免费、付费与内部流量的独立标签。

这些指标能区分“用户增长”和“单个工作流失控”。两者在总 token 曲线上可能看起来完全相同,处理方式却截然不同。

可以这样实践:建立一份可审计的 token 账本

来源没有给出 OpenCode 或 DeepSeek Flash 的具体计费 API。下面是一个可改造的通用示例,假设模型响应中已经包含 usage.prompt_tokensusage.completion_tokens。脚本只使用 Python 标准库,可以直接运行。

将以下内容保存为 token_ledger.py,然后执行 python token_ledger.py

from collections import defaultdict
from datetime import datetime, timezone
import json

responses = [
    {
        "plan": "free",
        "model": "deepseek-flash",
        "usage": {"prompt_tokens": 12000, "completion_tokens": 1800},
    },
    {
        "plan": "go",
        "model": "deepseek-flash",
        "usage": {"prompt_tokens": 8400, "completion_tokens": 2200},
    },
    {
        "plan": "free",
        "model": "deepseek-flash",
        "usage": {"prompt_tokens": 15600, "completion_tokens": 3100},
    },
]

ledger = defaultdict(lambda: {"requests": 0, "input": 0, "output": 0})

for response in responses:
    usage = response["usage"]
    key = (response["plan"], response["model"])
    ledger[key]["requests"] += 1
    ledger[key]["input"] += usage["prompt_tokens"]
    ledger[key]["output"] += usage["completion_tokens"]

report = {
    "generated_at": datetime.now(timezone.utc).isoformat(),
    "groups": [],
}

for (plan, model), values in sorted(ledger.items()):
    report["groups"].append(
        {
            "plan": plan,
            "model": model,
            **values,
            "total": values["input"] + values["output"],
        }
    )

print(json.dumps(report, ensure_ascii=False, indent=2))

接入真实服务时,应把示例中的 responses 替换为 API 返回值,并额外记录 request_id、租户、任务类型、缓存状态、延迟和错误码。不要记录完整提示词或源代码,除非已经获得授权并设置了严格的保存周期与访问控制。

如果服务端提供 Prometheus 指标,可以进一步按套餐和模型累计 token:

ai_tokens_total{plan="free",model="deepseek-flash",direction="input"} 27600
ai_tokens_total{plan="free",model="deepseek-flash",direction="output"} 4900
ai_tokens_total{plan="go",model="deepseek-flash",direction="input"} 8400
ai_tokens_total{plan="go",model="deepseek-flash",direction="output"} 2200

标签必须保持低基数。不要把用户 ID、请求 ID 或仓库名放进 Prometheus 标签,否则监控系统自身可能先被时间序列数量拖垮。这些明细更适合写入日志、数据仓库或专门的计量系统。

从热搜数字回到工程决策

单日 8 万亿 tokens 展示了 AI 编程工具可能形成的巨大模型流量,也提醒团队不要只盯着订阅价格或消息条数。OpenCode 的数据属于一家工具在特定日期公布的统计,不能直接代表 DeepSeek 的全部平台流量,也不应被外推为整个市场规模。

准备接入类似模型时,可以用下面的清单做上线检查:

  • 明确输入、输出、缓存和重试是否计入 token;
  • 分开统计免费、付费、测试与内部流量;
  • 给 Agent 设置步骤、并发、时间和 token 上限;
  • 对异常增长按用户、版本、任务类型和模型拆分;
  • 在保存提示词、代码和遥测数据前完成隐私评估;
  • 用真实工作负载压测,不用单次聊天请求代替 Agent 场景。

8 万亿是传播力很强的数字,但成熟的工程判断要继续追问统计口径、流量结构和单位任务效率。真正值得长期优化的指标,不只是一天处理了多少 tokens,而是每百万 tokens 完成了多少有效任务。


相关推荐