Claude Code官方文档输出样式output styles

Claude Code 输出样式(Output Styles)- 适配软件工程之外的用法

将 Claude Code 适配用于软件工程之外的用途。

· 阅读约 6 分钟

输出样式改变 Claude 的响应方式,而不是 Claude 知道什么。它们修改系统提示以设置角色、语气和输出格式,同时保留核心功能,如运行脚本、读取和写入文件以及跟踪 TODO。当你在每个回合中不断重新提示相同的语音或格式时,或者当你希望 Claude 充当软件工程师以外的角色时,请使用一个。

有关你的项目、约定或代码库的说明,请改用 CLAUDE.md

内置输出样式

Claude Code 的默认输出样式是现有的系统提示,旨在帮助你高效地完成软件工程任务。

还有两种额外的内置输出样式,专注于教你了解代码库和 Claude 的运作方式:

  • Explanatory:在帮助你完成软件工程任务的同时提供教育性的”Insights”。帮助你理解实现选择和代码库模式。

  • Learning:协作式的边学边做模式,Claude 不仅会在编码时分享”Insights”,还会要求你自己贡献小的、战略性的代码片段。Claude Code 将在你的代码中添加 TODO(human) 标记供你实现。

输出样式如何工作

输出样式直接修改 Claude Code 的系统提示。

  • 自定义输出样式排除了编码说明(例如用测试验证代码),除非 keep-coding-instructions 为 true。
  • 所有输出样式都在系统提示的末尾添加了自己的自定义说明。
  • 所有输出样式都会在对话期间触发提醒,让 Claude 遵守输出样式说明。

令牌使用情况取决于样式。向系统提示添加说明会增加输入令牌,尽管 prompt caching 在会话中的第一个请求之后会降低这个成本。内置的 Explanatory 和 Learning 样式在设计上比 Default 产生更长的响应,这会增加输出令牌。对于自定义样式,输出令牌使用情况取决于你的说明告诉 Claude 生成什么。

更改你的输出样式

运行 /config 并选择输出样式从菜单中选择一种样式。你的选择会保存到本地项目级别.claude/settings.local.json

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

{
  "outputStyle": "Explanatory"
}

由于输出样式是在会话开始时在系统提示中设置的,更改将在你下次启动新会话时生效。这使系统提示在整个对话中保持稳定,以便 prompt caching 可以降低延迟和成本。

创建自定义输出样式

自定义输出样式是包含 frontmatter 和将添加到系统提示的文本的 Markdown 文件:

---
name: My Custom Style
description:
  A brief description of what this style does, to be displayed to the user
---

# Custom Style Instructions

You are an interactive CLI tool that helps users with software engineering
tasks. [Your custom instructions here...]

## Specific Behaviors

[Define how the assistant should behave in this style...]

你可以在三个级别保存这些文件:

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

Plugins 也可以在 output-styles/ 目录中提供输出样式。

Frontmatter

输出样式文件支持 frontmatter 来指定元数据:

Frontmatter目的默认值
name输出样式的名称,如果不是文件名从文件名继承
description输出样式的描述,在 /config 选择器中显示
keep-coding-instructions是否保留 Claude Code 系统提示中与编码相关的部分false
force-for-plugin仅限 Plugin 输出样式:在启用 plugin 时自动应用此样式,无需要求用户选择它。覆盖用户的 outputStyle 设置。如果多个启用的 plugin 设置了此项,则第一个加载的获胜false

与相关功能的比较

输出样式 vs. CLAUDE.md vs. —append-system-prompt

输出样式完全”关闭”了 Claude Code 默认系统提示中特定于软件工程的部分。CLAUDE.md 和 --append-system-prompt 都不会编辑 Claude Code 的默认系统提示。CLAUDE.md 将内容作为用户消息添加到 Claude Code 默认系统提示之后。--append-system-prompt 将内容附加到系统提示。

输出样式 vs. Agents

输出样式直接影响主代理循环,仅影响系统提示。Agents 被调用来处理特定任务,可以包括额外的设置,如要使用的模型、可用的工具以及有关何时使用代理的一些上下文。

输出样式 vs. Skills

输出样式修改 Claude 的响应方式(格式、语气、结构),一旦选择就始终处于活动状态。Skills 是特定于任务的提示,你可以使用 /skill-name 调用或 Claude 在相关时自动加载。使用输出样式来实现一致的格式化偏好;使用 skills 来实现可重用的工作流和任务。


本文翻译自 Anthropic Claude Code 官方文档,最近一次同步:2025-05-01。