evolve_report.md 8.2 KB

Evolve 训练总结 — prd-methodology-trial

阶段:FDE Phase 3 EVOLVE(独立试验) 输入:../hunt/knowhow_v1.md + ../digest/{benchmark_v1.md,train.jsonl,test.jsonl,industry_avg_score.md} 产出:SKILL.md / real_project_reflection.md / iteration_{1,2}_draft_prd.md + iteration_{1,2}_scores.json / 本文档 本轮未执行 Deploy:不复制到 system/agents/prd-methodology-trial/ 根目录, 不更新 config.json——按任务书要求,是否部署由 org-innovator 验收后决定。


一、目标分数对齐(任务书要求的自检项)

任务书原始目标写"benchmark ≥95分",但同时要求"如自检发现95分不合理,需如实说明并给出 你认为合理的目标",并明确"目标分数刻度要和 benchmark_v1.md 本身的三、3.3 判定等级对齐"。

自检结论:95 分与 benchmark_v1.md 自身刻度不兼容,不应作为目标,正确目标是 ≥80(优秀档下限)。

理由:

  1. benchmark_v1.md 三、3.3 的判定等级顶格是"≥80 = 优秀",没有定义任何比"优秀"更高的 分级——这套 100 分制刻度本身把"优秀"和"接近满分"视为同一件事,不存在"95 分比 80 分 更值得追求"这层语义。拿着一把没有"超优秀"刻度的尺子去够 95 分,是把外部惯性的"百分制 高分感"套在一套自定义评分体系上,属于 benchmark_v1.md 设计时明确要避免的问题。
  2. industry_avg_score.md(Digest 阶段产物)已经显式讨论过这个问题并给出结论: "目标线取值:优秀档下限 80 分,而不是两份构造样本的平均分(95.5)——因为...用样本均值 当阈值会把随手能达到的分数直接设为门槛"。也就是说,Digest 阶段已经把"95 分"这个数字 明确排除在目标线之外并给出理由;本次 Evolve 沿用 95 分等于绕开了上游已经做过的判断。
  3. 及格线(65)、目标线(80)、真实基线(50)三条线共同构成的判定逻辑(industry_avg_score.md 末段"及格线"一节)已经是一套自洽的刻度,本训练直接复用,不再另起炉灶。

因此本轮训练的实际目标是:产出的 PRD 按 benchmark_v1.md 打分稳定 ≥80(优秀档), 两轮 Small Loop 实测 96 分、97 分,达标。


二、Small Loop 执行记录(2 轮,提前停止)

轮次 测试对象 D1 D2 D3 D4 D5 D6 加权和 封顶 最终分
1 重写 train-01(e2e-demo 真实反面案例) 4 5 5 5 5 5 96 未触发 96
2 全新虚构场景(门店详情页,未见过) 5 5 5 5 5 4 97 未触发 97

真实基线(未按方法论写的原始 PRD)= 50 分。两轮训练后模拟得分 96/97,涨幅 +46/+47。

