自动消除 AI
Automating AI Away

原始链接: https://replicated.live/blog/away

安德烈·卡帕西(Andrej Karpathy)曾有名言,称人工智能研究者正在“将自己自动化”,但像 Claude 这样的现役模型虽然才华横溢,却依然“笨拙”——容易犯下诸如提交构建目录或无视指令等非确定性错误。 为了应对这一问题,作者主张采用一种“三明治”架构:将大语言模型(LLM)不稳定的智能包裹在强大、确定性的工具和严谨、刻板的工作流之间。与其对抗模型的缺陷,目标在于观察大语言模型在何处挣扎或重复任务,然后利用可靠且确定的代码将这些特定操作“自动化”。 这正是 **Beagle SCM** 背后的哲学。Beagle 允许大语言模型使用 JavaScript 编写自己的脚本程序,从而创造出一个灵活的工具生态系统。通过赋予大语言模型利用形式逻辑和快速、可靠的工具与代码库交互的能力,该系统有效地将重复性或易错的任务从人工智能身上剥离,转交给简单且确定性的脚本。最终,Beagle 将大语言模型从一个笨拙的整体式执行者,转变为一位能够持续构建自身可靠自动化基础设施的智能架构师。

这篇 Hacker News 的讨论围绕着一个核心理念:**利用大语言模型(LLM)构建确定性工具,而不是直接用大语言模型去执行任务。** 贡献者们认为,依赖人工智能处理重复性的“非确定性”任务(如直接重构代码或进行复杂的浏览器交互)既脆弱、昂贵,又容易出错。相反,最有效的方法是将人工智能视为“工具制造者”或“胶水层”。例如,不要直接要求 LLM 修改 C# 代码,而是让它编写一个 Roslyn 编译器转换脚本,这样代码可以经过审查并可靠地执行。 讨论的共识建议开发者应该: * **优先采用确定性方案:** 如果一个流程可以通过脚本自动化,那就应该这样做。 * **将人工智能抽象化:** 一旦人工智能帮助建立了工作流程,该流程就应被固化为稳定、可复现的软件。 * **最小化非确定性:** 利用人工智能生成可验证的代码、脚本或结构化工具调用,而不是让智能体在实时环境中“摸索”。 归根结底,目标是将人工智能的角色从“通用工作者”转变为“用于创建可靠、可维护自动化系统的精密引擎”。
相关文章

原文
away

Escher: Stars A. Karpathy once said that OpenAI researchers are effectively "automating themselves away" by improving their AI. Right now I develop Beagle SCM with Anthropic's Fable and it is of course a brilliant model able to spot nits in a mountain of code, file tickets, make fixes. Still, yesterday it managed to commit the build/ dir into a project, twice. It is brilliant, but clumsy.

Due to the nature of LLMs, this issue is not going away as they progress further. They tend to be imprecise and non-deterministic. Ragel the parser generator can "code" a 10 KLoC formally correct parser in an instant, deterministically. What about Claude? Well, my instructions say in all caps: DO NOT PARSE ANYTHING MANUALLY, EVER. It would be torturous and it would be faulty, just don't. It tries anyway, so periodically I tell it to scan the codebase to find and remove any attempts at manual parsing. That mostly works.

It becomes ever more brilliant, no less clumsy.

The way to deal with an expensive, slow, clumsy but brilliant LLM is to give it fast, powerful and deterministic tools AND to build the entire thing into a deterministic formal workflow. Make it faster, make it see the relevant stuff at the right time, make it less clumsy, make it self-correct. Sandwich that brilliant but inconsistent non-determinism between powerful deterministic tools and equally formal processes.

This story becomes even more interesting if we make the tools and processes malleable. That way, if Claude does some sequence of actions too often, we automate it. If it fails at something repeatedly, we automate the verification step.

Essentially, we let the LLM automate itself away, in favor of simple reliable deterministic tools.

Beagle SCM lets LLMs script their own routines in JavaScript. While all the heavy lifting is implemented in C and rarely touched, the tooling layer (the lower part of the sandwich) and the workflow layer (the upper part) are all JavaScript and pick their code from the filesystem, node_modules-style. Imagine git hooks that can tokenize source files in almost any language, inspect file history and commit history, cross-check links, and basically reach any data git can reach internally. That is Beagle.

联系我们 contact @ memedata.com