Claude Code 变身编程学习搭子。

内容分享1天前发布
0 0 0

家人们谁懂啊,今天 Claude Code 代码写到一半,突然留了个 TODO 让我接着写,这不是倒反天罡吗!

AI 写代码已经不是新闻了,AI 让人写代码才是新闻!

今天, Anthropic 团队悄悄更新了最新功能,目标是解决长期以来被 AI 编程工具所忽视的领域: 学习与理解

开发者们,尤其是初学者,或多或少都有过这样的体验:遇到一个难题,向 AI 提问,复制粘贴一段由 GPT 或 Claude 生成的、看似完美的代码,问题解决,然后……就没有然后了。

代码是能跑,但为什么这么写?背后的设计思想是什么?有哪些其他的实现方式,优劣何在?这些问题,往往随着窗口的关闭而被遗忘。

AI 成了一个高效却冰冷的「 代码老虎机 」,而非一个能启迪思考的良师益友。

Claude Code 变身编程学习搭子。

目前,Claude 决定改变这一切。

他们正式推出了两种全新的输出模式: Explanatory (解释模式) Learning (学习模式)

简单来说:

  • Explanatory 不再只是给你最终的代码,而是像一位资深架构师,一步步为你拆解它的思考过程、架构决策、技术权衡以及最佳实践。知其然,更知其所以然。
  • Learning 模式下,Claude 会化身你的结对编程搭档,在写代码的过程中,它会突然停下来,在关键节点留出 TODO(human) 标记,然后告知你:「这部分逻辑你来试试?」

这不仅仅是一次功能上的小修小补,更是一次人机交互方式的转变。

Claude 正在从一个单纯的「任务执行者」变成一个循循诱导的「 编程导师 」。

它不再满足于帮你写完代码,更要确保你真正理解代码,甚至 逼着 你亲自动手,在实践中成长。

这背后,是一套名为 Output Styles 的强劲机制在驱动,它甚至允许开发者定制 Claude 的「人格」。

更深挖一层,我们还能看到 Anthropic 围绕 Subagents (子智能体) 和 Slash Commands (斜杠命令) 打造的 Agent 工具箱。

Claude Code 引领的这场编程学习革命,将会把人机协作推向何方?

告别「代码黑箱」:两大新模式详解

想象一下,你身边坐着一位资深的架构师和一位耐心的编程搭子,随时准备为你解惑和指导。这就是 Explanatory 模式和 Learning 模式尝试带给你的体验。

Explanatory 模式:会思考的 AI 架构师 ‍

在传统的 AI 编程助手中,当你要求它实现一个功能时,它会直接给出最终的代码。这个过程就像一个黑箱,你只看到了输入和输出,却错过了最宝贵的中间环节—— 思考过程

Explanatory 模式 正是为了打破这个黑箱。

当你启用此模式后,Claude 在完成软件工程任务的同时,会像一位经验丰富的开发者在进行 code review 或结对编程时那样,不断地「自言自语」。它会:

  • 解释推理过程 :详细说明它为什么会做出这样的架构决策或技术选型。
  • 分析权衡利弊 :告知你选择这种方案背后,放弃了哪些其他可能性,以及这样做的优劣是什么。
  • 传授最佳实践 :在编码过程中,自然地融入行业内公认的最佳实践和代码规范,并告知你「为什么这么做是好的」。
  • 揭示代码库模式 :协助你理解当前项目中已有的设计模式和代码风格,确保新代码的融入是无缝且一致的。

Claude Code 变身编程学习搭子。

举个例子,在 Explanatory 模式下,当你让 Claude 设计一个新的 API 结构时,它会先输出这样的 Insights

好的,为了构建一个可扩展且易于维护的 API,我将采用分层架构。我们将分离路由处理、业务逻辑和数据访问。这种 关注点分离 的设计模式,虽然在初期会增加一些文件数量,但从长远来看,它能极大地提升代码的可读性和可测试性……

看到了吗?这不再是简单粗暴的代码,而是充满了设计哲学和工程智慧的对话。对于希望从「代码搬运工」成长为「软件工程师」的开发者来说,可以在潜移默化中学到更多最佳实践。

Learning 模式:逼你动手的「苏格拉底式」AI 陪练

如果说 Explanatory 模式是「言传」,那么 Learning 模式 就是更进一步的「身教」。

这个模式源自于 Anthropic 此前在教育领域的探索 Claude for Education ,目前正式向所有用户开放。它的核心理念源自主动学习理论: 只有亲身实践,才能获得最深刻的理解

