Guides

Claude Code 2.1:分叉上下文、热重载与自定义智能体指南

深入解析 Claude Code 2.1 skills 功能:分叉上下文、热重载和自定义智能体支持。通过真实示例和代码学习如何使用这些功能。

Claude Skills TeamMarch 9, 202611 min read
#claude-code-2-1#forked-context#hot-reload#custom-agents#skills
Claude Code 2.1:分叉上下文、热重载与自定义智能体指南

Claude Code 2.1 发布了三个从根本上改变您构建和运行智能体工作流方式的 skill 级功能:分叉上下文热重载自定义智能体支持。如果您一直只将 skills 用作美化的斜杠命令快捷方式,本指南将展示它们实际上能做什么。您将获得可用的 frontmatter 示例、具体的用例以及在 Claude Code 会话中完全组合多智能体流水线的思维模型。

为什么这三个功能重要

在 2.1 之前,skills 本质上是无状态的提示模板。每次调用都在您当前的对话中运行,共享——并可能污染——同一个上下文窗口。如果一个 skill 运行了长时间的批处理作业、走了一条错误的研究路径,或者只是生成了大量中间输出,所有这些都会进入您的主会话。

分叉上下文解决了隔离问题。热重载解决了迭代速度问题。自定义智能体支持解决了专业化问题。它们结合在一起,将 skills 从"智能宏"推进到完全的子智能体编排,您可以像 Unix 管道一样组合它们。

ClaudeSkills Hub 上的 context-engineering skill 涵盖了许多这些模式,如果您想在生产级智能体架构上有一个先发优势的话。skill-creator skill 也值得安装——它将帮助您在第一次尝试时就正确编写下面展示的 frontmatter。

分叉上下文:长时间运行任务的隔离

在任何 skill 的 frontmatter 中添加 context: fork 以在隔离的子会话中运行它。

---
name: deep-research
description: >
  运行多步骤研究任务而不污染主会话。
  当您需要深入调查一个主题并获得
  干净摘要时使用。
context: fork
---

当用户调用这个 skill 时,Claude Code 会获取当前对话状态的快照并交给子智能体。该子智能体可以读写文件、调用工具,甚至大范围失败——这些都不会触及您的主上下文。当分叉完成时,Claude 将结果作为单条助手消息呈现。

何时使用分叉上下文:

  • 生成大量中间输出的研究或分析任务,您不想滚动查看这些输出
  • 批处理作业(重命名文件、对整个仓库进行 lint、生成测试 fixtures)
  • 任何您希望有干净回滚语义的任务:如果分叉产生了糟糕的输出,直接丢弃

何时不使用:

  • 您想在分叉内部进行来回交互的任务——分叉是自主运行的,不是对话式的
  • 需要修改共享状态并让这些更改立即在主会话中可见的任务

一个好的真实世界示例:将分叉上下文与 context-engineering skill 的 exploration-agent 模式结合。您的主会话保持干净,同时分叉在 200 个源文件中搜索相关文件。

---
name: codebase-audit
description: >
  审计代码库中的安全反模式并返回
  优先级排序的发现报告。在分叉上下文中运行以避免
  用文件搜索输出污染主会话。
context: fork
tools:
  - Read
  - Glob
  - Grep
disable-model-invocation: false
---

你是一个安全审计员。系统性地扫描当前项目中的所有源文件,
查找以下模式:硬编码的密钥、SQL 字符串拼接、
缺少输入验证和使用已弃用的加密 API。

返回按严重性排序的 markdown 报告。不要输出中间搜索
结果——只输出最终的结构化发现。

热重载:无需重启即可迭代 Skills

在热重载之前,更新 skill 意味着要么重启 Claude Code(丢失会话)要么从头开始新会话。有了 2.1,编辑您的 SKILL.md 文件然后运行:

/reload-skills

您的 skill 定义立即更新。您的对话上下文保持不变。这个单一命令在实践中将 skill 开发迭代时间缩短了大约 80%——您现在可以在 15-30 分钟内构建和测试一个可用的 skill,而不是跨多次会话重启。

使用热重载的实际开发工作流:

  1. 创建带有粗略草稿的 SKILL.md
  2. 使用 /your-skill-name 调用 skill
  3. 观察 Claude 做了什么(或做错了什么)
  4. 在编辑器中编辑 SKILL.md
  5. 运行 /reload-skills
  6. 再次调用——同一会话,更新的行为

这种紧凑的反馈循环使得迭代式编写 skills 变得实际可行,而不是试图一开始就写得完美。skill-creator skill 正是为利用这个工作流而设计的——它生成初稿,您改进它,热重载无仪式地带入更改。

文件监视提示: 如果您正在进行大量的 skill 开发,将热重载与编辑器的自动保存配对。往返变为:保存文件 → /reload-skills → 测试——一个您可以每 30 秒运行一次的循环。

自定义智能体支持:专家子智能体

agent frontmatter 字段让您指定 skill 运行时应使用哪个智能体配置。这与分叉上下文是分开的——一个 skill 可以使用自定义智能体而不分叉,或者分叉到自定义智能体中。

---
name: pr-reviewer
description: >
  审查 pull request 的逻辑错误、安全问题和
  风格违规。以 GitHub 审查评论的形式返回结构化反馈。
context: fork
agent: .claude/agents/strict-reviewer.md
tools:
  - Bash
  - Read
---

您的 .claude/agents/strict-reviewer.md 文件定义了该专家的个性、约束和工具权限。这将做什么(skill 的任务定义)与怎么做(智能体的操作模型)分开。

