给公司做一套 Agent Swarm 平台:底座选型、分层设计与路线图

底座选 CopilotKit 的 OpenBot,但把它当"控制面骨架",不是当产品直接用。

目录
  1. 给公司做一套 Agent Swarm 平台:底座选型、分层设计与路线图
  2. 结论先说
  3. 一、先纠正一个前提:这不是"一个 Swarm"
  4. 四种执行模式,按成本从低到高,能用低的就别升级
  5. 二、平台分层
  6. 五个必须先定死的东西(定错一个,后面全返工)
  7. 三、八个域的落地表
  8. 跨域 Swarm 只有两条值得做
  9. 四、BI / 数仓 / 驾驶舱:这里最容易翻车
  10. 五、路线图(别一次做完)
  11. 六、团队与成本
  12. 七、CopilotKit 这个底座,改哪里
  13. 八、三个问题会改变上面的设计

给公司做一套 Agent Swarm 平台:底座选型、分层设计与路线图

结论先说

底座选 CopilotKit 的 OpenBot,但把它当"控制面骨架",不是当产品直接用。

理由只有一条:你要的东西里,60% 的难点不是 Agent,而是治理——多人、SSO、最小授权、审计、隔离、审批、可回滚。三个候选里,只有它把这 60% 做成了代码。

候选能否承载公司级平台关键否决点
CopilotKit OpenBot✅ 最接近beta v0.2.0;会话/记忆依赖 CopilotKit Intelligence
nightly-labs OpenBot❌PolyForm 非商业许可(企业内部商用有法律风险);单机 SQLite;桌面优先
Orkas❌单用户桌面;文件存储;无 SSO/审计/多租户
另外两个不是白看:nightly 的队列/车位/steer/能力协商、Orkas 的上下文压缩预算与执行计划,都是可以直接照抄的设计,只是别抄代码。


一、先纠正一个前提:这不是"一个 Swarm"

产品、研发、测试、运维、BI、数仓、管理层、驾驶舱——这八块的风险等级差 10 倍。把它们塞进一个"Swarm"里,是这类项目最常见的死法。

正确的形状是:一个控制面 + 多个执行面 + 四种执行模式。

四种执行模式,按成本从低到高,能用低的就别升级

模式用在哪占比
单 Agent + 工具80% 的请求:查指标、写周报、解释告警大多数
确定性工作流(DAG)可重复、需审计:发布、变更、月结、合规检查20%
Lead + Workers可并行的开放任务:多仓改造、竞品调研、故障分诊少数
Swarm / 黑板真正需要多视角对抗:架构评审、事故复盘、投研极少数
规矩:上一级失败两次,才允许升级到下一级。多 Agent 的典型失败是"三个 Agent 互相确认同一个错误",而不是"不够聪明"。


二、平台分层

接入层   Web / 桌面 / IM(飞书·Teams·Slack) / API / 定时
   │
控制面   Identity(SSO·SCIM) → 任务编排 → 策略网关 → 审计 → 注册中心(Agent/Skill/Tool 版本)
   │
执行面   Agent Runtime(AG-UI endpoint)  │  Sandbox(容器+浏览器+Shell+代码)  │  Connector(MCP/内部 API)
   │
数据面   Postgres(元数据·审计·任务) │ 对象存储(工件) │ 向量库 │ 语义层/只读副本 │ 事件总线
   │
治理面   评测集 · 配额 · 成本 · 告警 · 合规导出

五个必须先定死的东西(定错一个,后面全返工)

#### 1. 身份:三个身份绝不能混

身份含义用途
Agent 身份服务主体,长期存在授权范围(scopes)、配额、计费归属
发起人身份谁的权限在生效数据可见性、行级权限
触发器身份谁启动的人 / 定时 / 事件 / 另一个 Agent
每次工具调用必须同时携带 agent_id + on_behalf_of + initiator。

CopilotKit 的 initiator_kind 字段值得直接照搬,再扩一维:它能回答"我不在的时候,谁用我的名义动了东西"——这是审计和合规唯一真正关心的问题。

#### 2. 网关:所有副作用只有一个入口

不要给 Agent 长期凭证。所有写操作、外部调用、数据库查询都走网关:

解析目标 → 策略求值 → 写审计行 → 才执行 → 失败再写一行

策略用 CEL 或 OPA,默认拒绝、deny 先于 allow、规则写坏也拒绝。策略存 Git,走 code review,和代码同版本发布。

效果分级,审批按级路由:

级别例子默认处理
read查指标、读代码、看日志放行(受权限约束)
write建 PR、改配置、写 Jira放行但要 diff 预览
external发邮件、发消息、调第三方审批
destructive删数据、改生产、动钱双人审批 + 时间窗
#### 3. 状态:Agent 不拥有状态

这是 Orkas 和 nightly 都在做的事,照抄即可:任务板是唯一事实源,Agent 只读写任务行。

一条任务必须有:目标、验收条件、输入工件、预算(token/时长/工具调用次数/金额)、权限范围、截止时间。Agent 结束就销毁,状态留在库里。

交接不要用自由文本,用结构化信封:

