Agent Engineering 课程阅读

在 GitHub 查看原文

本页目录

L05 练习

练习 1:量化冲突检测的准确率(设计实验类)

本课的 check_conflicts 用 LLM judge 判断"一致/冲突/无关"。设计实验量化准确率:

  1. 构造测试集:20 对 (新发现, 旧结论),人工标注:8 个一致、8 个冲突、4 个无关。
  2. 跑 check_conflicts:用真实 LLM judge,统计: - 冲突召回率:8 个真冲突里检测到几个? - 冲突精确率:检测到的"冲突"里真的冲突的几个? - 误报率:一致/无关被判成冲突的比例。
  3. 预期:冲突召回率 > 80%(漏检比误报严重——漏了就不修正了)。

验收:输出准确率/召回率/精确率。诚实标注 LLM judge 的水平(glm-4 在这个任务上够不够准)。


练习 2:实现「修正说明的质量评估」

writer 被要求在报告中写修正说明(旧结论/新证据/为何采信新的)。但写得好不好需要评估:

  1. 定义修正说明的质量标准:①是否明确写出旧结论 ②是否附新证据 ③是否给出采信理由。
  2. 写一个 evaluate_correction(report, conflicts) 函数,检查报告里有没有这三要素。
  3. 跑硬任务,看 writer 产出的修正说明质量。

验收:修正说明质量评分函数能检测出"缺要素"的报告(如只写了旧结论但没说为何采信新的)。


练习 3:多轮冲突的链式修正

一个发现可能引发连锁修正:A 与 B 冲突 → 补研发现 B 是对的 → 但 B 又与 C 冲突 → 再补研 C。实现:

  1. 补研结果回流后,reviewer 再次检查(不只是新 findings vs 旧记忆,还检查补研发现之间是否冲突)。
  2. 链式修正不超过 2 层(防止无限连锁)。
  3. 报告里写"修正链":旧结论 A → 补研发现 B 正确 → B 与 C 冲突 → C 确认错误。

验收:能处理"A→B→C"的链式冲突。思考:什么场景下会出现链式冲突?(提示:一个错误结论可能基于另一个错误结论)。