论最小 Agent 计算机的形态

论最小 Agent 计算机的形态

摘要:本文从经典计算机类比出发,提出「最小 Agent 计算机」由 Model、Loop、Sandbox、Persistent Storage、Permission Boundary 五个不可约元素构成,并给出约 200 行 Python 的最小实现示意。通过与 AgentOS 蓝图对比,帮助读者区分「计算机」与「操作系统」,避免在 harness 层过度工程化。

引言:当我们谈论 AgentOS 时,我们在谈论什么?

当前 Agent 架构正在向一种类操作系统的方向演化,从 K8s 类比出发,描绘了一个宏大的 AgentOS 蓝图------Profile Router、Swarm Scheduler、A2A Protocol、Memory Hierarchy、Sleep-time Compute------一整套分布式编排系统。

这幅蓝图令人兴奋,但也引出了一个更基础的问题:剥离掉所有优化层后,一个最小的 Agent 计算机到底是什么形态? 就像理解 K8s 需要先理解单台 Linux 服务器一样,理解 AgentOS 也需要先定义「Agent 计算机」的最小形态。

本文论证:最小 Agent 计算机由五个不可约元素构成------Model、Loop、Sandbox、Persistent Storage、Permission Boundary。文章中描述的 AgentOS 不是最小 Agent 计算机本身,而是这台最小计算机之上的 K8s。


一、从经典计算机到 Agent 计算机

经典计算机的最小形态是冯·诺依曼架构:CPU + 内存 + 存储 + I/O + 指令周期。无论是树莓派还是超级计算机,它们的本质差异只是这些基本元素的规模和数量,而非种类。

Agent 计算机与经典计算机存在一个关键差异:它的 CPU 不是确定性的。LLM 作为计算核心,其行为是概率性的、非确定性的。这一特征带来了一系列架构后果------但并不改变「最小计算机」问题的分析方法。

我们的方法论是:逐一检验每一个候选组件,判断它是「最小构成」还是「优化层」。判断标准只有一个------去掉它之后,系统是否仍然是一台可用的 Agent 计算机。


二、五个不可约元素

元素一:Model(计算核心 = CPU)

Agent 计算机的第一个不可约元素是 Model------一个具备推理和工具调用能力的大语言模型。它对应经典计算机的 CPU,是整个系统的计算与决策核心。

Model 在 Agent 架构中的独特之处在于它同时承担了两个角色:执行引擎策略层。在经典计算机中,CPU 只负责执行指令,策略由操作系统提供;而在 Agent 计算机中,Model 既做推理(执行),又做规划和工具选择(策略)。随着模型能力增强,它正在持续吸收原本由 harness 层承担的路由、任务拆解、工具选择等职责------这正是原文所说的「Model 正在蚕食 Harness」。

最简实现:一个支持 function calling / tool use 的 LLM API 调用。

元素二:Agent Loop(执行循环 = 指令周期)

第二个不可约元素是 Agent Loop ------think → act → observe 的循环。它对应经典 CPU 的指令周期 fetch → decode → execute

没有循环,Model 只是一个一次性的问答系统;有了循环,它才获得了自主性(autonomy)------能够根据环境反馈持续推进任务,直到完成或放弃。这是 Agent 与 Chatbot 的根本区别。

循环还包含一个隐含但至关重要的子能力:Context 管理。当对话历史增长到接近 context window 上限时,系统需要压缩上下文------保留结论,丢弃过程。这类似于 CPU 的缓存管理,是循环能够持续运行的前提。

最简实现:一个 while not done 循环 + tool dispatch + context compaction 逻辑。

元素三:Sandbox(执行环境 = RAM + I/O)

第三个不可约元素是 Sandbox------Agent 与外部世界交互的执行环境。它对应经典计算机的 RAM(临时状态)和 I/O 设备(环境接口)。

Agent 与环境交互的方式收敛为两种:终端(bash)浏览器 。原文也指出:"高级程序员操作电脑的方式其实朴实无华,就是终端和浏览器"。在最小形态下,一个 bash 终端就足以覆盖绝大多数操作------文件读写、代码执行、网络请求、系统管理。

最简实现:一个 subprocess 调用,在临时目录中执行 bash 命令。

元素四:Persistent Storage(持久存储 = 磁盘)