三种智能体定向选项:

字段值行为
agent: explore使用内置的 Explore 智能体(只读,广泛搜索)
agent: plan使用内置的 Plan 智能体(分析和分解)
agent: .claude/agents/my-agent.md使用您的自定义智能体定义

自定义智能体只是带有描述智能体角色、允许的工具和任何系统级指令的 frontmatter 块的 markdown 文件。您可以维护一个专家库——严格的安全审查者、宽松的头脑风暴伙伴、简洁的代码生成器——并根据需要将它们组合到 skills 中。

示例自定义智能体定义:

---
name: strict-reviewer
description: >
  一个专注于安全、正确性和性能的保守代码审查者。
  产生简洁、可操作的反馈。永远不批准
  有未测试边界情况的代码。
tools:
  - Read
  - Grep
  - Bash
model: claude-opus-4-5
---

你是一位进行结构化代码审查的高级工程师。要具体
并引用行号。将任何模糊的内容标记为问题,
而不是阻碍。以 JSON 数组的形式返回审查评论。

组合全部三个:完整的流水线示例

这是一个使用所有三个功能的真实世界模式:研究到报告的流水线。

步骤 1:研究 skill(分叉,自定义智能体)

---
name: market-research
description: >
  研究一个市场细分并返回结构化发现。
  隔离运行以保持主会话干净。
context: fork
agent: .claude/agents/researcher.md
tools:
  - WebSearch
  - Read
  - Bash
---

彻底研究以下市场细分。返回一个 JSON 对象,
键为:overview、key_players、growth_trends、risks、opportunities。
在行内引用来源。不要包含原始搜索输出。

步骤 2:报告 skill(正常上下文,消费研究输出)

---
name: generate-report
description: >
  将结构化的市场研究 JSON 转换为高管级
  PDF 报告。在 /market-research 之后调用。
tools:
  - Read
  - Bash
disable-model-invocation: false
---

取上一条消息中的市场研究 JSON 并生成
一份精美的高管报告。使用
scripts/generate-report.py 中的报告生成器脚本。完成后输出文件路径。

步骤 1 中的分叉将所有杂乱的搜索流量排除在您的会话之外。步骤 2 拿起干净的 JSON 输出并在主上下文中运行,您可以与之交互。

Frontmatter 中的 Hooks:隐藏的第四个功能

2.1 版本还添加了将生命周期 hooks 直接附加到 skill 的 frontmatter 的功能,而不需要单独的 hooks 配置文件。这比其他三个功能更小,但完善了整体图景。

---
name: safe-deploy
description: >
  将当前分支部署到预发布环境。
  运行预部署检查并在完成时通知 Slack。
disable-model-invocation: true
hooks:
  pre-tool-use:
    - command: "bash scripts/pre-deploy-check.sh"
      on_failure: block
  post-tool-use:
    - command: "bash scripts/notify-slack.sh"
      on_failure: warn
---

pre-tool-use hook 在 Claude 调用任何工具之前运行。设置 on_failure: block 意味着失败的检查将阻止 skill 继续——这正是您对部署等破坏性操作想要的。post-tool-use hook 在每次工具调用后触发,适用于日志记录或通知。

disable-model-invocation: true 结合,这种模式创建的 skills 行为更像经过验证的 shell 脚本而非对话式 AI——它们要么成功要么干净地失败,副作用在 frontmatter 级别而非 skill 指令中控制。

将现有 Skills 迁移到 2.1

如果您有在 2.1 之前编写的 skills,以下是最小迁移清单:

1. 识别分叉上下文的候选者

寻找生成大量中间输出的 skills:研究 skills、审计脚本、测试运行器。在它们的 frontmatter 中添加 context: fork。不需要其他更改。

2. 移除手动重载的变通方案

如果您有任何重启 Claude Code 以获取 skill 更改的脚本或别名,删除它们。/reload-skills 替代了所有这些。

3. 提取可复用的智能体个性

如果您的 skills 有描述特定"人设"(严格审查者、创意头脑风暴者、简洁总结者)的长系统提示部分,将这些部分移到 .claude/agents/ 文件中。使用 agent: 字段引用它们。这使得人设可以在多个 skills 之间复用,而无需复制粘贴。

4. 为有风险的 skills 添加 hooks

任何写文件、运行部署、发送消息或调用外部 API 的 skill 都应该有一个带确认或验证脚本的 pre-tool-use hook。对任何有不可逆副作用的 skill 应该开启 disable-model-invocation: true 标志。

此迁移完全向后兼容——没有这些新字段的 skills 继续与以前完全相同地工作。

接下来构建什么

这三个功能开启了 2.1 之前不实际的工作流:

  • 并行研究:同时在不同主题上调用多个分叉的研究 skills,然后在主会话中综合
  • 分阶段代码审查:分叉到严格审查者,单独分叉到性能审查者,在主会话中合并发现
  • 安全重构:分叉尝试大型重构,检查 diff,决定是否应用

对于您今天就可以安装的现成模式,context-engineering skill 是最全面的起点——它专门为多智能体架构构建,涵盖上下文分叉、智能体组合和生产级编排模式。将它与 skill-seekers 配对,可以将任何文档转换为适合这些流水线的特定领域 skill。

Claude Code 2.1 版本将 skills 从便利功能转变为真正的编排层。claudeskills.info 上的 141+ skills 完整生态系统现在值得通过这个视角浏览——许多 skills 在与分叉上下文和自定义智能体结合时变得显著更强大。

Skills in This Post

Related Posts