大型语言模型总在变聪明的同时保留令人崩溃的笨拙瞬间。Andrej Karpathy 早就说过,OpenAI 的研究者们正在用提升 AI 的方式“把自己自动化掉”。我在开发 Beagle SCM 的过程中同样体会到了这一点——Anthropic 的 Fable 模型能在一座代码山里精确挑出瑕疵、自动提 ticket、做修复,聪明到令人咋舌。然而就在昨天,它把 build/ 目录两次提交进了仓库。这种非精确、非确定性的毛刺并不会随着模型进化而消失,只会跟随着更强大的能力一起被放大。 比如解析任务,我给了它全大写的指令:永远不要手动解析任何东西。可它还是忍不住尝试,像极了那个明知道不该手贱却偏要碰一下开关的孩子。我不得不周期性地扫描代码库,清理它偷偷插入的手工解析代码。处理这样昂贵、缓慢、笨拙但才华横溢的 LLM,唯一有效的方法就是给它快速、强大且完全确定性的工具,然后把整个开发流程构建成一个确定性的形式化工作流。让它更快,让它在正确的时间看到相关的东西,让它少犯错,让它能自我纠错。用强大的确定性工具和同样严格的流程,像两片面包一样把那块才华横溢却很不稳定的非确定性夹在中间。 更有趣的地方在于,如果你让这些工具和流程变得可塑,那就等于铺设了一条自动化升级的通道。Claude 反复执行的操作序列,我们把它自动化掉;某一步反复失败,我们就自动化掉验证步骤。本质上,我们是在引导 LLM 把自己自动化掉,用简单、可靠、确定性的工具取代那部分笨拙。Beagle SCM 就是按照这个思路设计的——它允许 LLM 用 JavaScript 编写自己的例程,所有重型逻辑用 C 实现且几乎不动,工具层(面包的下片)和工作流层(面包的上片)全是 JavaScript,代码直接从文件系统或 node_modules 里获取。这样,模型的聪明被放大,笨拙被一步步挤出回路,最终留在管道里的,是越来越稳固的确定性自驱系统。

打开网易新闻 查看精彩图片