乐于分享
好东西不私藏

我扒了三大顶级 AI 编程软件的底层 Prompt,发现它们的性格差异大到离谱

我扒了三大顶级 AI 编程软件的底层 Prompt,发现它们的性格差异大到离谱

最近,通过对底层 System Prompts 的深度分析,我梳理了当前最主流的几款 AI 编程助手的核心设计逻辑。不看不知道,一看吓一跳:这些工具在设计哲学、架构思路和行为约束上的差异,远比我们想象的要大。

它们是几种完全不同的「数字人格」

今天这篇文章,我会把 Claude Code CLICodex CLIOpenCode(默认版) 以及 OpenCode + OhMyOpenAgent 的底层逻辑扒个干净,并给你一个直接能用的选型决策表


一、底层 Prompt 大揭秘:它们的「出厂设定」到底是什么?

1️⃣ Claude Code CLI:安全第一的老派高级工程师

Anthropic 官方出品,它的核心哲学可以概括为:安全第一、实用主义、沉淀长期记忆

极度严格的安全红线:明确拒绝破坏性技术、DoS、供应链攻击等请求。对于 rm -rfgit reset --hard、推送代码、修改数据库这类高危操作,它的 Prompt 里画了一条不可逾越的红线——行动前必须询问用户。

反过度工程的代码风格:Prompt 里甚至写着——

「三行相似的代码胜过过早的抽象」 「不要为不可能发生的场景添加错误处理」 「默认不写注释,除非是反直觉的 workaround」

极简输出:要求输出不要超过 4 行,不要做任何内部思考的「旁白」,直接给结果。

全量技能描述预加载:默认加载skills路径下所有工具列表:仅头部工具名称和描述部分。

独家杀手锏——长期记忆:Claude Code 内置了 auto memory 机制,会在 .claude/projects/../memory/ 目录下维护四种记忆:

  • user:用户画像

  • feedback:你的纠正与偏好

  • project:项目背景与排期

  • reference:外部链接(如 Jira、Grafana)

这意味着它会越用越懂你。


2️⃣ Codex CLI:自带安全沙盒的执行兵

OpenAI 的 Codex,核心设计围绕三个字:沙盒、提权、渐进加载

系统级沙盒隔离:Prompt 核心在于 sandbox_mode。它只能在自己的 cwd 和 writable_roots 里活动。一旦需要跨目录、执行 GUI 应用或访问网络,必须通过标准化的 require_escalated 参数向用户申请提权,并给出 justification(提权理由)。

两种协作模式

  • Default 模式:强烈鼓励「做合理假设并直接执行」,而不是停下来问问题。

  • Plan 模式:先规划再动手。


3️⃣ OpenCode CLI(默认版):沉默寡言的打字机

这款工具的核心哲学是:极简响应、代码规范对齐、海量工具

输出被压缩到极致

  • 回复少于 4 行(不含代码)

  • 绝不允许「答案是……」这种前言后语

  • 能用两个字回答,绝不用三个字

