Agent 泛滥迎来控制平面:WSO2 Agent Manager 正式 GA

·阅读约11分钟·Evergreen Tools Team

2026 年 9 月 15 日,WSO2 宣布 WSO2 Agent Manager 正式可用(GA)。这是一个开源控制平面,用来治理跨任意框架、模型或部署形态的 AI Agent。它于 2026 年 6 月进入 beta,如今以 Apache 2.0 许可发布 1.0,可自托管也可作为托管 SaaS。它的卖点刻意做得不花哨:不卖你另一个 Agent,而是卖给你一个地方,让你能看见、能识别、能约束、也能一键关掉你已经拥有的那些 Agent。考虑到 Agent 资产增长得多快,这块不花哨的层,恰恰是多数企业最缺的东西。

一、一个数字解释了这款产品

WSO2 把这次发布锚定在一个 Gartner 预测上:到 2028 年,全球财富 500 强的平均企业将有超过 15 万个 Agent 在使用中,而只有 13% 的组织认为自己的 AI Agent 治理已经到位。这个落差就叫「Agent 泛滥」。今天多数团队是把为不同目的买的工具缝在一起:网关管流量、身份系统管凭据、可观测平台管监控——而没有一个是覆盖完整 Agent 生命周期的。结果是出现了一批没人能完全看见、治理或关停的 Agent,这在生产软件里是一件很奇怪的可以接受的事。

# One inventory for every agent, whatever the framework. The manifest is
# what the control plane federates into a single agent estate.

apiVersion: agents.wso2.com/v1
kind: AgentRegistration
metadata:
  name: support-triage
  environment: production
spec:
  framework: langchain            # langchain | crewai | strands | ms-agent-framework
  runtime: kubernetes
  telemetry:
    otel: true                    # required: control is built on OpenTelemetry
  identity:
    mode: verifiable              # per-agent, per-environment identity
    scopes: ["agreements:read", "tickets:write"]
    delegation: true
  lifecycle:
    promoteFrom: staging
    suspendable: true
统一盘点 Agent 资产

一套清单装下云、本地与混合环境里的所有 Agent

二、GA 真正加的是什么

有三件事把 GA 和 beta 区分开来。第一,按 Agent、按环境的身份控制:为每个 Agent 提供可验证身份、基于角色的访问、委派与令牌交换,并支持即时吊销。第二,MCP 级治理:当 Agent 调用工具或 MCP 服务器时就执行策略,而不是只在网络边缘执行。第三,一个沙箱化、Kubernetes 原生的执行运行时,支持实时中止。围绕这三点,还有联邦式盘点、从开发到预发再到生产的版本化推进,以及四十多个内置护栏——包括 PII 脱敏与限流——在 Agent、MCP 与 LLM 三个层级强制执行。

# Policy lives outside agent logic. Guardrails are enforced at three levels
# -- agent, MCP, and LLM -- so a tool call cannot slip past the edge.

policy:
  name: prod-baseline
  guardrails:                     # 40+ built-ins ship with the platform
    - pii-masking: { fields: [email, phone, national_id] }
    - rate-limit:  { rpm: 60, per: agent }
    - token-budget:{ per_run: 120000, action: warn }
    - deny-tools:  ["delete_account", "export_bulk_pii"]
  mcp:
    servers:
      - name: agreements
        transport: http
        allow: ["list", "get", "summarise"]
        requireApproval: ["send_for_signature"]
    egress:
      default: deny               # agents speak only to approved servers
      allow: ["agreements.internal", "llm-gateway.internal"]

三、身份是最难的一块,发布稿自己也这么说

发布稿写道:「Agent 身份是那块差距关闭得最慢的地方」,并指出 Agent 至今仍被硬塞进为「人」设计的身份类别里。这个诊断是对的。Agent 不是用户,不是服务账号,也还不完全是工作负载身份:它有用户的意图、服务账号的触达范围,以及工作负载的频繁更替。这里的参照点值得留意:WSO2 与 OpenID Foundation 共同撰写了面向 Agentic AI 的身份管理白皮书,并为 MCP 贡献了一个 OAuth 2 扩展,这两份标准塑造了产品里的身份与 MCP 治理。如果你今天在设计 Agent 身份,这就是该读的那份材料。

# Verifiable identity is the part most stacks get wrong: an agent needs a
# revocable identity of its own, not a borrowed human or service account.

import httpx

TOKEN_ENDPOINT = "https://auth.internal/oauth2/token"

def agent_token(agent_id: str, tool_audience: str) -> str:
    # RFC 8693-style token exchange: the agent presents its own credential
    # and receives a narrowly scoped token for the tool it is calling.
    resp = httpx.post(TOKEN_ENDPOINT, data={
        "grant_type": "urn:ietf:params:oauth:grant-type:token-exchange",
        "subject_token": agent_id,
        "subject_token_type": "urn:wso2:agent-identity",
        "audience": tool_audience,
        "scope": "agreements:read",
    }, timeout=10)
    resp.raise_for_status()
    return resp.json()["access_token"]

# Revocation is instant: a suspended agent fails the next exchange, even
# mid-run. That is the difference between a policy and a password.
沙箱化运行时

