← 返回全部文章
【费曼·调研】 · 2026-08-13

Ambiance 调研笔记

5 min read

如何让一个大模型摆脱聊天框,变成一个能持续干活、还能自己维护自己的 agent?这背后有一个容易被忽略、但一旦想通就能串起所有设计的核心判断。下面从这个判断出发,一步步把它推到具体的架构。

核心判断:模型的先验知识,是你最便宜的资源

做 agent 外壳(harness)时,人们习惯性地去发明新东西:定义新的工具协议、写新的记忆格式、设计新的调度规则,然后花大量篇幅在系统提示里教模型怎么用。但有一个更省力的方向被长期忽略了——模型脑子里已经装着的东西,你一分钱不用花。

代码和系统运维在大模型的训练数据里被严重过度表达。文件系统、grep、用户、日志、管道、文本流,这些概念它早就滚瓜烂熟。如果你把 agent 的架构直接用这套它熟悉的词汇来表达,几乎不用教;而你自己发明的任何新抽象,都得占用宝贵的上下文去现教。所以设计原则应该是:押注模型已经会的,而不是赌它能学会你的新花样。

为什么这一条能串起一切

把这个判断拆开,它其实是被两个前提逼出来的必然结果。

**前提一:“能干任何事”等于”必须能自我扩展”。**你不可能把所有能力提前写死——写死就意味着只能干你当初想到的那几件事。所以一个真正通用的外壳,必须允许 agent 自己新增能力、自己修复故障。

**前提二:自我扩展的瓶颈是注意力,单位是 token。**上下文有上限,越接近上限模型越容易失常。你塞进去的每一条规则、每一个预加载的工具、每一次让模型自己去找文件拼 JSON 的杂活,都在挤占它干正事的预算。所以真正要优化的,是压在模型身上的认知负载。

两个前提合起来:要通用 → 就得能自我扩展 → 就得压低认知负载 → 而压低认知负载最狠的办法,就是别教它新东西、直接复用它的先验。绕了一圈,答案落回同一个地方——而模型先验最集中的领域,就是 Unix。

于是设计自然长出来

一切皆文件,一切皆纯文本

手动拼 curl、啃 JSON、写复杂正则,人烦,模型也烦。所以外壳应该在数据到达模型之前,就把外部世界的脏乱数据清洗成干净的纯文本。所有数据分门别类地放进目录,模型不用浪费 token 去做发现和遍历。文本流是通用接口,而模型在这个接口上是主场作战。

把 agent 架构映射到 Linux 文件系统标准(FHS)

FHS 规定了一套标准的 Linux 目录布局,而模型天生就是它的导航专家。把 agent 的各个部件按语义放进对应目录,模型一进来就”在家”,而且你和它都能用 grep、find、rg、fzf 这些老工具随时审计和搜索。

Agent 部件Unix 概念目录
各个智能体用户 Users/home/…
外部数据源驱动 Drivers/sys/
工具二进制 Binaries/bin/
日志Logs/var/
自愈机制系统二进制/sbin/ & /recovery
技能文档 Docs/usr/share/doc

继承 Unix 哲学,白拿三个关键性质

Ritchie 和 Thompson 的老信条——每个程序只做一件事并做好、程序之间要能协作、用文本流当通用接口——直接翻译成外壳的设计规则:工具要模块化、透明、失败时大声报错;技能定义工作流,工具是执行手段,连接器是被操作的数据。这套哲学顺带白送了三个性质:模块化、透明、可自愈——而透明和可自愈,正是”能自我扩展”这个目标所必需的。

确定性优先

让模型决定”追求什么目标”,但通往目标的每一步应该是良定义的,或至少是一串良定义步骤的组合。核心提示越小越好,具体技能由模型在运行时按需加载,而不是一股脑预先塞满上下文。

可审计与自愈

所有 agent 最终都会失败,失败分两种:LLM 层的失败无法直接打补丁,只能靠外壳兜底降低风险;外壳层的失败则可以在运行时修复,因为模型是回合制的。而要修复任何缺陷,agent 只需要两样东西——好的日志,和清晰的错误信息

两个具体实现:让外壳真正跑起来

用事件总线取代心跳轮询

常驻型 agent 常见的做法是”心跳”:每隔固定时间(比如 30 分钟)跑一整轮检查有没有事要处理。问题是间隔调短就每次空检查都烧掉一整轮模型调用,调长又会落后世界一大截。更好的做法是一个事件总线,用游标盯着文本文件的变化,一有变动就精准唤起模型,既不漏消息也不空烧 token。这个总线同时充当模型与外部世界之间的中间层,负责安全检查和数据清洗。

多角色分工

把不同职责拆给不同的模型实例,像 Linux 里不同的用户,彼此通过事件总线通信:

  • root — 负责系统级的事,专门编写和修复驱动、工具
  • 面向人类的实例 — 真正跟外部世界打交道
  • 记录者 — 写日记:记录哪些事做得好、哪些做得差、系统当天干了什么

可以带走的几条通用心法

说明

  • 减负比加料重要:做 agent 真正在优化的是认知负载。核心提示越小越好,能力运行时按需加载。
  • 复用先验,而非另造范式:能用模型早就熟悉的老范式(文件、文本、日志、用户)表达的,就不要发明需要现教的新抽象。
  • 把创造性和可靠性分层:让模型选目标,但执行路径要尽量确定。
  • 可修复的前提是可观测:好日志加清晰错误信息,是 agent 自愈的最低门槛。

项目名为 Ambiance,仍在开发中,可访问 whitematterlabs.ai 或一行安装体验:

curl -fsSL https://raw.githubusercontent.com/whitematterlabs/ambiance/main/install.sh | sh