启用 Learning 模式后,Claude 不会一次性把所有代码都写完。它会在关键节点 故意停下来

它会采用一种协作式、边做边学的互动方式:

  1. 主动留白 :在编码过程中,Claude 会故意将一些小而关键的代码片段留空。
  2. 布置任务 :它会在代码中通过 TODO(human) 标记,明确指出需要你亲手实现的部分。
  3. 提供上下文 :在布置任务前后,它会提供足够的上下文信息和指导,确保你不会无从下手。
  4. 即时反馈 :在你完成代码后,Claude 会对你的实现进行分析,提出改善提议或给予肯定,形成一个完整的学习闭环。

可以说这是我第一次遇到一个 AI 编程工具,会跟我说:「好了,基础框架我已经搭好了。目前,这个计算核心折扣率的函数 calculateDiscount 就交给你来实现了。我信任你能搞定!」

这是一种巧妙的「 反向教学 」设计,它将用户从被动的「代码接收者」转变为主动的「任务参与者」。

这感觉就像一位健身教练,他为你示范了动作要领,但最终需要你自己举起哑铃。

这种模式的魅力在于,它迫使你直面问题的核心,进行独立思考。当你完成 TODO(human) 部分后,Claude 会检查你的代码,提供反馈,并在需要时进行修正。

这个「 编码-反馈-修正 」的闭环,是最高效的学习方式之一。

无论是难以理解的复杂概念,还是需要动手实践的编程任务, Learning 模式都能将单向的「问答」变成双向的「共建」,让学习过程变得生动而深刻。

顺便一提,Learning 模式不止在 Claude Code 中可用,还能在 Claude App 中使用:

Claude Code 变身编程学习搭子。

揭秘背后机制:Output Styles 如何重塑 Claude 的「人格」

那么,Claude 是如何实现这两种截然不同的交互模式的呢?答案在于一个名为 Output Styles (输出风格) 的核心功能。

Output Styles 允许用户直接修改 Claude Code 的 系统提示 (System Prompt) ,从而彻底改变其行为模式和「人格」。可以把它理解为给 AI 戴上不同的「 角色面具 」。

  • Default (默认) 风格 :我们最熟悉的 Claude,其 System Prompt 经过高度优化,目标是 高效完成软件工程任务 。它被指令要「简洁地回应」、「用测试验证代码」,一切以生产力为先。
  • Explanatory Learning 风格 :当切换到这两种风格时,Claude Code 会主动 关闭 那些为了追求效率而设定的指令。取而代之的是,将新的、专注于教学和解释的指令添加到 System Prompt 中。

而当你切换到 Explanatory Learning 这样的非默认风格时,后台发生的事情是:

  • 「关闭」默认指令 :系统会暂时屏蔽掉那些为「高效产出」而设计的指令。
  • 「注入」新指令 :取而代之的是,将新风格专属的定制指令添加到 System Prompt 中。

这个设计本身就体现了一种权衡:为了实现教学目的,可以适度牺牲部分执行效率。在追求「更快、更强」的 AI 领域,这是一个超级值得关注的转变。

如何使用和定制 Output Styles?

在 Claude Code 的命令行界面 (CLI) 中,切换和管理 Output Styles 超级简单:

  • 菜单选择 :运行 /output-style 或从 /config 菜单进入,即可看到所有可用的风格并进行选择。
  • 直接切换 :运行 /output-style explanatory /output-style learning 即可快速切换。

这些设置是 项目级别 的,会被保存在项目目录下的
.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「人格」,列如:

  • Code-Golf-Master 风格 :要求 Claude 永远用最少的代码行数来解决问题。
  • Beginner-Friendly 风格 :要求 Claude 避免使用任何高级语法,并为每一行代码都添加详细注释。
  • Security-Auditor 风格 :要求 Claude 在生成任何代码时,都优先思考安全性,并指出潜在的漏洞风险。

这种开放性和可扩展性,将 Claude Code 从一个固定的产品,变成了一个可以根据个人或团队需求无限进化的动态平台。

冰山之下:Claude 的「智能体军团」构想

如果我们只关注 Explanatory Learning 模式,那我们只看到了冰山一角。水面之下,是 Anthropic 正在构建的一个高度模块化、可组合的 AI Agent 生态系统 。这个生态的核心组件之一,就是 Subagents (子智能体)

什么是 Subagents?