Kubernetes 原生、可实时中止的 Agent 运行时

四、框架无关才是差异化

最关键的设计决策是分离:治理活在 Agent 逻辑之外。WSO2 首席 AI 官 Rania Khalaf 博士把它讲成拒绝一个取舍——她说「控制必须尊重这种异构性」,而当治理与 Agent 逻辑分离,它就能跨框架扩展,而不是被锁死在某一个生态里。落到实践上,Agent Manager 能管理任何发出 OpenTelemetry 的 Python 或 Ballerina Agent,这覆盖了 LangChain、CrewAI、Amazon Bedrock Strands 和 Microsoft Agent Framework,并基于 OpenTelemetry、MCP 与 OAuth2 等开放标准。对正在统一 Agent 技术栈的团队来说,这意味着换模型或换框架,不必被迫重建你的控制。

# Observability is expected, not optional: end-to-end OpenTelemetry traces
# with continuous evals, so runaway token spend or accuracy drift is caught
# early rather than in a quarterly review.

from opentelemetry import trace

tracer = trace.get_tracer("support-triage")

def handle(ticket):
    with tracer.start_as_current_span("agent.run") as span:
        span.set_attribute("agent.id", "support-triage")
        span.set_attribute("gen_ai.request.model", "gpt-5.6")
        answer = plan_and_act(ticket)
        span.set_attribute("gen_ai.usage.input_tokens", answer.tokens_in)
        span.set_attribute("gen_ai.usage.output_tokens", answer.tokens_out)
        span.set_attribute("eval.score", score(answer))   # rule or LLM-as-judge
        return answer

五、它在市场上的位置

Agent 控制平面正在快速成型为一个品类。WSO2 被列入 Forrester《Agent 控制平面格局》2026 年第二季度报告,近期也加入了 Agentic AI Foundation。但更有用的信号是这套技术栈的形状:就在本季度约两周的窗口里,多家厂商发布了独立的 Agent 治理产品,从 SAP 的 Agent Hub 到运行时身份控制。模式是一致的——先盘点、再身份、后运行时策略、始终审计。如果你在评估其中任何一个,问同样四个问题:它能否枚举每一个 Agent,能否给每个 Agent 一个可吊销的身份,能否在工具与 MCP 层执行策略,能否产出审计师认可的证据。Agent Manager 是一个可信的答案,而那四个问题才是能长期保值的东西。

# A control plane earns its name at the moment you need to stop something.
# Suspension is one call, not a project.

import httpx

def suspend(agent_id: str, reason: str):
    r = httpx.post(f"https://agent-manager.internal/api/v1/agents/{agent_id}/suspend",
                   json={"reason": reason}, timeout=10)
    r.raise_for_status()
    # The agent keeps its identity, its history and its audit trail; what it
    # loses is the ability to act. That is the whole point of a control plane.
    return r.json()

print(suspend("support-triage", "token budget exceeded in prod"))
可追溯的治理证据

端到端 OpenTelemetry 链路配上持续评估

六、一周内怎么评估它

一次务实的试用一周就够。第一天,把它指向一个已有的 Agent,确认清单在不改代码的情况下就能看见它。第二天,给这个 Agent 一个真实身份,并在运行中途吊销,验证即时吊销生效。第三天,挂一条护栏——PII 脱敏最快能演示——并确认它在工具层触发,而不只是边缘。第四天,导出一条链路,交给负责合规签字的人。如果这四步在你的 Agent 上都跑通了,剩下的工作就是流程,不是产品。所谓「主权(sovereignty)」,在这里意味着控制平面跑在您数据所在的地方,而许可允许你让它一直留在那里。还有一个值得做的检查:请厂商展示一条被吊销的 Agent 在审计日志里调用工具失败的记录,而不是只在演示里。治理产品容易让人相信、却难以验证,而差别恰恰体现在审计日志这一行字上。

📌 常见问题 FAQ

WSO2 Agent Manager 是什么?

WSO2 于 2026 年 9 月 15 日宣布正式可用(GA)的开源 Agent 控制平面,跨任意框架、模型与部署形态治理 AI Agent,采用 Apache 2.0 许可,可自托管或作为托管 SaaS。

GA 相比 beta 新增了什么?

新增按 Agent、按环境的身份控制(可验证身份、RBAC、委派、令牌交换、即时吊销),MCP 级治理,以及沙箱化、Kubernetes 原生的执行运行时与实时中止。

什么是 Agent 泛滥(agent sprawl)?

指大量没人能完全看见、治理或关停的 Agent。WSO2 引用 Gartner 预测:到 2028 年,平均每家财富 500 强企业将有超过 15 万个 Agent 在用,而只有 13% 的组织认为自己治理到位。

支持哪些框架?

任何发出 OpenTelemetry 的 Python 或 Ballerina Agent,包括 LangChain、CrewAI、Amazon Bedrock Strands 与 Microsoft Agent Framework,基于 OpenTelemetry、MCP、OAuth2 等开放标准。

它的许可与部署方式是什么?

Apache 2.0 开源许可,可自托管以获得数据主权,也可作为托管 SaaS 使用。