# 使用Anthropic Fable开发Beagle SCM：让LLM自动化自身，以确定性工具替代非确定性

- 来源：Hacker News 热门（buzzing.cc 中文翻译）
- 作者：gritzko
- 发布时间：2026-07-08 09:01
- AIHOT 分数：52
- AIHOT 链接：https://aihot.virxact.com/items/cmrbdw2v6030dihl1pifpq8wm
- 原文链接：https://replicated.live/blog/away

## AI 摘要

作者用Anthropic的Fable模型开发Beagle SCM时发现，LLM能发现代码问题并提交修复，但会意外将`build/`目录提交到仓库。LLM固有的不精确和非确定性不会随进展消失，远不如Ragel这类解析器生成器能瞬间生成形式正确的代码。应对方案：将LLM夹在快速、强大、确定性的工具与正式工作流之间，用工具减少笨拙，用流程实现自纠正。Beagle SCM允许LLM用JavaScript自行编写例程，将重复操作自动化，把不稳定的非确定性替换为简单可靠的确定性工具。

## 正文

Beagle SCM

Automating away

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.
