【Phistory】把 Claude Code 和 Codex 这一年的系统提示词全扒下来了,每小时自动追新,能看版本 diff

本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容: 我的帖子已经打上 开源推广 标签: 是 我的开源项目完整开源,无未开源部分: 是 我的开源项目已链接认可 LINUX DO 社区: 是 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是 以上选择我承诺是永久有效的,接受社...
【Phistory】把 Claude Code 和 Codex 这一年的系统提示词全扒下来了,每小时自动追新,能看版本 diff
Phistory】把 Claude Code 和 Codex 这一年的系统提示词全扒下来了,每小时自动追新,能看版本 diff
本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:
  • 我的帖子已经打上 开源推广 标签:
  • 我的开源项目完整开源,无未开源部分:
  • 我的开源项目已链接认可 LINUX DO 社区:
  • 我帖子内的项目介绍,AI生成、润色内容部分已截图发出:
  • 以上选择我承诺是永久有效的,接受社区和佬友监督:

以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出

起因

前段时间想看 Claude Code 某个版本的系统提示词,想搞清楚它内部到底是怎么用。

对 LLM 应用来说,prompt 才是它真正的"源代码。 传统软件你可以读源码、看 git history、追产品演化;但 AI 工具的灵魂是 prompt,而都把这个迭代过程藏在闭源服务里。你用着它、被它影响着、产品行为变了也只能猜。

调研了一下,Google 第一个就给我蹦出来 badlogic/cchistory——一个专门干这事的小工具,作者 Mario Zechner 还写了篇很出名的博客介绍他怎么 monkey-patch fetch 拦截请求的,思路非常野。

但是现在发现这个项目挂了老久了,因为 Claude Code 早就换成了 Bun native binary, 导致原始的方法失效了。issue 有人反馈作者也没更新。

那干脆自己做一个,做完之后就不止 Claude Code 了,Codex、Kimi CLI、OpenClaw、Hermes、opencode、Pi Agent… 一年里冒出来一堆 Agent CLI,每个都有几十上百版迭代,现在都能像 git log 一样能看提示词历史了。

Anthropic、OpenAI 养着团队专门打磨这个的这个提示词,他们通过各种各样的 Agent 测评,迭代上百版,每版都被几百万人用过。现在 phistory 把这些迭代全摆出来,想抄就抄,想看工具描述怎么写就直接翻,也等于免费 SOTA 教材了哈哈哈

Phistory 干啥的

仓库:https://github.com/WEIFENG2333/phistory

网站:phistory.cc

github.com

GitHub - WEIFENG2333/phistory: Phistory automatically archives versioned system...

Phistory automatically archives versioned system prompt snapshots from agent CLIs like Claude Code, Codex, OpenClaw, and Hermes.

image

Phistory 归档的各个 Coding Agent 的系统提示词和工具参数,并且每小时 Github Action 会自动跑一遍 7 个 Agent CLI 的最新版,抓出它们发给模型的提示词,存进 git 仓库,自动构建可对比 diff 的网站。

目前覆盖:Claude Code、Codex CLI、OpenClaw、Hermes、Kimi、opencode、Pi。已经攒了 100+ 个 Claude Code 版本、47+ 个 Codex 版本,几乎涵盖了各个 CLI 的所有发布版本。并且每个版本原始抓取记录和系统提示词都会存到 Github 仓库里面。

自动化:交给 GitHub Actions 就好

抓的部分搞定后,剩下的就是自动化。

image

.github/workflows/capture.yml 每小时跑一次。系统完全无人值守。跑真正的 latest capture、生成 README.md、GitHub Pages 自动部署,phistory.cc 就这么自己更新着。

一开始我担心 GitHub Action 的免费额度顶不住。后来算了一下,每小时跑一次,每次只抓"latest"(如果已抓过就跳过),平均一天就执行几分钟,离月度上限远得很。

看到了啥

在此分享。两个我使用过程中看到了一些小例子吧,更多的大家一起去看吧。

一、Opus 4.7 爱加超长注释的坏毛病

最近用 Claude Opus 4.7 的应该都有感受:模型本身确实爱写注释,时不时给你来一段多行 docstring,或者在每个函数前面解释一遍代码在干什么。