你可以将主 Claude 想象成一个项目经理或总指挥官。当它遇到一个需要特定专业技能的复杂任务时,与其自己硬着头皮上,不如把它分派给团队里的专家。这些「专家」,就是 Subagents

Claude Code 变身编程学习搭子。

每一个 Subagent 都是一个预先配置好的 AI 人格,它具备:

  • 明确的专长领域 :例如代码审查、调试、数据库查询、测试用例生成等。
  • 独立的上下文窗口 :Subagent 的工作不会「污染」主对话的上下文,保持了主线任务的清晰。
  • 定制化的工具权限 :你可以准确控制每个 Subagent 能使用哪些工具(如读写文件、执行 shell 命令等)。
  • 专属的 System Prompt :每个 Subagent 都有一个精心设计的系统提示,指导其行为,使其在专业领域内表现更出色。

通过 /agents 命令,用户可以轻松创建、管理和编辑这些 Subagents ,将它们配置成团队专属的「 AI 专家团队 」。你可以创建一个极其严苛的 code-reviewer 子代理,或是一个擅长定位 Bug 的 debugger 子代理,它们各司其职,由主 Claude 智能体进行调度。

目前,我们可以将 Output Styles Subagents 联系起来,看到一幅更完整的图景:

Output Styles 定义了主智能体 (项目经理) 的沟通风格和行为模式。而 Subagents 则是项目经理手下的专家团队。

这两者结合,创造了一个强劲而灵活的系统。你可以让一个「循循善诱」的项目经理 (Learning 模式) 去调用一个「极其严苛」的代码审查员 ( code-reviewer Subagent),从而实现一种独特的、兼具引导性和专业性的开发体验。

实战指南与关键信息

典型落地场景

1、新同学上手陌生代码库

    • 风格 Explanatory
    • 操作 claude 启动后,运行 /output-style explanatory 。在实现需求的同时,让 Claude 主动讲清代码组织、模块边界、历史权衡与常见模式。

2、边做边学,兼顾交付与成长

    • 风格 Learning
    • 操作 :运行 /output-style learning 。由 Claude 留出 TODO(human) 让你补完,随后点评并修正,实现「不耽误交付的能力提升」。

3、团队统一工程习惯

    • 风格 :自定义(项目级)。
    • 操作 :运行 /output-style:new ... ,把团队的提交规范、日志与异常处理、测试边界写入「Specific Behaviors」,与代码仓库一并进行版本化管理。

与 100 万 Tokens 上下文的协同效应

值得注意的是,就在几天前,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 与其他定制化功能的区别

为了更好地理解 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 一张预先写好的菜单点餐单 存储的用户提示。执行一个预设好的、具体的用户指令,快速触发特定操作。

总结一下:

  • Output Styles 改变的是 AI 的「 性格 」和「 工作方式 」。
  • Sub-agents 是在主 AI 之外,引入了拥有特定「 专业技能 」的专家。
  • Slash Commands CLAUDE.md 则是提供了更高效的「 沟通工具 」和「 背景资料 」。

这些功能共同构成了一个强劲且分层清晰的定制化体系,让开发者可以从不同维度、不同粒度上精细地控制 AI 的行为,构建出强劲的、自动化的 Agentic 工作流。

小结:AI 编程的下一站是「赋能」而非「替代」

Claude 这次的更新反映了 Anthropic 对 AI 与人类协作未来的思考。

  1. 从「工具」到「伙伴」的范式转移 Explanatory Learning 模式的出现,标志着一种新的价值主张—— 成长与赋能 。AI 的角色不再是简单地完成任务,而是成为一个能够促进使用者技能提升、加深其领域理解的智能伙伴。
  2. 拥抱个性化与可扩展性 :通过 Output Styles , Subagents 等功能,Anthropic 几乎将 Claude Code 的所有核心行为都开放给了用户进行定制。未来的 AI 工具,不应是「万金油」式的解决方案,而是一个可以被塑造成最适合自身工作流的高度可配置平台。
  3. 对「学习过程」价值的重申 :在一个用 AI 一秒生成代码的时代,什么才是开发者真正的核心竞争力?答案是对系统、对原理、对设计的深刻理解。Claude 的新模式,正是对这一点的回应。它通过巧妙的交互设计,将学习和理解的过程重新嵌入到日常的开发工作中。

AI 编程的未来,或许不是一个由 AI 全自动编程的「黑灯工厂」,而是一个人类开发者与形态各异、各司其职的 AI 智能体深度协作、共同创造、共同成长的全新生态。

© 版权声明

相关文章

暂无评论

none
暂无评论...