开发习惯极其规矩

  • 改文件前,必须先看周围代码和 package.json绝对模仿现有代码风格

  • 严禁自动 commit(除非用户明确要求)

  • 任务完成后强制运行 lint 和 typecheck(如 npm run lint

全量技能描述预加载:其 Prompt 内置所有 <available_skills> 的名称和描述部分(甚至包括 Claude Code 目录下的 SKILLS),确保工具调用的即时响应。


4️⃣ OpenCode + OhMyOpenAgent:正规军研发外包团队

安装插件后,系统提示词发生了质变。它不再是一个单体 AI,而是直接变成了一个研发团队,内部拆分了多个 Persona:

🔥 Prometheus(需求与规划师)

  • 绝对只读:被系统级锁定(<system-reminder> CRITICAL: Plan mode ACTIVE),严禁写代码。

  • 决策完备:目标是产出一份「Decision Complete」的 Markdown 计划书(.sisyphus/plans/),不给执行者留任何技术悬念。

  • 谋定而后动:问用户问题前,必须先派 explore 智能体去搜代码库。

⚙️ Sisyphus(任务编排者)

  • 反包揽:Prompt 明确规定「你是一个编排者,不要自己写代码」。遇到 UI 问题派给 visual-engineering,遇到硬核逻辑派给 ultrabrain

  • 反重复:如果已经派了后台搜索 Agent,严禁自己再去 grep,必须暂停响应,等待系统唤醒。

  • 强制 Todo:任务开始前必须用 todowrite 拆解任务,极其强调状态流转。

🛡️ Atlas(监工与 QA)

  • 四阶段 QA 死规矩

    1. 读代码:不准光看测试结果,必须逐行读 diff,抓出 AI 加的私货;

    2. 自动化测试

    3. Hands-on QA:如果是 UI,必须用 Playwright 亲自点一下,不准跳过;

    4. 门禁决策:解释不清楚每一行代码,直接打回重写。


二、日常开发怎么选?一张表说清楚

基于上面的底层 Prompt 分析,这几款工具在实际工作中的表现天差地别。以下是四种典型场景的最优解:


场景一:修一个单文件的小 Bug / 写个简单脚本

✅ 首选:OpenCode(默认版 build 模式)或 Claude Code

为什么:

  • OpenCode 默认版的 Prompt 被极度压缩了废话,它会立刻用 edit 工具把代码改掉,然后跑一下 lint 告诉你「搞定了」。

  • Claude Code 实用主义至上,不仅改得快,如果这个 Bug 暴露了你代码里的某个暗坑,它还会触发 <feedback> 记忆,记住「以后在这个项目里不要这么写」。

❌ 避坑:千万别用 OhMyOpenAgent。修个打字错误,它会启动重型流程(生成 Todo → 派发小弟 → 强制 QA),可能搞半天。


场景二:开发一个跨前端、后端、数据库的完整新需求

✅ 首选:OpenCode + OhMyOpenAgent

这是它的绝对统治区

  1. Prometheus 会先探查你的代码库,问你 2-3 个关键设计问题,然后生成一份极其详细的 .sisyphus/plans/xxx.md 计划。

  2. Sisyphus / Atlas 会将计划拆分成并行任务(Wave 1、Wave 2),前端发给专职画 UI 的模型,后端发给重逻辑的模型。

  3. 四阶段 QA 会确保代码不是「看起来能跑的 AI Slop(垃圾代码)」,而是经过严格 diff 审查的代码。

⚠️ 对比

  • Claude Code 受限于单体模型,容易在改动多个文件后丢失 Context 或产生幻觉;

  • Codex 则可能需要你频繁手动干预提权。


场景三:接手一个极度混乱的祖传老项目(Legacy Code)

✅ 首选:Claude Code CLI

它的 Prompt 明确教导它:

「不要做多余的重构」 「Bug fix 不需要周围的 cleanup」 「信任内部代码」

在这个模式下,Claude Code 会像一个经验丰富的「老油条」,精准打补丁,绝不动不该动的地方

而且通过 Memory 系统,它能慢慢记住这个老项目里各种诡异的约定俗成——比如「这里的认证不用 JWT,而是用了某个奇怪的 Header,原因在 XXX 记忆里」。


场景四:需要操作底层系统、安装环境、高频执行脚本

✅ 首选:Codex CLI

它的核心设计就是围绕沙盒与提权(Escalation)展开的。

当涉及环境配置、装包、跑测试时,它的 require_escalated 机制能让你非常清晰地知道它要干嘛。比如它要 npm install,会弹窗请求你的批准。这既保证了系统安全,又能通过 prefix_rule(如允许所有 npm run)在后续免打扰执行。


三、一句话总结:它们到底像什么?

工具
提示词长度
像什么?
适合谁?
Claude Code CLI
~25K tokens
一个成熟、懂事且记性极好的高级工程师

适合作为你的日常专属结对编程伙伴,它懂克制、不乱加需求,而且越用越懂你的项目。

Codex CLI
~4.5K tokens
一个自带安全沙盒的执行兵

执行力强,权限管理分明,不会背着你把系统搞崩。

OpenCode(默认版)
~17K tokens
一个极其沉默寡言的打字机

适合快速微调和已知路径的开发,主打一个“一个字就是干”。

OpenCode + OhMyOpenAgent
~35K tokens
一个正规军研发外包团队

引入了正规的软件工程方法论(需求分析 -> 架构设计 -> 拆解分发 -> 强制 QA)。适合用来抗击高复杂度、大代码量的大型 Feature 开发,彻底解放你的双手,你只需要当“产品经理”和“验收方”。


写在最后

AI 编程助手已经进入了「人格分化」的阶段。没有最好的工具,只有最合适的场景。

选对了,它是你 10x 效率的加速器;选错了,它可能把修 Bug 变成开大会,把写新功能变成灾难现场。

你目前在用哪款工具?在哪个场景下踩过坑? 欢迎在评论区聊聊,我们一起完善这份选型地图。


本文基于底层 System Prompts 的真实分析数据进行解读,工具版本更新可能导致行为变化,建议结合实际版本验证。