但你在 phistory 上 diff 2.1.110 → 2.1.111 这一刀,会看到一个挺意外的发现——Anthropic 在切换 Opus 4.7 的同一个版本里,一口气加了 4 条对抗注释的规则:

diff 2.1.110 → 2.1.111


+ 默认不写注释。只在"为什么"不显然时才加一条——比如某个隐藏的约束、某个微妙的不变量、为绕开某个特定 bug 而做的 workaround、或者会让读者感到意外的行为。如果删掉这条注释不会让未来的读者困惑,那就别写。

+ 不要解释代码"做什么"——命名良好的标识符已经在做这件事了。也不要在注释里引用当前任务、修复、或调用方(比如 "used by X"、"added for the Y flow"、"handles the case from issue #123")——这些信息属于 PR 描述,会随着代码库演进而过时腐朽。

+ 永远不要写多段 docstring 或多行注释块——最多一行简短的。

+ 不要主动创建规划、决策或分析类的文档,除非用户明确要求——基于对话上下文工作,不要依赖中间产物文件。

同一个 diff 里你还能看到模型 ID 从 claude-opus-4-6 改成了 claude-opus-4-7。

Anthropic 早就预判到 Opus 4.7 这个"坏习惯"了,所以模型升级和 prompt 收紧是配套上线的。光改模型不够,还得在 prompt 这一侧同时压住模型的输出倾向。

二、Claude Code 2.1.69:引入了 tool_search

2.1.69 之前,Claude Code 的 system prompt 长这样:所有内置工具(Bash、Read、Edit、Glob、Grep、Agent…)的完整描述都加载进 function call 里,每个工具几十上百行,加起来 800 多行——光内置工具就吃掉 14–16K tokens

2.1.68 → 2.1.69 变更 可以看到,这一版,diff 出来直接砍掉 800 多行!!

2.1.68 → 2.1.69 变更

整段长长的工具描述被换成了一个小框:

<available-deferred-tools>
Agent
AskUserQuestion
Bash
Edit
Glob
Grep
...
</available-deferred-tools>

他们把所有的工具都删掉了,仅仅保留了一个 tool_search 工具。完整的工具定义全部 deferred,要用的时候模型自己调 tool_search 按需加载。

内置工具的上下文占用从 14–16K 直接掉到 968 tokens。但 release notes 里一个字没提。不过后来,Anthropic 可能也意识到这种效果,全部一刀砍的效果也不太好,最终也只是挑选了部分工具进行渐进式加载。

三、Codex 的 /goal:表面是个 slash 命令,底下是三个新工具

OpenAI 最近上的 /goal 命令挺火。你给它一个长期目标,它能跨小时跨天连续干。但 phistory 抓到的 最新版本 trace 里能看到,/goal 不仅仅是个 slash 命令,是底下三个新增的工具

  • create_goal —— 启动一个 goal

  • update_goal —— 改 goal 状态(complete / blocked)

  • get_goal —— 查当前进度、token 预算、剩余预算

真正有意思的是 update_goal 的工具描述里那段"防摆烂条款"。原文截一段翻译过来:

  • 不能因为活儿难、慢、有不确定性就标 blocked

  • 必须同一个阻塞条件连续重复 3 次,才能标 blocked

  • 不能因为 token 预算快烧完了,就偷偷把 goal 标成 complete 让自己提前下班

  • 不能用这个工具自己暂停、恢复、改预算

读这段你能直接脑补出 OpenAI 内部踩过哪些坑。

一定有过 Codex 一遇到难题就摆烂报 blocked、用户花钱跑了半天什么都没拿到;一定有过 Codex 看预算快没了就偷偷自己把任务标 complete 蒙混过关。这些事一旦发生过,就变成了 prompt 里这种措辞。

还有 OpenClaw、OpenCode 等等这些的变化就不一一列举了,反正都是一个值得学习 Agent 的一个好去处。

通过这种变更记录的更改,也知道在实际 OpenAI、Anthropic 在开发 Agent 时,观察用户实际会遇到什么问题。什么阻碍,针对性进行调整。确实学到很多东西。

如果你看完觉得 phistory 有用,欢迎去 GitHub 拍个 star~

3 个帖子 - 3 位参与者

阅读完整话题

来源: LinuxDo 最新话题查看原文