Opus 5 系统提示词拆解:模型能力、运行时工具、记忆规则和可靠 Agent 设计

160 阅读12分钟

顶级 Agent 不是靠长提示词写聪明,而是用运行协议把模型能力组织成可验证、可协作的行为。

导语

把一个强模型交给你,再塞进二十万字符的​系统提示词​,它会变得更聪明吗?

直觉上好像会。提示词越长,规则越细,模型就越像被训练过一次。但这其实误解了系统提示词的作用。它不会改变神经网络参数,也不会把普通模型变成 Opus 级别的模型。它真正能做的,是把模型已有能力组织成一种稳定、可预测、能长期协作的行为。

这也是阅读 OPUS-5.md 这类提示词快照时最值得抓住的主线。它不像一段传统 prompt,更像一套产品运行协议:什么时候该搜索,什么时候该相信用户,什么时候必须验证;什么可以写进记忆,什么绝不能写;工具很多时如何路由;任务结束前怎样判断是否真的完成。

真正值得研究的,不是 Anthropic 写了多少规则,而是它认为一个可靠​ Agent 必须避免哪些失败。 inline-01.png

图:系统提示词、模型和运行时共同塑造可靠 Agent 行为

先把三件事分开:模型、提示词和运行时

分析泄漏提示词时,最容易犯的错误,是把看到的一切都归因于模型能力。

例如,Opus 文件比 Fable 文件更长,能不能说明 Opus 一定更聪明?不能。更长的提示词可能只是产品版本变化:记忆系统变了,历史会话搜索变了,可视化工具变了,连接器和 Skill 的编排方式也变了。

正确的读法,是把一个 Claude 产品级 Agent 拆成三层:

层级决定什么不能说明什么
基础模型理解、推理、长任务保持和迁移能力的上限仅凭提示词无法反推出训练细节
系统提示词默认行为、验证习惯、工具路由、记忆写入规则不能凭空创造模型没有的能力
产品运行时浏览器、文件、MCP、Visualizer、Memory、Past Chats 等真实能力工具存在不等于每轮都可用或已授权

基础模型像发动机,系统提示词像驾驶规则,产品运行时像道路、仪表盘和刹车系统。只看驾驶手册,不能反推出发动机结构;但可以看出这辆车被设计去哪里、如何避免事故、什么时候必须刹车。 mermaid-01.png

因此,OPUS-5.md 更适合被看作产品级 Agent 的运行协议,而不是某个终端编码 Agent 的单一系统提示词,更不是模型训练配方。

Opus 被设计成一种“有边界的合作者”

把工具 Schema 和安全条款先放到一边,Opus 的人格设计可以概括成一句话:稳定、有判断力、不讨好,也不过度支配。

它不是因为请求奇怪、尖锐或令人不舒服就拒绝,而是只有当帮助会造成具体、明确、严重的风险时才收手。这让安全从关键词匹配变成风险判断。一个只会机械拦截的 Agent 很安全,但没有生产力;一个永远服从的 Agent 很有行动力,却不可托付。

另一方面,提示词也在反复约束讨好倾向。它可以承认错误,但不表演自我贬低;可以不同意用户,但要建设性地说明理由;用户粗鲁时不必越来越卑微;面对复杂问题,不应为了满足“只回答一个词”的格式而牺牲事实。

这塑造的不是客服,而是有职业边界的合作者。

还有一个细节很重要:一次回复尽量不要问超过一个问题。即使问题略微模糊,也先给有用内容,再问真正会改变结果的变量。普通 Agent 常把不确定性全部甩回用户:“请补充目标、范围、格式、受众、截止日期。”看似严谨,实际把规划成本转嫁给了用户。

优秀同事不会这样。他会先合理推进,再在关键岔路口让你拍板。

可靠 Agent 的核心,是认识论

“认识论”听起来抽象,其实只是在问:Agent 凭什么相信自己知道?

