发现 Claude Code 原生 eval 评分器因一个不可见空格出现的奇怪问题
Found a weird issue with Claude Code's native eval grader over an invisible space
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
中文大意
发帖人维护一个开源评测(Evaluation)项目,在测试评分器时发现 Claude Code 把正确的 Python 代码判错、错误的判对,追查后确认原因是一个不可见字符(不可见空格)。他进一步测试发现 Langchain OpenEvals、Promptfoo、Nvidia SkillEvaluator 也有同样问题,并在 Claude Code 自带的 claude 插件评测评分器上复现。他的做法是在不改动原始答案的前提下,自动生成一段说明,列出具体是哪个 Unicode 字符以及它出现的位置,判断准确率随之明显提升。他已向 Nvidia、OpenEvals、Promptfoo 提交修复 PR,其中 Nvidia 已通过;完整报告发布在其站点。帖子最后询问是否有人遇到过同样情况。适合做 LLM 评测、代码判分和自动化测试的开发者关注。
讨论区核心观点
依据 2 条评论
- 一个不可见字符就能让整个评测结果失真,Unicode 隐藏字符干扰代码评分的调试过程非常棘手;发帖人用旁注列出字符及其位置的做法被评论者认为巧妙。 出处(新标签页打开)
- 评论者建议把这件事也发到 r/programming,认为那边会对这个话题很感兴趣。 出处(新标签页打开)
- 版务机器人说明该帖被放行到信息流,并引导读者前往相关 Megathread 查看最新讨论。 出处(新标签页打开)