现在位置: 首页 > Claude Code 教程 > 正文

Claude Code 输出样式

输出样式(Output Style)让你可以定制 Claude Code 的交互风格和响应方式,使其适配软件开发之外的更多使用场景,同时保留运行本地脚本、读写文件、跟踪待办事项等核心功能。

其本质是通过修改系统提示(System Prompt),改变 Claude Code 的交互逻辑和响应风格。


内置输出样式

Claude Code 提供 3 种开箱即用的输出样式:

样式名称 适用场景 核心特点
默认样式(default) 日常软件工程任务 专注高效完成编码、调试、重构等工作,回复简洁直接
解释性样式(explanatory) 边做边学场景 在完成任务的同时讲解实现思路、设计模式等知识点,适合想深入理解代码的开发者
学习样式(learning) 主动实践式学习 与你协作完成任务,会在关键位置添加 TODO(human) 标记,引导你亲手实现核心代码片段,而不是直接给出答案

工作原理

切换输出样式时,Claude Code 会按以下规则调整系统提示:

  1. 所有样式都会移除默认的"简洁回复、高效输出"等约束指令
  2. 自定义样式默认会剔除"用测试验证代码"等编码相关指令(如需保留,可在样式文件中开启 keep-coding-instructions: true
  3. 每种样式会在系统提示末尾追加自定义规则,覆盖默认行为
  4. 对话过程中会触发合规检查,确保 Claude 始终遵守当前样式的指令

切换输出样式

切换样式有两种方式,配置保存在项目目录的 .claude/settings.local.json 文件中,仅对当前项目生效

方式一:菜单选择——输入命令后,在交互菜单中选择目标样式:

/output-style

方式二:直接指定——在命令后直接加上样式名称,一步到位:

/output-style explanatory
/output-style learning
/output-style default

除了使用命令切换,也可以直接编辑 .claude/settings.local.json(项目级)或 ~/.claude/settings.json(全局级)文件,修改 outputStyle 字段的值来切换样式。


创建自定义输出样式

如果内置样式不满足需求,可以通过 Markdown 文件定义专属样式。

1、文件保存位置

级别 保存路径 作用范围
用户级别 ~/.claude/output-styles/ 当前用户的所有项目均可使用
项目级别 .claude/output-styles/(项目根目录下) 仅当前项目可用,可提交到 git 与团队共享

2、文件格式

自定义样式文件由两部分组成:顶部的 YAML frontmatter(元数据配置)和下方的 Markdown 正文(具体指令内容)。

实例

---
name
: data-analyst               # 样式名称,显示在 /output-style 菜单中(未填则使用文件名)
description
: 专注将复杂数据转化为可视化报告和分析结论
                                 # 样式描述,显示在菜单的说明文字中(可选)
keep-coding-instructions
: false  # 是否保留默认编码相关指令
                                 # false(默认):剔除编码指令,适合非开发场景
                                 # true:保留编码指令,同时叠加自定义规则
---

# 角色定位
你是一个专业的数据分析助手,擅长使用 Python 处理各类结构化数据,
并将复杂数据转化为简洁易懂的可视化报告。

## 响应规则
1. 所有分析必须包含「结论 + 数据支撑 + 优化建议」三部分
2. 生成代码时必须附带详细注释,优先使用 Pandas 和 Matplotlib
3. 避免专业术语堆砌,用通俗语言解释复杂概念

## 格式要求
1. 结论部分加粗显示
2. 代码块使用 ```python 标签包裹
3. 建议部分使用有序列表呈现

## 特殊场景
1. 遇到缺失数据时,主动提示用户补充关键信息,而非直接报错
2. 生成可视化图表时,默认使用中文标签和浅色主题

3、frontmatter 参数说明

参数名 是否必填 说明 默认值
name 样式名称,显示在 /output-style 菜单中。未填则使用文件名(不含 .md 后缀) 文件名
description 样式功能的简要描述,显示在菜单的说明文字中,帮助区分多个自定义样式
keep-coding-instructions 是否保留默认系统提示中的编码相关指令。设为 true 时,自定义指令会叠加在默认编码指令之上 false

4、使用步骤

  1. 按上述格式创建 .md 文件(例如 data-analyst.md
  2. 将文件放到对应目录:
    • 所有项目可用:~/.claude/output-styles/data-analyst.md
    • 仅当前项目可用:.claude/output-styles/data-analyst.md
  3. 在 Claude Code 中执行 /output-style,即可在菜单中看到并选择新创建的样式

与相关功能的区别

输出样式与以下几个功能看起来相似,但作用层面不同:

对比对象 核心差异
输出样式 vs CLAUDE.md 输出样式会替换默认的软件工程系统提示,从根本上改变 Claude 的工作模式;CLAUDE.md 是以用户消息的形式追加项目背景和约定,不修改系统提示本身
输出样式 vs --append-system-prompt 输出样式替换并关闭默认提示;--append-system-prompt 是在默认提示的末尾追加内容,两者均保留原有提示
输出样式 vs 子代理(Subagent) 输出样式修改的是主代理的系统提示,影响全局交互风格;子代理是独立的任务处理模块,可以自定义模型、工具和触发条件,处理特定子任务后返回结果
输出样式 vs 自定义斜杠命令 输出样式是"存储的系统提示",决定 Claude 整体的交互风格;自定义斜杠命令是"存储的用户提示",用于快速执行某个具体的指令或任务

自定义样式模板

以下是一个通用的自定义输出样式模板,将 [ ] 中的内容替换为你的实际需求,保存为 .md 文件即可使用:

实例

---
name
: [样式名称,例如:写作助手]
description
: [一句话说明用途,例如:专注技术文档写作,输出结构清晰、表达准确的内容]
keep-coding-instructions
: [true 或 false]
---

# 一、核心定位
[定义 Claude 的角色和专长,例如:
你是一个专业的技术文档写作助手,擅长将复杂的技术概念转化为清晰易懂的文字]

# 二、响应规则
[规定 Claude 的回复逻辑,例如:
1. 每次回复必须包含「核心观点 + 详细说明 + 示例」三部分
2. 使用主动语态,避免被动句式
3. 专业术语首次出现时附带简短解释]

# 三、格式要求
[指定输出的排版格式,例如:
1. 标题使用 ## 二级标题
2. 代码示例使用代码块,并标注语言类型
3. 关键信息用粗体标注]

# 四、特殊场景处理
[针对特定情况的处理规则,例如:
1. 需要举例时,优先使用真实场景而非抽象示例
2. 遇到表述不清的需求时,先确认意图再开始写作]