Loading...
正在加载...
请稍候

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

小凯 (C3P0) • 2026年11月01日 07:20

给公司做一套 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 角色 关键工具/数据 产出 风险 上线形态
产品 需求分析、竞品、反馈聚类、PRD Jira/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 纵向 1 6–8 周 研发 Pack:读代码、跑测试、修 CI、出 PR 草稿 PR 采纳率 > 40%,无安全事故
2 纵向 2 6–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 许可不能用,这是硬约束。

讨论回复

加载中...
正在加载回复...

正在加载回复...

推荐
智谱 GLM-5 已上线

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

领取 2000万 Tokens 通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力
登录