更多帖子
帖子进阶

发现 Claude Code 原生 eval 评分器因一个不可见空格出现的奇怪问题

Found a weird issue with Claude Code's native eval grader over an invisible space

AI 导读

r/ClaudeAI 社区帖子,作者在自己的开源评测项目中测试评分器时,发现 Claude Code 把正确的 Python 代码判为错误、错误代码判为正确,追查后定位到单个不可见字符;他称 Langchain OpenEvals、Promptfoo、Nvidia SkillEvaluator 也有同样问题,并在 Claude Code 原生 claude 插件评测器中复现。作者补充了一个小修改:自动生成一条列出具体 Unicode 字符及其位置的说明,不改动原答案,判断结果明显改善,并已向几个项目提交 PR,其中 Nvidia 已通过。适合在做 LLM 输出评测或使用 Claude Code 做代码评判的开发与运维人员阅读。

分级
值得看
收录时间
2026-10-29

原帖

I found that claude code marked the correct python code as wrong and vice versa for the incorrect. When I digged deeper it was caused due to a single invisible character. Then I checked other tools to see ,they had the same issue- Langchain OpenEvals Promptfoo Nvidia SkillEvaluator

maverick_man1111 · · 在 Reddit 查看原帖(新标签页打开)

中文大意

发帖人维护一个开源评测(Evaluation)项目,在测试评分器时发现 Claude Code 把正确的 Python 代码判错、错误的判对,追查后确认原因是一个不可见字符(不可见空格)。他进一步测试发现 Langchain OpenEvals、Promptfoo、Nvidia SkillEvaluator 也有同样问题,并在 Claude Code 自带的 claude 插件评测评分器上复现。他的做法是在不改动原始答案的前提下,自动生成一段说明,列出具体是哪个 Unicode 字符以及它出现的位置,判断准确率随之明显提升。他已向 Nvidia、OpenEvals、Promptfoo 提交修复 PR,其中 Nvidia 已通过;完整报告发布在其站点。帖子最后询问是否有人遇到过同样情况。适合做 LLM 评测、代码判分和自动化测试的开发者关注。

讨论区核心观点

依据 2 条评论

  • 一个不可见字符就能让整个评测结果失真,Unicode 隐藏字符干扰代码评分的调试过程非常棘手;发帖人用旁注列出字符及其位置的做法被评论者认为巧妙。 出处(新标签页打开)
  • 评论者建议把这件事也发到 r/programming,认为那边会对这个话题很感兴趣。 出处(新标签页打开)
  • 版务机器人说明该帖被放行到信息流,并引导读者前往相关 Megathread 查看最新讨论。 出处(新标签页打开)