先说结论
Claude Code 的 System Prompt 不是一段“扮演高级程序员”的角色设定,而是一套运行时协议。它回答四件事:当前环境里有什么信息、什么工具可以调用、哪些动作需要约束、什么才算真正完成。
这解释了为什么同一个底层模型,放进普通聊天框和放进 Coding Agent 里,表现会像两个产品。模型负责理解和生成,Harness 负责把它接到真实世界。
第一层:上下文不是聊天记录
Prompt 会把 Harness、会话规则、记忆、环境、当前日期、工作目录和用户消息拆成不同层。这样做不是为了排版,而是为了标出来源和优先级。
长任务中最重要的是“任务连续性”。当上下文被压缩时,Agent 不能把已经完成的工作重做一遍,也不能忘记用户最后一次转向。Claude Code 因而把上下文管理和中途消息单独写进规则。
第二层:工具说明本身就是行为设计
模型并不会天然知道 Bash、编辑器、浏览器或定时任务怎样工作。每个工具的用途、参数、返回值和限制都要进入上下文。工具 schema 越模糊,模型越容易选错工具或构造错误参数。
所以评估一个 Agent,不能只看主 Prompt 的人格段落。真正占据大量篇幅的往往是工具说明,它们才是模型能够行动的接口。
第三层:完成标准决定是否可靠
一个只追求“给出答案”的 Agent 很容易在解释完方案后停下。工程 Agent 需要继续修改、构建、检查,再把结果交给用户。Claude Code 把 finishing、delivering work 和 corrections 写成显式规则,就是为了让“完成”成为可验证状态。
第四层:安全不是一句不要做坏事
工程环境里的风险通常很具体:误删文件、覆盖用户改动、扩大命令范围、未经允许操作外部系统。有效的安全规则必须贴近这些动作,并说明什么时候需要用户确认。
怎么读完整原文
先看 Claude Code 版本总览,再进入任一版本。每个版本页都按章节显示中文作用说明,并保留完整英文原文。比较相邻版本时,重点看新工具、新权限和任务交付规则,而不是只统计增加了多少行。
接着可以阅读 Codex 与 Claude Code 对比,观察两种 Harness 怎样解决相同的上下文与执行问题。