Harness 的三根柱子各管一段:Skills 教它怎么做、Hooks 保证它一定做、MCP 让它够得着外面;加层的判据只有一条——不加它就出错、加了就有数。
上一节说第三层回报最高;这一节说第三层具体怎么搭、按什么顺序搭。
一、三根柱子各管一段
Skills=知识包:把它这类活的做法写下来,它按需自动加载。 Hooks=强制力:在特定事件上自动跑命令,它跳不过去、也忽略不了。 MCP=连接器:让它接到真实的外部系统——数据库、接口、第三方服务。 再加上 Plugins:把前三样打包成一套,方便复用与分享。
二、一条链:改完一个文件之后
演示里那条链值得刻在脑子里:编辑 → Hook 触发 → 报错回填 → 它自改 → 通过才算完。 关键在第二步:lint 是 Hook 跑的,不是它【顺手跑的】。 所以这条纪律不依赖它自觉——这就是【强制】两个字的全部意义(第 7.3 节)。
三、搭的顺序:先最小
第一步:先加一条 Hook——你项目里最不能少的那条检查。 第二步:再抽一个 Skill——你每周都要重复讲解的那类活。 第三步:最后才接 MCP——等真需要碰外部数据了再接。 判据只有一条:不加它就出错、加了就有数——两条都满足,才值得加。
四、三个反模式
过度配置:小项目上挂五十个 Hook、三十个 Skill——每一样都在每次请求里收费。 层间冲突:规则文件说一套、Skill 说另一套——冲突时它可能随便挑一个。 拦得太频繁:Hook 老是把活拦下来,它学会绕路走,你天天在解释例外。 共同解药都是同一句:先删,再加——加之前先问【这一层删掉会怎样】。
五、动手 Demo:Harness 的三根柱子
下面把四类构件排开,各给一个【开始的最小形态】。
TH([u"构件", u"它解决什么", u"开始的最小形态"], [16, 36, 30])
T([u"Skills", u"教它【这类活怎么做】", u"一个 SKILL.md 写清步骤"],
[16, 36, 30])
T([u"Hooks", u"让它必须做,跳不过去", u"一条 lint 挂到改完文件之后"],
[16, 36, 30])
实跑输出:
--------------------------------------------------------------------
Harness 的三根柱子
--------------------------------------------------------------------
第三层不是一个软件,是**四类构件的组合**:
构件 它解决什么 开始的最小形态
----------------------------------------------------------------
Skills 教它【这类活怎么做】 一个 SKILL.md 写清步骤
Hooks 让它必须做,跳不过去 一条 lint 挂到改完文件之后
MCP 让它够得着外部系统 先接一个你真在用的
Plugins 把前三样打包成一套 攒够了再打包,别一开始就做
三根柱子的分工,可以这么记:
Skills = 知识包:**告诉它怎么做**
Hooks = 强制力:**保证它一定做**
MCP = 连接器:**让它够得着外面**
现在把它们串成一条链看看——改完一个文件,harness 会依次发生什么:
① 它编辑了 src/main.py
② Hook 触发:自动跑一遍 lint
③ lint 报错 → 结果塞回上下文
④ 它看到报错,自己改一遍
⑤ 再跑 lint,通过 → 才算完
**注意第 ② 步:Hook 是它跳不过去的**——这一条纪律不靠它自觉。
最后提醒一句:**先最小,再加层**——
某一层不加它就出错、加了就有数,才值得加。
五十个 Hook 配三十个 Skill,是小项目最常见的事故源。
三根柱子的分工:Skills 告诉它怎么做、Hooks 保证它一定做、MCP 让它够得着外面。 加层的判据:不加它就出错、加了就有数——先最小,别一次上全。
30 秒实验
- 给你手上的项目加第一条 Hook:改完文件自动跑一次格式检查或测试。
- 下周回顾一次:这条 Hook 抓到过东西吗?抓到就留着,没抓到就删掉再加别的。
常见误区
- 一次把三根柱子全搭上。每层都在每次请求里收费,先最小再加。
- 把该强制的事写进规则文件。文档只是建议,Hook 才是纪律——重要的事只能有一份权威。
自测三问(点开对答案)
1. Harness 的三根柱子是什么? —— Skills(知识包)、Hooks(强制力)、MCP(连接器)。 2. Hook 和规则文件的关键差别是什么? —— Hook 是确定性的、它跳不过去;规则文件只是建议。 3. 加一层工具的判据是什么? —— 不加它就出错、加了就有数——两条都满足才加。- ☐ 下一节(11.3 Claude Code的底层原理)
相关笔记
- hook:不是建议,是强制执行 — 强制力的完整做法
- skill:最值得优先掌握 — 知识包怎么写得让它真的用上
- 3种扩展机制的协作 — 三样怎么配合,而不是互相打架
- 🧡 Claude Code橙皮书 · 索引