AI Agent 工程师课程
程序员进阶版

附录 C · 贯穿式对照实验与实验方法全集

三组跨框架对照实验,以及能让实验结论站得住脚的统计方法

这份附录解决一个问题:你说框架 A 比框架 B 好,凭什么?

大多数技术选型文章给的是主观感受。这份附录教你把感受变成能经受质疑的数据。

三组贯穿式对照实验

第 1 组必做,第 2、3 组二选一,未选者以设计评估文档代替。

第 1 组:同一个 Tool Calling Agent,四种实现

Native Harness、Pi Agent Core、LangChain Adapter、Mastra Agent 运行同一个 Tool Calling Agent。

依赖模块:A1A4、程序员基础版第 4 周第 7 周

第 2 组:同一个审批流程,两种编排

LangGraph 与 Mastra Workflow 运行同一个商品上架加人工审批流程。

依赖模块:A3、程序员基础版第 7 周

第 3 组:统一事件流与统一验收

Native、Pi、LangGraph、Mastra 输出统一事件流,并由同一 Dataset、Policy Engine、Trace Schema 与 Eval Gate 验收。

依赖模块:A5

对照报告必须量化的维度

维度怎么测
实现复杂度代码行数、依赖数、新概念数量
类型安全有多少处需要 any 或类型断言
恢复语义服务重启后能否续跑,粒度多细
事件完整性对照统一 AgentEvent 缺哪些字段
延迟P50 / P95 端到端,以及首 Token
成本单次 Run 平均 Token 与金额
可观测性Trace 能还原到哪一层
退出成本删除该框架后的报错数与修复耗时

所有框架能力必须能通过 feature flag 关闭,以 Native Harness 作为消融基线。

实验方法全集

对应总课表第 19 周进阶档

程序员基础版第 6 周只做基本固定测试集回归,不含以下方法论。这一节是让你的数字站得住脚的关键,也是面试里被追问时不露怯的底气。

四层评测

  1. 确定性评测:JSON Schema、字段完整性、Tool 参数、权限、SQL 安全、引用格式
  2. 语义评测:Relevance、Completeness、Groundedness、Style、Compliance
  3. Agent 轨迹评测:Tool 选择、Tool 顺序、重复调用、步骤数、是否完成任务
  4. 业务评测:人工修改率、审批通过率、Listing 发布成功率、平均任务成本、平均完成时间

第 4 层最容易被跳过,也最能说服业务方。人工修改率这一个指标,比十个技术指标更能证明系统好不好用。

统计方法

  • 配对样本 + Bootstrap 置信区间,报告 effect size,不只报告平均分
  • 至少一次框架消融、一次 Tool / Memory 消融、一次 Prompt 扰动实验
  • LLM Judge 有校准集与一致性监控,注意 Multiple Comparison 风险
  • 所有对照使用同一输入、工具桩、随机种子策略与版本锁
  • Simulation、User Model 与 Environment Stub(模拟真实使用场景)
  • Evaluator Agreement、Bias 与 Drift 监控

为什么必须报置信区间

因为 Agent 评测的样本量通常很小(几十到几百条),而模型输出本身有随机性。平均分 82 对比 79,在 50 条样本上很可能是噪声。 报了置信区间之后,你会经常发现自己以为的提升并不显著,这个发现本身就避免了一次错误的技术决策。

配对样本的意思是同一批输入跑两个方案,而不是各跑各的。配对能消掉输入难度的差异,同样样本量下检验力高得多。

动手挑战

用统计方法推翻你自己的一个结论。

翻出你在程序员基础版或前面模块里得出的某个「A 比 B 好」的结论(比如加了 Reranker 效果更好、Mastra 比 Native 代码更少、Multi-Agent 成功率更高),然后:

  1. 补齐配对样本设计,重跑
  2. 算 Bootstrap 置信区间和 effect size
  3. 判断这个结论在统计上是否成立

大概率你会遇到至少一个「其实不显著」的结论。把它诚实地写进报告,并说明需要多大样本量才能检验出这个量级的差异。

这个练习的价值在于:面试官追问「这个提升是显著的吗」时,做过的人和没做过的人,反应完全不一样。

验收标准

  • 第 1 组实验完成,四种实现跑同一批用例并产出八个维度的数据
  • 第 2 或第 3 组择一完成,未选组提交设计评估文档
  • 所有框架能力可通过 feature flag 关闭,Native 为消融基线
  • 至少三次消融或扰动实验(框架、Tool / Memory、Prompt)
  • 关键结论附置信区间与 effect size,不只报平均分
  • LLM Judge 有校准集,一致性有监控数据

面试考点

这份附录对应面试里的数据严谨性考察,是很多技术很强的候选人反而会栽的地方。

  • 「这个优化带来多少提升?」:报数字的同时报样本量和置信区间。只报一个百分比的候选人,遇到懂统计的面试官会被追问到答不上来。
  • 「你怎么确定是这个改动带来的提升?」:答消融实验和配对样本。这题考的是因果推断意识,能答上来说明你不是碰运气调参。
  • 「LLM Judge 靠谱吗?」:答有校准集和一致性监控,同时承认它评不了自己也答不对的题。主动说局限比声称可靠更可信。
  • 「你有没有得出过和预期相反的结论?」:这题机会很大。讲你在动手挑战里推翻自己结论的经历,展示的是科学态度而不是技术能力,但恰恰是这个更稀缺。

复习与延伸

本仓库对应源码

  • packages/eval-kit/src/evaluate.ts:统一 EvalCase / EvalResult,四层评测都从这套契约出发
  • packages/contracts/src/eval.ts:评测契约定义
  • 五个 Adapter 包:对照实验的被测对象

相关页面

  • 附录 B 第 19 周条目:这份方法论的验收清单
  • A5:五 Runtime 环境是第 3 组实验的前提

On this page