提前停止理由(对应任务书"连续2轮分数涨幅

迭代过程中发现并修正的问题

  • 迭代1 → 迭代2:迭代1为了补 D6(新增 CTA 功能承接 BRD 转化度量)时,新功能的跳转 目标写成"范围内某个锚点",触发 D1 轻微歧义扣分(5→4)。修正:在 SKILL.md Step 5B 补充"新增功能不能绕开 Step 1/2 确定性要求"的警示段,要求跳转目标/触发条件精确到具体值。 迭代2验证:新场景的 F-2 跳转目标写死为 /booking?storeId={id},D1 保住满分,说明修正生效。
  • 迭代2 发现的方法论局限(未修正,如实记录):迭代2场景(门店详情页)结构化字段 居多、叙述性文案很少,只有"营业时间"一处应用了 Step 5A 的内容深度要求,D6 判据 A 因此打 4 分而非 5 分。这不是场景选错了导致的伪问题——它说明 SKILL.md 目前对 "叙述性长文案"类需求的验证样本仍然只有迭代1和 train-02/test-01 等有限案例,尚未在 更多"文案密集型"真实场景上验证过。建议供后续参考,不在本轮强行补测(详见五、瓶颈)。

三、评分方式说明:为什么没有 scorer.js

任务书允许"scorer.js 或评分记录"二选一,本轮选择结构化评分记录(iteration_N_scores.json) 而非自动化脚本,原因:

D3(验收线索可度量性)、D5(正文-验收线索映射完整性)、D6(内容深度/业务度量翻译)三个 维度的判据本质是语义判断——"这句话算不算描述性用语""这条验收线索算不算可编程核验" "这段文案算不算套话"——这类判断如果硬套一套关键词正则去自动化,会产生虚假的确定性: 一个只会数"是否出现『大』『丰富』等字样"的 regex scorer,既会漏判(例如用同义词绕过)也会 误判(例如"数据丰富"这种已经量化的表述被错杀),产出的分数比人工按 rubric 逐条对照更不 可信,属于"用自动化伪装严谨"。benchmark_v1.md 自己在 §5 自检时用的也是人工逐维度对照 判据打分,本轮沿用同一方式,保持评分口径一致。

iteration_N_scores.json 记录了每维度得分 + 判据依据(引用具体句子/具体验收行), 可追溯、可复核,效果上等价于评分记录,成本远低于维护一套注定要被绕过的正则脚本。


四、三个真实项目反推分析核心结论(详见 real_project_reflection.md)

  1. p-pyjha7(真实反面案例,D5=3/D6=1/总分50):具体反推显示,如果"大图"这句话按 SKILL.md Step 4 就地量化为"每区块≥1个图标/插画+尺寸阈值",产出的验收链路会拦下 "零图片"实现;如果 BRD 转化度量按 Step 5B 翻译成 CTA 功能,产出会多出明确的转化入口。 这两处具体改写正是迭代1模拟重写后总分从50跳到96的直接原因。
  2. p-bkhylu(正面对照,实测得分 89.4,D5=4/D6=4):关键发现是它的 D5 高分不是靠 "承诺视觉丰富+验收线索兜住"拿到的,而是靠"正文从未承诺兑现不了的视觉丰富度"—— 这补强了 SKILL.md Step 4"删词改写"路径的真实可行性证据(已写入 SKILL.md 附录A)。
  3. p-v1mpcl(无法定位完整PRD):如实记录为管线层缺陷(planner-validator 抓到的 impl_bug:规划节点自报成功但产物未真正落盘),不是内容质量问题,不牵强附会一份 不存在的PRD分析,也不在 SKILL.md 里处理这类问题(已写入 SKILL.md 附录D 说明边界)。

五、瓶颈与后续建议

没有触发"10轮仍未达标"的瓶颈——2轮即达标且提前停止收敛。如实记录一个未彻底验证的 局限(非瓶颈,是范围声明):SKILL.md Step 5A(内容深度下限)目前只在1个真实反例 (p-pyjha7)+ 1个构造正例(train-02,同 benchmark_v1.md 阶段产物)+ 迭代1重写稿上验证过 "叙述性长文案"场景;迭代2场景恰好文案含量低,未能提供第二个独立证据。若后续要继续 打磨,建议优先在"文案密集型"真实场景(如产品介绍长文/营销落地页正文)上补测 Step 5A, 而不是不加区分地把 10 轮迭代预算花在已经收敛的 D1-D5 上。


六、最终结论

  • SKILL.md 达到目标线(≥80,优秀档),两轮独立测试实测 96/97 分。
  • 目标分数刻度已按任务书要求对齐 benchmark_v1.md 自身的判定等级(≥80/65-79/50-64/
  • 三个真实项目的反推分析均已完成或如实记录缺口(p-v1mpcl 无法定位完整PRD是真实发现, 不是调研疏漏)。
  • 本轮未执行 Deploy,等待 org-innovator 验收决定是否复制到正式目录。