📄 一句话概括
把全书拼成一张图:模型在上,宿主与会话两个平面在中间,执行管线是唯一入口,最下面一层是你自己加的。
📝 本节和前面几节的关系
8.7 收了判断,这一节把整门课的部件装回一张架构图里。
一、八层,从上到下
- 模型:只生成 Token、只决定下一步(导读)。
- 宿主平面:注册表/沙箱/模型路由/持久化(3.2、7.5)。
- 会话平面:工具/人格/提示段/预设组合(3.2、8.3)。
- 执行管线:审批→沙箱→超时→留痕,唯一入口(4.4、6.3)。
- 生命周期:装上、在场、撤下,全程有账(第五章)。
- 会话事实库:流水+投影+压缩+回放(第六章)。
- 能力扩展:Skill/Tool/Hook/PTC/Subagent(第四、七章)。
- 你的那一层:一套预设,只差几行 YAML(本章)。
二、这张图怎么用
遇到任何一件不确定的事,先问它在哪一层:
- 想改权限 → 宿主平面。
- 想加工具 → 会话平面。
- 想改规则 → 管线(Hook)。
- 想查证据 → 会话事实库。
问对了层,答案基本就出来了——这正是 8.2.2 的判据。
三、两条纵贯线的位置
- 执行管线横穿所有动手路径:不管谁发起,都从这道门走。
- 生命周期与事实库贯穿整个过程:装上的每一件都有账,发生的每一件事都有据。
一条管【现在能不能做】,一条管【做过什么、能不能收回】。
四、最下面那一层
本课最后要强调的是这一层:你自己也能加一层。
实测量级:22 行配置,0 行代码;diff 24 行;0 条警告。
17 课 5-20 UML、设计模式 讲的【面向对象开发中的建模方法】,到这里变成了一个具体动作:把你的需求画成一层配置。
五、动手 Demo:Harness Lab 的最终架构
把全书 7 章的东西拼成一张:
layers = ["模型", "宿主平面", "会话平面", "执行管线",
"生命周期", "会话事实库", "能力扩展", "你的那一层"]
for i, l in enumerate(layers, 1):
print(" %d. %s" % (i, l))
print(" 最后一层的成本: 22 行配置, 0 行代码")
实跑输出:
--------------------------------------------------------------------
Harness Lab 的最终架构
--------------------------------------------------------------------
把全书 7 章的东西拼成一张:
这一层 管什么 本课哪一章讲的
-------------------------------------------------------------------
模型 只生成 Token、决定下一步 导读
宿主平面 注册表/沙箱/模型路由/持久化 3.2/7.5
会话平面 工具/人格/提示段/预设组合 3.2/8.3
执行管线 审批→沙箱→超时→留痕,唯一入口 4.4/6.3
生命周期 装上、在场、撤下,全程有账 第五章
会话事实库 流水+投影+压缩+回放 第六章
能力扩展 Skill/Tool/Hook/PTC/Subagent 第四、七章
你的那一层 一套预设,只差几行 YAML 本章
-------------------------------------------------------------------
注意最下面那一行:**这栋楼你自己也能加一层**——
而且加一层的成本,是 22 行配置、0 行代码。
八层里,执行管线横穿、生命周期纵贯——一条管能不能做,一条管做过什么。 这张图最好的用法是定位:不确定的事先问它在哪一层。 最下面那层是你自己加的——加一层只要 22 行配置。
30 秒实验
- 把八层抄下来,在你自己的项目里各找一个对应物。
- 挑一件最近让你困惑的事,先问它在哪一层,再看答案是不是自动出来了。
- 数一数你的项目里有几层是【自己加的】。
常见误区
- 错误:架构图是给别人看的。——纠正:它是给自己的定位工具——问对了层,大部分问题不用猜。
- 错误:只有大项目才需要分层。——纠正:分层的成本是几行配置——本课全程没有写新包,分层反而让小事更好查。
- 错误:最下面那层是官方留的。——纠正:它是你的那一层——profile 目录里的 patch 文件,插件的内置层不改。
自测三问(点开对答案)
1. 这张架构图从上到下是哪八层? —— **模型/宿主平面/会话平面/执行管线/生命周期/会话事实库/能力扩展/你的那一层**。 2. 两条纵贯线分别管什么? —— **执行管线**管【现在能不能做】(唯一入口);**生命周期与事实库**管【做过什么、能不能收回】(全程有账有据)。 3. 最下面那一层的成本是多少? —— **22 行配置、0 行代码**(diff 24 行、0 警告)——这就是本课全程没有写新包的原因。- ☐ 下一节(8.9 本章小结)
相关笔记
- 本章小结 —— 全章收口
- 本章小结 —— 事实库那一层的出处
- UML、设计模式-面向对象开发中使用的建模方法 —— 把需求画成一层配置
- 🐳 DeepSeek Harness · 索引