产品立论 · 第二篇 · v0.1

拥有协调层,
封装执行层

一份关于「人与 Agent 如何协作」的产品立论

2026 / 06 承接《AgentOS 概念定义》 刻意尚未命名 三阶段固定边界
这是一套为「超级个体」打造的协调层:它拥有人与 Agent 协作的契约、事实与治理,封装一切执行引擎;并以「资源治理 + 多厂商 + 极致个人化」为不可替代的赌注。
关于这份文档

两篇的关系,与一个空着的名字

这是一个系列的第二篇。第一篇《AgentOS:一份概念定义》用 AgentOS 这个框架,定义了一个概念性方向——行业该如何理解「人 + 多个 Agent 长期共存」这件事。它是一面镜头

本篇不再讨论行业,而是一份立论:说清这样一个产品该往哪走、边界在哪、凭什么。它面向同路的构建者——你大概率已经理解 Agent 的大势,但不了解这个具体产品的内情。本文不假设你知道任何实现细节,只想把一套立场摊开给你看。

镜头是认识工具,立论是承诺工具。第一篇帮你看清,第二篇说明选择

关于那个空着的名字

你会注意到,本文从头到尾不给这个产品起名字。它曾被叫作「工作台」,但那只是上一阶段的临时产物——「工作台」「AgentOS」或任何其他词,都不够准确。

这不是还没想好,而是刻意的。后文会讲到「三个定位槽位」:镜头、内核、身份。本文只锁定内核(架构)赌注这两个稳定的东西,身份(名字)这一槽刻意留空——名字是承诺,应该等方向被现实验证之后,才最后被定义。过早命名,只会把一个尚在生长的方向,钉死在一个不够准的词上。

行文约定:下文以「这个产品 / 这套系统」中性指代它;当需要点明它本质上是什么时,会说它是「一套协调层」——这是描述,不是名字。

第一部分
立论

往哪走、为谁、凭什么——先把主张摆出来

第 I 章

一句话主张

这是一套为「超级个体」打造的协调层:它拥有人与 Agent 协作的契约、事实与治理,封装一切执行引擎;并以「资源治理 + 多厂商 + 极致个人化」为不可替代的赌注。

这句话里每个词都承重:

协调层
产品的本体不是某个界面、也不是某个 Agent,而是「协调」本身——见第二部分。
拥有 / 封装
协调归自己建、自己改;执行藏在接缝后、随时可换。这是唯一的不变量。
契约 · 事实 · 治理
协议(怎么对话)、Trace(发生过什么)、Harness(允不允许)——协调层的三件实物。
赌注
资源治理、多厂商、极致个人化——巨头结构性留下的空白,护城河所在。

这句主张在后文的三个阶段里一字不变。变的只是「协调」要覆盖多宽:

1 个 Agent → N 个 Agent → N 人 × N Agent
第 II 章

为谁:超级个体

这套系统不是通用平台。它服务于超级个体——一个人,带着一批 Agent,长期协作,完成本来需要一个小团队才能完成的工作。

把服务对象收窄到「一个人」,会反过来决定所有边界:

超级个体不是「小号的企业」。现阶段,为一个人设计、和为一个组织求共识求规模,是两套不同的取舍——这个产品先站在「贴合与掌控」这一侧。
第 III 章

三个定位槽位

这类产品很难找到一个准确的名字。原因不在词不够多,而在于——人们想让一个名词同时干三件本质不同的事。这三件事必须拆开,各自归位:

认识框架
填:AgentOS 回答「怎么想这件事」。一面正确的镜头,用来思考和判断多主体协调,但不必对外当身份。
架构内核
填:协调层(协议) 回答「围绕什么建、什么稳定不变」。这是工程上的灵魂,是第二部分的全部内容。
身份 / 名字
刻意留空 回答「对外是什么、叫什么」。这一槽是承诺,等方向被验证后再填——见序章。

把三件事塞进一个词,必然顾此失彼:用「协议」当身份,界面就显得不重要;用「AgentOS」当身份,边界就过大、工程承诺过重;用「工作台」当身份,又丢掉了 Agent 这一侧的主动性。边界从来不该由一个名词来画,而该由一条归属规则来画(第 VII 章)。

为什么不直接自称 AgentOS

操作系统这个隐喻,理解上是对的,但作为身份过重。而且回到 OS 的本意——操作系统从不实现应用,它只调度、隔离、记录、提供系统调用。所以「用 OS 的框架思考,但只做协调内核、不自己造执行」,恰恰才是 OS 的正解。这也正是「理解上对、工程上别太重」的解法。

