基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
  • 知识卡片碎片时间过考点
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
    • AI 热点每日 AI 资讯与动向
AI 工作台
简历
旧版
AIHT
内容
精选全部 AI 动态热点榜AI 日报收藏
分类
模型行业编程产品技术观点开源
更多
Agent 接入
返回首页开发者导航
AIHT
精选 / 资讯详情
8.0
热点
AI SCORE
编程提效2026-11-06 05:50

Claude Code 扩展机制该怎么选

dev.to · AI#Claude Code#技能#工作流
Editor brief · 编辑速览

文章按职责区分四类机制:Skills 提供知识,Hooks 执行确定性操作,Subagents 隔离上下文,Plugins 负责分发。围绕团队需求给出选择框架,减少机制误用带来的上下文与令牌消耗。

文章思维导图
Knowledge map
拖拽缩放
AI deep read

AI 深度解读

Claude Code 的 Skills、Hooks、Subagents 看起来都能帮你定制工作流,但它们解决的是不同问题:教模型按流程做事、在指定事件上执行检查、把大量分析搬到独立上下文。Plugins 则负责把这些东西打包分享。

原文最有用的是一套选择顺序:先看要求是否必须执行,再看是否需要隔离上下文,接着判断要不要沉淀成可复用流程,最后考虑分发。不过,文中关于成本、执行保证和部分能力的表述偏满,需要和这套思路分开看。

必须执行的规则,为什么不能只写进 Skill

Skills 是存放在 .claude/skills/ 下、以 SKILL.md 为入口的 Markdown 指令。适合收纳团队约定、部署手册,以及你每次打开会话都要重新粘贴的操作流程。

它采用渐进式披露(progressive disclosure):先让模型看到名称和描述,匹配到任务后再加载正文。作者给出的量级是,初始元数据约 50 tokens,正文通常约 500 tokens;也可以通过 /deploy-checklist 显式调用。description 因而直接影响触发效果,不能只写一个含糊的「帮助开发」。

但流程写得再详细,也仍由模型理解和执行。它可以指导模型,却不能单独承担强制约束。

Hooks 则绑定生命周期事件,在 settings.json 中配置。原文列出的事件包括 PreToolUse、PostToolUse、SessionStart 和 Stop。前者适合执行前拦截,后者适合编辑完成后格式化。

原文用下面的配置演示:每次调用 Edit 或 Write 后运行 Prettier。

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [
          {
            "type": "command",
            "command": "npx prettier --write $CLAUDE_FILE_PATH"
          }
        ]
      }
    ]
  }
}

重点看 matcher 和 command:一个决定匹配哪些工具调用,一个决定执行什么。不过,原文没有交代 $CLAUDE_FILE_PATH 的注入来源,也没有处理路径引用和命令失败,不能把这段示例直接当成经过验证的项目配置。

对于 rm -rf、git push --force 这样的操作,作者建议用匹配 Bash 的 PreToolUse 检查并返回 deny。这里真正有价值的原则是:需要强制执行的要求,应交给执行机制承担。

部署流程则不同。测试、预发检查、数据库迁移是否可逆、打标签、整理变更记录,需要在主会话里逐步推进,也需要人参与判断。它适合做成 Skill;其中不可绕过的检查,再交给 Hook、权限规则或已有发布系统。

大量文件分析,为什么适合交给 Subagent

Skill 主要改变模型如何做事,Subagent 改变工作发生在哪里。

原文介绍的 Subagents 定义在 .claude/agents/,由主会话通过 Agent 工具调用,拥有独立上下文,完成后把摘要返回主会话。大量文件内容和搜索结果留在子任务里,主会话继续处理当前问题。

Claude Code 扩展机制及其职责划分

作者举了两类任务:扫描 500 个文件查找安全问题,以及读取 50 个 package.json、300 条锁文件记录进行依赖分析。这些是场景举例,原文没有给出实际项目或运行记录。

下面的定义展示了模型选择和工具范围:

---
name: dependency-auditor
description: Audits project dependencies for vulnerabilities and license issues
model: haiku
tools: Read, Grep, Glob
---
You are a dependency auditor. Scan package files for
outdated or vulnerable packages. Return a concise
summary of findings with severity levels and
recommended actions.

重点看 model: haiku 和 tools: Read, Grep, Glob。作者希望用 Haiku 承担较轻的分析工作,并把工具限制在读取和搜索范围。

但这段定义没有提供漏洞公告数据库的访问方式。读取依赖名称和版本,只完成了审计的一部分;要判断已知漏洞、受影响区间和修复建议,还需要可信的数据来源。仅凭这段提示词,不能保证得到可靠的漏洞报告。

原文还介绍了内置的 Explore 和 Plan:前者用于只读搜索,后者用于调查问题并返回计划。同时声称 Subagent 可以预加载 Skills、限定自己的 MCP servers,并最多嵌套 5 层。这些属于原文的能力描述,没有附版本号或验证记录。

