瑞幸Skill实测:点一杯咖啡需要消耗多少Token
上篇《瑞幸 skill 引发的一些思考》发布后,评论区有读者追问:用 agent 点一杯咖啡,到底要烧掉多少 token 费用?
这个问题直击核心。之前那篇提到,agent 模式下每次对话都在消耗 token,流量不再是可无限摊薄的资产,它直接变成成本——但全文都在推演,没给一个具体数字。光讲逻辑不给数据,等于只讲了一半。
于是今天中午,真的让 Claude 帮我点了一杯。先看结果:6 分 29 秒拿到取餐码,咖啡实际支付 12.75 元;这次会话消耗了 136 万 token,按 API 价格折算约 10.8 元。
一杯 12 块 7 的拿铁,背后站着一张 10 块 8 的 token 账单。过程和费用清晰可查,但这篇文章真正想做的,是把这组数字接回上篇的几个关键论断。
先完成点单
瑞幸的 My Coffee Skill 部署在其 AI 开放平台上,是一个 9.9KB 的压缩包,解压到 Claude Code 的 skills 目录即可完成安装。包里只有四个文件,没有一行可执行代码——整个 SKILL.md 就是一份写给 agent 的操作手册:用 curl 调用瑞幸的 MCP 网关,八个接口,下单前必须与用户确认哪些信息,什么情况下必须中断向用户请示。CHANGELOG 显示它从 4 月下旬至今迭代了 23 个版本,前天还在更新。
12:38,在干净目录下启动一个会话(Opus 4.8),输入"帮我点一杯咖啡"。几个值得记录的关键节点:
它首先检查本地是否存在登录凭证——有,跳过。然后询问我的位置,位置不确定时它不会自行猜测,直接追问,这是 SKILL.md 中写死的规则。报出公司附近的商圈后,它列出 5 家营业中的门店,我指定了常去的那家。
我说"大杯 深烘拿铁 冰",它搜索商品发现默认是热饮,接着查询属性、切换规格——这一步耗时约 70 秒,切换"冰"的接口参数连续两次返回"非法参数",第三次才成功。这是全程唯一的卡顿。
随后弹出一张确认卡片:深烘拿铁 · 大杯 · 冰,预估 ¥12.75,原价 ¥17,优惠券自动抵扣了 4.25 元(skill 里强制规定:预览接口返回的优惠券必须原样带入下单接口)。我回复"下单",它核价、生成订单,终端输出支付链接,手机扫码付款,再回复"已支付"——取餐码 688,预计 12:57 完成。准时出餐。
整段对话的回放如下方截图所示。这张截图也是通过 CCStats 桌面端导出的:在会话视图中选中消息,即可直接导出为分享图,敏感信息已打码处理。
从体验角度说,确实比手动打开 app 慢——熟练用户一分钟能完成的事,它花了六分半。这中间它完成的工作:确认位置、选择门店、核对饮品、确认订单、扫码付款,以及让我点了十几次 curl 权限的"允许"。
回答评论区的问题
会话结束后,cc-stats 针对实验目录生成了上面这份报告:10 轮对话,22 次 API 调用,input 18K、output 14K、cache write 71.6K、cache read 1.27M,缓存命中率 98.6%。
127 万的 cache read 是费用主体,这就是 agentic loop 的结构:每一轮调用都携带全量上下文,系统提示、19KB 的瑞幸操作手册、不断累积的对话和接口返回结果,一个都不能少。上下文从 43K 一路增长到 74K,22 轮下来输入侧累计 136 万 token,好在 98.6% 走了缓存,按原价的十分之一计费。
按 Opus 4.8 的单价(input $5/M、output $25/M、cache write $6.25/M、cache read $0.5/M)合计 $1.52,按汇率 7.1 换算约 10.8 元。咖啡 12.75 元,这一单的 AI 服务费率 85%。
三个对比基准,比单个数字更有分析价值:
第一,如果没有 prompt cache,136 万输入全部按原价计算,整单费用 $7.16,约 51 元,是咖啡价格的四倍。缓存把成本压缩了近八成。
第二,同样的用量切换不同模型折算:Haiku 4.5 约 2.2 元,Sonnet 4.6 约 6.5 元,Opus 4.8 约 10.8 元,Fable 5 约 28 元(单价翻倍,新分词器还多消耗三成 token)——比咖啡本身贵出一倍。点咖啡这个任务所需的智能水平,Haiku 大概率就足够了。
第三,从订阅用户角度看,这 10.8 元是按 API 价格折算的,实际上包含在月费里。订阅制用户点咖啡没有额外感知,按量付费的 API 用户才会在账单上明确看到这笔开销。
这些数字如何采集
文中的 token 用量、缓存命中率、费用折算,以及那张会话回放图,均来自 cc-stats——一个 AI 编码会话统计工具(GitHub:github.com/androidZzT/cc-statistics),日常用它查看自己在 Claude Code 上消耗了多少 token、完成了多少工作。
CLI 安装后,对任意项目目录运行一行命令:
pipx install cc-statistics
cc-stats ~/Claude/luckin-test
即可得到文中所呈现的报告:对话轮次、工具调用分布、token 消耗、缓存命中率、效率评分,兼容 Claude Code、Codex、Gemini CLI、Cursor 的会话数据。
桌面端 CCStats.app 支持直接浏览会话内容,选中几条消息导出为分享图——文中那张对话回放图就是这样导出的。此外日常使用较多的功能还包括额度预测和会话完成通知。
说说那个效率评分。cc-stats 为这次点咖啡会话打了 D(19/100),理由是消耗 1.4M token、零代码产出。它判断得没错,只是它不知道,这次的产品是在取餐台上。
最后
回到评论区那个问题:用 agent 点一杯咖啡,token 要花多少钱?
答案是:今天,用最顺手的配置,10 块 8;用最便宜的模型,2 块 2;订阅用户,0 元;第二杯,更少。
但这笔 token 费用买到的不仅仅是一杯拿铁。这次会话之后,登录凭证已经存在本地,常用门店、大杯深烘加冰、到店自提这些偏好都可以沉淀为它的规则——下一杯不需要从头开始询问。点单只是一个起点:等它同样掌握日程、通勤、会议习惯之后,一句"明早八点的航班"就能自动拆解成订车、点咖啡、机场自提。token 烧掉的是钱,换回来的是它对你的了解。了解积累得越厚,琐事占据你的时间就越少——这才是这笔钱真正交换的价值。
上篇说,agent 时代的流量不再能被摊薄,它本身就是成本。这杯咖啡,算是给那个判断标了一个具体的价。
- 上篇:《瑞幸 skill 引发的一些思考》
- cc-statistics:github.com/androidZzT/cc-statistics
- My Coffee Skill:open.lkcoffee.com/skill