Schema 合規性(A2A v1.0)
對照 v1.0 規範檢查必要欄位:name、description、version、帶有每介面 protocolBinding 與 protocolVersion 的 supportedInterfaces、capabilities、內容模式,以及至少一個帶有必要標籤的技能。
Agent Card 驗證器會對照 A2A v1.0 的探索需求,檢查貼上的 JSON、上傳的 Agent Card 檔案以及公開的智能體 URL。
貼上 JSON、公共代理 URL,或將 JSON 檔案拖曳到編輯器中。
Agent Card 驗證器涵蓋範圍
Agent Card 驗證器專為發布 A2A 智能體的開發者、審核智能體中繼資料的內部平台團隊,以及檢查提交的 Agent Card 是否包含足夠資訊以便可靠呼叫的市集營運方而設計。
開發期間貼上本地 JSON 文件,從程式碼倉庫上傳 Agent Card,或對已部署的網域使用即時 URL 驗證來驗證公開探索路徑。
對照 v1.0 規範檢查必要欄位:name、description、version、帶有每介面 protocolBinding 與 protocolVersion 的 supportedInterfaces、capabilities、內容模式,以及至少一個帶有必要標籤的技能。
偵測 v1.0 之前的結構——頂層的 url、preferredTransport、protocolVersion、provider.name、stateTransitionHistory——並準確告訴你每個欄位在 v1.0 中遷移到了何處。
驗證非公開端點是否宣告了 securitySchemes 與安全需求,標記非 HTTPS 的 URL,並掃描看起來像內嵌 API 金鑰、JWT 或 bearer token 的值。
從真實網域取得 /.well-known/agent-card.json 與舊版 /.well-known/agent.json,並確認兩者都回傳可解析的 Agent Card JSON。
驗證適用於哪些環節
上個月通過審核的 Agent Card 今天仍可能導致探索失敗——端點變更、技能改變,或一次重新部署遺失了 well-known 路由。平台團隊與市集審核方將驗證視為可重複的關卡,而非一次性檢查。
最簡單的 CI 防護只需要 curl:在流量切換到新部署之前,確認 well-known 路徑回傳可解析的 JSON。
# deploy pipeline: fail if the published card breaks
curl -fsS https://your-domain/.well-known/agent-card.json \
| python3 -c '
import json, sys
card = json.load(sys.stdin)
assert card.get("name"), "name is required"
assert card.get("supportedInterfaces"), "supportedInterfaces missing"
assert card.get("skills"), "skills missing"
print("agent card OK:", card["name"])'修復指南
先用 Agent Card 驗證器的報告解決必要欄位,再改善探索性、信任度與遷移細節。
將佔位符端點 URL 替換為已部署的 HTTPS A2A 服務 URL。
將頂層的 url 與 preferredTransport 移入一個有序的 supportedInterfaces 陣列——第一項是首選介面。
新增描述智能體本身所需的頂層 version 欄位,並為每個技能新增標籤。
將 provider.name 重新命名為 provider.organization,並擴充簡短的描述,讓用戶端知道何時呼叫該智能體。
只要智能體端點不是完全公開的,就宣告安全中繼資料——並且絕不嵌入憑證本身。
在 /.well-known/agent-card.json 發布同一份有效的 Agent Card(在用戶端仍會檢查兩個路徑期間,也發布到舊版 agent.json 路徑)。
檢查遵循 A2A v1.0 的 Agent Card 結構——supportedInterfaces、每介面協定版本、必要的技能標籤、provider.organization。v1.0 之前的 Agent Card 不會被直接拒絕:舊有欄位會以警告形式出現,並給出確切的 v1.0 替代方案。
v1.0 規範註冊了 /.well-known/agent-card.json,但較早的 A2A 實作使用的是 /.well-known/agent.json。同時檢查兩者能在用戶端失敗之前發現探索性缺口。
警告不會阻擋式地報錯,但通常指向能讓智能體更容易被探索、信任與呼叫的中繼資料——或指向較新用戶端將不再讀取的 v1.0 之前欄位。
三個時刻:開發期間編輯 Agent Card 時、部署前作為 CI 關卡時,以及發布之後——貼上生產服務 URL 以確認用戶端實際從兩個探索路徑中獲得的內容。
準備好驗證
在統一的驗證器工作區中貼上 JSON、放入 Agent Card 檔案,或檢查公開 URL。