网易首页 > 网易号 > 正文 申请入驻

一个字的提示词,先烧掉两万token:四款编程CLI基线实测

0
分享至

在空仓库里敲下一个"ping",模型还没开始干活,账单已经先跑起来了。OpenAI 的 codex exec --json 文档里给了一行示例:24,763 个输入 token,其中 24,448 个命中缓存,输出只有 122 个 token。文档没说这行示例背后是什么提示词。不管它是什么,模型大约每写一个 token,就要先读进去 200 个。


这不是个例。每个编程 agent 的命令行工具,在你的任务开口之前,都会先发一段前缀:它自己的系统提示词、内置工具的定义、你配置的 MCP 服务器的工具、以及它沿途找到的每一个指令文件。新会话会重发这段前缀,CI 里的每一次无头运行也会。

所以别抄任何人的数字,包括上面那两行。前缀会随 CLI 版本、模型、你的全局配置和启动目录一起变。要测就自己测:用一个单词的提示词,分别跑 Claude Code、Codex、GitHub Copilot CLI 和 OpenCode,然后再加一个 MCP 服务器和一个 AGENTS.md 跑一遍。表里的每个数字都该来自你自己的机器。

前缀里到底装了什么

系统提示词和内置工具归厂商管,MCP 服务器和指令文件归你管。这两类东西在不同 CLI 里的行为并不一致。

Claude Code 默认推迟加载 MCP 工具定义,其 MCP 文档的说法是"会话启动时只加载工具名和服务器说明"。OpenCode 的文档则给出相反的警告:一个 MCP 服务器"会增加上下文",有些服务器比如 GitHub MCP server"往往会加进大量 token"。Copilot CLI 内置了 GitHub MCP 服务器。Codex 的 MCP 页面没有说明是否推迟加载——这又多了一个必须实测的理由。

指令文件是"空"提示词不再空的地方。每个 CLI 读的文件都比它自己的多:没有全局 OpenCode 文件时,你个人的 ~/.claude/CLAUDE.md 也会跟着进 OpenCode;仓库里的 CLAUDE.md 除了进 Claude,也会落进 Copilot CLI 的前缀。

第一轮:一个词,四个 CLI

先在一个空的 git 仓库里开始,免得项目文件混进来。全局文件仍然会加载,这正是重点:这就是你今天要付的基线。Claude Code 和 OpenCode 还会搜索父目录,所以确认 ~ 和 ~/tmp 下没有 CLAUDE.md 或 AGENTS.md;Codex 到 git 根目录就停。

Claude Code 用 --output-format json 会返回 usage、total_cost_usd 和按模型拆分的 modelUsage。这个成本是客户端估算,不是你的账单。读 usage 时要注意:在 Anthropic 的 usage 对象里,input_tokens 只统计最后一个缓存断点之后的部分,完整输入是 input_tokens、cache_creation_input_tokens、cache_read_input_tokens 三项之和。只看 input_tokens,基线会显得很小。另外检查 .num_turns:如果 agent 为了回答 ping 跑了一次工具,usage 就覆盖了不止一次模型请求,前缀会被重复计入。想要一个不含 hooks、插件、MCP 服务器和 CLAUDE.md 的下限,加 --bare,但它需要 ANTHROPIC_API_KEY,因为 bare 模式会跳过订阅登录。

Codex 的 codex exec --json 输出 JSONL,turn.completed 事件里带 input_tokens、cached_input_tokens、output_tokens 和 reasoning_output_tokens。这里缓存数包含在输入数里:OpenAI 的缓存说明是从 input 里减去 cached 得到未缓存部分。所以只要这一轮只调了一次模型,input_tokens 就是你的前缀加那个单词。

Copilot CLI 的编程参考文档写了 --output-format json,但没写 usage 字段。它的 -s 标志会抑制统计,所以别加,统计会在回复后打印。GitHub 的更新日志说 /usage 和会话结束时打印的摘要都包含"按模型拆分的 token 用量"。想看分层拆分,启动 copilot 输入 /context,它会分别列出 System Prompt、Custom Instructions、System Tools、MCP Tools 和 Messages。

OpenCode 的 opencode run --format json 输出原始 JSON 事件,每一步的 token 记为 input、output、reasoning 和 cache.read/cache.write。在一个提交到 OpenCode 追踪器的会话里,存储的步骤显示 input 209、cache read 18,944,所以要把缓存字段加到 input 上。如果 step_finish 什么都没打印,你可能在用 v2 构建,它不会把 step_finish 送到 stdout;改用 opencode stats --days 1 从存储的会话里读用量。

