本页目录
Lesson 08 — 常驻评估:收益矩阵
本课目标:用同一条 5 日时间线 + 崩溃探针,五档配置各跑一遍,量化每层机制的边际收益——六指标收益矩阵存档
eval_agent/AMBIENT_REPORT.md,并给出「纯净跑零税」回归声明。学完你能回答面试官那句:「你说常驻式比 cron 好——好多少?拿数字。」
0. 评估传统的第三次延续
| 课程 | 评估物 | 方法 |
|---|---|---|
| frontier-L09 | 机制收益 | 开关矩阵 × 任务集 |
| agent-ops-L08 | 故障生存 | 六类故障 × 全关/全开 |
| 本课 | 常驻价值 | 逐机制递进 × 5 日时间线 + 崩溃探针 |
三次评估共享同一信念:没有对照数字的机制是装饰。本课的对照物是 L00 的裸基线——五档配置从「人肉盯梢」逐层加机制,每加一层量一次。
1. 六指标:每个都对着一个失败模式
| 指标 | 回答的问题 | 对应课程 |
|---|---|---|
| 增量召回率 | 该发现的三个事件(Day3 新增/Day4 重磅/Day4 修正)被主动呈现了几个 | L02/L03 |
| 打扰精确率 | 立即打扰里值得的占比(值得=Day4 那班) | L04 |
| 疲劳指数 | 立即打扰总次数(100% 精确 × 一天 20 次也是骚扰——精确率需要绝对值补充) | L04/L05 |
| 静默失败 | Day5 信源故障被当成正常结论呈现了吗(L02 纪律的终检) | L02 |
| 5 日 token | 钱的账(对照基线 5000) | L03/L07 |
| 缺勤检出 | 崩溃探针:daemon 被杀两天,重启后有人知道吗(L07 心跳的终检) | L07 |
召回口径的一个关键裁定:「埋在全量报告里」不算主动呈现——信息在但读者仍要人肉 diff,与 baseline 同罪。召回率×精确率是开口决策的查全/查准对:前者管「漏了没」,后者管「烦了没」,单看任何一个都能作弊(全推→召回满分,全闭嘴→精确无穷)。
2. 矩阵实测(AMBIENT_REPORT.md,确定性可复现)
| 配置 | 增量召回 | 立即打扰 | 打扰精确率 | 静默失败 | 5日token | 缺勤检出 |
| baseline·人肉盯梢 | 0/3 | 5 | 20% | ❌ 有 | 5000 | — |
| cron·只开调度 | 0/3 | 5 | 20% | ❌ 有 | 5000 | — |
| +watcher·增量 | 3/3 | 3 | 33% | ✅ 无 | 1075 | — |
| +judge·判级配额 | 3/3 | 1 | 100% | ✅ 无 | 1075 | — |
| full·全开 | 3/3 | 1 | 100% | ✅ 无 | 1070 | ✅ |
逐档解读(每层机制买到了什么):
- baseline → cron:六指标一格没动。cron 买到的是「出勤」(人忘了问也照跑——这一格没进表,但它是 L00「忘了问=全盲」支线的修复)。这行是全课程最有杀伤力的一行:cron 只买到出勤,买不到判断——L00 流派对比的论断在这里拿到了数字。
- cron → +watcher:token 5000→1075(-79%,无变化日只花扫描钱);召回 0→3/3(变化被点名而非埋在全量里);静默失败修复(Day5 走告警通道)。性价比之王。
- +watcher → +judge:打扰 3→1 且正中 Day4(精确率 100%);minor 攒进摘要不丢。注意力账管起来了。
- +judge → full:缺勤检出 ✅(崩溃探针里心跳缺口被发现);退避再省一点。诚实代价:退避让 Day3 的小更新晚一天发现(Day2 无变化→间隔×2→与 Day4 事件同班)——省钱 vs 发现延迟的汇率由
adaptive_backoff_cap控制,报告里写明不藏。
3. 纯净跑零税(回归声明)
八个 Ambient 开关(schedules/source_watch/incremental_run/proactivity/inbox/period_budget/adaptive_scan/heartbeat)默认全关;全关时 split/researcher/service/图拓扑与 v3 行为一致——由全量 331 项测试保证(其中含各课的「开关关=现状」显式用例:test_split_ignores_focus_when_disabled 等)。矩阵五档均为显式开启的结果,不存在「装了就生效」的暗税。
4. 诚实标注(评估的边界)
- mock 口径:研究为确定性 mock(全量 1000 / 增量 150×条 / 扫描 5 token)——绝对数字非真实 API;五档间的相对结构(-79%、5→1、0→3/3)与真实一致,因为它们由机制决定而非模型决定。
- 判级用规则降级(离线硬约束):真实 LLM judge 的判级质量更高也更贵;cron 档用「哑判级」(一切 minor+全推)模拟现状邮件推送形态。
- 单一时间线:5 日剧本覆盖五种日子但只有一种排列——真实世界的分布(无变化日占比等)会缩放绝对收益,不改变方向。
- 确定性:同一时间线跑两遍逐格一致(
test_matrix_is_deterministic)——这让矩阵可以进 CI 当回归。
5. 跑起来
cd ambient-agent-lessons/08_ambient_eval
python code.py # 课程入口
# 或直接:
cd ../../portfolio-projects/research-assistant
python eval_agent/run_ambient_eval.py # 跑矩阵 + 写 AMBIENT_REPORT.md
6. 落地清单
| 文件 | 改动 | 如何验证 |
|---|---|---|
eval_agent/run_ambient_eval.py |
新增:五档场景 harness + 六指标回收 + 崩溃探针 + 报告渲染 | python eval_agent/run_ambient_eval.py |
eval_agent/AMBIENT_REPORT.md |
新增:收益矩阵存档(确定性,重跑零 diff) | 重跑对比 |
tests/test_ambient_eval.py |
新增:8 个测试(五档结构/基线映射/cron=baseline/逐档收益方向/确定性/报告渲染) | pytest tests/test_ambient_eval.py -q |
验收
cd portfolio-projects/research-assistant
python -m pytest -q # 323 + 8 = 331 passed
python -m pytest tests/test_ambient_eval.py -q # 8 passed
7. 本课在两条主线上的位置
- 倒置主线:验收课——五环节倒置的价值不再靠叙述,靠六指标对五档配置的逐层对照;「cron 档六指标与 baseline 全同」一行,就是范式倒置≠定时自动化的证明。
- 注意力经济主线:主线的两个核心量(打扰精确率、疲劳指数)在本课成为回归指标——以后任何改动若把精确率打下来,CI 会知道。
🎯 面试话术
「常驻式比 cron 好多少,我拿同一条 5 日模拟时间线量过:cron 档和人肉基线六项指标一格没动——每天全量重研 5000 token、五天推送五次只有一次值得、信源故障字符串照样混进报告。cron 买到的只有出勤。
真正的收益分三层:变化检测+增量研究把 token 砍 79%、把该发现的三个事件从『埋在全量里』变成逐条点名、把『没能看到』从冒充结论变成显式告警;判级+配额把打扰从每天一次降到五天一次且正中重大反转日;心跳把『daemon 死了两天』从没人知道变成重启即告警。矩阵确定性可复现,进了测试当回归——以后谁把打扰精确率改坏了,CI 会说话。」