跳到正文
FunCoding

搜索

搜索文档、智能体、博客、Skill 和 MCP

输出风格

用内置的 Proactive、Concise、Explanatory、Learning 风格或自定义风格,改变 Claude 的角色、语气和回复格式;怎么切换,怎么自己写一个。

输出风格是一组为整个会话设定 Claude 的角色、语气和回复格式的指令。Claude Code 在默认风格之外内置了四种,你也可以自己写。用输出风格改变 Claude 在整个会话里回应你和与你协作的方式,这样不必在每条提示里重复同样的要求。例如,内置风格可以让回复更短、给每处改动加解释,或让 Claude 不问常规问题就开始工作。

输出风格只是给 Claude 的指令,不保证某事一定发生或一定不发生。关于项目的知识放 CLAUDE.md;必须每次都发生的事(如每次编辑后格式化、阻止某个命令)用 Hook。

内置输出风格

Claude Code 以 Default 风格启动,即它完成软件工程任务的标准指令。其他四种内置风格都保留这些指令,并加上自己的。

风格改变了什么何时用
ProactiveClaude 立即开始工作,对常规决策做合理假设而不是询问想让 Claude 自己处理常规决策,假设错了你再纠正
Concise回复先说结果,省略开场白、过程叙述和总结默认回复比你想要的长
ExplanatoryClaude 添加简短的 Insight 块,解释它写的代码背后的选择你在熟悉代码库,或想要改动连同理由一起得到
LearningClaude 解释它的选择,并留下一小段代码让你自己写想在任务照常完成的同时得到动手编码练习
  • Default:没有选择输出风格。Claude Code 不加任何风格指令,Claude 按为软件工程任务写的标准系统提示工作
  • Proactive:Claude 收到任务就开始实现,对常规决策做合理假设而不是停下来问,除非你要求计划,否则不会切到计划模式,你可以随时纠正方向。风格指令也让 Claude 在删除数据或改动共享/生产系统的动作之前在对话里先向你确认,这是 Claude 遵循的指令,与权限提示是两回事。切换到 Proactive 不会改变你的权限模式
  • Concise:回复的第一句话说明发生了什么或答案是什么,省略引导语、逐步叙述和结尾总结,简单问题用一到三句话回答;工程工作做得和 Default 一样彻底。当你要求解释或更多细节、以及你为了安全行动需要的内容(错误报告、失败的测试输出、安全警告、对破坏性动作的确认)时,Claude 仍然写全长
  • Explanatory:Claude 像 Default 那样完成任务,并添加简短的解释说明它为什么做出这些选择,每条解释出现在对话里它所针对的代码之前或之后,放在标为 Insight 的块里;这些解释不会写进你的文件
  • Learning:Claude 添加与 Explanatory 同样的 Insight 块,并且请你写一部分代码。Claude 自己处理常规实现;遇到有真正设计决策的部分(如错误处理、数据结构或业务逻辑)时,它在文件里用 TODO(human) 注释标出位置,然后发一条说明已经做了什么、要写什么、要权衡什么的请求,之后停下来等你。你在 TODO(human) 处写你的代码,完成后告诉 Claude,它会就你的代码给出一条 Insight 并继续任务

切换输出风格

用命令、菜单或设置文件选择风格。命令和两个菜单会把你的选择保存到 .claude/settings.local.json(本地项目级)。

  • /output-style 命令:运行 /output-style <style> 切换,如 /output-style concise;不带参数时列出你能选的风格并标出当前的。这个命令在非交互模式和 Agent SDK 会话里也能用(需要 v2.1.269 或更新版本)
  • 终端菜单:运行 /config 并选 Output style
  • VS Code 扩展:用 / 打开命令菜单并选 Output styles,可以选择包括你自定义风格在内的风格
  • 桌面应用:在设置文件里设置 outputStyle 字段

不用菜单设置风格,直接在设置文件里编辑 outputStyle 字段:

{
  "outputStyle": "Explanatory"
}

值区分大小写,内置名要写成 Proactive、Concise、Explanatory 和 Learning;与风格名不完全匹配的值(如 explanatory)会得到 Default 风格(/output-style 命令则忽略大小写)。想让某个风格成为跨项目的默认,在 ~/.claude/settings.json 里设置 outputStyle,项目自己的设置文件优先于这个值。会话中途切换风格时,Claude 从你的下一条消息开始使用新风格。

创建自定义输出风格

自定义输出风格是一个 Markdown 文件:前置信息放元数据,后面是给 Claude 的指令。可以保存在三个层级之一,文件名成为风格名(除非你在前置信息里设置 name):

  • 用户:~/.claude/output-styles
  • 项目:.claude/output-styles
  • 托管策略:托管设置目录里的 .claude/output-styles

项目输出风格从工作目录到仓库根之间的每个 .claude/output-styles/ 加载;多个嵌套目录定义了同名风格时,用离工作目录最近的那个。要决定是否保留 Claude Code 的软件工程指令:如果你只是在改变 Claude 的沟通方式但仍想让它按同样的方式编码,设置 keep-coding-instructions: true;Claude 不会做软件工程时则省略它。下面的例子让每次解释都先给图,同时保留 Claude 的编码行为:

---
name: Diagrams first
description: Lead every explanation with a diagram
keep-coding-instructions: true
---
When explaining code, architecture, or data flow, start with a Mermaid diagram showing the structure, then explain in prose.

## Diagram conventions
Use `flowchart TD` for control flow and `sequenceDiagram` for request paths. Keep diagrams under 15 nodes.

官方原文还涵盖前置信息字段参考,以及与 CLAUDE.md、Skill、子智能体和 --append-system-prompt 的取舍对比。