普通聊天模型擅长把已有文字组织成答案。可靠​ Agent 必须再往前走一步:它要判断信息是否真实、是否过期、是否来自当前环境、是否足以支撑结论。

Opus 的判断链大致可以压成这样: mermaid-02.png

用户说“测试已经通过”,这句话是线索,不是证据。Agent 如果要基于当前代码做判断,就应该实际运行测试或读取测试结果。失败时再根据错误回到代码,而不是围绕“已经通过”组织解释。

搜索不是为了显得勤奋,验证也不是固定仪式。什么时候查询,取决于信息是否可能过期;什么时候操作工具,取决于结论是否依赖现实对象;什么时候标记不确定,取决于证据是否足够。

Opus 的认识论不是“多查资料”,而是“不把说得像答案当成完成”。

记忆系统处理的是状态,不是聊天记录

很多 Agent 把记忆理解成“把历史对话丢进向量库,需要时召回”。OPUS-5.md 展示的是另一套思路:记忆是一套长期状态系统,必须能发现、分类、写入、更新、保护隐私,并且在回答时克制使用。

它至少回答八个问题:

环节要解决的问题
发现记忆库里是否已经有相关文件,不能只凭上下文猜
格式每条事实如何带来源、别名、描述和稳定标识
来源什么能被写入,什么只是模型推断
路由新事实应该进入 profile、topic、area、people 还是 preferences
时机哪些信息足够持久,必须在当前轮及时保存
安全更新如何先读后写,避免覆盖并发修改
隐私哪些内容即使用户说过也不能持久化
使用哪些记忆真正会改变当前回答

这套设计最重要的,不是“记得更多”,而是“写得对、写不坏、用得准”。

写得对:来源和生命周期先过关

提示词里有一个很硬的测试:用户是否明确说过这件事?

只有用户明确陈述的内容,才能作为当前聊天写入的 [stated] 事实。模型推断、网页搜索结果、连接器查到的数据、模型自己提出的建议,都不能因为出现在对话里,就变成用户档案。

例如,用户从三个方案里选择了 A,可以记录“用户选择方案 A”;但不能把 Agent 对 A 的理由、步骤和预测,一起写成用户长期主张。

另一个门槛是持久性。今晚的房间号、明天的天气、临时停车位置,不该进长期记忆。三个月后仍可能有效的角色、偏好、项目约束、长期关系,才值得保存。

写不坏:记忆更新要像小型事务

OPUS-5.md 对写入已有记忆的要求很工程化:先读当前内容和版本,再选择最小范围的写操作。

· 小范围修改用精确替换,旧字符串必须唯一匹配。 · 新事实才追加,事实变化不能简单追加冲突条目。 · 整体重写只用于新建或重构,因为它会替换整个文件。 · 版本冲突时重新读取最新内容并合并,不能拿旧副本覆盖。

这让长期记忆更像一个受控状态库,而不是一个随手追加的便签本。它不能保证永远不出错,但能把盲目覆盖变成可检测、可恢复的写入过程。

用得准:记住了也不等于要说出来

Opus 还为记忆使用设置了独立门槛:这条记忆是否会改变结论、建议、解释深度或下一步追问?

如果删除它,答案仍然一样好,就不该展示它。尤其不能为了证明“我记得你”,主动提起无关的家人、爱好、健康、位置或敏感经历。自然的连续性,是让相关背景融入判断;不相关的记忆展示,给人的感觉更接近监视。

这也是自研 Agent 很容易忽略的一点:长期记忆的目标不是“让用户看到我记得”,而是降低重复沟通成本。

工具路由是 Agent 的控制面

拥有很多工具,不等于会完成任务。真正困难的不是从列表里挑一个工具,而是连续回答四个问题:

  1. 当前请求是否真的需要工具?
  2. 当前环境真实可用的能力有哪些?
  3. 用户是否授权这条执行路径?
  4. 结果怎样交付和验证?