对前端和 Node 团队,最值得借鉴的是任务边界:依赖梳理、跨目录搜索、日志分析可以先独立完成,再返回带文件位置和证据的结论。摘要要压缩噪声,也要保留复查入口。

上下文要按需加载,Plugins 留到分发时再考虑

把所有要求塞进 CLAUDE.md 很方便,却也会让当前任务承担无关指令的成本。

作者用一组估算说明差别:调用 3 个 Skill,按每个 500 tokens 计算,约占 1500 tokens;手动重复粘贴流程可能每次花 2000 tokens;包含 10 个流程的 CLAUDE.md 可能占 5000 tokens,即使其中 9 个流程暂时用不上。

Subagent 则把成本分散到独立上下文。原文假设一次审计读取 300 个文件,内部花费 20000 tokens,主会话只接收约 200—300 tokens 的摘要。它减少的是主会话接收的内容,子任务自身的推理和工具调用仍然有成本。

隔离上下文与降低总费用,是两个需要分别验证的目标。

因此,CLAUDE.md 更适合保留简短、普遍适用的项目约定;完整流程放入 Skills,大量材料处理交给 Subagents。作者还建议按文件路径或项目类型限定 Skill,避免 React 组件约定在处理 Python 文件时误加载,但没有提供具体配置。

Plugins 则解决共享问题。它通过 .claude-plugin/plugin.json 声明内容,可以打包 Skills、Hooks、Subagents 和 MCP servers。原文的清单示例叫 team-workflow,版本为 1.0.0,安装入口包括 marketplace、git URL 和 /plugin install。

先确定各部分怎样工作,再决定是否打包,顺序很实用。插件不会替你解决流程设计问题,它主要让团队安装、管理版本和共享配置更方便。

原文末尾还提到一种组合:在 Skill 的 frontmatter 中通过 hooks: 声明局部 Hooks,只在相关流程运行期间启用。不过,提供的内容在部署案例中途截断,没有完整配置,无法据此复现。

我的判断

这篇文章的分类框架值得保留:流程指导、事件执行、上下文隔离、团队分发,确实是不同层面的问题。遇到需求先辨认它属于哪一层,比直接增加提示词更容易控制复杂度。

但作者没有给出可复现的实验或对照数据。50、500、200—300 tokens,以及「有效上下文翻倍」等说法,只能作为量级说明,不能当作性能结论。具体开销取决于指令长度、输出规模和运行方式,让模型自行报告上下文用量也不足以构成完整测量。

文中对 Hooks 的描述尤其需要收紧。事件能够触发,不代表脚本必然成功;原文同时列出了 command、http、mcp_tool、prompt、agent 共 5 种 handler,并称 agent 仍属实验性。既然其中包含 LLM 调用,就不能把所有 Hook 都理解成零 token、零判断成本。

「模型完全看不到 Hook」「多个 Hook 按顺序执行」「Subagent 最多嵌套 5 层」等表述,也缺少版本和适用条件。原文没有证明这些是所有环境下的保证。

与常见替代做法相比,Hooks 适合提供编辑后的即时反馈;CI 更适合作为团队合并和发布的统一检查入口。Skills 方便指导流程,不能替代权限控制。作者把已知 flaky test 作为部署时可能调整流程的例子,也不应被理解成允许模型自行放行失败测试。

能拿来做什么

  • 把反复粘贴的 React 或 Node 项目操作流程整理为 SKILL.md,在描述中写清任务和触发条件,让 CLAUDE.md 保持简短。
  • 对编辑后运行 Prettier 这类要求,先验证 Hook 的事件、文件路径传递和失败反馈,再接入实际项目,并保留 CI 中的统一检查。
  • 把 monorepo 依赖梳理交给独立 Subagent,要求报告包含文件路径、版本、证据来源和待确认项;漏洞判断应接入可信公告数据。
  • 等 Skills、Hooks 和 Subagents 在项目中运行稳定,再打包成 Plugin,并明确团队使用的版本和升级方式。
Original source

本文由 AI 通读原文后重新编写,观点部分为站内判断,细节以原文为准,来源 dev.to · AI,原文版权归原作者所有。

阅读原文
上一篇
用 Claude Code 子代理拆分并行开发任务
下一篇
用 CLAUDE.md 固化团队开发上下文

资讯速览

dev.to · AI · 2026-11-06 05:50

AI 评分 8.0 / 10

相关标签

#Claude Code#技能#工作流

继续阅读

  • AI 代码审查降本:缓存、调用与模型分级
  • 用 Claude Code 子代理拆分并行开发任务
  • 用 CLAUDE.md 固化团队开发上下文
  • 从真实开发需求构建Agent评测集
  • 算清 LoRA 微调的参数与内存开销