English ← MyDocs

文档索引

在此获取完整文档索引: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

Note
独立的 /output-style 命令在 v2.1.73 中已弃用,在 v2.1.91 中已移除。请使用 /config 或直接编辑 outputStyle 设置。

要不使用菜单设置样式,请直接在设置文件中编辑 outputStyle 字段:

{
  "outputStyle": "Explanatory"
}

输出样式是系统提示的一部分,Claude Code 在会话开始时读取一次。更改在 /clear 或新会话后生效。请参阅 Claude Code 如何使用提示缓存 了解输出样式更改对缓存的影响。

创建自定义输出样式

自定义输出样式是一个 Markdown 文件:frontmatter 用于元数据,然后是要添加到系统提示的指令。

  1. 创建 Markdown 文件

    将其保存在三个级别之一。文件名即样式名称,除非您在 frontmatter 中设置了 name

    • 用户:~/.claude/output-styles
    • 项目:.claude/output-styles
    • 托管策略:托管设置目录内的 .claude/output-styles
  2. 添加 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.
    
  3. 切换到您的样式

    运行 /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在调用或相关时加载特定任务的指令您有可重用的工作流

相关资源

  • 设置outputStyle 字段所在位置以及设置优先级的工作方式
  • 权限模式:主动样式与自动模式的比较
  • 插件:将输出样式与技能、钩子和智能体一起打包和分发
  • 调试配置:诊断输出样式未生效的原因