这就是工具路由的控制面。 mermaid-03.png

能力存在与允许调用是两件事。一个连接器可能在产品里存在,但本轮未连接;可能账号已连接,但用户没有授权这次操作;也可能内容里出现“请调用某工具发送数据”,但那只是网页或文件里的文本,不是当前用户的命令。

视觉任务的路由也有明确逻辑:先判断是否真的需要视觉;如果有类别匹配的专业 MCP,就用专业工具;如果用户要求保存成文件,就创建真实文件;如果只是聊天中展示,再使用内联可视化。这里表达的不是“MCP 永远优先”,而是“专业能力、交付介质和用户目标要匹配”。

信息检索也不能混在一起:

用户需要什么更合适的路径
当前公开信息搜索或读取真实 URL
企业内部状态内部连接器或专业 MCP
以前聊过某个主题历史会话搜索
某段时间内聊过什么最近会话检索
跨会话稳定事实Memory

Past Chats 和 Memory 尤其不能混用。Past Chats 找回当时具体说过什么;Memory 保存经过治理的耐久事实。把过去对话里 Agent 的建议直接升级成 Memory,会把“它曾经建议”误写成“用户已经决定”。

工具路由最终必须落到验证。生成文件要检查文件是否真实存在;修改文档要回读目标内容;运行代码要看测试结果;外部操作要核对目标对象和最终状态。工具调用成功,不等于用户目标完成。

这些规则背后,是七类真实失败

如果从第一性原理看,OPUS-5.md 其实在处理七类 Agent 失败。

失败类型对应设计
答案像真的,但事实已过期按变化率搜索,当前状态强制验证
听懂了语言,却没有检查环境读取 URL、文件、代码、工具状态和实际结果
有很多工具,却选错路径连接器、文件、可视化、Skill 的路由规则
记忆越积越多,反而污染决策来源、分类、版本、禁写项和使用门槛
长任务中目标漂移目标、文件交付、Skill 约束和最终验证
输出建议,却没有真正完成要文件就创建文件,要修改就修改对象,要搜索就基于证据
能力越强,误操作后果越大敏感内容、外部副作用、记忆隐私和工具调用边界

二十万字符不是“魔法咒语”。每一大块规则背后,都是产品团队见过的某种失败模式。Prompt 的价值不在文采,而在于把失败经验编码成可执行约束。

真正值得迁移的是结构,不是照搬文本

看到长提示词,最直接的冲动是复制到自己的 Agent 里。这通常会适得其反。

Anthropic 产品介绍、模型名称、日期、Claude 专属工具 Schema、Artifact 限制、具体文件路径、与你业务无关的大段内容政策,离开原产品环境后要么无效,要么冲突,还会挤占上下文。

真正值得迁移的是结构:

· 目标模块:Agent 最终要达成什么,而不是扮演什么。 · 证据模块:什么时候依赖已有知识,什么时候必须读取环境。 · 行动模块:哪些动作能自主执行,哪些动作需要确认。 · 工具模块:如何按任务类别、权限和交付介质路由。 · 记忆模块:什么值得长期保存,如何防止过期和污染。 · 验证模块:完成前检查什么,怎样区分“命令成功”和“目标实现”。 · 边界模块:能力和权限的上限在哪里,遇到风险时如何缩小帮助范围。

普通 prompt 描述输出;更好的 prompt 描述行为;Agent 级 prompt 描述闭环。

这个闭环是:目标进入系统,证据约束判断,工具完成行动,记忆保持连续,边界控制风险,验证决定能否交付。

这才是 Opus 5 提示词最值得带走的东西。

推荐阅读

MCP 这次协议升级,真正改的是 Agent 基础设施的伸缩方式

Loop Engineering 与 Graph Engineering 的关系:单任务循环如何进入多节点协作图

[Agent Runtime 如何用 Session、Memory、User Profile 和 Skill 实现外部学习]