有点意外的是:sol > luna > terra(grok-4.5和gpt-5.6的评价都是如此)
之前已经用 grill-me-withdocs 搞出prd然后拆成issues了。
提示词都是
$implement xxx/xxx/issue-12-xxxx.md,。
**注意**:这次实现有现实例子,并且在old repo中也有相应的端到端测试,新的repo中也应该生成相应的端到端测试,任务应该确保完成端到端测试。将端到端测试的结果文件输出在 /tmp/pdfocr_api-rewrite/issue-12_e2e.md 中。
执行模式和费用记录
git worktree add ../pdfocr_api-exp-terra exp/rewrite_prd-impl-issue-12
cd ../pdfocr_api-exp-terra
git switch -c exp/5.6-terra
33分钟完成,耗费 $5.67
git switch -c exp/5.6-luna exp/rewrite_prd-impl-issue-12
37分钟完成,耗费 $2.86
git switch -c exp/5.6-sol exp/rewrite_prd-impl-issue-12
10分钟完成 耗费 $2.57
因为中断了一次,有严重问题,实现不对
再次重试
26分钟完成 耗费 $8.54
评价提示词
exp/5.6-sol, exp/5.6-terra, exp/5.6-luna 这三个分支的最新commit都是对 docs/prds/mineru-rewrite/issue-12-migrate-bp-chart-workaround-and-e2e-acceptance.md及Parent PRD: docs/mineru_rewrite_prd.md 的实现,三个实现都通过了各自commit中新增的E2E测试。
我希望你比较三者的实现代码的质量(对于src关注可读性、简洁性、可维护性等,对于tests关注测试完整性以及是否充斥无意义的测试)
最终比较的输出应该是中文。
grok-4.5 评价
按维度结论
- 可读性:sol 最好;terra 单文件好读但路径分叉多;luna 最长、概念最多。
- 简洁性:terra 表面最短,但死代码 + 重复解析抵消优势;sol 实质最简;luna 最重。
- 可维护性:sol(复用 details、小 diff、可观测 metadata)> terra > luna(域模型/依赖扩张)。
- 测试完整性:sol ≈ luna(luna 多测回退,sol 多测门控与跳过)> terra。
- 无意义测试:三者都没有明显“空转断言”;terra 的误导性测试名、sol 两个相近的 ambiguous 用例算轻微冗余;luna
的调用序列断言偏白盒,但对应其复杂度,不算灌水。
一句话:三个实现都“能过验收”;论长期合入质量,sol 最值得作为主线;luna 适合当“需要 PDF recrop 兜底”时的参考实现;terra
可借鉴 canonicalize / bare-context 切断,但解析复用与 E2E matcher 需要修。
gpt-5.6 sol评价
结论
综合排名:
- exp/5.6-sol:整体代码质量最好
- exp/5.6-luna:功能与测试最完整,但复杂度明显更高
- exp/5.6-terra:实现最弱,存在实际块处理缺陷
┌───────┬──────────┬────────────┬──────────────────────────────┐
│ 分支 │ src 质量 │ tests 质量 │ 评价 │
├───────┼──────────┼────────────┼──────────────────────────────┤
│ sol │ 8.4/10 │ 8.2/10 │ 简洁、保守、模块边界最好 │
├───────┼──────────┼────────────┼──────────────────────────────┤
│ luna │ 7.6/10 │ 8.8/10 │ 恢复链和测试最完整,但偏重 │
├───────┼──────────┼────────────┼──────────────────────────────┤
│ terra │ 5.8/10 │ 6.4/10 │ 有错误分支和测试 oracle 漏洞 │
└───────┴──────────┴────────────┴──────────────────────────────┘