🐳 第八章 设计自己的Harness
📄 一句话概括

把全书拼成一张图:模型在上,宿主与会话两个平面在中间,执行管线是唯一入口,最下面一层是你自己加的。

📝 本节和前面几节的关系

8.7 收了判断,这一节把整门课的部件装回一张架构图里。

一、八层,从上到下

二、这张图怎么用

遇到任何一件不确定的事,先问它在哪一层:

问对了层,答案基本就出来了——这正是 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 秒实验

  1. 把八层抄下来,在你自己的项目里各找一个对应物。
  2. 挑一件最近让你困惑的事,先问它在哪一层,再看答案是不是自动出来了。
  3. 数一数你的项目里有几层是【自己加的】。

常见误区

  1. 错误:架构图是给别人看的。——纠正:它是给自己的定位工具——问对了层,大部分问题不用猜。
  2. 错误:只有大项目才需要分层。——纠正:分层的成本是几行配置——本课全程没有写新包,分层反而让小事更好查。
  3. 错误:最下面那层是官方留的。——纠正:它是你的那一层——profile 目录里的 patch 文件,插件的内置层不改。
自测三问(点开对答案) 1. 这张架构图从上到下是哪八层? —— **模型/宿主平面/会话平面/执行管线/生命周期/会话事实库/能力扩展/你的那一层**。 2. 两条纵贯线分别管什么? —— **执行管线**管【现在能不能做】(唯一入口);**生命周期与事实库**管【做过什么、能不能收回】(全程有账有据)。 3. 最下面那一层的成本是多少? —— **22 行配置、0 行代码**(diff 24 行、0 警告)——这就是本课全程没有写新包的原因。

相关笔记