docs/workspace/compare-evaluation-analysis/auto-compare-rewrite-effect-analysis.md
基于
2026-03-22这一轮真实 calibration 产物整理。 分析对象是当前 compare 阶段与“评估后智能改写”链路的实际表现,不包含后续多轮 SPO 自动迭代。
我们当前已经把自动优化拆成了这条链路:
这份文档主要回答三个问题:
当前链路已经具备了明显的实用价值,但更适合做“保守纠错型优化”,还不适合直接承担“强自动增益型优化”。
更具体地说:
本轮主要看了 1 个 live case 和 5 个跨主题 synthetic case:
live-basic-system-boundary-controlsynthetic-medical-latent-trigger-overfitsynthetic-ecommerce-schema-no-model-worshipsynthetic-legal-flat-not-unclearsynthetic-teaching-overfit-regressionsynthetic-hiring-replica-semantic-instability总览见:
structured-compare-calibration/latest/summary.md其中 synthetic case 的命中情况为:
3/56/63/36/64/4当前 compare 最可靠的能力,是识别那些有明确结构语义的问题:
flat 与 unclear 的区分这意味着 compare 不再只是“泛泛说哪个好一点”,而是已经能承担自动化流程中的“风险门控”职责。
当前 rewrite 的最好表现,不是把 prompt 优化得多惊艳,而是它已经能:
这类能力对于后续 SPO 很关键,因为它意味着自动优化链路至少具备“不会一路越改越歪”的基础。
在真实 basic-system live case 中,compare 给出的结论是:
targetVsBaseline = improvedtargetVsReferenceGap = nonestopRecommendation = review而 rewrite 基本保持了当前 workspace prompt 的核心结构,没有凭空做大幅重写。
这说明当前 rewrite 至少有一定保守性,不会在已经比较好的 prompt 上随意做大动作。
对应样本:
structured-compare-calibration/latest/synthetic-ecommerce-schema-no-model-worship/summary.md这里的关键点是:
更重要的是 rewrite 的行为:
title / selling_points / cautions这说明当前链路已经不是“谁写得更像大模型就跟谁学”,而是已经具备了较强的结构优先级。
对应样本:
structured-compare-calibration/latest/synthetic-teaching-overfit-regression/summary.md这里的 target/workspace 做的是很多自动优化系统最容易犯的错:
compare 在这里给出了比较准确的判断:
targetVsBaseline = regressedoverfitRisk = highreferenceBaseline = unsupportedrewrite 最终也把 prompt 改回了“先讲通用原理,再讲题目”的结构。
这说明当前链路在“反过拟合纠偏”上已经具备较好的实战价值。
对应样本:
structured-compare-calibration/latest/synthetic-hiring-replica-semantic-instability/summary.md这里的关键点是:
recommendationcompare 能正确识别:
targetVsBaseline = improvedtargetReplica = unstablestopRecommendation = review这说明 compare 已经不会把“单次跑得好”直接当成“稳定改进”。
这是后续做自动迭代时非常重要的一道安全阀。
在招聘 instability case 里,compare 已经知道问题本质是:
但 rewrite 产出的新 prompt 更偏向加强:
这些改动不是错,但它们更像是在修“格式一致性”,不是在修“为什么同一份证据会从 hold 漂到 hire”。
也就是说:
补充说明:
rewriteGuidance gatingflat + no-gap 更倾向于 skipimproved + no-gap + low-headroom 更倾向于 minor-rewrite所以下面这段问题描述,主要代表“本轮真实 calibration 暴露出来的原始问题”,而不是当前代码仍然完全没有处理。
在法务 case 中,compare 的判断是比较理想的:
targetVsBaseline = flattargetVsReferenceGap = none这说明当前 workspace prompt 其实没有明显需要继续改的地方。
但 rewrite 仍然生成了一版“更简洁、更可操作、避免特定词过拟合”的新 prompt。
这个结果不算错,但它暴露出一个问题:
如果后面直接把这条链路接到多轮自动迭代中,这种轻微但持续的无效改写,会慢慢把 prompt 推向不必要的复杂化。
现在已经证明了两件事:
但还没有完整证明第三件事:
也就是说,当前还主要证明了“它会提出像样的修改”,尚未完全证明“它会稳定带来实测收益”。
这也是为什么当前更适合把它看成“自动辅助优化器”,而不是“自动闭环优化器”。
对应样本:
structured-compare-calibration/latest/synthetic-medical-latent-trigger-overfit/summary.md这个 case 原本更像是想测试:
但当前 compare 实际给出的结论更强:
targetVsBaseline = regressedoverfitRisk = highstopRecommendation = review这说明在医疗这类高风险主题里,当前 compare 会显著更保守。
这个现象我认为总体是正向的,原因有两点:
这也意味着我们的 calibration 样本已经不再只是验证“提示词会不会跑通”,而是真的能测出 judge / synthesis 的边界风格。
flat 场景时持续自动改写状态更新:
建议增加“是否值得改写”的显式门控逻辑。
一个比较合适的第一版规则是:
targetVsBaseline = flattargetVsReferenceGap = noneimprovementHeadroom 不是 high则默认不自动改写,或至少进入“建议不改写”的保守分支。
这能减少 flat case 下的无效扰动。
状态更新:
rewriteGuidance.focusAreas / priorityMoves 把 instability 传给 rewrite当前 instability 已经能被 compare 看见,但 rewrite 还不会针对性修复。
后续应明确让 rewrite 学会根据 instability 去补:
否则它会一直停留在“加强格式约束”的浅层修补。
真正的自动优化效果,不应该只看 compare 和 rewrite 的文字质量。
后续一旦进入 SPO 或一轮自动迭代,应该把以下链路作为正式验收对象:
只有做到这一步,我们才能更有把握地回答:
如果只问一句“当前自动对比评估优化效果怎么样”,我的判断是:
它已经成功跨过了“只能演示”的阶段,进入了“可以作为真实优化系统基础能力”的阶段; 但距离“稳定可靠的自动多轮优化器”,还差 rewrite gating、instability 定向改写,以及改写后复测闭环这三块关键能力。