让 Agent 真正进入业务系统,缺的可能不是模型,而是一份能力契约
最近在思考一个越来越现实的问题:
大模型已经能理解自然语言,Agent 也能调用工具,但如果真的让它进入企业现有的订单、库存、退款、员工、客户和工单系统,它到底应该看到哪些能力?哪些操作必须绑定真实用户?哪些操作风险较高?什么时候需要审批?调用之后又该如何审计和追溯?
这些问题显然不是再换一个更强的模型就能解决的。
从“能调用接口”到“可以进入业务”
假设一家门店希望让 Agent 帮助员工处理业务:
- 查询某个订单;
- 查看库存;
- 修改商品信息;
- 创建退款;
- 导出客户资料;
- 删除员工账号。
从技术上看,这些能力都可以做成 API,也可以通过 Function Calling 或 MCP 暴露给 Agent。
但“接口能被调用”并不等于“接口适合直接交给 Agent”。
查询订单和创建退款的风险完全不同;修改商品名称和删除员工账号的后果也不同。企业还需要知道,这次操作是谁发起的、模型提交了什么参数、是否经过审批、最终调用了哪个接口,以及执行结果是什么。
当这些问题出现后,我逐渐意识到,Agent 接入业务系统之间缺少的,其实是一层公共的能力声明语义。
后来看到 ACC
沿着这个问题继续查找,我看到了 ACC,也就是 Agent Capability Contract,Agent 能力契约。
ACC 面向的是 A2B,也就是 Agent-to-Business 场景:让 Agent 能够在明确边界下使用已有业务系统提供的能力。
它不是另一个 Agent 框架,也不负责替代业务系统的权限体系,更不是新的接口描述语言。
OpenAPI 继续描述接口路径、参数和返回值;ACC 则在 OpenAPI 之上补充 Agent 使用业务能力时需要理解的治理语义,例如:
- 这个能力是否允许向 Agent 暴露;
- 它对应什么业务范围;
- 是否必须绑定可信的操作主体;
- 风险等级是什么;
- 是否具有审批意图;
- 审计数据是否包含敏感内容;
- 是否只读、幂等以及建议的超时和限流;
- Agent 应该在什么场景使用这项能力。
换句话说,OpenAPI 主要回答“这个接口怎么调用”,ACC 尝试回答“这个能力是否适合交给 Agent,以及应当带着什么治理信息交给它”。
为什么不把所有治理能力都塞进契约?
第一次看到 ACC 时,有人可能会觉得它比较薄:为什么不直接把租户隔离、审批人、工作时间、事务编排、回滚策略、数据保留期限等能力全部写进去?
后来认真推演会发现,这种克制恰恰很重要。
租户隔离最终应该由业务系统的数据和权限层强制;审批人取决于企业自己的组织结构;事务和补偿属于工作流或 Saga;审计保留期限属于企业合规策略。
如果把这些内容全部写进一份通用契约,它很快就会变成某个具体产品的配置文件,而不是能够被不同语言、框架和运行时共同采用的开放语义。
ACC 关注的是“声明什么”,运行时负责“如何执行”,业务系统仍然保留最终授权权。
这也是一个很重要的边界:
Agent 可以获得触达业务能力的机会,但最终权限仍然属于业务系统。
ACC 与 MCP 并不冲突
MCP 解决的是工具如何被暴露、发现和调用的问题。
ACC 关注的是这些工具进入真实业务后,如何附带业务范围、主体要求、风险、审批和审计等治理信息。
两者并不是替代关系。
一个业务接口可以通过 MCP、HTTP、SDK 或其他方式提供给 Agent,同时使用 ACC 声明它的业务治理属性。传输协议负责连接,能力契约负责表达边界。
一个简单的例子
x-agent-capability:
version: 1
enabled: true
scope: refund.create
subject:
required: true
risk:
level: high
approval:
required: true
audit:
sensitive: true
execution:
readonly: false
idempotent: true
guidance:
when_to_use: 当用户明确要求为已支付订单创建退款时使用
returns: 返回退款申请编号和当前处理状态
这段声明不会替业务系统完成退款,也不会绕过原有权限。
它只是让不同 Agent 运行时能够用共同的方式理解:这是一项退款能力,需要可信主体,风险较高,具有审批意图,需要注意敏感审计,并且调用应当具备幂等性。
ACC 更像一个正在形成的公共语义
ACC 当前更适合被理解为一项开放契约,而不是某个产品的专属协议。
任何团队都可以:
- 在自己的 OpenAPI 中加入 ACC 声明;
- 独立开发解析器、生成器或运行时;
- 将 ACC 接入 API Gateway、Agent 平台或企业内部控制面;
- 基于公开的一致性测试验证实现;
- 提出字段和语义改进建议。
它真正值得关注的地方,不是字段数量有多少,而是能否逐渐形成一种共同心智:
当一个业务系统准备向 Agent 开放操作能力时,先用一份中立契约声明它的边界。
如果这种心智能够成立,那么未来业务系统不必为每一种 Agent 平台分别维护一套私有说明,Agent 运行时也不必依赖模糊提示词猜测业务接口的风险。
ACC 仍然处于早期阶段,但它所面对的问题已经真实存在。
当 Agent 开始从“回答问题”走向“执行真实业务”,行业需要的不只是更聪明的模型,也需要更清晰、更可验证的能力边界。
ACC 官网:Agent Capability Contract (ACC) | Open A2B Standard
欢迎从业务系统、Agent 运行时、API 网关或安全治理的角度参与讨论。一个真正开放的契约,需要不同实现者共同验证和完善。
更多推荐



所有评论(0)