一个「允许出错」的系统,该怎么调试?
来源:dev.to — 2026-09-11
📋 概述
作者写的运行时本该为一篇文章生成一段,结果生成了 70 段。他先怀疑模型,直到发现回读响应的大小连续 25 次都是 742 字节、随后一次变成 131,991 字节——段落列表来自一个生命周期 60 秒的缓存,模型严格照做,是运行时被自己的读取路径骗了,问题出在两次读取的顺序上。他的结论是:允许出错、「对错本身不能作为判据」的系统,不能靠问「它错了吗」来调试,而要按顺序回答三个问题——它被允许错在哪些地方、是哪一层错了、这个错误存活了多久。文章把每个模块「容忍什么、绝不允许什么、今天由什么发现」写成表格,这一步改变了他首先查看的位置。
🔑 核心要点
- 回读响应连续 25 次都是 742 字节,随后一次性跳到 131,991 字节。
- 根因不是模型也不是规则,而是两次读取的顺序与 60 秒缓存。
- 调试顺序:被允许错什么 → 哪一层错了 → 错误存活了多久。
- 把每个模块的容忍边界写成表格,是全文最有价值的一步。
💡 金句
A system that is allowed to be wrong cannot be debugged by asking whether it was wrong.
👍 0
👎 0
← 返回 dev.to 首页