在第一篇的形态光谱上,这个产品站在第 07 档(Agent Workbench):用 AgentOS 框架设计,朝完备方向走,但不在早期就背起第 08 档那种完备内核的承诺。
第二部分
架构

不是技术栈,而是把概念串起来的结构

第 IV 章

核心图景:人与 Agent 同说一种协议

这一章是整篇的脊柱。后面所有概念——UCI、ACI、协议、Harness、Loop、Runtime、Trace——都不是孤立的名词,而是这张图上的一个位置一组关系

人 · Human意图 · 决策 · 干预
Agent行动 · 观察 · 求助 · 回报
UCI · 用户命令接口
ACI · Agent 命令接口
两端写入的,是同一种语言 ↓
协议内核 · Protocol Kernel(共享事实层) command · event · state · decision · permission · trace
— — 「拥有 / 封装」的那条线 — —
Harness 治理 → Loop → Runtime 执行工程栈(治理接缝属协调层,见第 VII 章)
真实世界:文件 · CLI · 浏览器 · API · 数据库 · 模型
↑ 拥有 · 协调层
↓ 封装 · 执行层

这张图的连接逻辑,一句一句读:

传统理解是「GUI 面向人,CLI 面向 Agent」。更准确的对称关系是:UCI ⇄ ACI,围绕同一个协议内核——人和 Agent 不是各用各的入口,而是共同操作同一套协议

为什么这个对称如此关键?因为它决定了产品的本体不在两端,而在中间。换两端的形态(GUI 改版、换一种 Agent 工具)都不动摇产品;动摇产品的,是改了中间那套共享事实。这正是下一章和第 VII 章要展开的。

第 V 章

协议内核:共享事实层

这里的「协议」不是狭义的网络协议,而是系统内部共同遵守的语言与行为规则:哪些事可以被表达、每件事的结构是什么、谁能发起、谁要响应、状态如何流转、结果如何记录。可以理解为——系统内部的语法 + 状态机 + 记录格式。

协议优先于页面

同一件事,有两种设计顺序。以「Agent 想改 package.json,需要人批准」为例:

页面优先(容易失控)

先想「做一个弹窗,标题=请求修改,按钮=允许/拒绝」。逻辑长在界面里,换个入口(CLI、后台、远程)就得重写一遍。

协议优先(可共享)

先定义一个事实:permission.requested 事件 + task.waiting_permission 状态。再决定它在 GUI 里长成审批卡、在 CLI 里长成待办、在 Trace 里长成一个暂停点。

当一件事先成为结构化事实,它就能被多个入口共享,而不是每个页面各实现一套。这是「同说一种协议」在工程上的落地方式。

Trace 是事实,不是展示

执行时间线(Trace)常被误解为「好看的过程动画」。在这套架构里,它是协议内核的事实记录:任务开始、计划摘要、工具调用、文件改动、错误重试、权限请求、人的决策与干预、完成或失败——全部落进同一份事实。

因为是事实而非展示,它才能同时支撑:GUI 回放、Agent 续跑、远程恢复、审计、调试、以及历史分叉时重建上下文。各种零散记录不应是几套孤立日志,而应收敛到同一个事实层

内核会长大,但语义稳定

单 Agent 阶段,内核处理的是 command / event / state / decision / permission / trace。进入多 Agent 后,会在它之上叠一层 Coordination Protocolassignment / handoff / review / conflict / escalation)。但叠加不是推翻——底层那套交互语义始终稳定。协议是从真实功能里长出来的,不是一次设计完整的(这条会在第 VIII 章作为红线再出现)。

第 VI 章

执行工程栈:Harness / Loop / Runtime

协议内核定义了「该发生什么」,但事情真正做成,靠的是它下面的三层工程责任。这三层常被混成一团,分开看才清楚:

Runtime · 身体
Agent 实际行动的运行环境——它在哪里、用什么身份、拿着什么工具、在哪个目录执行。本地或远程的 Runner、cwd、shell、文件系统、浏览器、各种外部服务,都属于这里。
Loop · 工作方法
Agent 如何持续推进——从目标出发,行动、观察、修正、循环,直到完成或卡住。计划、工具选择、错误恢复、何时求助,都属于这里。
Harness · 制度护栏
约束、治理、编排 Agent 的外壳——它能做什么、不能做什么、何时必须暂停、谁来批准、状态如何流转。权限、沙箱、Hook、审批门、状态机,都属于这里。