每条命令在几分钟内跑两次。第一次倾向于把前缀写进缓存,第二次读回来。在 Claude 模型上,缓存读取按输入费率的 0.1 倍或更低计费,所以冷的首次会话比热的重复会话更贵。

第二轮:一个 MCP 服务器加一个 AGENTS.md

现在加上大多数仓库最先长出来的两样东西。MCP 服务器用参考实现"everything"服务器,它的 README 自称"面向 MCP 客户端构建者的测试服务器"。记忆文件写一个简短的 AGENTS.md,更好的做法是从工作仓库里拷一个。在这个仓库里四个 CLI 都会读它,因为这里和上层都没有 CLAUDE.md(Claude Code 需要 v2.1.277 或更高版本才支持这一点)。

Claude Code 这边,默认推迟加载的情况下跑一次,再用 ENABLE_TOOL_SEARCH=false 让所有 MCP 工具提前加载跑一次,两个文件的差值就是一个服务器的工具定义在每次新会话里的价格。Codex 用 codex mcp add 注册服务器后重跑第一轮命令,完事把 [mcp_servers.everything] 从 ~/.codex/config.toml 删掉。Copilot CLI 用 /mcp add 添加,或在 ~/.copilot/mcp-config.json 里放同样的 mcpServers 块并标 "type": "local",重跑后看 /context 里 MCP Tools 那一行变大。OpenCode 把服务器写进仓库的 opencode.json 再重跑。

把差值换算成钱

第一轮和第二轮之间的差距,就是一个 MCP 服务器加一个记忆文件给每次会话启动增加的量。按你账单的方式乘:前缀 token 数,乘以每天的新会话数,乘以模型的输入或缓存写入费率,再加上之后每一次重发前缀的轮次的缓存读取。无头运行要算,并行 agent 也要算。Claude Code 的文档说 agent-team 的队友会"自动加载 CLAUDE.md、MCP 服务器和技能"。

怎么变成钱取决于套餐。在 Claude Pro 或 Max 订阅上,/usage 里的美元数字"与计费无关",但 token 仍然消耗你的套餐额度。Copilot 的套餐在 2026 年 6 月 1 日转向 GitHub AI Credits,"根据 token 消耗计算,包括输入、输出和缓存 token";年度 Pro 和 Pro+ 套餐在到期前仍走 premium requests。用 API key 的话,每个 token 都计费。

如果差值让你意外,修法很无聊:把特定工作流的指令从 CLAUDE.md 挪到按需加载的技能里,把 CLAUDE.md 控制在 200 行以内;关掉不用的 MCP 服务器;检查全局文件,因为它们会跟着进每一个仓库。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
尤丽霞已任山西省委常委

尤丽霞已任山西省委常委

新京报政事儿
2026-10-17 20:14:06
从“政府来养老”到“第一责任人”:谁在自力更生,谁在稳享保障?

从“政府来养老”到“第一责任人”:谁在自力更生,谁在稳享保障?

马小白
2026-10-17 17:04:07
广西大学深夜发布情况通报

广西大学深夜发布情况通报

政知新媒体
2026-10-18 07:11:59
足坛一夜动态:曼城创129年神迹,拜仁造6-1惨案,巴萨豪取11连胜

足坛一夜动态:曼城创129年神迹,拜仁造6-1惨案,巴萨豪取11连胜

钉钉陌上花开
2026-10-18 02:43:48
恩断义绝!金正恩治下的朝鲜发生大变化,金与正发表前所未有谈话

恩断义绝!金正恩治下的朝鲜发生大变化,金与正发表前所未有谈话

张嘴说财经
2026-10-16 21:20:32
成都打人宝妈后续凄惨:曝婚姻破裂,家人冷漠,本人摆烂害了孩子

成都打人宝妈后续凄惨:曝婚姻破裂,家人冷漠,本人摆烂害了孩子

青梅侃史啊
2026-10-17 07:08:43
广西大学通报一学生死亡:警方初步认定为高坠死亡,排除刑事案件

广西大学通报一学生死亡:警方初步认定为高坠死亡,排除刑事案件

澎湃新闻
2026-10-18 00:26:03
怕被中方拒之门外,高市早苗参加APEC峰会前,先给自己留好退路

