能力发现

Capability Discovery

又称: Capability negotiation

智能体在运行时动态查询某个服务端 / 对端智能体“现在能提供哪些能力”,而不是把能力清单写死在代码里。

ConnectQuerycapabilitiesUse what'savailableno hard-coding
示意图(简化)

怎么工作

连接建立后,双方先做一次协商:客户端问“你支持哪些特性 / 有哪些工具”,服务端回一份当前清单(MCP 里是 tools/listresources/list;A2A 里是读取 Agent Card)。之后模型看到的可用动作,就是这份运行时清单,而不是开发时的假设。

为什么重要

它让系统能动态组合:服务端新增一个工具,客户端下次连接就能用,不必改客户端代码;不同环境(本地 / 生产)暴露不同能力也能自然适配。代价是运行时多一步握手,且需要处理“对方能力和我预期不一致”的情况。

常见误解

  • 能力发现不是一次性配置,而是每次连接时的运行时协商。
  • 发现到的能力仍需鉴权和校验——“能列出”不代表“可以随便调用”。

相关术语

参考来源

  1. Model Context Protocol — Architecture: capability negotiation
  2. A2A Project — Agent Card / discovery

整理于 2026-08-29 · 本术语表基于公开论文、官方规范和行业通用定义整理,随领域发展会更新。发现问题欢迎反馈。