← 返回
AI技术

渐进式披露:塑造 Claude Code 的输出

✍️ zhirenhun 📅 2026/9/23 👁 222 阅读 ⏱ 6 分钟
渐进式披露:塑造 Claude Code 的输出

Opus 5.5 于 9 月 22 日发布,其回复的表达方式有所不同:先给出答案,少做铺垫。Box 在发布前进行测试时发现,其回答“冗长程度降低了 40%,且准确度未受影响”,而 Factory 测量得到“输出 token 数减少了 20% 到 25%”(介绍 Claude Opus 5.5)。这些是两个团队在各自工作负载上的数据,它们指向同一方向。

回复的形式仍由你来设定。较短的默认设置有助于重命名,同时简化了设计问题,而你实际想要的是两者兼得:当你请求重命名时给出两行回答;当你询问缓存是否应放在 Redis 时给出完整的步骤说明;在每一次交互中都如此,而无需每次说明哪种情况。这就使其成为一个加载问题。塑造回复的指令必须在适用的轮次放在模型前面,在其他轮次则保持不可见。

本系列的第一篇将渐进式披露分为三个方面:加载什么、在哪里加载以及何时加载(渐进式披露:什么、哪里、何时以及为什么)。本文聚焦于单一问题——回复的形式,并沿着 Claude Code 可能加载指令的每一个环节进行阐述。每一步都比上一步更深入,并在自身的边界处结束。然后我们再上升一层。

输出样式:整个会话采用一种形式

Claude Code 为此提供了专门的设置。输出样式是“一套指令,用于在会话中的每个响应中设定 Claude 的角色、语气和响应格式”,而内置的 Concise 样式纯粹是回复形式:第一句话给出答案,引言、逐步叙述和结束回顾被省略,简单的问题会得到一到三句话的回答,而工程工作的详尽程度与默认样式相当。(输出样式)。使用 /output-style concise 选择它,或在 .claude/output-styles/ 中以 Markdown 文件编写自己的样式。

使用它的原因在于它所处的位置。样式的指令会随系统提示一起在每次请求中传递。您的 CLAUDE.md "会在系统提示之后以用户消息的形式交付,而不是作为系统提示本身的一部分"(内存),以及 Anthropic 的提示指南针对这一具体问题,建议“在系统提示中使用直接指令:‘直接回复,无需前言’”(提示最佳实践)。该规则在两处读取相同;输出样式赋予它更高的地位。

这张技术文章配图展示了一个系统的响应流程,包括系统的输出和用户的输入

这是第一部分的精简根源:适用于每次回复的规则将获得常驻位置。不过,其限制内置于定义中。它在整个会话中保持一种形式,因此重命名和设计问题将获得相同的处理。

路径规则:由文件触发

仅在某些情况下适用的规则放在 .claude/rules/ 中,每个文件一个主题。为规则添加 paths 字段,它就会变成条件规则:路径限定的规则在 "Claude 读取与模式匹配的文件时触发",否则保持不在上下文中(内存)。

---
paths:
  - "docs/**"
---
When answering about documentation, open with the context the reader needs, then the change.

当 Claude 读取 docs/ 下的文件时,该规则会生效,而在 src/app/nav.tsx 的重命名操作中它会保持不触发。触发它的原因是代理所操作的文件。当代理打开任何文件时,设计问题可能会出现,而且没有任何 glob 能够区分设计问题和重命名。

自动内存:模型决定加载什么

自动内存是最贴近根据相关性加载的内置句柄。Claude 会将“您对 Claude 的更正以及您确认的方法”保存到每个项目的一个目录中,即 ~/.claude/projects/<project>/memory/。每个会话开始时,MEMORY.md 索引的前 200 行(或 25KB)会被加载。其后的主题文件不会被加载:Claude 会“在需要信息时使用其标准文件工具按需读取它们”(内存)。如果您多次更正设计答案的形状,可能会发现一个单行条目,design answers: trade-offs first,其完整注释位于其后。

MEMORY.md 索引在每次会话时加载,一条条目读取为 design answers: trade-offs first。在要求重命名函数的回合中,该行后面的主题文件保持未读。在询问是否应在 Redis 或内存中缓存的回合中,Claude 会读取它,并且完整的回复形状注释进入上下文。

——

广告 广告
🧑‍💻

zhirenhun

一个热爱技术的程序员,喜欢分享前沿AI知识和开发经验。

ai claude tutorial agents