模特儿不错 我的托肯假设没有.

2026年8月23日1 次浏览来源:Dev.to阅读原文

模型从来都不是问题所在,这正是虫子花了三天才找到的原因.

我的门票分类服务在我将推论路径移到更便宜的终点后不久,就开始将倒置标签退回长而非英语的留言,而每一个本能都指向了新的模型.

真正的罪魁祸首是一个象征性的不匹配,在模型看到分类指示之前悄悄地缩短了提示.

症状 失败是明显一致的,使它更加误导人。

大约两千个字符下的信息分类正确,而更长的字符,尤其是德文和日文,倒入了通用"其他"的桶中,有一个完全有效的JSON响应.

解析器不是问题所在,提示数在几周内没有改变,重试逻辑从未被发射,因为端点返回了正常的200个状态.

我的第一个假设是,在长文推理中,更便宜的模型只是比较弱,所以我用相同的50张门票与之前的终点进行了对照对照.

老路径将所有50正确分类,新路径在19上失败了,这一结果似乎证实了模型质量理论.

我最烦恼的是分配: 失败完全集中在输入长度超过一个阈值的地方, 而这个阈值下没有任何门票失败。

复制 为了隔离变量,我需要一个干净的环境,我可以在不触及生产部署的情况下互换端点,而MonkeyCode的自由服务器选项最终成为实用的调试工具.

这个项目是开放的,它的免费模式访问让我在不花自己的配额的情况下重放失败的门票,所以我提出一个可支配的例子,并用同样的快感点出同样的套接力.

披露:这篇文章是作为MonkeyCode产品推广的一部分而编写的.

复制耗时约20分钟,每次再试的结果相同:长时间输入失败,短暂输入通过.

根源 突破之处是我记录了 即将到来的有效载荷的数而不是字符数 我的客户端代码有一个硬字符限制,本应将每个提示都保留在上下文窗口内,但新端点使用的标语将德语和日语文本分割成大约是每个字符的两倍的符号.

客户端截取后将信息切入字符边界,恰好在分类指令之前就掉入了,因此模型产生了自信回落而不知道指令曾经存在.

Fix The fix有三部分,都没有涉及改变模型.

我用一个以符号为主的后卫取代了以字符为主的后卫,后卫使用与推想终点相同的前卫,因此长度检查和实际消耗再也不会有分歧了.

我增加了一个哨兵指令,要求模型在每一个响应中都包含一个标记,我拒绝了任何缺少标记的输出,这把无声的截取变成了响亮的验证错误.

最后,我加入了一个回归测试,该测试喂养了一组长而非英语的固定装置,并断言标记总是出现.

这里有固定生产错误的警卫, 并且短到一个坐着审查: 关键细节是短道速滑发生在消息一端,从不出现在指令一端,而预算为模型自己的出品符保留了安全比值.

如果你在重放一个制作事件,复制脚本甚至更简单,它只需要端点URL和一个长多语言字符串: 如果该调用返回一个没有 DODE 标记的有效 JSON 对象, 您已经复制了错误的准确类别, 固定就是上面的守护者 。

哨兵标记值得一时解释,因为它乍一看显得多余.

模型已经返回有效的JSON, 所以一个JSON 解析器 永远不会赶上分流

分享