AI Agent 平台
源码:agent-control-plane on GitHub ↗
为什么这是一个运行时问题,而不是聊天机器人问题
在业务系统上叠加一个聊天机器人,得到的不过是数据库外包了一层对话界面。AI 能回答训练数据里的问题,却无法操作实时记录、执行权限校验、遵守审批链,也无法在工作流中与其他 Agent 协同。
Agent 控制平面(ACP)从根本上反转了这个思路。每一个 AI 动作都是一条命令——与人工点击按钮时触发的命令完全相同:带权限、有审计、发事件。Agent 起草销售报价时,会经过 acp:create_mission 注册任务,从工具注册表解析可用工具,通过命令管道调用 sales_order.draft,并生成 agent_action 记录。若该动作超过风险阈值,执行将暂停并生成 agent_approval 请求,等待人工确认后再继续。没有任何路径绕过运行时。
数据模型概览
ACP 由两个协作插件(agent-control-plane 和 ai-employees)组成,共定义 16 个模型,分布在四个层次:
agt_agent_definition— Agent 配置:类型(autonomous / copilot / reactive)、分配模型、工具列表、soul profile(人格、专业领域、边界)。agt_mission— 高层业务目标;状态流active → paused → completed → archived。agt_task— 分配给 Agent 或人工的工作单元;状态流backlog → todo → in_progress → done / blocked / cancelled。agt_run— 执行记录,捕获input_tokens、output_tokens、total_cost、duration_ms及最终状态。agt_artifact— 运行产物(文档、报告、代码、数据、邮件)。agt_approval_policy— 触发人工审核的规则:按风险级别、动作类型、费用阈值或时间窗口。agt_agent_approval— 待处理的审批请求;结果为approved / rejected / expired。agt_agent_action— Agent 每次工具调用的不可变审计记录。agt_agent_memory— 每个 Agent 的持久化知识,分六类:fact、preference、lesson、context、decision、summary。agt_agent_tool— 工具定义(DSL 命令、DSL 查询、自定义 API、MCP 服务器、LLM 原生)及风险分级。agt_agent_skill— 可复用技能包,分三级:atomic(原子工具)、workflow(工作流技能)、solution(行业解决方案)。agt_agent_schedule— Cron、间隔、事件触发及一次性执行计划。agt_mcp_server— 外部 MCP 兼容工具服务器的注册表。
关键命令
ACP 共定义 53 条命令。以下五条展示了三种命令形态:
| 命令 | 形态 | 风险 | 幂等 | 作用 |
|---|---|---|---|---|
acp:create_agent_definition | Create | write | 是 | 注册 Agent,含模型、工具和 soul profile |
acp:create_mission | Create | write | 是 | 创建可追踪目标,并分解为子任务 |
acp:create_agent_tool | Create | write | 是 | 将 DSL 命令或 API 注册为 Agent 可调用工具 |
acp:create_approval_policy | Create | write | 是 | 定义触发规则、审批人及超时行为 |
acp:create_agent_skill | Create | write | 是 | 把一组工具组合为命名技能包 |
管控人工 UI 按钮的命令声明,同样管控 Agent 调用。Agent 调用任意 acp 命令(如 acp:create_agent_task 派发任务)时,经过的权限校验、审计日志和事件发送与人工点击同一按钮完全一致。
权限示例
一个真实的 ACP 角色:"运营主管——亚太区"。
- RBAC:已授予
acp_mission、acp_agent_task、acp_agent_run、acp_agent_tool;未授予acp_approval_policy(归合规管理员持有)和acp_agent_definition(这些是资源级操作权限码,单个权限即覆盖该资源的增删改查)。 - 组织范围:数据可见性限定于亚太区组织子树(
org-and-descendants);无法查看属于欧洲团队的任务或运行记录。 - ABAC:仅可审批
risk_level为low或medium的data_change请求;high和critical级别自动上升至安全主管。 - ReBAC:可处理其监管 Agent 的审批请求;不可审批自己 Agent 提交的请求(策略层面强制职责分离)。
四个层次的校验按顺序在每次命令调用时执行。原本需要散布在 UI 守卫、控制器注解和报表过滤器中的逻辑,用一份声明式角色配置即可覆盖。
流程编排
Mission 在 ACP 中以有向任务图流转。每个节点要么是 Agent 任务(由注册的 Agent 执行),要么是人工任务(路由至审批队列):
┌──────────────────────────────┐
│ Mission 创建 │ ← acp:create_mission
└──────────────┬───────────────┘
│
┌──────────────▼───────────────┐
│ Agent:收集上下文 │ ← agt_run(工具:dsl_query)
└──────────────┬───────────────┘
│
┌──────────────▼───────────────┐
│ Agent:起草建议方案 │ ← agt_run(工具:dsl_command,风险:medium)
└──────────────┬───────────────┘
│
┌──────────────▼───────────────┐
│ 审批门控(人工) │ ← agt_agent_approval(策略触发)
└──────┬───────────────┬───────┘
│ 通过 │ 拒绝
┌──────▼──────┐ ┌─────▼──────────┐
│ Agent:执行 │ │ 任务:已取消 │
└──────┬──────┘ └────────────────┘
│
┌──────▼──────────────────────┐
│ Mission 完成 │ ← agt_artifact 产出
└─────────────────────────────┘
Mission 可通过计划(agt_agent_schedule)或平台事件触发。监控 IoT 数据流的响应式 Agent 可在异常阈值被触发时自动创建 Mission、分解为调查子任务,仅当异常评分超过配置级别时才将任务升级给人工运维人员。
Agent 集成
四类工具以不同风险级别向 Agent 开放:
- 只读 DSL 查询(
dsl_query,风险:low)——Agent 可自由调用,无需审批。示例:query_active_missions、list_agent_runs。 - 幂等写命令(
dsl_command,风险:medium)——Agent 起草或创建,由审批策略决定是否在提交前经人工审核。 - 外部集成(
mcp_server、custom_api,风险:high)——始终路由至审批门控;若审批人不可用,timeout_action控制自动行为。 - AI 员工工具(
llm_native)——内置能力,如platform_execute_sql;风险由工具注册声明中的查询范围决定。
不对 Agent 开放(需显式 opt-in)的范围:所有带 agentHint: "Human-only"、risk_level: critical 标记的命令,以及被标记为不可逆的命令(如 acp:delete_agent_definition、策略删除)。平台在工具注册阶段(而非运行时)过滤这些命令。
预置的AI 员工(协调官 AuraBot、数据专家 Dex、业务分析师 Sage、写作助手 Aria)以成员身份参与群聊。每位成员只能调用其定义中声明的工具,并响应 @提及 消息。AuraBot 的 transfer_to_agent 工具允许它将专业子任务委托给 Dex 或 Sage,而不向原始对话参与者暴露这些 Agent 的全部工具权限。
如何获取
- 社区版:ACP 插件架构、命令管道和权限模型均为开源。在运行时基础上构建自定义 Agent 定义和技能包。
- 标准版:白标基础平台;通过页面设计器配置 Agent、工具和审批策略,无需编写代码。
- 专业版:获取完整 ACP 插件包——预配置菜单、AI 员工种子数据、审批策略模板和可观测性仪表板。
- 企业版:在专业版基础上,提供交付工程服务、多租户 Agent 治理和 SLA 支持。
完整版本对比请参阅 价格页面。
企业版说明 — 跨租户 Agent 控制平面(统一监管多个租户实例中的 Agent 任务)、可观测性 Pro(逐运行追踪 span)、技能库的应用市场发布,以及工具注册表上的许可证与授权执行,均为商业专属能力。上述核心运行时、命令管道和权限模型在所有版本中保持一致。