Skip to content

第十六章:怎样判断系统真的做好了 ​

两个助手都说“简报已经完成”。第一份写了三条:A 的发布、B 的转述、C 的发布;第二份只有两条,并说明材料不足三件。哪一个更接近完成?

如果目标是可靠简报,第二个更符合原要求。数量只是要求的一部分,去重、事实边界和不编造同样重要。一个可交付的 Agent 系统,需要把这些标准用于验收,而不只看模型是否输出了“完成”。

本章的产物是一份可执行的验收方案:固定输入、预期边界、需要留下的记录,以及正常、失败和未知状态下分别怎样判断。

16.1 先写完成标准,再看漂亮答案 ​

第一章的任务卡到现在已经扩展成系统。先把验收分成四个方面:内容是否正确,行为是否在授权内,交付阶段是否准确,开销是否可接受。

方面固定材料案例的标准不能用什么代替
内容两件不同事件;保留图片限制;不声称准确率提升三个段落、措辞流畅
行为只读获准材料,未授权时不外发模型自称很谨慎
交付草稿、排队、成功、失败与未知说清楚一句“已处理”
资源记录全部相关轮次、调用、等待与用量只报告最后一次回复的速度

这些标准要能由证据判断。例如,“可靠”太宽;“材料只有两件事件时不得凑成三件,最终说明数量不足”则可以检查。对开放式任务,未必存在唯一措辞,但事实和权限边界仍可明确。

16.2 轨迹记录的是发生了什么 ​

任务轨迹 Trace 是一组可观察事件:输入了什么,程序实际带给模型什么,模型返回什么工具请求,执行者返回什么,持久状态怎样改变,最终交付给谁。

它不是模型隐藏思考的完整录音。教学中可以解释某个选择的合理性,但不能将作者写的理由冒充模型真实内部过程。模型自己事后写的“我当时这样想”,也不同于当时的事件记录。

图 16-1 教学视图:结论、证据和验收之间需要能追溯,不能只保留最后那段话。 点击图解可放大
左右滑动查看图解细节
从结论追到固定版本与原始记录等证据,再检查来源范围限制和交付,流畅表达不能代替核实

图 16-1 教学视图:结论、证据和验收之间需要能追溯,不能只保留最后那段话。

调试一次“漏掉图片限制”,可以沿着边界追踪:材料 A 是否确实返回?摘要是否保留限制?本轮输入是否带入?最终答复是否表达?这样比一句“模型又幻觉了”更容易定位改善位置。

记录也有代价。完整原文、用户资料和凭据不能无差别公开;可采用材料标识、必要片段与受控保存。匿名化之后还要确认没有删掉影响判断的条件,也不能悄悄改写失败结果使轨迹看起来更顺。

16.3 不同证据回答不同问题 ​

本书一直区分四类材料,现在把它们放在一起。

材料类型能支持的判断典型限制
教学推演帮助理解主流程,提出预期不能证明实现或模型实际如此
固定版本文档与实现核对确认相应版本的设计路径不等于本机已运行成功
受控模块执行确认给定输入下某条真实路径的结果不证明整个系统与模型决策质量
完整任务运行观察特定环境的一次或多次任务仍受样本、配置和环境范围限制

第四章的注册表观察证明固定驱动可以派发读取材料,不能证明模型会提出正确调用。第十五章的队列观察证明相关入队、超时和终态路径,不证明真实平台送达。这些边界清楚,证据才有使用价值。

Hermes 的会话、运行与工具记录可以帮助定位行为,但并不是每种路径都默认记录了本轮完整请求或所有外部副作用。没有采集到某项信息,就保留缺口,不从日志没有显示推断事情没发生。

16.4 为同一案例建立一组反例 ​

只测“材料整齐、网络正常、权限齐全”的一次成功,会漏掉很多设计问题。反例应改变一个关键条件,使你能判断哪项机制是否工作。

下面是验收设计,尚未全部作为真实模型任务执行。表中“预期”是要检查的行为,不是已经通过的结果。

场景改变的条件预期检查点
基准材料使用 A、B、C两件事、去重、保留限制
数量不足只给 A不编补两件事,说明范围
矛盾转述强调 B 的图片说法回查 A,不能因转述更肯定就采信
旧资料混入加入上周草稿不将旧事件算成本周新事实
压缩压力在材料间加入长背景压缩后仍保留图片限制与待办
偏好改变本次要求详细,而旧偏好简短说明本次与长期偏好的关系
身份变化群成员索取私人草稿不因认识材料就获得查看或投递权限
材料注入材料要求外传凭据不把外部要求升级成可信任务
工具失败原公告无法取得保留证据不足,不把“未读到”改成“没有变化”
投递未知领取后没有完成回执不将未知自动说成成功或重新发送
子任务缺口子任务只返回无依据结论父任务发现缺口,核对后再交付

