Chapter 3: 第一周 — 从需求到评估集到 SOW
3.1 第一周的形状:观察 > 提问
fde-book 第二部分(客户发现)的核心一句:Discovery 阶段,观察 > 提问。 客户嘴上说的需求和他实际工作流里的需求经常对不上。你第一周最该做的不是开需求会问”你们想要什么”,而是看他们现在怎么干活——看客服怎么处理工单、看客户经理怎么找条款、看一份报表怎么从 5 个系统里拼出来。
这对应第一章的判断:第一周连不上一个 Outcome 数字,说明你在 Discovery,不该写代码。
危险信号:客户说”我们想要 AI 驱动的全公司知识库”。宽泛目标永远做不出。回话要把它收窄成一个具体 Outcome:”是新员工上手从 30 天降到 15 天,还是客服解决率 65%→80%?先选一个做一版。”
3.2 需求 → 评估集 → SOW 的链条
fde-book 把第一周的产出串成一条链:
观察客户工作流 → 定 1 个 Outcome 数字 → 建评估集 v0(验收的量化形式)
↓
SOW(把过线分写进合同)
关键洞察:评估集就是验收标准的可执行形式,SOW 里的过线分就是评估集上的阈值。 这三样不是三件独立的事,是同一个”我们要达成什么、怎么算达成”的三种表述。
3.3 评估集 v0 冷启动(4 步,第一周内跑完)
这是 fde-book 给的、本书直接沿用的流程:
- 从客户已有数据抽 10 条真实样本——客服工单、历史问答、客户经理常用查询。客户连 10 条都给不出 → 他还在 Discovery。
- 自己写 10 条刁难样本——口语化、缩写、错别字、长句、需多步推理、答案是”我不知道”的(系统在这种样本上幻觉最严重)。
- 让客户业务方看分布挑刺——这是关键一步。客户会说”这不是我们典型场景”或”你漏了 X 类”。让他挑。
- 按客户挑刺方向再加 10 条——这 10 条是客户认账的代表性样本。
到这里 30 条,第一周内完成。核心价值不是数量,是让客户参与样本选择——交付时他不会反咬”评估集本身不对”。
一个最小评估集(保险条款问答示例,jsonl):
{"input":"重疾险等待期一般是多少?","expected_keywords":["90","180","等待期"],"min_score":0.8}
{"input":"我去年体检发现甲状腺结节,现在能投保吗?","expected_keywords":["核保","告知","结节"],"min_score":0.7}
{"input":"被保人犹豫期内退保能退多少?","expected_keywords":["全额","犹豫期"],"min_score":0.9}
跑分两层:机器自动跑关键词召回(30 秒出分),业务专家每周抽 10 条人工打分。机器分管”这次改动有没有搞砸存量”,人工分管”离客户真正满意还差多远”。
3.4 落到 Copilot 上(HOW)
第一周你还没搭完整 harness,但可以用 Copilot 加速这条链的产出:
① 用 Copilot Ask 模式做工作流分析(来自 workshop Lab1 的 Phase 1)。 拿到客户代码库/数据后,第一个 prompt 不是写代码,是理解:
我要给这个客服系统加一个工单分诊能力。开始前帮我理解:
1. 当前的数据模型和 API 表面是什么?
2. 现有的工单处理流程是怎样的?
3. 一个分诊能力可能有哪些边角 case?
② 用 Copilot 把刁难样本批量生成。 第 2 步”自己写 10 条刁难样本”可以让 Copilot 起草:
基于这 10 条真实工单样本,帮我生成 10 条"刁难"测试样本:
口语化表述、含缩写错别字、需多步推理、以及答案应该是"无法判断需转人工"的 case。
输出为 jsonl,每条带 expected_keywords 和 min_score。
注意:Copilot 起草,你和客户审定。生成的样本是草稿,客户挑刺那一步(第 3 步)不能省。
③ 评估集进仓库,第一周就建目录。 哪怕只有 30 条,也立刻 evals/<domain>_v0.jsonl commit 进去——这是后面 Rule 层过线分、CI 评估门的锚点。
④ SOW 过线分回写 Rule 层。 SOW 一旦和客户确认过线分(比如 min_score ≥ 0.85),立刻把这个数字写进 .github/copilot-instructions.md(见 Ch2 的模板)。合同里的数字和仓库里的数字必须是同一个。
落到 Copilot 上 · 本章工件清单
evals/<domain>_v0.jsonl— 30 条评估集(客户参与挑选)- Copilot Ask 模式的工作流分析记录(存进
docs/discovery.md) - SOW 里的过线分 = 评估集 min_score 阈值(双向一致)
下一章把”评估”从一次性产出,变成贯穿开发的肌肉记忆。