AI 工程(AI Engineering) — 本课题摘录
读了哪一章: 第 6 章(检索增强与智能体)。 全书九章,其余本轮没读。
这一份的角度和前面六十几份都不同:它不问"循环该怎么写",它问"这个循环坏了的时候,你怎么知道、怎么数"。本课题第四圈("怎么知道它好不好")到这里才第一次有了系统材料。
它对本课题回答了什么
故障分三类,而且每一类都给了可数的指标
| 类别 | 是什么 |
|---|---|
| 规划故障 | 计划 本身就不对 |
| 工具故障 | 用对了工具,但工具输出错了 |
| 效率故障 | 计划有效、任务也完成了,但走得太绕、太贵、太慢 |
(依据:书 · AI工程(AI Engineering) §第6章 —— 智能体特有的故障模式由规划、工具执行、效率三方面引起;评估一个智能体的做法是识别其故障模式并统计每种发生的频率)
它的方法论一句话:评估一个智能体,就是识别它的故障模式,然后统计每种发生的频率。
这句话对本课题的原型阶段直接可用: "评估"不是给它打一个分,是给每一种坏法各记一个数。
而且这跟 shen-ru 那本的"做消融实验,逐项关掉看哪个影响最大"是配套的: 一个告诉你怎么定位原因,一个告诉你怎么给症状分类。
"工具使用失败"被拆成三档 —— 这一条最实用
| 档 | 例子 |
|---|---|
| 调了不存在的工具 | 计划里要调某个搜索工具,而工具库里根本没有它 |
| 工具对,但参数个数不对 | 一个只要一个参数的换算工具被传了两个 |
| 参数个数对,但数值错 | 该传 120 却传了 100 |
(依据:书 · AI工程(AI Engineering) §第6章 —— 最常见的规划故障是「工具使用失败」,细分为无效工具(调了工具库里没有的)、工具有效但参数无效(参数个数不对)、工具有效但参数值错误(个数对但数值错)三档)
这三档的排查手段完全不同,这才是它的价值:
- 第一档:程序能自动检出(名字不在表里)——这正是 dong-shou-zuo-ai-agent 那条"无效工具当成一次观察回填"处理的情况;
- 第二档:程序也能自动检出(参数校验)——厂商的结构化输出能挡掉大部分;
- 第三档:程序检不出来。 参数合法、类型正确、就是数错了。
只有第三档需要外部裁判(db-gpt 的"真执行对答案")或人来看。 本课题的原型应该把前两档做成自动统计,第三档留给人。
它还给了六个可以直接算的指标: 生成的计划里有多少是有效的、平均要生成几个计划才得到一个有效的、所有工具调用里有多少有效、无效工具被调的频率、有效工具被传错参数个数的频率、有效工具被传错参数值的频率。
一种独立的故障:它以为自己做完了
"反思错误":智能体确信自己已经完成了任务,但实际上并没有。
它的例子:把 50 个人分配到 30 间房, 智能体只分配了 40 个,却坚称任务已完成。 (依据:书 · AI工程(AI Engineering) §第6章 —— 「反思错误」是一种规划故障——智能体确信自己完成了任务但实际未完成,例子是把 50 个人分配到 30 个酒店房间却只分了 40 人还坚称已完成)
这一条直接打在本课题第四个决定的要害上: 前面绝大多数实现的停止条件是"模型不再要工具了"——而这条故障说的正是"模型不再要工具了,但活没干完"。
kun 用五道纠正来兜它,db-gpt 用"真执行对答案"来兜它, 这本书给了它一个名字和一个可数的定义。有名字才好统计。
一个经常被忽略的约束:时间
在某些场景下,智能体的价值会随时间推移而降低。
它的例子:你要求智能体准备一份资助申请,但它在截止日期之后才完成——那便没什么实际价值了。
本课题读到现在,"什么时候停"讨论的都是"跑太久要停"(省钱、防死循环)。 这一条给了另一个理由:跑太久,做对了也没用。
两者的区别在于谁来定那个上限:前者由预算定,后者由外部的截止时间定。