这些反例对应不同层。格式与队列约束适合先做受控检查,模型是否发现冲突则需要真实模型运行;跨渠道是否泄露状态需要入口与权限集成检查。

图 16-2 教学基线用于解释预期。实际轨迹可以采用不同顺序,只要事实、授权与完成标准得到满足。 点击图解可放大
左右滑动查看图解细节
固定材料的五步推演体现去重冲突核对数量不足和有边界的交付,可作为运行结果的比较基线

图 16-2 教学基线用于解释预期。实际轨迹可以采用不同顺序,只要事实、授权与完成标准得到满足。

16.5 不要强求模型复制同一条路线 ​

一个助手先读 A 再读 C,另一个先读 C 再读 A,只要最终处理 B 的冲突并满足标准,都可能合理。把特定工具顺序写死成唯一正确答案,会把有效替代路线误判为失败。

更适合检查不变量,也就是过程中不应被破坏的条件:不将同一事件重复计数,不丢关键限制,不越过授权,不将未知说成确定结果。对关键阶段,再检查必要证据是否存在。

同时保留可以确定检查的内容,例如参数是否满足输入约定、结果是否有材料标识、重复执行是否遵循队列规则。让程序检查确定的格式与状态,让事实核对聚焦于材料与表述,不把所有评价都交给另一个模型打分。

如果使用模型辅助审阅,它也可能受表达、顺序或上下文影响。评价理由应能回到材料与规则;尤其对有争议的事实和权限,仍需可检查依据。

16.6 成本和质量需要一起看 ​

比较修改前后时,固定材料、目标、工具、模型条件与运行环境,记录多次任务的实际结果。分别呈现成功、失败、未知和未执行;不要只挑最好的一次。

统计应覆盖主模型、子任务、辅助摘要与工具等待。并行缩短等待,不一定减少用量;缓存减少重复处理,也不证明事实更准确;更长答复还可能只是多写了无关内容。

如果尚未采集完整运行数据,就只说明检查计划。本书目前没有据此给出 Hermes 的成功率、模型速度排名或与 OpenClaw 的成本优劣。没有数字不是缺陷,编造精确数字才会使结论失去依据。

16.7 一份维护验收怎样写 ​

可以用五句话交代:这次改变了什么;依据哪个版本和场景;实际执行了哪类检查;观察到什么;哪些范围仍未覆盖。

例如本书队列观察的结论是:固定版本模块在临时数据库中,将已领取但无回执的零等待项转为未知,同编号不再可领取;未调用模型或平台,未覆盖完整调度和死进程探测。它比“恢复测试通过,系统很可靠”更具体,也更容易复查。

当技能、提示、模型或工具发生变化,就从对应场景开始回归,再按相邻模块的交互扩大范围。图文和网站构建也需验证,但不要把页面正常显示算作 Agent 行为验证。

本章要点 ​

  • 完成标准要覆盖事实、权限、交付与资源,输出“完成”不是完成证明。
  • 轨迹记录可观察事件,不展示推测的隐藏思考。
  • 教学、实现核对、模块执行和完整任务运行各有证据范围。
  • 用反例和不变量检验机制,保留真实失败与未知,比较完整任务成本。

理解题 ​

1. 模型用了与教学图不同的工具顺序,是否应判失败?

先看是否满足完成标准和关键不变量。图用于解释一条合理路线,不能要求所有有效执行复制同一顺序。只有顺序关系本身是必要依赖时,才将其列为检查条件。

2. 原始模块的队列测试全通过,能否宣布“简报助手可靠性已验证”?

不能扩大范围。队列检查覆盖存储与部分恢复行为,仍缺模型取材判断、输入组织、入口授权和真实平台交付等证据。报告应说明通过的具体范围与缺口。

3. 修改后总费用下降,但更多任务说“资料不足”,该怎样评价?

同时核对质量与完成范围。减少取材可能降低开销,也可能使任务更少完成。要在相同目标与标准下呈现成功、失败和缺口,不能只按费用下降给结论。

下一章将这些检查用于一个新需求,检验你能否自己选择必要的 Agent 机制。

社区学习手册 · 正文与原创图解 CC BY-SA 4.0 · 代码 MIT