最便宜的软件工厂

软件就是推理、智能体和运行时。智能体决定一项任务要用多少推理,所以我们在这里让软件变便宜。

作者:Reason

2026 年 8 月 28 日

软件工厂把你想要的东西变成已合并的代码。每一个软件工厂,包括我们的,都由三部分组成:

\text{software} = \text{inference} + \text{agent} + \text{runtime}

推理是模型以及它读写的每一个 token。运行时是工作发生的计算机:沙盒、浏览器、一次测试运行。智能体决定模型看到什么、可以做什么。推理占了账单的大头,而智能体决定一项任务要用多少推理。因此智能体是必须做对的那一部分。

智能体就是一套 harness

每个人都能租用同一个模型。各个编程智能体之间的差别在于模型外面那套 harness:

\text{agent} = \text{harness} = \text{tools} + \text{system instructions}

工具是模型能做的事;系统指令是模型开始之前被告知的内容。两者共同决定一项任务需要多少轮、每一轮要重读多少上下文,以及其中有多少能由提供商从缓存中提供。同一个模型在一套 harness 中的成本可能是另一套的五倍,这就是为什么我们在同一个模型上衡量 harness.

Reason 的 harness 内部

Codemode 模型只有一个 Reason 工具 codemode,它运行调用所有其他工具的 JavaScript。模型不再是每轮调用一次工具,而是写一段简短的程序:一次搜索、五次文件读取和一次测试运行在一次调用中并行完成,只有程序返回的内容才会回到上下文中。

异步工具 耗时的工作不会拖住这一轮。启动子智能体会立即返回它们的会话 ID;模型继续工作,需要时再读取它们的结果。

精简的系统指令 提示词很短,只包含我们认为能赢在快速执行上的内容:动手做、测试你改动的部分、报告你做了什么。平台需要的其他一切,从其他会话和云端计算机到预览 URL 和拉取请求,都放在延迟加载的工具后面,由 codemode 按需查找。提示词和工具在各轮之间从不改变,每个请求只在上一个之后追加内容,所以每一轮在新内容之前都可以完全命中缓存。

在 GPT-6 Astra 上,Reason 1.1 比 Codex 少用 23% 的输入 token,在我们运行的每个基准测试中每次尝试的成本低 15–23%。查看结果.

迈向递归语言模型

递归语言模型(RLM)把同样的思路更进一步。长上下文变成模型在其上编程的数据,而不是必须阅读的文本,模型还可以在自己挑选的片段上调用自身:

\text{answer} = \text{model}\big(\text{program}(\text{context},\ \text{model})\big)

Codemode 是其中的前一半:工具输出落在程序的变量里,而不是上下文窗口里,由模型选择读取什么。让这段程序递归地调用模型是后一半,也是我们接下来要把最便宜的软件工厂带去的方向。