文档索引
在此获取完整文档索引:https://code.claude.com/docs/llms.txt 使用此文件发现所有可用页面,然后再进一步探索。
输出样式
调整 Claude Code 以用于软件工程之外的用途
输出样式改变 Claude 的响应方式,而不是 Claude 知道什么。它们修改系统提示以设置角色、语气和输出格式。当您每次都需要重新提示以获得相同的语气或格式时,或者当您希望 Claude 充当软件工程师以外的角色时使用。
自定义输出样式将您的指令添加到系统提示中,并让您选择是否保留 Claude Code 的内置软件工程指令。当您改变 Claude 的沟通方式但仍在编码时(例如始终用图表回答),保留它们。当 Claude 完全不从事软件工程时(如写作助手或数据分析师),不保留它们。
有关项目、约定或代码库的指令,请改用 CLAUDE.md。
内置输出样式
Claude Code 的默认输出样式是现有的系统提示,旨在帮助您高效完成软件工程任务。
还有三个额外的内置输出样式:
-
主动型:Claude 立即执行,做出合理假设而不是为常规决策暂停,并偏好行动而非规划。这比自动模式应用的自主执行指导更强,它无需更改您的权限模式即可工作,因此您仍然会在工具运行前看到权限提示。
-
解释型:在帮助您完成软件工程任务之间提供教育性的"洞察"。帮助您理解实现选择和代码库模式。
-
学习型:协作式、边做边学的模式,Claude 不仅在编码时分享"洞察",还要求您自己贡献小而关键的代码片段。Claude Code 会在您的代码中添加
TODO(human)标记供您实现。
更改输出样式
运行 /config 并选择 Output style 从菜单中选择样式。您的选择保存到本地项目级别的 .claude/settings.local.json。
/output-style 命令在 v2.1.73 中已弃用,在 v2.1.91 中已移除。请使用 /config 或直接编辑 outputStyle 设置。要不使用菜单设置样式,请直接在设置文件中编辑 outputStyle 字段:
{
"outputStyle": "Explanatory"
}
输出样式是系统提示的一部分,Claude Code 在会话开始时读取一次。更改在 /clear 或新会话后生效。请参阅 Claude Code 如何使用提示缓存 了解输出样式更改对缓存的影响。
创建自定义输出样式
自定义输出样式是一个 Markdown 文件:frontmatter 用于元数据,然后是要添加到系统提示的指令。
创建 Markdown 文件
将其保存在三个级别之一。文件名即样式名称,除非您在 frontmatter 中设置了
name。- 用户:
~/.claude/output-styles - 项目:
.claude/output-styles - 托管策略:托管设置目录内的
.claude/output-styles
- 用户:
添加 frontmatter 和指令
决定是否保留 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.切换到您的样式
运行
/config并在 Output style 下选择您的样式。它在/clear或下次启动会话后生效。
插件 也可以在 output-styles/ 目录中提供输出样式。
Frontmatter
输出样式文件支持以下 frontmatter 字段:
| Frontmatter | 用途 | 默认值 |
|---|---|---|
name | 输出样式名称(如果不是文件名) | 从文件名继承 |
description | 输出样式的描述,显示在 /config 选择器中 | 无 |
keep-coding-instructions | 保留 Claude Code 的内置软件工程指令 | false |
force-for-plugin | 仅限插件输出样式:当插件启用时自动应用此样式,无需用户选择。覆盖用户的 outputStyle 设置。如果多个启用的插件设置了此项,Claude Code 使用第一个加载的。 | false |
输出样式的工作原理
输出样式直接修改 Claude Code 的系统提示。
- 所有输出样式都有自己的自定义指令添加到系统提示末尾。
- 所有输出样式都会触发提醒,让 Claude 在对话过程中遵守输出样式指令。
- 自定义输出样式会省略 Claude Code 的内置软件 engineering 指令,例如如何限定更改范围、编写注释和验证工作,除非
keep-coding-instructions设置为true。
令牌使用量取决于样式。向系统提示添加指令会增加输入令牌,不过提示缓存会在会话中的第一个请求后降低此成本。内置的解释型和学习型样式默认产生比默认样式更长的响应,这会增加输出令牌。对于自定义样式,输出令牌使用量取决于您的指令告诉 Claude 生成什么。
与相关功能的比较
多个功能可以自定义 Claude Code 的行为。输出样式直接修改系统提示并应用于每个响应。其他功能添加指令而不更改默认系统提示,或将它们限定为特定任务。
| 功能 | 工作方式 | 使用场景 |
|---|---|---|
| 输出样式 | 修改系统提示 | 您希望每次响应都有不同的角色、语气或默认响应格式 |
| CLAUDE.md | 在系统提示后添加用户消息 | Claude 应始终了解您的项目约定和代码库上下文 |
--append-system-prompt | 附加到系统提示而不删除任何内容 | 您希望为单次调用进行一次性添加 |
| Agents | 使用自己的系统提示、模型和工具运行子智能体 | 您希望为专注任务提供独立范围的助手 |
| Skills | 在调用或相关时加载特定任务的指令 | 您有可重用的工作流 |