三者的关系是自上而下的:Harness 给 Loop 立规矩,Loop 驱动 Runtime 干活,Runtime 触达真实世界。它们共同构成「执行」——而执行,正是下一章那条线要划开的对象。

一个关键区分:Loop / Harness 的具体策略(怎么推理、怎么重试)属于某个 Agent 的实现;但它们与系统交互的方式(何时进协议、如何写 Trace、怎么被治理)属于产品本身。不抽到产品级,每个 Agent 都会各自发明一套审批与日志,最终治理、回放、审计全部失控。
第 VII 章

那条线:拥有协调层,封装执行层

前三章立起了架构:两张对称的嘴、一个共享内核、一组执行工程栈。这一章只做一件事——在这套架构上划一条线,并主张这条线永不改变。

两层,两个动词

执行层 · 封装 Wrap

回答「这件事到底怎么做成」:模型推理、plan-act-observe、工具被调用、文件被改、测试在跑。产出是现实世界的改变

对它的态度是封装:定义一道接缝,背后可换任何引擎,你依赖契约、不依赖实现。封装 ≠ 忽略,而是「重度使用,但绝不让它的内部渗进内核」。

协调层 · 拥有 Own

回答「谁想要什么、到哪了、允不允许、发生过什么、各方怎么对话」:把意图变命令、维护状态机、记录事实、卡权限门、渲染给人或回报给 Agent。产出是意图与事实的秩序

对它的态度是拥有:自己建、自己改、自己定版本、靠它差异化。它是产品的本体。

一块试金石

遇到任何一个组件,问两个问题,就能判断它该被拥有还是被封装:

换掉底层的某个 Agent 引擎,这还是同一个产品——所以引擎是执行层。改掉 Trace 的结构、决策的语义、协议的模型,它就变成了另一个产品——所以这些是协调层。

线不是齐整的:Loop 与 Hook 的精确切法

这条线并不在「协议」和「执行栈」之间齐整地横切,而是穿过执行栈本身:

组件内部 → 封装接缝 / 治理 → 拥有
Loop 怎么推理、怎么选工具 何时请求人类、过程如何写入 Trace
Hook / 权限门 (它触碰执行) 但它是协调层伸进执行层的治理闸口
一句话记住这条线:治理执行是 IN,实现推理内核是 OUT。
第三部分
赌注

为什么把线划在这里,而不是别处

第 VIII 章

护城河与红线

执行层是巨头(Anthropic、OpenAI)竞争且必胜的地方——模型质量、loop 质量。在那里和他们正面竞争没有胜算,正确的姿势是封装它、骑在它上面、随时可换

真正结构性的空白,留在协调层之上的这三条赌注里:

资源治理
token、成本、上下文、缓存命中、模型路由,对用户显式可见、可控、可调度。原厂的商业模式天然反向——它鼓励消耗,而非帮你优化消耗。这条空白永远留给上层。它不是某个版本的功能,是赌注本身,必须从第一阶段就以「执行被接缝封装、消耗可观测」的形态埋进架构。
多厂商
同一套协调层,可以把任务路由到 Claude、GPT 或本地模型。Anthropic 不会做「路由到 GPT」这种功能。而封装执行层,正是多厂商的前提——执行藏在接缝之后,多厂商才成为可能。这是「那条线」和「赌注」扣在一起的地方。
极致个人化
高度贴合一个人的工作流,是反规模化的。大公司必须做最大公约数,结构上做不出一个为单个人量身的工作环境。这正是超级个体方向的立足点。
一个判断:底层平台越成功,上层协调的空间越大。原厂越强,越多人需要一层「自己拥有、可观测、跨厂商、贴合自己」的协调层来驾驭它。

一致性红线(跨三阶段恒定的 NO)

无论加多少功能、走到哪个阶段,下面几条始终是越界:

第四部分
演进

同一张图,沿两条轴逐次加宽

第 IX 章

三阶段边界

演进路径是固定的:单人单 Agent → 单人多 Agent → 多人多 Agent。本质上,是第 IV 章那张图沿两条轴逐次加宽——先加宽「Agent 的数量」,再加宽「人的数量」。每跨一个阶段,只解锁一条轴;那条线和三条赌注,始终不变。

每个阶段的边界是确定的:一个阶段内做 3 个版本还是 10 个版本都行,但只要某个功能跨出本阶段的「暂不做」清单,就是越界,必须推迟,或显式地决策升级到下一阶段。
阶段一 · 基线
单人单 Agent

一个人,同一时刻协调一个 Agent,把单 Agent 的协调层做到完备。

