评测AI 编程

测试通过仍可能导入失败:U+2028 把合法记录拆开了

「测试通过」证明的是现有用例,不是真实文件已经走完最终入口。

OnBalls··7 分钟研究稿
查看来源

本地复现,不是线上事故,也未宣称已经修好。公共解释使用合成输入思路,不曝光真实采集正文。

这轮本地审计里,39 项现有离线测试全部通过,但一份合法的 38 条记录文件仍然导入失败。同一文件按物理行读取正常,现有导入器却报错。检查发现,它把文本里的合法 Unicode 分隔符误当成了记录边界。

事实。 Python 3.12 文档把 U+2028 和 U+2029 列为 str.splitlines 的行边界。json.loads 可以解析含 U+2028 的合法 JSON 字符串;splitlines 却会把文本拆开。

最小复现思路

在合法 JSON 字符串里放入 U+2028。解析器认为这仍是一条记录;按行切割的导入器看到两条残片。这说明测试还缺一个真实输入边界。它不能证明哪个 AI 模型好坏,也不代表修复已经完成。

验收一个自动化步骤,可以多交三样东西

  1. 一个正常输入;
  2. 一个容易遗漏的边界输入;
  3. 对应的预期结果。

“测试通过”之外,再用实际文件走一次最终入口。让结果、输入和验收条件对得上。

下一步,而不是已经做完的事

研究 brief R02:修最小 loader,按正常输入、边界输入、坏输入验证,保留前后结果。完成条件是真实 38 条返回正确、合成输入可读、错误输入报告正确物理行。范围是一个函数及其必要验证,不重写采集系统。

判断。 这是 OnBalls 自己的工程案例,用来说明“任务结束了”和“输入被正确理解了”不是同一句话。不把这个 bug 写成 AI 写代码的原罪,也不外推模型质量。

限制

  • mock 和本地文件不是供应商宕机。
  • 未在本预览中声称源码已修复。
  • 不公开内部采集正文。

来源与核对范围

本地实践记录 · 核对日期 2026.09.07。日期描述当时的研究范围,不自动代表当前版本。

继续探索这个问题

商业关系会在相关推荐附近说明。查看说明 ↗

也许你还想继续读

查看全部