家人们谁懂啊,今天 Claude Code 代码写到一半,突然留了个 TODO 让我接着写,这不是倒反天罡吗!
AI 写代码已经不是新闻了,AI 让人写代码才是新闻!
今天,Anthropic 团队悄悄更新了最新功能,目标是解决长期以来被 AI 编程工具所忽视的领域:学习与理解。
开发者们,尤其是初学者,或多或少都有过这样的体验:遇到一个难题,向 AI 提问,复制粘贴一段由 GPT 或 Claude 生成的、看似完美的代码,问题解决,然后……就没有然后了。
代码是能跑,但为什么这么写?背后的设计思想是什么?有哪些其他的实现方式,优劣何在?这些问题,往往随着窗口的关闭而被遗忘。
AI 成了一个高效却冰冷的「代码老虎机」,而非一个能启迪思考的良师益友。
现在,Claude 决定改变这一切。
他们正式推出了两种全新的输出模式:Explanatory (解释模式) 和 Learning (学习模式)。
简单来说:
这不仅仅是一次功能上的小修小补,更是一次人机交互方式的转变。
Claude 正在从一个单纯的「任务执行者」变成一个循循诱导的「编程导师」。
它不再满足于帮你写完代码,更要确保你真正理解代码,甚至逼着你亲自动手,在实践中成长。
这背后,是一套名为 Output Styles 的强大机制在驱动,它甚至允许开发者定制 Claude 的「人格」。
更深挖一层,我们还能看到 Anthropic 围绕 Subagents (子智能体) 和 Slash Commands (斜杠命令) 打造的 Agent 工具箱。
Claude Code 引领的这场编程学习革命,将会把人机协作推向何方?
想象一下,你身边坐着一位资深的架构师和一位耐心的编程搭子,随时准备为你解惑和指导。这就是 Explanatory 模式和 Learning 模式试图带给你的体验。
在传统的 AI 编程助手中,当你要求它实现一个功能时,它会直接给出最终的代码。这个过程就像一个黑箱,你只看到了输入和输出,却错过了最宝贵的中间环节——思考过程。
Explanatory 模式 正是为了打破这个黑箱。
当你启用此模式后,Claude 在完成软件工程任务的同时,会像一位经验丰富的开发者在进行 code review 或结对编程时那样,不断地「自言自语」。它会:
举个例子,在 Explanatory 模式下,当你让 Claude 设计一个新的 API 结构时,它会先输出这样的Insights:
好的,为了构建一个可扩展且易于维护的 API,我将采用分层架构。我们将分离路由处理、业务逻辑和数据访问。这种关注点分离 的设计模式,虽然在初期会增加一些文件数量,但从长远来看,它能极大地提升代码的可读性和可测试性……
看到了吗?这不再是简单粗暴的代码,而是充满了设计哲学和工程智慧的对话。对于希望从「代码搬运工」成长为「软件工程师」的开发者来说,可以在潜移默化中学到更多最佳实践。
如果说 Explanatory 模式是「言传」,那么 Learning 模式 就是更进一步的「身教」。
这个模式源自于 Anthropic 此前在教育领域的探索 Claude for Education,现在正式向所有用户开放。它的核心理念源自主动学习理论:只有亲身实践,才能获得最深刻的理解。
启用 Learning 模式后,Claude 不会一次性把所有代码都写完。它会在关键节点故意停下来。
它会采用一种协作式、边做边学的互动方式:
可以说这是我第一次遇到一个 AI 编程工具,会跟我说:「好了,基础框架我已经搭好了。现在,这个计算核心折扣率的函数 calculateDiscount 就交给你来实现了。我相信你能搞定!」
这是一种巧妙的「反向教学」设计,它将用户从被动的「代码接收者」转变为主动的「任务参与者」。
这感觉就像一位健身教练,他为你示范了动作要领,但最终需要你自己举起哑铃。
这种模式的魅力在于,它迫使你直面问题的核心,进行独立思考。当你完成 TODO(human) 部分后,Claude 会检查你的代码,提供反馈,并在需要时进行修正。
这个「编码-反馈-修正」的闭环,是最高效的学习方式之一。
无论是难以理解的复杂概念,还是需要动手实践的编程任务,Learning 模式都能将单向的「问答」变成双向的「共建」,让学习过程变得生动而深刻。
顺便一提,Learning 模式不止在 Claude Code 中可用,还能在 Claude App 中使用:
那么,Claude 是如何实现这两种截然不同的交互模式的呢?答案在于一个名为 Output Styles (输出风格) 的核心功能。
Output Styles 允许用户直接修改 Claude Code 的系统提示 (System Prompt),从而彻底改变其行为模式和「人格」。可以把它理解为给 AI 戴上不同的「角色面具」。
而当你切换到 Explanatory 或 Learning 这样的非默认风格时,后台发生的事情是:
这个设计本身就体现了一种权衡:为了实现教学目的,可以适度牺牲部分执行效率。在追求「更快、更强」的 AI 领域,这是一个非常值得关注的转变。
在 Claude Code 的命令行界面 (CLI) 中,切换和管理 Output Styles 非常简单:
这些设置是项目级别的,会被保存在项目目录下的
.claude/settings.local.json 文件中,方便团队协作时保持一致的交互风格。
而真正让 Output Styles 变得无比强大的,是它的可定制性。只需运行一个简单的命令,你就可以创造完全属于自己的输出风格:
/output-style:new 我需要一个输出风格,它在写任何代码前,都必须先用伪代码的形式描述思路,并且在所有函数前都加上符合 JSDoc 规范的注释。
Claude 会帮助你生成一个自定义风格的 Markdown 模板文件,保存在用户目录的 ~/.claude/output-styles 下。
一个自定义风格的 Markdown 文件结构如下:
---
name: My-TDD-Style
description: 一个强制执行测试驱动开发 (TDD) 流程的风格
---
# Custom Style Instructions
你是一个严格遵循测试驱动开发 (TDD) 原则的 AI 编程助手。
## Specific Behaviors
1. **永不先写实现代码**:在收到任何功能需求时,你的第一步永远是编写一个或多个会失败的测试用例。
2. **最小化实现**:在编写了失败的测试后,编写最简单、最直接的代码让测试通过。
3. **重构**:在测试通过后,再对代码进行重构以提高质量。
4. **循环**:不断重复「红-绿-重构」的循环。
这意味着,你可以创造出千变万化的 Claude「人格」,比如:
这种开放性和可扩展性,将 Claude Code 从一个固定的产品,变成了一个可以根据个人或团队需求无限进化的动态平台。
如果我们只关注 Explanatory 和 Learning 模式,那我们只看到了冰山一角。水面之下,是 Anthropic 正在构建的一个高度模块化、可组合的 AI Agent 生态系统。这个生态的核心组件之一,就是 Subagents (子智能体)。
你可以将主 Claude 想象成一个项目经理或总指挥官。当它遇到一个需要特定专业技能的复杂任务时,与其自己硬着头皮上,不如把它分派给团队里的专家。这些「专家」,就是 Subagents。
每一个 Subagent 都是一个预先配置好的 AI 人格,它具备:
通过 /agents 命令,用户可以轻松创建、管理和编辑这些 Subagents,将它们配置成团队专属的「AI 专家团队」。你可以创建一个极其严苛的 code-reviewer 子代理,或是一个擅长定位 Bug 的 debugger 子代理,它们各司其职,由主 Claude 智能体进行调度。
现在,我们可以将 Output Styles 和 Subagents 联系起来,看到一幅更完整的图景:
Output Styles 定义了主智能体 (项目经理) 的沟通风格和行为模式。而 Subagents 则是项目经理手下的专家团队。
这两者结合,创造了一个强大而灵活的系统。你可以让一个「循循善诱」的项目经理 (Learning 模式) 去调用一个「极其严苛」的代码审查员 (code-reviewer Subagent),从而实现一种独特的、兼具引导性和专业性的开发体验。
1、新同学上手陌生代码库
2、边做边学,兼顾交付与成长
3、团队统一工程习惯
值得注意的是,就在几天前,Claude Sonnet 4 API 的上下文窗口已扩大到 100 万 tokens。
这意味着 Claude 可以在一次请求中「读完」一整个中型代码库。这极大地提升了 Explanatory 和 Learning 模式的体验上限:解释可以跨越多个文件进行全局追踪,带教也能围绕项目的整体架构进行。
任务 | 命令 / 操作 | 说明 |
安装/启动 | npm install -g @anthropic-ai/claude-codeclaude | 首次安装与启动 |
切换风格 | /output-style/output-style [style-name] | 项目级生效,保存在 .claude/ |
创建新风格 | /output-style:new [你的描述] | 用户级生效,保存在 ~/.claude/ |
管理子代理 | /agents | 创建、编辑、管理专用 AI 智能体 |
安全配置 | 在 settings.json 中配置 permissions.deny | 屏蔽 .env 等敏感文件,防止 AI 读取 |
为了更好地理解 Output Styles 的定位,有必要将其与 Claude Code 提供的其他定制化功能进行比较,如 CLAUDE.md、Sub-agents 和自定义斜杠命令 (Slash Commands)。
我们可以用一个「餐厅厨房」的类比来理解它们的区别:
功能 | 厨房类比 | 技术解释 |
Output Styles | 更换主厨的烹饪哲学 | 修改 System Prompt,改变 AI 的核心行为模式和沟通风格。影响整个对话的基调。 |
CLAUDE.md | 给主厨贴一张烹饪备忘录 | 将内容作为用户消息附加在默认 System Prompt 之后,提供额外的上下文,但不改变其核心行为。 |
Sub-agents | 为特定菜系聘请专职厨师 | 调用专用的 AI 智能体。为主循环分配特定任务(如代码审查),拥有独立的上下文、工具和 System Prompt。 |
Slash Commands | 一张预先写好的菜单点餐单 | 存储的用户提示。执行一个预设好的、具体的用户指令,快速触发特定操作。 |
总结一下:
这些功能共同构成了一个强大且分层清晰的定制化体系,让开发者可以从不同维度、不同粒度上精细地控制 AI 的行为,构建出强大的、自动化的 Agentic 工作流。
Claude 这次的更新反映了 Anthropic 对 AI 与人类协作未来的思考。
AI 编程的未来,或许不是一个由 AI 全自动编程的「黑灯工厂」,而是一个人类开发者与形态各异、各司其职的 AI 智能体深度协作、共同创造、共同成长的全新生态。
本文参考资料:
Output styles - Anthropic
更新时间:2025-08-16
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-=date("Y",time());?> All Rights Reserved. Powered By 71396.com 闽ICP备11008920号
闽公网安备35020302034903号