SyFI TraceLab
数据助手
正在读取公开 SYFI 数据池
覆盖 Claude 和 Codex 的 357,161 个智能体步骤,可公开分享。
答案会在沙箱中运行真实 DuckDB/Python,并展示代码
全部图表
会话
一段连续的工作记录,通常包含多个请求或问题。
请求
从一次用户输入到智能体最终响应的完整过程。
智能体步骤
请求内部的一次模型调用。
用户触发步骤
由用户输入启动的智能体步骤。
工具触发步骤
由工具结果启动的智能体步骤。
问题

一个编码会话 / 请求 / 步骤花费多少,钱又都花到哪里去了?

计算 tab:cost_distributionsrc/04_SessionContext.tex)背后的 USD 成本分布。对每种粒度(按会话、按请求、按步骤)以及每个计费类别,论文表格报告成本的 avg / p50 / p90 / p99 以及该类别在总支出中的占比(脚本还会把底层的 token 分布,含 p25,打印到 stdout):

  • 追加 token —— newly_append_tokens,按新鲜输入费率计费。
  • 前缀 token —— prefix_tokens,按缓存读取费率计费。
  • 输出 token —— output_tokens(包含推理),按输出费率计费。
  • 总计 —— 上述三者之和。
表格

Per session

MetricAvgP50P90P99% cost
Total$9.36$0.59$13.2$172
Append tokens$2.50$0.21$3.33$40.226.7%
Prefix tokens$5.77$0.17$7.55$11161.7%
Output tokens$1.09$0.16$1.92$16.911.6%

Per request

MetricAvgP50P90P99% cost
Total$0.97$0.32$2.35$8.94
Append tokens$0.25$0.03$0.68$3.2226.7%
Prefix tokens$0.60$0.16$1.35$6.5161.7%
Output tokens$0.11$0.03$0.29$1.0811.6%

Per step

MetricAvgP50P90P99% cost
Total$0.11$0.07$0.20$0.67
Append tokens$0.03$0.00$0.03$0.6226.7%
Prefix tokens$0.07$0.05$0.12$0.4161.7%
Output tokens$0.01$0.01$0.03$0.1211.6%
表 1按类别划分的每会话、每请求、每步骤成本(USD);% cost 为各类别占总支出的份额。

对一个编码智能体而言,账单是由重新读取上下文主导的,而不是由生成主导(论文的 tab:cost_distribution)。即便缓存前缀 token 的计费费率大约只有新鲜输入费率的十分之一,它们仍占总支出的 59.5%——纯属体量,因为不断累积的上下文在每个步骤上都被重放——相比之下追加/新鲜输入为 29.2%,而输出仅为 11.2%。尽管输出的每 token 价格很高,但它在总量上很便宜,因为每个步骤发出的 token 太少。绝对成本在中位数处是适度的($0.61/会话,$0.33/请求,$0.07/步骤),但带有沉重的尾部:平均每个会话为 $9.70,p99 达到 $178,少数极长的会话驱动了大部分支出。这与「生成才是昂贵部分」的通常直觉恰好相反。

参考
定义
  • 成本使用单一来源的价格表 artifacts/utils/pricing.json,经由 web_analytics/pricing.pyprice_for → 按模型做精确/family 解析;round_cost → 追加按输入/缓存写入费率、前缀按缓存读取费率、输出按输出费率——与网页 dashboard 所用的同一套计费)。模型没有价格的轮次为未计价并被排除;99.1% 的轮次已计价(其余是 codex:codex-auto-review / null-model 的行)。覆盖率会被打印出来。
  • 请求 —— 一个用户轮次,经由与 human_in_the_loop/user_turn_decomposition 相同的轮次状态机(39,202 个轮次,与 user_turn_response_timesession_internal_counts 一致)。步骤 —— 一个 LLM 轮次。会话 —— 一个 session_id
运行方式
uv run python artifacts/session/session_cost_distribution/analyze.py -i trace/syfi_coding_trace.jsonl
uv run python artifacts/session/session_cost_distribution/analyze.py            # default merged trace
输出
  • session_cost_distribution.tex —— 合并后的单列成本表(Avg / P50 / P90 / P99
    • % cost),用于论文。
  • session_cost_distribution.md —— 该表格的 GFM Markdown 镜像,渲染在网页详情页上。
  • headline.json —— 用于 Overview gallery 卡片的几个 headline 数字。
  • stdout —— 合并 + 按提供商(Claude / Codex)的 token 与成本分位数,以及 追加 / 前缀 / 输出的成本构成。
关键数字(公开数据,列表价截至 2026-06)
  • 成本构成:前缀/缓存 59.5%,追加/新鲜输入 29.2%,输出 11.2%。 尽管有约 ~10× 的缓存读取折扣,缓存输入仍纯粹靠体量主导了支出。
  • 平均成本:$9.70 / 会话$1.01 / 请求$0.11 / 步骤;中位数则低得多 ($0.61 / $0.33 / $0.074),并带有沉重的会话尾部(p99 = $178)。

无图。

SyFI TraceLab · 实验详情