W10 · 标杆项目 + 评估基线 · 打卡清单

把 W4–W9 从「会做零件」推成「一个完整作品」,并为它搭好能迭代、能回归的评测 harness。本周偏「选型与搭架子」,是 M3 冲刺的地基。

代码练习 · 第 10 周(M3)预估 5–6 小时纯本地可跑
完成进度
0%

本周里程碑(结束时你要能说)

Day 1选题五问 + 项目脚手架文件:day1_scaffold.py

任务

  • 跑脚本,逐条回答选题五问并把答案写进自己的设计文档
  • 确认作品「难点能展开 + 指标可量化 + 能快速演示」
  • 对照骨架,把 W4–W9 的组件映射到作品目录(哪些直接复用)
  • 写下作品的一句话简介(面复用)
✔ 自查:五问每题能给出具体答案,而不是「都行」。

运行

cd agent-learning-w10
python day1_scaffold.py
重难点:作品 = 组装,不是重写。RAG(W4/W5)、MCP 工具(W6)、可靠性/记忆(W7)、安全(W8)、部署/压测(W9) 都已各自可跑——本周把它们接进一个代表作,并让数据/代码按骨架分工。这样到 W11/12 时,你讲的是「一个完整作品的迭代史」,比「一堆 demo」强太多。
Day 2–3评估数据集 + 指标口径文件:day2_ds.py

任务

  • 跑 day2,看到扩展评估集后的 pass_rate 下降——理解原因
  • 给作品手动标注 20–50 条:含难度梯度 + 边界/负例 + 各种类
  • 背出五指标:pass / recall / cost / latency / errors
  • 回答:为什么全是好答的样本会让 pass_rate 虚高?
✔ 自查:评估集覆盖 simple/rag/tool/hard/edge;你能解释每个指标。

运行

python day2_ds.py
重难点:别用好看的数字骗自己。让 pass_rate 虚高最容易——全留好答的题。真实评估集要有难度梯度 + 边界/负例(知识库没有的要答『不确定』)+ 多种类。recall 管「别瞎编」,errors 管「别崩溃」,与 pass 一起看才完整。
Day 4–5跑出基线 + 迭代实验(为 W11 热身)文件:eval/harness.py / day4_iterate.py

任务

  • 跑 harness,确认 baseline_report.json 已写出
  • 读 JSON 里逐行 rows,看懂哪几题答错(短板定位)
  • 跑 day4 的 V1→V2 演示,看 pass 提升且回归闸门通过
  • 把你的真实 Agent 接进 agent(query) 接口,重跑基线
✔ 自查:你能重复『改实现 → 重跑 harness → 看 before/after』。

运行

python eval/harness.py
python day4_iterate.py
重难点:基线的价值在「迭代的标尺」。优化必须同时证明两件事:变好 + 不崩已有正确样本(回归闸门)。harness 让这两件事都自动化——W11 你会高频率用它,这也是「工程化」区别于「demo」的分水岭。
Day 6–7盘点短板 + 定迭代路线(写进 W11)产出:下一个迭代 backlog

任务

  • 把 baseline 里答错/漏答的题按根因归类(检索差/记忆缺/拒答策略等)
  • 为每条根因写一条可验证的改进项(Expected Improvement)
  • 排出优先级:先修影响最多样本的那条
  • 把 backlog 存成文件(下周六周度迭代照着做)
✔ 自查:每项 backlog 都有『改什么 → 预期指标变多少 → 怎么验证』。

示例 backlog

# iteration_backlog.md(示例)
- [ ] 检索召回不足(Q2 答不出)
     改: 增加 embedding+重排 (W5)  预期: recall +15pp  验证: harness
- [ ] 边界问题应拒答而非瞎编
     改: 置信度阈值 (W5/W8)        预期: errors 归 0      
- [ ] 复杂问题拆解不稳定
     改: 计划-执行加固 (W7)        预期: hard pass +10pp
重难点:把「感觉差」变成「数字差」。与其说「好像不够好」,不如写死「这条改动预期 recall +15pp、由 harness 验证」。这正是 W11 招架得住的迭代节奏。

本周自检一句话