第四个不可约元素是 Persistent Storage。LLM 本质上是无状态的------一旦会话结束,所有上下文信息就会丢失。如果 Agent 今天做了一个调研,下周要基于结论继续工作,它必须有某种持久化存储超越单次会话的生命周期。

但这个持久存储不需要是复杂的向量数据库或知识图谱。一个持久化的文件目录 即可------如 Claude Code 的 CLAUDE.md.claude/ 目录。Manus 用 todo.md 管理任务状态,用文件系统做中间结果的卸载存储,本质上也是文件系统即记忆。

原文描述了从 MemGPT 到 Zep 到 AFS 的复杂记忆层级,但这些都是 Persistent Storage 的精细化,而非最小构成。正如你不会说一台计算机的「最小形态」需要包含 Redis 或 PostgreSQL------一个磁盘分区就够了。

最简实现:一个 .agent/memory/ 目录 + JSON 文件。

元素五:Permission Boundary(权限边界 = Ring 0/Ring 3)

第五个不可约元素是 Permission Boundary------这是最容易被忽视、但论证起来最具穿透力的一个。

前四个元素(Model、Loop、Sandbox、Storage)对应的是 Agent 的能力维度 ------推理、行动、记忆。但 Agent 还有一个定义性特征:自主性(autonomy)。而自主性 + 真实世界副作用 = 必须有约束边界。

核心论证:没有约束边界的自主体不是工具,是隐患。Permission Boundary 不是「有了更好」的优化层,而是「没有就不成立」的架构要件。

物理世界的类比很有说服力:

类比 论证
汽车与刹车 没有刹车的汽车不是「简化版汽车」,是一颗子弹。刹车是汽车的架构组成部分,不是附加配件。
核电站与控制棒 没有控制棒的反应堆不是「最小核电站」,是一颗核弹。控制是能量系统的本质属性。
CPU 与特权级 没有 ring 0/ring 3 分级的处理器不是「简化版 CPU」,是一个任何程序都能宕掉整个系统的灾难。特权分级是现代 CPU 架构的一部分。
Agent 与权限边界 没有权限边界的 Agent 不是「最小 Agent 计算机」,是一个可以 rm -rf /、发任意邮件、部署恶意代码的自主体。

但最小的权限边界不等于完整的企业治理体系(RBAC + hooks + 审批流 + audit trail)。它只需要两个原语:

  1. Permission Boundary:一个白名单/黑名单配置,定义哪些操作允许、哪些禁止
  2. Confirmation Gate:对不可逆操作暂停执行,要求人工确认

这对应 CPU 的 ring 分级------不是完整的 SELinux,只是用户态与内核态的基本分离。对应汽车的刹车------不是 ABS + ESP + 自动紧急制动,只是一个基本的制动机构。

最简实现:一个 YAML 配置文件 + 一个 input("确认?[y/n]") 确认逻辑。


三、五元组的定义性质

完备性

五个元素覆盖了 Agent 的全部本质特征------推理、行动、记忆、安全。去掉任何一个元素,系统就不再是一台完整的 Agent 计算机

  • 没有 Model → 没有推理能力 → 不是 Agent
  • 没有 Loop → 没有自主执行 → 只是一次性问答
  • 没有 Sandbox → 无法与环境交互 → 只是推理引擎
  • 没有 Persistent Storage → 无法跨会话积累 → 每次从零开始
  • 没有 Permission Boundary → 无法安全赋予自主权 → 定时炸弹

最小性

每个元素都取其最简实现形式------API 调用、while 循环、subprocess、JSON 文件、白名单配置。不存在比这更简的构成,也不存在可以进一步合并的元素。

可扩展性

原文描述的所有高级能力,都是在这五个基本元素之上的扩展,而非新的基本元素:

AgentOS 高级能力 五元组的扩展方向
Swarm Scheduler 多个 (Model + Loop) 实例的编排
Memory Hierarchy / Sleep-time Compute Persistent Storage 的精细化(向量库、知识图谱、异步整理)
Profile Router Model 选择的优化(强模型决策 + 弱模型执行)
A2A Protocol 多实例间通信的标准化
RBAC / Hooks / Audit Permission Boundary 的企业级扩展

四、与经典计算机的完整映射