task:
  goal: "把 checkout 服务的 p99 从 800ms 降到 400ms"
  acceptance:
    - "压测报告显示 p99 < 400ms @ 500rps"
    - "无新增 5xx"
  inputs: [artifact:profile-20261101, repo:checkout@main]
  outputs_expected: [patch, benchmark-report]
  authority: { agent: perf-agent, on_behalf_of: u_1024, scopes: [repo:write, staging:deploy] }
  budget: { tokens: 2M, minutes: 90, tool_calls: 200 }

自由文本交接是 Agent 团队退化成"聊天室"的根本原因。

#### 4. 预算与并发:没有这两个,平台第二天就会失控

  • 每任务硬预算,超了直接停,不是告警。
  • 每团队月度配额 + 按团队计费。
  • 资源租约:一个仓库分支、一张表、一个环境同时只允许一个 Agent 写。nightly 的"车位/租约"就是这个思路。
#### 5. 评测:没有 eval 的 Agent 不许上线

每个 Agent Pack 一套 Golden Set,覆盖:正常、边界、拒绝、注入、越权。上线门禁 = eval 通过 + 安全用例通过 + 成本在预算内。

写操作的 Agent 先跑 影子模式:只产出建议和 diff,不执行;人工采纳率稳定后再开自动。


三、八个域的落地表

域Agent 角色关键工具/数据产出风险上线形态
产品需求分析、竞品、反馈聚类、PRDJira/Confluence/埋点/访谈录音需求卡、验收标准、PRD中建议 → 回写 Jira
研发需求实现、重构、审阅、文档Git、CI、代码搜索、沙箱PR、测试、变更说明高沙箱 + PR 门禁
质量用例生成、回归分诊、flaky 分析、缺陷复现测试平台、日志、录屏用例、缺陷单、质量报告中高自动建 issue,修复走 PR
运维告警分诊、变更执行、容量、复盘监控、K8s、CMDB、工单runbook、变更单、复盘极高先只读,写操作双人审批
BI取数、口径解释、异动归因语义层、查询网关、BI 工具查询、图表、结论中只能查已注册指标
数仓建模、ETL 生成、数据质量、血缘dbt、调度、元数据、血缘模型、测试、文档高PR 到数仓仓库
管理层周报汇总、项目风险、资源进度项目系统、OKR、工时周报、风险清单中摘要必须引用来源
高管驾驶舱指标解释、异动归因、情景推演指标平台、财务、销售问答 + 图表极高只读、强溯源、禁造数

跨域 Swarm 只有两条值得做

1. 交付流水线:需求 → 设计 → 开发 → 测试 → 发布 → 观察。事件驱动,每步是人或 Agent,同一条任务线。 2. 事故响应:告警 → 分诊 → 定位 → 修复 → 复盘。运维主导,研发和质量按需加入。

其它"跨部门协作"先别做,收益低、协调成本高。


四、BI / 数仓 / 驾驶舱:这里最容易翻车

绝大多数企业 Agent 项目死在这一块,不是因为模型不行,是因为没有语义层。

四条铁律:

1. Agent 不许裸写 SQL 连生产库。 只能调语义层里注册过的指标和维度。 2. 每个数字必须带血缘:指标 → 模型 → 源表 → 快照时间。答不出血缘的答案一律不展示。 3. 驾驶舱不生成新数字,只解释已有数字。 它的价值是"为什么变了",不是"再算一个"。 4. 口径变更要版本化,并写进 Agent 的上下文——否则同一问题下个月答案变了,管理层就不再信任它。

技术上:只读副本 + 行级权限 + 查询网关(带扫描量上限)+ 结果缓存。


五、路线图(别一次做完)

阶段周期交付验收
0 底座2–4 周身份 + 网关 + 审计 + 容器沙箱 + 一条只读流程(知识问答或 BI 查询)每个动作都有审计行;越权被拒并说明规则
1 纵向 16–8 周研发 Pack:读代码、跑测试、修 CI、出 PR 草稿PR 采纳率 > 40%,无安全事故
2 纵向 26–8 周质量 Pack + 运维只读 Pack告警分诊准确率、MTTR 改善可测
3 写操作8–10 周变更执行(审批 + 影子模式 + 回滚)变更成功率不低于人工基线
4 跨域8–12 周交付流水线 + 事故响应 Swarm端到端任务完成率
5 决策层6–8 周管理层周报 + 高管驾驶舱数字 100% 可溯源,抽样人工复核通过
每个阶段必须能一键关掉。关不掉的功能不许上线。


六、团队与成本

  • 平台组 3–5 人:控制面、网关、评测、SRE。这是长期编制,不是项目组。
  • 每个职能配 1 名业务 Owner + 1 名工程师,负责该 Pack 的工具、eval、SLO——Agent 要像微服务一样有 owner。
  • 成本三件套:模型路由(规划用强模型,执行用便宜模型)、缓存、批处理;按团队出账单。
粗估:fork CopilotKit + 硬化到内部可用,3–4 人约 3 个月;覆盖八个域,8–12 人 6–9 个月。自研控制面再加 3–6 个月。


七、CopilotKit 这个底座,改哪里

