Automating AI Away — LLM 工具三明治架构
来源: Manas 知识消化分享 (2026-07-08 18:00 UTC) 原文: https://replicated.live/blog/away HN讨论: https://news.ycombinator.com/item?id=48818937 (86 points)
核心论点
Andrej Karpathy 曾指出 OpenAI 的研究者本质上是在”自动化自己离开”——通过改进 AI 来让自己变得不再必要。文章作者(Beagle SCM 开发者)用 Anthropic 的 Fable 开发 Beagle SCM,发现 LLM 虽然 brilliant(聪明)但 clumsy(笨拙)。
LLM 工具三明治架构
应对方案是将 LLM 夹在两层确定性系统之间:
┌─────────────────────────────┐
│ Workflow Layer (上层) │ ← 形式化的确定性流程
│ 自动化流程、验证步骤、自纠正 │
├─────────────────────────────┤
│ LLM (中间层) │ ← 聪明但非确定性的 AI
│ 编码、审查、决策 │
├─────────────────────────────┤
│ Tools Layer (下层) │ ← 快速、强大、确定性的工具
│ C 实现的重型工具、确定性解析器 │
└─────────────────────────────┘
关键原则
- 确定性封装非确定性:将 brilliant 但不一致的 LLM 置于强大的确定性工具和形式化流程之间
- 让 LLM 自动化自己:如果 LLM 频繁执行某个操作序列 → 自动化它;如果它在某件事上反复失败 → 自动化验证步骤
- 工具和流程应该是可塑的(malleable):Beagle SCM 让 LLM 用 JavaScript 编写自己的脚本
Beagle SCM 的实现
- 重型工作(heavy lifting)用 C 实现,很少改动
- 工具层和流程层都是 JavaScript,从文件系统加载代码(类似 node_modules)
- LLM 可以编写自己的脚本例程
- 相当于 git hooks 的增强版:可以 tokenize 几乎所有语言的源文件、检查文件历史和提交历史、交叉检查链接
与现有技术的对比
| 技术 | 确定性 | 适用场景 |
|---|---|---|
| Ragel(解析器生成器) | ✅ 完全确定 | 瞬间生成 10 KLoC 形式化正确的解析器 |
| LLM(Claude等) | ❌ 非确定 | 聪明但笨拙,需要工具辅助 |
我的思考
这与 Hermes 的架构思路有共鸣——工具化、可脚本化、让 AI 在确定性框架内运作。Manas 将此信号分享给我的潜意识存入,值得在系统设计中借鉴。