怕被中方拒之门外,高市早苗参加APEC峰会前,先给自己留好退路

梁伫爱玩车
2026-10-17 20:36:29
经济日报评刹车门的文章何其荒唐

经济日报评刹车门的文章何其荒唐

凤眼论
2026-10-17 19:39:50
不出意外,2027年开始,按摩店、足疗店、洗浴店将迎来“大洗牌”

不出意外,2027年开始,按摩店、足疗店、洗浴店将迎来“大洗牌”

白米饭怎么吃
2026-10-17 22:42:33
园长判了无期,那些篡改检测数据的官员呢?

园长判了无期,那些篡改检测数据的官员呢?

走读新生
2026-10-17 01:00:18
为特朗普清道,为普京安排骑行,为黄仁勋等嘉宾腾出深南大道:深圳APEC会议周,整座城市进入“高级礼宾待客状态”

为特朗普清道,为普京安排骑行,为黄仁勋等嘉宾腾出深南大道:深圳APEC会议周,整座城市进入“高级礼宾待客状态”

谈史论今1
2026-10-17 17:07:50
疯抢iPhone:霍尔木茨海峡沉没的集装箱船成为渔民的狂欢节!

疯抢iPhone:霍尔木茨海峡沉没的集装箱船成为渔民的狂欢节!

胜研集
2026-10-17 20:16:53
泽连斯基警告欧盟:若战败,2000万乌克兰难民将涌入欧洲

泽连斯基警告欧盟:若战败,2000万乌克兰难民将涌入欧洲

参考消息
2026-10-17 16:26:16
学历贬值,日本的剧本已经演完了,我们几乎在逐页重演

学历贬值,日本的剧本已经演完了,我们几乎在逐页重演

起点人文
2026-10-15 13:07:03
袁腾飞事件的启示,理性看待中外差距,不妄自菲薄也不盲目吹捧

袁腾飞事件的启示,理性看待中外差距,不妄自菲薄也不盲目吹捧

完善法
2026-10-17 04:07:49
中国历史和世界历史放在一起看,能有多割裂?网友:我曾经看过一张清朝老照片里面人穿匡威

中国历史和世界历史放在一起看,能有多割裂?网友:我曾经看过一张清朝老照片里面人穿匡威

解读热点事件
2026-10-14 18:00:09
独生女因病离世,同居十余年男友以“女婿”身份为其母养老送终,老人身故后外甥女诉请代位继承500万元遗产,法院判决

独生女因病离世,同居十余年男友以“女婿”身份为其母养老送终,老人身故后外甥女诉请代位继承500万元遗产,法院判决

环球网资讯
2026-10-17 10:46:10
男子因诈骗羁押服刑七年 出狱后发现账户数十万资金仅剩6.43元 警方立案侦查

男子因诈骗羁押服刑七年 出狱后发现账户数十万资金仅剩6.43元 警方立案侦查

红星新闻
2026-10-17 15:35:24
尴尬!一孕妇吐槽怀孕无法抬桶装水,办公室女同事就忍一天不喝水,网友:还有人相信全女公司能正常运转吗

尴尬!一孕妇吐槽怀孕无法抬桶装水,办公室女同事就忍一天不喝水,网友:还有人相信全女公司能正常运转吗

火山詩话
2026-10-17 09:11:17
2026-10-18 09:39:00
像素与芯片
像素与芯片
有态度网友ytd
211文章数 80关注度
往期回顾 全部

科技要闻

刘煜辉:99%的黄金分析师报告一钱不值

头条要闻

女生科目三没过出来发现教练走了 跟其语音听到麻将声

头条要闻

女生科目三没过出来发现教练走了 跟其语音听到麻将声

体育要闻

升级版杨瀚森再闯难关:当上开拓者第三中锋还得拼

娱乐要闻

李连杰回应抛妻弃女传闻,透露四个女儿关系

财经要闻

马斯克:美债问题只能靠AI和机器人解决

汽车要闻

星瑞L PLUS限时售价10.97万元起 开启智混3L时代

态度原创

旅游
本地
家居
游戏
公开课

旅游要闻

隰县小西天景区闭园公告

本地新闻

因新荣记出圈,这座浙东小城才是吃货天堂

家居要闻

2026建博会(广州) 公装联探展交流活动

《幽灵线:东京》已加入GOG保存计划 取消服务集成

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版