第 7 章 Skills、Hooks、MCP、Plugins、Subagents 与自动化
全面讲解AI Agent的扩展能力体系,涵盖Skill、Command、Hook、MCP、Plugin、Subagent等不同扩展层的核心概念、选型原则与落地实践方法。
当你对 Agent 说同一句话超过三次,就该考虑沉淀。不同扩展层解决不同问题:流程说明、强制动作、外部工具、团队分发和专家分工不能混为一谈。
7.1 扩展能力选型矩阵
| 能力 | 本质 | 最适合 | 例子 |
|---|---|---|---|
| Skill | 可复用的能力说明书,可附脚本、参考和资产 | 重复的方法、检查项、交付格式 | 需求澄清、PR 审查、竞品研究、日报 |
| Command | 显式触发的固定入口 | 团队希望用一个命令启动流程 | /ship、/review-pr、/daily-report |
| Hook | 生命周期事件自动执行 | 必须 100% 执行的质量或安全动作 | 格式化、敏感命令拦截、完成通知 |
| MCP / Connector | 连接外部工具与数据 | 需要读取 GitHub、Figma、数据库、消息、监控 | 查 PR、读设计、发通知、查错误 |
| Plugin | 可安装和治理的扩展包 | 跨项目、跨团队分发 Skills 与连接器 | 组织审查包、发布包、业务工作台 |
| Subagent | 独立上下文与工具边界的专家代理 | 并行研究、实现、审查、验证 | security-reviewer、verify-ui、researcher |
| SDK / Routine | 把 Agent 作为可编程服务或持续任务 | 事件触发、后台、CI、产品化 | Issue 处理、定时扫描、业务自动化 |
7.2 Skills:最值得先学的一层
OpenAI 与 Anthropic 的 Skill 都以 `SKILL.md` 为核心,适合承载“何时触发、需要什么输入、执行步骤、输出格式、不要做什么”。OpenAI Skills 可被 ChatGPT 与 Codex 使用,并通过渐进披露减少初始上下文占用;Claude Code Skills 则可与 Commands、Hooks、Subagents 和 Plugins 组合。
资料依据:OpenAI Build skills;Anthropic Agent Skills / Plugins。
跨工具 SKILL.md 示例:
---
name: spec-research
description: 当需求跨多个模块、验收标准不清或需要跨角色对齐时使用;简单文案修改不要触发。
---
# 目标
把模糊想法转成可执行规格。
# 必需输入
- 目标用户与业务问题
- 时间范围与非目标
- 现有系统、数据与权限
# 步骤
1. 先采访,最多 10 个高价值问题
2. 区分事实、假设、待决策
3. 生成 SPEC 草案、任务树与验收清单
4. 等人工确认后再实施
# 输出
- 澄清问题
- SPEC
- 风险 / 依赖
- 验收与下一步
7.3 Codex / ChatGPT Skills 的位置与触发
| 范围 | 典型位置 | 用途 |
|---|---|---|
| 当前目录 / 模块 | `$CWD/.agents/skills` | 只给当前服务或模块使用 |
| 仓库级 | `$REPO_ROOT/.agents/skills` | 团队随仓库共享的能力 |
| 用户级 | `$HOME/.agents/skills` | 个人跨仓库复用 |
| 管理员级 | `/etc/codex/skills` | 容器、设备或组织默认能力 |
| 插件分发 | 通过 Plugin 打包 skills + connectors | 跨团队安装、版本和权限治理 |
-
ChatGPT 中可通过 `@` 选择 Skill;Codex CLI / IDE 可用 `/skills` 或 `$skill-name`。
-
隐式触发依赖 description;描述应前置核心用例、触发词和“不应触发”的边界。
-
不要把 100 个模糊 Skill 全部塞进项目;先建设少量高频、可评测能力。
资料依据:OpenAI Build skills。
7.4 Claude Skills、Commands 与 Hooks
| 层 | 建议用途 | 示例 |
|---|---|---|
| Skill | 方法论与可复用步骤 | /spec-research、/fix-bug、/competitor-scan |
| Command | 明确动作入口 | /review-pr、/ship、/weekly-report |
| Hook | 自动且强制的生命周期动作 | Edit 后 formatter;危险命令阻断;Stop 后通知 |
| Plugin | 把 Skills、Hooks、Subagents、MCP 组合分发 | 组织安全审查插件、发布插件 |
7.5 Hook 设计:强制动作不能靠记忆
| 场景 | 为什么用 Hook | 控制建议 |
|---|---|---|
| 文件格式化 | 每次编辑都应该执行 | 只对目标文件运行;设置超时;失败阻止收口 |
| 测试 / typecheck | 关键目录改动必须验证 | 按路径触发最小测试;完整测试交给 CI |
| 危险命令 | 口头提醒可能丢失 | 在 PreToolUse 阶段拒绝或要求审批 |
| 完成通知 | 长任务无人盯守 | 只发送状态与链接,不携带密钥或敏感正文 |
| 上下文保护 | 压缩后关键规则可能淡化 | 重新注入短小的风险边界与完成条件 |
7.6 MCP 与 Connectors:先问“决策需要什么数据”
| 连接类型 | 程序员价值 | PM / 办公价值 | 治理重点 |
|---|---|---|---|
| GitHub / GitLab | PR、Issue、CI、diff、release | 项目进度、版本变化、风险 | 仓库范围、写权限、机器人账号 |
| 数据库 / BI | 验证修复、定位数据问题 | 运营指标、报表、业务核对 | 只读副本、行列级权限、查询审计 |
| Figma / 设计 | 设计到实现、组件核对 | 方案评审、流程与视觉走查 | 文件权限、资产下载、版本对应 |
| 消息 / 日历 / 邮件 | 构建与故障通知 | 日报、会议、提醒、跟进 | 误发、收件人、对外沟通审批 |
| Sentry / 日志 | 错误栈、trace、部署上下文 | 故障复盘与趋势 | 脱敏、生产只读、保留期限 |
7.7 Subagents:复杂任务里的专家分工
| Agent | 权限建议 | 职责 | 输出 |
|---|---|---|---|
| researcher | 只读 + 搜索 | 官方文档、竞品、现有实现调研 | 来源表、差异、待验证 |
| implementer | 工作区写 + 受控命令 | 按 SPEC 实现一个明确模块 | Diff、测试、说明 |
| security-reviewer | 只读 | 鉴权、输入、越权、密钥、供应链 | 按严重度排序的发现与证据 |
| verify-app | 可运行服务与浏览器 | 走查核心流程、异常态和视觉 | 截图、复现步骤、失败清单 |
| simplifier | 工作区写,禁止行为变更 | 功能完成后做结构瘦身 | 重构 Diff 与回归证据 |
7.8 Agent View、Routines 与 SDK
| 能力 | Claude 侧 | OpenAI 侧 | 适合 |
|---|---|---|---|
| 多会话管理 | `claude agents` Agent View(研究预览) | ChatGPT 桌面多项目、多聊天、Codex 并行 | 人类监督多个后台任务 |
| 持续 / 定时运行 | Claude Routines(研究预览;计划/API/GitHub 触发) | Scheduled Tasks、Goals、Codex Cloud | 日报、扫描、事件触发处理 |
| 产品化集成 | Claude Agent SDK(原 Claude Code SDK) | Codex SDK / App Server / GitHub Action | 把 Agent 嵌入产品或平台 |
预览能力不要成为单点依赖:Agent View、Routines、部分设计与远程能力仍处于快速演进或研究预览。生产流程必须有 CLI、CI、cron、队列或人工 runbook 作为回退。
资料依据:Anthropic Agent View;Routines;Week 34;OpenAI Scheduled Tasks / Cloud。
7.9 第一批扩展建设顺序
| 角色 | 先做 3 件事 | 不要先做 |
|---|---|---|
| 程序员 | 项目规则、/review-pr Skill、格式化/测试 Hook | 几十个未经验证的社区 Skill |
| 产品经理 | /spec-research、/competitor-scan、文件/浏览器连接 | 直接让 Agent 自动决定产品路线 |
| 事务人员 | /daily-report、/meeting-followup、飞书/日历连接 | 一开始就自动给客户或正式群发消息 |
| 团队管理员 | 权限模板、插件目录、试点评测与版本策略 | 先追求全员全功能覆盖 |