迈向万能工具:设计直观、透明且精简的LLM控制框架
摘要
本文探讨了设计LLM控制框架的原则,旨在使其直观、透明且精简,借鉴Unix哲学以减少认知负荷并提高可靠性。
暂无内容
查看缓存全文
缓存时间: 2026/07/15 16:44
# arda tasci
来源:https://eardatasci.github.io/c/ambiance/index.html
## 迈向全能操控系统
数年来,我一直在思考如何让大语言模型脱离聊天面板的束缚。观察了各种尝试与成败,我对正确的方法形成了自己的见解。以下是我的想法以及我近期的工作。
## 一个好的操控系统应具备哪些特质
- I. 对智能体而言应当自然直观。
- II. 一切应当透明,以便智能体能够自我开发或自我修复(或在事后进行审计)。
- III. 必须尽可能精简且灵活。
- IV. 能够承受错误与更新,不会随时间出现内存损坏或性能退化。
> 随着大语言模型智能性的提升,操控系统终将变得*可靠*。真正要解决的是如何减少你的机器人所需承担的认知负荷(以令牌计)。
## 初步已知事实
多年来我们学到的最重要东西。
- 尽可能做到确定性。大语言模型应选择追求什么目标,但对目标的推演过程应当有明确定义,或者至少是一组明确定义的步骤。
- 核心提示应尽可能小,然后让大语言模型在运行时自行选择要加载到上下文中的技能。
- 当接近上下文限制时,大语言模型会开始出现混乱。
## 不博弈概率,博弈机器人
哈维·斯佩克特:我不博弈概率,我博弈人心。
一个好的操控系统必须利用大语言模型先验的编码知识。编码和系统管理在大语言模型的训练数据中占比极高,因此给它一个已经熟悉的环境;通过一个新颖的环境来操控它最终只会浪费令牌。同样,宝贵的上下文不应浪费在文件发现、遍历等事情上——好的操控系统让委托变得*简单高效*。同时,操控系统对LLM来说应感觉轻量,但实际上在后台做了很多事情,包括日志记录、完整性检查、故障安全措施、清理等。
## 可审计性、日志记录与自我修复
万物皆有脆弱之处,所有智能体最终都会失败。智能体失败有两种类型:
- 大语言模型层级
- 操控系统层级
大语言模型层级的失败无法直接修补,但可以通过操控系统来降低此类失败的风险。操控系统层级的失败可以恢复,并且由于大语言模型的回合制特性,*应当*能够在运行时修复。
为了修复缺陷,智能体需要两样东西:良好的日志记录和清晰的错误消息。
## 全能统一数据层
这些需求大多是老问题,只是措辞从“用户”转向了“智能体”。因此值得问一下:*我们能从“前时代”(人们还真正写代码的时候)学到什么?*
### 我的假设:Unix / Linux 环境是一个天然候选,只需稍加修改即可转变为智能体操控系统。
我绝不是Unix或其任何后代的专家,但过去十年我一直在学习它的历史、设计选择和使用方法。其中很多内容完美映射到我们的困境中;也有很多不适用。请将U/L视为一个激励性的比喻,而非直接比较。
## 将旧概念映射到新概念,以及 Unix 哲学
如果你可能已经忘记或从未见过,以下是我们的先辈 Ritchie 和 Thompson 的信条:
> 1. 编写只做一件事并把它做好的程序。要做新工作,重新构建,而不是通过添加新“特性”使旧程序复杂化。 2. 编写能协同工作的程序。预期每个程序的输出是另一个程序的输入。 3. 编写处理文本流的程序,因为那是通用接口。
这些完美地概括了当今操控系统的问题:过于复杂,试图做很多事情,而且我们期望智能体遵循的轨迹往往定义不清。这些都是同一个问题的症状:智能体无法掌握自己的自主权。在今天许多情况下,工具被直接加载到上下文中,系统提示被预先塞满开发者添加的警告、特定规则和指南(这些提示随着回合推移逐渐失效)。
由此,我们可以推导出自己的设计原则:
> 1. 编写模块化、透明的工具,只做一件事并做好;确保它们失败时声音响亮。 2. 编写能够协同工作的工具、技能和连接器。技能规定工作流程,工具是执行工作流程的手段,连接器是智能体操作的数据。 3. 文本流是通用接口,语言模型拥有主场优势。一切*都应*是扁平的文本文件。
## Ambiance:我对操控系统的看法
## 万物皆文件
你曾经手动处理过 JSON 吗?或者构造复杂的 curl 命令来查询端点?写过复杂的正则表达式?我没有,因为它们太麻烦了。大语言模型可能比你更容易处理它们,但请放心,它们也更喜欢纯文本。因此,在处理外部数据源时,你的操控系统应在数据到达大语言模型之前执行必要的清理操作。
**你需要一个存储所有这些数据的地方**。通过将一切分类到目录中,你可以为你的智能体节省大量浪费的令牌。
### 考虑文件系统层次结构标准(FHS)
FHS 只是概述了一个全新 Linux 安装应有的样子。自然,大语言模型是导航 Linux 文件系统的专家,因此策略性地将我们的外部数据源放置并路由到虚拟文件系统中,会让智能体感到宾至如归(例如,日志放入 /var,配置文件放入 /etc,智能体工作区位于 /home,等等)。另一个好处是,你和智能体都可以通过`grep`、`find`、`which`甚至非 GNU 程序如`rg`和`fzf`轻松地进行审计、跟踪和搜索。
难点在于如何让混乱、拥挤的外部世界适应这个仿 VFS。
我一直在使用以下映射。注意,很多内容确实可以直接一一对应。
操控系统 | Unix 等价物 | FHS
--- | --- | ---
智能体 | 用户 | /home/...
外部数据 | 驱动程序 | /sys/
工具 | 二进制文件 | /bin/
日志 | 日志 | /var/
自我修复 | 系统二进制文件 | /sbin/ & /recovery
技能 | 文档 | /usr/share/doc
## “内核”
我们已经确定了文件系统应该是什么样子,现在来思考智能体如何与环境交互(或者更确切地说,*何时*交互)。始终在线的智能体的行业标准 OpenClaw 将事件驱动的消息处理与心跳结合起来:在每个固定间隔(默认为 30 分钟)进行一次完整的智能体回合,以检查是否需要关注任何事情。问题是,除了推送消息以外的一切(如文件变化或外部状态)只有在心跳粒度时才会被注意到。缩短间隔会导致每次空检查都消耗一个完整的 LLM 回合;拉长间隔则导致智能体落后于世界长达一小时。
因此,我决定围绕一个我错误地称为“内核”的事件总线来构建 Ambiance。它通过文本文件的游标监控我们的文件系统变化,然后相应地调用 LLM(并采用一些合并策略来处理高吞吐量)。这样你可以确保智能体不会错过任何一条通知。此外,你还可以将不同的“用户”(LLM 实例)连接到不同的事件响应。
## 内核承担繁重工作
真正的内核是软件与硬件之间的中间层。Ambiance 内核则是 LLM 与外部世界之间的中间层。内核检查并确保 LLM 所做的每件事都是安全的,且无明显危害。
## “用户”
我目前开发了三个默认用户:
1. `root`,处理所有系统级事务,特别是编写新的驱动、二进制文件以及修复旧的。
2. `pai`,面向人类的 LLM,实际上与外部世界交互。
3. `librarian`,记录 pai 擅长什么、不擅长什么以及系统当天做了什么。
三者通过事件总线和`send-message`二进制文件不断通信。
## 试试看
Ambiance 背后的理念很简单:模型的先验知识是你最廉价的资源,因此一个用模型已经知道的东西(文件、用户、日志、文档)构建的操控系统,总是优于一个需要从零教起的系统。这里其他的一切都只是为了服务这一目标。
Ambiance 仍在开发中,但你可以今天就在 whitematterlabs.ai (https://whitematterlabs.ai/) 尝试,或者直接运行:
```
curl -fsSL https://raw.githubusercontent.com/whitematterlabs/ambiance/main/install.sh | sh
```
*附言:这类项目让你感兴趣吗?你自己也在做类似项目吗?那你绝对应该看看递归中心 (https://www.recurse.com/),我就是在那里开始构建这个项目的!*
---
相似文章
最好的智能代理工具会这样做……
作者分享了构建高效智能代理工具的见解:最好的工具最大限度地减少对大语言模型(LLM)在琐碎任务上的依赖,将其保留用于复杂推理,从而将真正的代理工具与简单的包装器区分开来。
Self-Harness: 自我改进的Harness
Self-Harness 提出了一种新范式,其中基于LLM的智能体通过挖掘模型特定的弱点、提出框架修改,并通过回归测试验证这些修改,从而迭代地改进自身的运行框架,在Terminal-Bench-2.0上跨多个基础模型取得了显著的性能提升。
Building an Advanced Agentic Harness
A technical blog post that walks through building a production-grade agentic harness around a basic LLM loop, covering typed tools, plan DAGs, tiered memory, verification hierarchies, budgets, and tracing.
@alxfazio: 如果你对提示词工程感兴趣,我强烈建议你看看 ARC AGI 获胜的提示词方案。它们清晰地展示了…
建议研究 ARC AGI 挑战赛中的获胜提示词方案,以理解有效的第一性原理设计,并避免对基准过度拟合。
有人有兴趣构建一个纯 harness 基准测试吗?
一项关于创建社区驱动的基准测试的提议,专门用于评估 LLM harness,并设有一个排行榜,衡量 harness 在多样化真实世界任务上的表现。