← 返回信息流
AI 资讯Hacker News·3 小时前

自动化正在让AI变得多余

原标题:Automating AI Away

速览

本文探讨了自动化技术如何逐步取代AI在某些领域的应用。随着自动化工具的成熟,原本需要AI驱动的任务可能被更简单的自动化流程替代。这一趋势可能重塑AI行业格局,迫使开发者寻找新的价值增长点。

AI 深度解读

背景

随着大型语言模型(LLM)的能力持续提升,它们在软件开发中的应用越来越广泛。然而,LLM 固有的非确定性和不精确性,使其与传统的确定性工具(如解析器生成器、形式化验证工具)形成了鲜明对比。AI 先驱 Andrej Karpathy 曾指出,OpenAI 的研究人员实际上是在通过改进 AI 来“自动化掉自己”——即让 AI 逐步取代自己的部分工作。如今,这一现象在更具体的工具链中正在上演。

核心内容

一位使用 Anthropic 的 Fable(可能指 Claude 系列的某一模型)开发 Beagle SCM 的开发者分享了他的实际体验。Fable 无疑是一个非常出色的模型,能够在大量代码中快速发现细微问题、自动创建工单、修复缺陷。然而,就在昨天,它两次不小心将 build/ 目录提交到了项目中——它很聪明,但也很笨拙。

由于 LLM 的本质,这一问题并不会随着模型进步而消失。它们天生不精确且非确定性。相比之下,像 Ragel 这样的解析器生成器可以瞬间“编码”出一个 10,000 行代码、形式上正确的解析器,且结果是确定性的。那么 Claude 呢?开发者已经用全大写字母在指令中强调:“永远不要手动解析任何东西,绝对不要。”因为手动解析既痛苦又容易出错。但 Claude 仍然会尝试手动解析,所以开发者不得不定期让它扫描代码库,查找并移除任何手动解析的尝试。这种方法大部分情况下有效。

结论是:模型变得越来越聪明,但依然同样笨拙。

应对这种昂贵、缓慢、笨拙却又聪明的 LLM 的方法是:给它快速、强大且确定性的工具,并将整个流程构建成确定性的形式化工作流。具体来说,要让 LLM 更快、在正确的时间看到相关的信息、减少笨拙行为、并能够自我修正。把那个聪明但不一致的非确定性“夹在”强大的确定性工具和同样形式化的流程之间。

如果这些工具和流程本身是可塑的(malleable),故事会变得更有趣。例如,如果 Claude 频繁执行某个动作序列,就可以将其自动化;如果它反复在某个环节失败,就可以自动化验证步骤。

本质上,我们是让 LLM 自己把自己“自动化掉”,转而使用简单、可靠、确定性的工具。

Beagle SCM 的做法是:让 LLM 用 JavaScript 编写自己的脚本例程。所有重计算部分都用 C 实现且很少修改,而工具层(“三明治”的下层)和工作流层(上层)则全部是 JavaScript,代码从文件系统中按 node_modules 风格加载。这就像 Git 钩子,可以标记几乎任何语言的源文件、检查文件历史和提交历史、交叉验证链接,并访问 Git 内部能访问的所有数据。这就是 Beagle 的设计理念。

关键要点

  • LLM 的优势与缺陷并存:模型越来越聪明,能发现细微问题、自动修复,但依然会犯低级错误(如误提交构建目录),且无法彻底消除非确定性和不精确性。
  • 非确定性问题无法通过提升模型能力解决:由于 LLM 的架构本质,它们不会随着规模变大而变得完全精确。相比之下,传统工具(如 Ragel)可以在瞬间生成形式上正确的百万行代码,且完全确定。
  • 解决方案是“三明治架构”:将 LLM 的非确定性“夹在”两个确定性层之间——下层是快速、强大的确定性工具,上层是形式化的工作流/验证流程。
  • 可塑性是关键:通过赋予工具和流程可修改的能力,让 LLM 频繁执行的动作可被自动化,反复失败的部分可被自动验证,从而逐步用确定性工具替代 LLM 的重复劳动。
  • Beagle SCM 的具体实现:让 LLM 用 JavaScript 编写脚本(工具层和工作流层),底层用 C 实现高性能确定性逻辑。这样 LLM 可以自己编写辅助脚本,但核心操作仍然由确定性工具完成。

意义与影响

这篇文章提出的核心思想是对 LLM 在软件开发中定位的深度反思。它指出了当前 LLM 应用的一个关键矛盾:模型越聪明,人们对它的期望越高,但它仍然会在看似简单的地方出错。盲目依赖 LLM 完成所有任务不仅昂贵、缓慢,而且不可靠。

“自动化掉 AI 本身”是一种巧妙的策略——不再试图让 LLM 变得完美,而是利用它的创造力来构建辅助工具和流程,然后再将这些工具和流程自动化、确定化。这类似于编程中的“元编程”:让 AI 编写自己的“自动驾驶仪”,最终由确定性代码接管。

这种方法对于企业级软件开发具有重要意义:它可以降低对 LLM 的持续依赖成本,提高系统的可预测性和可靠性,同时保留 LLM 在理解复杂上下文、生成创意解决方案方面的优势。Beagle SCM 的架构(可脚本化的工具层和工作流层)提供了一个具体的参考实现,展示了如何在实际版本控制系统中实现这一理念。

长远来看,这种“LLM 作为临时辅助,确定性工具作为长期骨架”的模式,可能会成为 AI 辅助软件工程的标准化实践。开发者不再需要为 LLM 的每个失误付出调试代价,而是通过形式化工作流将 LLM 的输出自动过滤和修正,最终实现更高效、更可靠的开发流程。

查看原文 →replicated.live