WellKnownAgentCard
在 AI Agent 技术 的上下文中,WellKnownAgentCardResolver来源于 Google 提出的 A2A(Agent-to-Agent)协议生态**,尤其是在其 **Agent Development Kit **(ADK) 和相关多智能体系统架构中。
✅ 核心定位:
WellKnownAgentCardResolver 是 用于解析“知名智能体卡片”(Well-Known Agent Card) 的一个服务发现或元数据加载组件,属于 A2A 协议实现中的基础设施模块。
🔍 背景知识:A2A 与 .well-known/agent.json
Google 在推动多智能体互操作性时,提出了 A2A(Agent-to-Agent Communication Protocol),其中一个重要设计是:
每个 AI Agent 应通过一个标准化的、可被其他 Agent 自动发现的“身份名片”来声明自己的能力、接口、协议支持等信息。
这个“名片”就叫 Agent Card,通常以 JSON 格式提供,并托管在:
https://<agent-domain>/.well-known/agent.json
这借鉴了 IETF 的 RFC 8615 —— .well-known URI 标准(如 /.well-known/openid-configuration)。
🧩 WellKnownAgentCardResolver 的作用
| 功能 | 说明 |
|---|---|
| 自动发现 Agent 元数据 | 当一个 Agent(调用方)需要与另一个 Agent(被调用方)通信时,它会先向目标域名的 /.well-known/agent.json 发起 HTTP 请求。 |
| 解析 Agent Card 内容 | 获取到 JSON 后,WellKnownAgentCardResolver 负责将其反序列化为结构化对象(如 AgentCard 类),包含: - Agent 名称/ID - 支持的协议(如 A2A 版本) - 可用工具(Tools) - MCP 服务器地址 - 安全策略(如认证方式) |
| 支持动态 Agent 协同 | 使多 Agent 系统无需硬编码对方地址或能力,实现“即插即用”的协作。 |
📦 典型使用场景(来自 Google ADK 示例)
在你提供的资料中提到的项目结构:
flight_search_app/
└── static/
└── .well-known/
└── agent.json ← 这就是该 Agent 的 Well-Known Agent Card
当 itinerary_planner(行程规划主 Agent)需要调用 flight_search_app 时:
- 它通过
WellKnownAgentCardResolver访问http://flight-search-app/.well-known/agent.json - 解析得到该航班搜索 Agent 的能力描述和 MCP 接口地址
- 根据这些信息发起 A2A 协议通信 + 调用 MCP 工具
💡 技术栈关联
- 协议基础:A2A(Agent-to-Agent Protocol)
- 发现机制:基于
.well-knownURI(RFC 8615) - 实现载体:Google ADK(Agent Development Kit)中的客户端/服务端库
- 数据格式:
agent.json遵循 A2A 定义的 Agent Card Schema
⚠️ 注意:目前 A2A 仍是 Google 主导的新兴协议,尚未成为 W3C 或 IETF 标准,但已在部分开源示例(如 GitHub 上的
google/A2A仓库)中实现。
📄 示例:agent.json 内容(简化)
{
"agentId": "flight-search-agent",
"version": "1.0",
"protocols": ["a2a/v1"],
"tools": [
{
"name": "searchFlights",
"mcpServer": "http://mcp-flight-server:8080"
}
],
"description": "Searches available flights based on user query."
}
WellKnownAgentCardResolver 就是读取并解析这类文件的工具类。
✅ 总结
WellKnownAgentCardResolver是 AI Agent 多智能体系统中,基于 A2A 协议实现的一个“智能体元数据发现与解析器”,用于从/.well-known/agent.json加载目标 Agent 的能力描述,从而实现自动化、动态化的 Agent 间协作。
它是构建可互操作、松耦合、自发现的多 Agent 应用的关键基础设施之一。
本文来自博客园,作者:蓝迷梦,转载请注明原文链接:https://www.cnblogs.com/hewei-blogs/articles/19515266

浙公网安备 33010602011771号