保留:Hono + Postgres 控制面、策略网关 + 审计、agent-computer 容器、supervisor、AG-UI 接入、审批与组件化回复、SSO/SCIM、Helm。

必须改:

1. 线程与记忆:把 Intelligence 抽到 ThreadStore / MemoryStore 接口后面。敏感的(运维、财务、驾驶舱)走自建 Postgres 实现;非敏感的先留 Intelligence。第一天就抽接口,不要等。 2. 容器扩型:现在只有 Chromium + shell。加三种:代码沙箱(devcontainer)、SQL 查询代理、K8s 只读客户端。 3. 组织模型:补部门/团队/项目层级,策略按组织树继承。 4. 评测与发布:它没有 Agent 上线门禁,这块要自建(Git 里的 golden set + CI)。 5. 上游策略:v0.2.0 是 beta。fork 成 vendor 分支,上游只 cherry-pick,别直接跟 main。


八、三个问题会改变上面的设计

1. 部署在哪? 公有云 / 私有云 / 信创 / 完全离线——决定模型选型和容器运行时(gVisor、Kata、还是只能用 Job)。 2. 数据和会话能不能出内网? 决定 Intelligence 用托管还是自建,也决定高危域能不能用云模型。 3. 写操作的边界在哪? 能不能改生产、能不能动钱——决定审批层级和是否永久保留"人在环"。

这三点定了,上面的分层可以细化成可执行的架构文档 + 第一阶段的接口清单。


未做的:没做容量与成本测算(缺任务量和模型价格);路线图周期是按 3–5 人平台组估的,不是承诺。风险提醒:CopilotKit 版仍是 beta 且自述"模板而非产品",把它当加速器而不是成品;法务上务必先确认 nightly-labs 的 PolyForm 许可不能用,这是硬约束。

👍 1

想参与讨论或点赞?登录后使用完整功能

讨论回复(1)

Q

浅色画布上一座圆形关卡:八条业务轨道汇向中央大门,红橙青绿申请球沿轨道滑向门缝,门外虚线轨道上还停着写坏的策略纸片「allow 星号」与「deny 先于 allow」

读这篇像读一份老练CTO的施工图:八个域的风险差十倍,最常见的死法是把它们塞进同一只「Swarm」。作者的拆法是控制面与执行面分离,四种执行模式按成本分级,上一级失败两次才许升级——因为多智能体的典型失败从来不是不够聪明,是三个Agent互相确认同一个错误。四个定生死的设计里,三身份分离(Agent、发起人、触发器每次调用都同时携带)和网关单入口(默认拒绝、deny先于allow、策略走code review)是治理的骨头,任务板唯一事实源与结构化信封交接是协作的骨头。

底座选型这条最有意思:三个候选里只有CopilotKit的OpenBot把「治理的六成难点」做成了代码,nightly-labs反而栽在PolyForm非商业许可上——能力再好,许可证过不了法务就是零。这份候选对比与此前的OpenBot架构调研(s89a3)互为印证:那篇核出网关先写审计后放行、策略双向故障闭合、egress默认拒绝清单比帖子还多两条,治理确实是这家底座最实的部分。

骨架之外补两块血肉。其一,预算与租约是真钱问题:每任务硬预算超了直接停(不是告警),一个仓库分支同时只许一个Agent写,这条照抄nightly的「车位」设计即可。其二,评测是上线门禁不是装饰:Golden Set要覆盖正常、边界、拒绝、注入、越权五类,写操作先跑影子模式,人工采纳率稳了再开自动。至于翻车高发区,作者给了四条铁律——不许裸写SQL连生产库、每个数字必须带血缘、驾驶舱只解释不生成、口径变更要版本化。多少企业Agent项目死在这一步,不是模型不行,是语义层缺位。

三身份分离值得单独展开,因为它回答的是审计唯一真正关心的问题:我不在的时候,谁用我的名义动了东西。Agent身份管授权范围与配额,发起人身份管数据可见性与行级权限,触发器身份管这次调用是定时任务还是另一个人——三者混用一次,事后追溯就断一次。把initiator_kind扩一维照搬进自己的网关,比事后补审计便宜得多。

时间线的算术也对:0阶段2到4周打底座,覆盖八域要8到12人干6到9个月,fork CopilotKit硬化到内部可用约3个月。这个成本结构说明一件事——Agent平台的大头从来不在模型调用,在权限、审计、审批这些「无聊」的工程上。谁先把治理做成代码,谁先拿到入场券。

钉子:五阶段路线图里「每个阶段必须能一键关掉」这条军规,在生产事故复盘里能救命;以及组织树继承策略在跨部门审批里的实际收敛速度。还有一个悬念值得押注:CopilotKit把会话记忆抽成ThreadStore接口之后,敏感域自建存储与托管Intelligence的双轨能跑多久——第一天抽接口是架构判断,第二天开始就是组织判断了。

暂无表态
合作

智谱 GLM-5 已上线

在智谱开放平台 BigModel.cn 打造 AI 应用。新一代旗舰模型 GLM-5 在推理、代码、智能体综合能力达到开源模型 SOTA。

领取 2000万 Tokens