经典计算机 最小 Agent 计算机 本质角色 最简实现
CPU Model 计算与决策核心 一个支持 tool use 的 LLM API
指令周期 Agent Loop 执行循环 while not done: think → act → observe
RAM + I/O Sandbox 临时状态 + 环境交互 一个终端(bash),可选浏览器
磁盘 Persistent Storage 跨会话记忆 一个持久目录(如 .agent/
Ring 0/Ring 3 Permission Boundary 行为约束与安全边界 白名单 + 确认闸门

五、代码验证:200 行 Python 的最小实现

为验证五元组的可实现性,我们用约 200 行有效 Python 代码构建了一台完整的最小 Agent 计算机。代码开源于 GitHub

bash 复制代码
.
├── agent.py              # 主程序(~200 行有效代码)
│   ├── think()           # ① Model:LLM API 调用
│   ├── agent_loop()      # ② Loop:主执行循环
│   ├── Sandbox           # ③ Sandbox:bash 执行器
│   ├── load/save_memory  # ④ Storage:持久记忆
│   └── permission_check  # ⑤ Boundary:权限检查
├── .agent/
│   ├── permissions.yaml  # 权限配置
│   └── memory/           # 持久记忆目录
└── Thinking.md           # 思考过程记录

这个 200 行的实现与 Claude Code、Codex CLI 的核心逻辑是同构的------它们本质上做的是同一件事,只是工程化程度不同。


六、被排除在最小构成之外的能力

以下能力在实际生产中很重要,但它们属于优化层 而非最小构成。判断标准始终是:去掉它之后,系统是否仍然是一台可用的 Agent 计算机。

能力 为什么不是最小构成 何时需要引入
Multi-agent / Swarm 单 agent 在架构上完备,多 agent 是吞吐量优化 任务需要并行或专业分工时
异构模型调度 单模型虽昂贵但架构完备,异构是成本优化 生产环境需要控制成本时
向量数据库 / 知识图谱 JSON 文件即可实现最小持久化 记忆量大、需要语义检索时
RL 训练调度器 模型自身 CoT 已具备任务拆解能力 需要大规模优化调度策略时
完整 RBAC 体系 白名单 + 确认闸门覆盖核心安全场景 多用户、企业级部署时

七、结论与启示

最小 Agent 计算机 = Model + Loop + Sandbox + Persistent Storage + Permission Boundary

它的实体形态就是今天的 Claude Code / Codex CLI------一个在终端里运行的、带有确认机制的 agent loop。

这个结论对 AgentOS 建设者有三层启示:

第一,区分「计算机」和「操作系统」。 AgentOS 不是最小 Agent 计算机,而是这台最小计算机之上的 K8s------一个分布式编排系统。正如 K8s 的伟大不在于发明了新的计算原语,而在于把已有的计算原语编排到了新的规模。

第二,构建的核心挑战不在硬件层。 五元组的实现复杂度极低(约 200 行代码),真正的挑战在于「软件层」------prompt engineering、tool design、memory strategy------即如何在这台计算机上跑出好的应用。

第三,为删除而构建。 原文最后一章的洞察值得反复强调:harness 中的编排规则应该附带一个预设问题------「当模型能原生完成这件事时,这段代码是否可以直接删除?」如果答案是否定的,说明你在过度工程化。Harness 应随模型变简单,而非变复杂。


相关推荐
kisshyshy17 小时前
🍦 雪糕、食堂、火车厢:三幅漫画吃透栈、队列与链表
javascript·算法
猿人谷1 天前
不只是 CPU 阈值:STAR 如何用 GAT + Transformer 做容器级自动扩缩容?
人工智能·算法
复杂网络1 天前
Stable Diffusion 视觉大模型微调技术深度调研
算法
复杂网络1 天前
基于 Stable Diffusion 架构的视觉大模型代表性工作与原理深度解析
算法
MrZhao4001 天前
Agent Loop 如何用 Hook 扩展:权限、日志与工具拦截
算法
MrZhao4001 天前
Agent 为什么需要 Skills:别把所有知识都塞进 system prompt
算法
JieE2123 天前
LeetCode 101. 对称二叉树|JS 递归 + 迭代双解法,彻底搞懂镜像判断
javascript·算法
JieE2123 天前
LeetCode 56. 合并区间|超清晰 JS 图解思路,面试高频区间题
javascript·算法·面试
Jack204 天前
HarmonyOS开发中错误处理策略:网络异常统一处理
算法