解锁 · IN

  • UCI:GUI / Chat / 工作目录选择 / 命令面板(单任务主入口)。
  • ACI:单个 Agent 的工具 / CLI / MCP / 浏览器行动入口(契约自定,背后封装)。
  • 协议内核:command / event / state / decision / permission / trace(单 Agent 语义)。
  • Harness(单 Agent):权限模型、Hook、审批门、单 Agent 状态机。
  • 事实层收敛:各种执行步骤、干预记录、时间线、决策收件箱,统一到同一套事实。
  • 赌注的最小形态:执行经接缝封装;token / 成本 / 上下文可观测

暂不做 · Deferred(非永不做)

  • 多 Agent 并发编排、Team、Assignment Graph、Coordination Protocol。
  • Agent 四层身份(定义 / 角色 / 实例 / 指派)的完整建模。
  • 多用户、人类角色分层、权限分级、协作分享。

不变量

  • 拥有协调层、封装执行层;协议优先,且从功能里长出来。

进入下一阶段的信号:单 Agent 协调层稳定;出现「同一目标需要 ≥2 个 Agent 并行或接力」的真实场景;多厂商接缝已验证可替换。

阶段二 · 加宽 Agent 数量
单人多 Agent

仍是一个人,但同时协调多个 Agent;解锁「Agent 之间」的协调,本阶段暂不触碰「人之间」。

新解锁 · IN

  • Coordination Protocol(叠在协议内核之上):assignment / handoff / dependency / review / conflict / escalation / team.formed / dissolved。
  • Assignment Graph:谁在什么上下文、以什么角色、服务哪个目标、有什么权限——本阶段的核心结构。
  • Agent 四层身份:定义 / 角色 / 实例 / 指派。
  • 多 Agent Runtime:实例的运行位置绑定、目录隔离、并发容量调度(仍是封装执行,但拥有「放置与调度的治理」)。
  • Team 与拓扑:平级 / 主从 / 流水线 / 委员会 / 共享专家 / 临时编队——按生命周期、拓扑、权限建模,而非按「是否永久」简单四分。
  • 人类注意力路由:决策收件箱演化为「注意力路由器」——一个人面对 N 个 Agent 的决策不被淹没,这是本阶段最硬的设计问题。

暂不做 · Deferred

  • 多用户,以及人与人之间的权限 / 角色 / 分享 / 访问控制。

不变量

  • 同前;多 Agent 的治理仍不能靠 prompt,必须靠结构、状态机、Hook、token、隔离。

进入下一阶段的信号:单人多 Agent 协调成熟;出现真实的「多个人各自带着 Agent、想在同一平面上协作」的需求。

阶段三 · 加宽人数(远期伏笔)
多人多 Agent

多个人,各自带着自己的 Agent,在同一协议平面上协作。这是很后面的事,这里只埋一个伏笔,不展开。

种子 · 人通过 Agent 协作

这里长出来的,远不只是「一个人扮演多种角色」那么小——而是协作的基本单位,从「人」变成了「人 + 他的 Agent」。当两个这样的单位相遇,连接未必发生在「人 ↔ 人」这一层:可能是双方的 Agent 直接对接,可能是一方的人对接另一方的 Agent,也可能仍是人与人。谁和谁对话,由任务决定,不再被身份固定。

能这样自由地换搭档,是因为中间那层协议是共享的——所以哪怕各自基于协议长出的 GUI 不同(每个人有自己的体验偏好),仍能在同一个平面上对话。随着协议被使用,会逐渐分出哪些是通用的、哪些是服务于个人交互习惯的;而那个通用子集,就成了不同超级个体之间互相连接的基点。

这一段刻意不展开,也不与「极致个人化」冲突:个人化留在协议里「人与自己 Agent 怎么交互」那一层,通用子集才是连接的基础。具体怎么做,是很后面的事。

三阶段一图速览

维度① 单人单 Agent② 单人多 Agent③ 多人多 Agent
加宽的轴—(基线)Agent 数量人数
协议Interaction Protocol+ Coordination Protocol+ 跨人治理
核心结构单 Agent 状态机Assignment Graph角色 / 权限图
最硬的问题事实层收敛人类注意力路由协议里通用与个人的分界
执行层封装封装封装
不变量拥有协调层拥有协调层拥有协调层

镜头是 AgentOS,内核是协调层,赌注是治理 × 多厂商 × 个人化。

三者各司其位,不必合一。

名字还空着——
身份,是最后才该被定义的东西。