徹底搞懂A2A——AI世界的「TCP/IP」
谷歌近期發(fā)布的Agent2Agent(A2A)協(xié)議,被視為AI世界的“TCP/IP”,這一開(kāi)放標(biāo)準(zhǔn)旨在讓不同平臺(tái)、不同開(kāi)發(fā)者開(kāi)發(fā)的AI智能體能夠跨平臺(tái)、跨生態(tài)系統(tǒng)對(duì)話與協(xié)作。A2A協(xié)議的出現(xiàn),不僅為AI智能體之間的協(xié)作提供了通用的“溝通法則”和“協(xié)作規(guī)范”,更是有望解鎖AI未來(lái)的無(wú)限可能性。
自ChatGPT橫空出世以來(lái),AI持續(xù)進(jìn)化,而現(xiàn)在,AI不僅在“獨(dú)自升級(jí)”,還在悄悄學(xué)習(xí)如何“組團(tuán)打怪”,甚至建立起了自己的“社交網(wǎng)絡(luò)”。
就在最近,谷歌正式發(fā)布了Agent2Agent(A2A)協(xié)議,一個(gè)旨在讓AI智能體跨平臺(tái)、跨生態(tài)系統(tǒng)對(duì)話與協(xié)作的開(kāi)放標(biāo)準(zhǔn)。更關(guān)鍵的是,這一重磅發(fā)布獲得了超過(guò)50家行業(yè)巨頭(包括Salesforce、Atlassian、Accenture、Deloitte等)的聯(lián)名支持。
A2A協(xié)議不亞于為AI世界引入了TCP/IP協(xié)議,將解鎖我們對(duì)AI未來(lái)的想象力。
A2A協(xié)議是什么?
A2A(Agent to Agent)協(xié)議,是一個(gè)全新的、開(kāi)放的協(xié)議,它旨在讓不同平臺(tái)、不同開(kāi)發(fā)者開(kāi)發(fā)的AI智能體(Agent)能夠安全地相互發(fā)現(xiàn)、溝通、交換信息,并協(xié)同完成任務(wù)。
簡(jiǎn)單來(lái)說(shuō),A2A協(xié)議就是為AI智能體們建立了一套通用的“溝通法則”和“協(xié)作規(guī)范”,讓它們能夠跨越生態(tài)系統(tǒng)的壁壘,像人類(lèi)一樣進(jìn)行高效的團(tuán)隊(duì)合作。
A2A清晰地定義了兩種角色:
- 客戶端智能體 (Client Agent):代表用戶發(fā)起請(qǐng)求的AI,比如你的個(gè)人助理。
- 遠(yuǎn)程智能體 (Remote Agent):提供特定服務(wù)的專(zhuān)業(yè)AI,比如航空公司的訂票AI。
使用A2A協(xié)議,智能體可以:
- 發(fā)現(xiàn)彼此的能力。
- 協(xié)商交互模態(tài)(如文本、表單、多媒體等)。
- 在長(zhǎng)時(shí)間運(yùn)行的任務(wù)上進(jìn)行安全協(xié)作。
- 在運(yùn)行中無(wú)需暴露其內(nèi)部狀態(tài)、內(nèi)存或工具。
A2A協(xié)議巧妙地構(gòu)建在現(xiàn)有成熟的互聯(lián)網(wǎng)技術(shù)標(biāo)準(zhǔn)之上,這使得它能夠更容易地被現(xiàn)有的IT基礎(chǔ)設(shè)施所接納和集成。
如果說(shuō)單個(gè)的AI智能體是互聯(lián)網(wǎng)世界中的獨(dú)立計(jì)算機(jī),那么A2A協(xié)議就如同TCP/IP協(xié)議一樣,將這些孤立的“計(jì)算機(jī)”連接起來(lái),形成一個(gè)巨大的、智能的“AI互聯(lián)網(wǎng)”。在這個(gè)網(wǎng)絡(luò)中,信息和任務(wù)可以自由地在不同的AI智能體之間流動(dòng)、傳遞和處理,從而爆發(fā)出前所未有的強(qiáng)大生產(chǎn)力。
當(dāng)AI學(xué)會(huì)“組團(tuán)打怪”時(shí)會(huì)發(fā)生什么?
長(zhǎng)久以來(lái),AI世界如同一個(gè)個(gè)華麗但彼此隔絕的“圍墻花園”。OpenAI的ChatGPT、谷歌的Gemini、Meta的llama,以及無(wú)數(shù)初創(chuàng)公司的專(zhuān)業(yè)AI,它們各自為政,無(wú)法互通有無(wú)。
這種碎片化的生態(tài)系統(tǒng),極大地限制了AI的潛能。
用戶想要完成一個(gè)復(fù)雜任務(wù),比如策劃一場(chǎng)旅行,就必須在多個(gè)應(yīng)用之間手動(dòng)切換,體驗(yàn)非常割裂。
A2A協(xié)議的誕生,就是為了砸碎這些“圍墻”。它的使命是構(gòu)建一個(gè)開(kāi)放的“智能體宇宙”,讓任何AI(只要遵循協(xié)議)都能與其他AI自由協(xié)作,共同為用戶創(chuàng)造無(wú)縫、智能的體驗(yàn)。這不僅僅是技術(shù)升級(jí),更是對(duì)未來(lái)AI生態(tài)格局的一場(chǎng)徹底重塑。
想象一下,如果自動(dòng)駕駛汽車(chē)不僅能“看見(jiàn)”路況,還能與周?chē)砂偕锨У能?chē)輛、交通信號(hào)燈甚至道路本身進(jìn)行實(shí)時(shí)“對(duì)話”和“協(xié)商”,城市交通擁堵是否將成為歷史?
如果新藥研發(fā)中的各個(gè)AI模型——從分子結(jié)構(gòu)預(yù)測(cè)到臨床試驗(yàn)數(shù)據(jù)分析——能夠無(wú)縫共享成果、協(xié)同推理,我們攻克頑疾的速度會(huì)提升多少倍?
這正是A2A協(xié)議致力于實(shí)現(xiàn)的未來(lái)。它不僅僅是讓AI之間能“通個(gè)氣”,更是要構(gòu)建一個(gè)高效、智能的協(xié)作網(wǎng)絡(luò),讓AI的力量呈指數(shù)級(jí)增長(zhǎng)。當(dāng)AI學(xué)會(huì)“組團(tuán)打怪”,其顛覆性能量將難以估量。
A2A的核心設(shè)計(jì)思想
A2A核心設(shè)計(jì)思想可以概括為以下五大設(shè)計(jì)原則:
- 擁抱智能體能力 (Embracing agentic capabilities):協(xié)議充分考慮到AI智能體在處理非結(jié)構(gòu)化數(shù)據(jù)、模糊指令以及復(fù)雜任務(wù)時(shí)的獨(dú)特優(yōu)勢(shì)。它允許智能體之間即便沒(méi)有共享的內(nèi)存、工具或上下文,也能夠通過(guò)自然語(yǔ)言等方式進(jìn)行有效的協(xié)作。
- 構(gòu)建于現(xiàn)有標(biāo)準(zhǔn)之上 (Building on existing standards):A2A協(xié)議采用了我們熟知的HTTP、服務(wù)器發(fā)送事件(SSE)以及JSON-RPC等技術(shù)標(biāo)準(zhǔn)。這大大降低了開(kāi)發(fā)者學(xué)習(xí)和應(yīng)用的門(mén)檻,使得將A2A集成到現(xiàn)有的企業(yè)平臺(tái)或應(yīng)用中變得相對(duì)簡(jiǎn)單。
- 默認(rèn)安全 (Ensuring security by default):在企業(yè)級(jí)的應(yīng)用場(chǎng)景中,數(shù)據(jù)安全是重中之重。A2A協(xié)議在設(shè)計(jì)之初就內(nèi)置了企業(yè)級(jí)的身份驗(yàn)證和授權(quán)機(jī)制,確保所有跨智能體的通信和協(xié)作都在一個(gè)安全可控的環(huán)境下進(jìn)行。
- 支持長(zhǎng)期運(yùn)行的任務(wù) (Supporting long-running tasks):很多復(fù)雜的任務(wù)并非一蹴而就,可能需要數(shù)小時(shí)甚至數(shù)天才能完成。A2A協(xié)議支持這種長(zhǎng)時(shí)間運(yùn)行的任務(wù),并能提供實(shí)時(shí)的進(jìn)度反饋、狀態(tài)更新和通知。
- 模態(tài)無(wú)關(guān) (Being modality agnostic):未來(lái)的AI交互將是多模態(tài)的,不僅限于文本,還包括語(yǔ)音、圖像和視頻。A2A協(xié)議具有良好的擴(kuò)展性,能夠支持包括音視頻流在內(nèi)的多種數(shù)據(jù)模態(tài),為未來(lái)更加豐富的AI協(xié)作場(chǎng)景預(yù)留了空間。
A2A協(xié)議的關(guān)鍵組成部分
要理解A2A協(xié)議是如何運(yùn)作的,我們需要了解其四個(gè)關(guān)鍵的組成部分:
- 能力發(fā)現(xiàn) (Capability discovery):每個(gè)AI智能體都會(huì)有一張“智能體名片”(Agent Card),這張名片以JSON格式記錄了該智能體的“特長(zhǎng)”和“技能”,也就是它能做什么。通過(guò)這張名片,其他智能體可以快速發(fā)現(xiàn)并了解它的能力。
- 任務(wù)管理 (Task and state management):A2A協(xié)議中的所有通信都是圍繞“完成任務(wù)”這一核心目標(biāo)展開(kāi)的。協(xié)議定義了清晰的任務(wù)對(duì)象(Task Object)和任務(wù)生命周期,確保協(xié)作雙方對(duì)于任務(wù)的創(chuàng)建、執(zhí)行、狀態(tài)更新和最終完成有統(tǒng)一的認(rèn)知。
- 安全協(xié)作 (Secure collaboration):智能體之間通過(guò)發(fā)送消息來(lái)進(jìn)行溝通。這些消息可以是任務(wù)的上下文、問(wèn)題的回復(fù)、交換的文件(Artifacts),甚至是來(lái)自用戶的直接指令。
- 用戶體驗(yàn)協(xié)商 (User experience negotiation):不同的AI智能體可能擁有不同的用戶交互界面和能力。A2A協(xié)議允許智能體在消息中指定內(nèi)容的類(lèi)型(Content Types),并通過(guò)協(xié)商來(lái)確定最適合的展示格式和交互方式,從而確保最終用戶獲得流暢一致的體驗(yàn)。
智能體之間如何互相認(rèn)識(shí)?——名為agent card的數(shù)字名片
Agent Card(智能體名片)是一個(gè)標(biāo)準(zhǔn)化的、公開(kāi)的JSON文件,它相當(dāng)于一個(gè)AI智能體的“數(shù)字名片”或“公開(kāi)主頁(yè)”。
每個(gè)希望參與A2A協(xié)作的智能體,都需要提供這樣一個(gè)文件。這個(gè)文件詳細(xì)描述了該智能體的身份信息、功能特長(zhǎng)(即它能完成哪些任務(wù)),以及其他智能體應(yīng)該如何與它進(jìn)行通信的技術(shù)細(xì)節(jié)。
這個(gè)標(biāo)準(zhǔn)化文件的官方名稱(chēng)通常是agent.json,它被放置在一個(gè)公開(kāi)可訪問(wèn)的URL上,以便任何其他智能體或開(kāi)發(fā)者都能夠發(fā)現(xiàn)和讀取它。
Agent Card都包含什么信息?
Agent Card的核心是提供一套結(jié)構(gòu)化的信息,讓其他AI能夠“讀懂”它。雖然其具體字段可能會(huì)隨著協(xié)議的演進(jìn)而微調(diào),但其核心信息構(gòu)成是穩(wěn)定的。以下是Agent Card中包含的關(guān)鍵信息:
Agent Card的作用非常重要,可以概括為以下三點(diǎn):
- 服務(wù)發(fā)現(xiàn) (Service Discovery):這是它的首要作用。在廣闊的AI網(wǎng)絡(luò)中,一個(gè)AI智能體如何找到另一個(gè)能滿足其特定需求的AI?答案就是通過(guò)搜索和解析Agent Card。例如,一個(gè)“旅行規(guī)劃AI”需要訂機(jī)票,它就可以去查找那些在Agent Card的capabilities中聲明了自己能執(zhí)行book_flight任務(wù)的智能體,并選擇一個(gè)進(jìn)行協(xié)作。
- 能力聲明與“廣告” (Capability Declaration & Advertisement):Agent Card是AI智能體向外界“廣而告之”自己能做什么的方式。它就像一個(gè)商店的招牌和菜單,清晰地告訴所有潛在的“顧客”(其他AI),我這里提供哪些“菜品”(任務(wù)),能解決什么問(wèn)題。
- 自動(dòng)化協(xié)作的基石 (Foundation for Automated Collaboration):因?yàn)锳gent Card是機(jī)器可讀的標(biāo)準(zhǔn)化JSON,所以整個(gè)服務(wù)發(fā)現(xiàn)和協(xié)作發(fā)起的流程可以完全自動(dòng)化。AI智能體可以自主地讀取并理解另一方的Agent Card,無(wú)需任何人工干預(yù),就能知道如何正確地構(gòu)建請(qǐng)求、發(fā)起一個(gè)對(duì)方能處理的Task。這為實(shí)現(xiàn)大規(guī)模、動(dòng)態(tài)的AI自主協(xié)作奠定了基礎(chǔ)。
總而言之,Agent Card解決了AI協(xié)作中最先決的問(wèn)題:“你是誰(shuí)?你能做什么?我該如何聯(lián)系你?”。它是整個(gè)A2A生態(tài)系統(tǒng)中,實(shí)現(xiàn)智能體之間相互發(fā)現(xiàn)、理解和連接的“黃頁(yè)”和“說(shuō)明書(shū)”。
智能體之間共事的基礎(chǔ)——A2A協(xié)議中的task
這里的task對(duì)象可以稱(chēng)得上是A2A協(xié)議的靈魂,接下來(lái)我們展開(kāi)講講。
task(任務(wù))是智能體之間協(xié)作的核心單元。可以把它想象成一個(gè)“共享的工作文件夾”或一個(gè)“項(xiàng)目單”。
當(dāng)一個(gè)AI智能體(客戶端)需要另一個(gè)AI智能體(服務(wù)端)去完成一件相對(duì)復(fù)雜、可能需要多個(gè)步驟或較長(zhǎng)時(shí)間才能完成的工作時(shí)(例如,“預(yù)訂下周去上海的機(jī)票和酒店”或“生成一份第三季度銷(xiāo)售報(bào)告”),客戶端就會(huì)創(chuàng)建一個(gè)Task。
這個(gè)task對(duì)象封裝了從請(qǐng)求開(kāi)始到任務(wù)完成所需的所有信息、交互歷史和最終結(jié)果。它是一個(gè)有狀態(tài) (stateful)的實(shí)體,意味著它會(huì)記錄自己當(dāng)前進(jìn)展到哪一步了,從而支持長(zhǎng)時(shí)間運(yùn)行和多輪的復(fù)雜對(duì)話。
簡(jiǎn)單來(lái)說(shuō),task就是A2A協(xié)議中定義的一個(gè)標(biāo)準(zhǔn)化的、結(jié)構(gòu)化的工作指令,是所有協(xié)作的起點(diǎn)和載體。
以下是構(gòu)成一個(gè)task的核心要素:
理解state對(duì)于理解task尤其重要,state定義了任務(wù)從開(kāi)始到結(jié)束的完整流程:
- submitted(已提交): 任務(wù)已被客戶端創(chuàng)建并發(fā)送,但服務(wù)端尚未開(kāi)始處理。
- working(處理中): 服務(wù)端正在積極執(zhí)行任務(wù)。
- input-required(需要輸入): 服務(wù)端暫停,需要客戶端提供額外的信息才能繼續(xù)。
- completed(已完成): 任務(wù)成功完成,最終的產(chǎn)物(Artifacts)已經(jīng)生成。
- failed(已失敗): 任務(wù)因錯(cuò)誤而終止。
- canceled(已取消): 任務(wù)被客戶端或服務(wù)端主動(dòng)取消。
通過(guò)這套標(biāo)準(zhǔn)化的Task結(jié)構(gòu),任何支持A2A協(xié)議的AI智能體都能準(zhǔn)確地理解彼此的意圖、跟蹤協(xié)作進(jìn)度并獲取最終結(jié)果,從而實(shí)現(xiàn)真正意義上的跨平臺(tái)、跨生態(tài)的高效協(xié)作。
智能體合作的任務(wù)成果——A2A協(xié)議中的artifacts
在A2A協(xié)議中,Artifacts(產(chǎn)物)是Task(任務(wù))執(zhí)行后產(chǎn)生的、最終的、可交付的工作成果。
如果說(shuō)Task是整個(gè)項(xiàng)目的“工作單”,history是項(xiàng)目過(guò)程中雙方來(lái)回溝通的“會(huì)議紀(jì)要”,那么Artifacts就是這個(gè)項(xiàng)目最終完成時(shí),交付給客戶的“最終產(chǎn)品”或“交付物”。
當(dāng)一個(gè)任務(wù)的狀態(tài)(state)變?yōu)閏ompleted(已完成)時(shí),客戶端智能體最關(guān)心的就是這個(gè)Artifacts字段,因?yàn)樗巳蝿?wù)執(zhí)行的最終結(jié)果。
Artifacts都包含什么信息?
一個(gè)Artifact對(duì)象本身是一個(gè)結(jié)構(gòu)化的容器,其設(shè)計(jì)旨在支持豐富多樣的交付成果。它主要由以下兩部分信息構(gòu)成:
MessagePart的構(gòu)成
為了理解Artifacts,我們必須理解MessagePart。它是A2A協(xié)議中承載所有內(nèi)容的最小單元,無(wú)論是對(duì)話消息還是最終產(chǎn)物,都由MessagePart構(gòu)成。一個(gè)MessagePart包含:
- content-type(內(nèi)容類(lèi)型):類(lèi)似于MIME類(lèi)型,它明確定義了content中數(shù)據(jù)的格式。這使得接收方能夠準(zhǔn)確地知道如何解析和處理這些數(shù)據(jù)。常見(jiàn)的類(lèi)型有text/plain(純文本)、application/json(JSON對(duì)象)、image/png(PNG圖片)等。
- content(內(nèi)容本身):實(shí)際的數(shù)據(jù),其格式由content-type指定。
通過(guò)這種設(shè)計(jì),一個(gè)Artifact可以非常靈活地交付復(fù)雜的結(jié)果。例如,一個(gè)名為“flight-itinerary”的Artifact可以同時(shí)包含兩個(gè)parts:一個(gè)part是application/json格式的結(jié)構(gòu)化行程數(shù)據(jù),供程序自動(dòng)處理;另一個(gè)part是text/plain格式的文本摘要,供人類(lèi)直接閱讀。
Artifacts在A2A協(xié)議中起到了幾個(gè)關(guān)鍵且明確的作用:
- 封裝和交付最終結(jié)果:這是它的首要作用。它將最終的工作成果與過(guò)程中的對(duì)話(history)清晰地分離開(kāi)來(lái)。當(dāng)一個(gè)任務(wù)完成時(shí),客戶端不必去解析整個(gè)對(duì)話歷史來(lái)尋找答案,只需直接訪問(wèn)Task對(duì)象中的artifacts數(shù)組,就能獲取到標(biāo)準(zhǔn)化的、最終的交付物。
- 支持豐富和多模態(tài)的交付物:通過(guò)使用包含content-type的MessagePart,Artifacts不僅僅能交付簡(jiǎn)單的文本。它可以交付結(jié)構(gòu)化的數(shù)據(jù)(JSON)、文件(通過(guò)base64編碼等方式)、圖片、甚至是視頻流的引用。這種靈活性對(duì)于功能強(qiáng)大的AI智能體至關(guān)重要。
- 提供明確、可追溯的成果:每個(gè)Artifact都有一個(gè)明確的name,其內(nèi)容由結(jié)構(gòu)化的parts組成。這為自動(dòng)化處理提供了極大的便利。接收任務(wù)結(jié)果的AI可以根據(jù)name和content-type來(lái)決定如何處理這個(gè)交付物,整個(gè)過(guò)程清晰、可靠且可追溯。
總而言之,Artifacts是A2A協(xié)議中任務(wù)成果的“標(biāo)準(zhǔn)化集裝箱”。它確保了無(wú)論任務(wù)多么復(fù)雜,其最終的交付成果都能以一種結(jié)構(gòu)化、可解析、支持豐富格式的方式被清晰地封裝和交付,從而實(shí)現(xiàn)高效、可靠的自動(dòng)化協(xié)作閉環(huán)。
智能體在A2A協(xié)議下的協(xié)作流程
假設(shè)AI助理“小智”要和“深航AI訂票服務(wù)”通過(guò)A2A協(xié)議進(jìn)行協(xié)作,完成一次機(jī)票預(yù)訂,它們之間的協(xié)作流程將是這樣的:
目標(biāo):
小明通過(guò)AI助理“小智”,預(yù)訂一張機(jī)票。
角色:
- 客戶端AI (Client Agent):“小智”
- 服務(wù)端AI (Server Agent):“深航AI訂票服務(wù)”
過(guò)程:
第1步: 服務(wù)發(fā)現(xiàn) (Service Discovery)
兩個(gè)Agent之間發(fā)生了什么:“小智”需要找到能訂機(jī)票的Agent。它開(kāi)始程序化地查詢服務(wù)目錄。這個(gè)過(guò)程是機(jī)器對(duì)機(jī)器的:
- “小智”讀取并解析一系列agent.json文件(即Agent Card)。
- 它在每個(gè)文件中查找capabilities.tasks數(shù)組,尋找name屬性為”book_flight”的任務(wù)。
- 它找到了“深航AI”的Agent Card,成功匹配。
- “小智”從這張Card中提取出關(guān)鍵信息:對(duì)方的唯一IDcom.shenair.booking和服務(wù)的API端點(diǎn)URLhttps://api.shenair.com/a2a/v1。
第2步: 安全握手與授權(quán) (Security & Authorization)
兩個(gè)Agent之間發(fā)生了什么:在發(fā)起任務(wù)前,雙方必須建立安全的信任關(guān)系。
- 傳輸層認(rèn)證 (mTLS):“小智”的后端服務(wù)器向“深航AI”的端點(diǎn)URL發(fā)起連接。兩者進(jìn)行相互TLS (mTLS) 握手,通過(guò)交換并驗(yàn)證各自的SSL證書(shū),來(lái)雙向證明自己的“機(jī)器”身份。這確保了連接是建立在兩個(gè)可信的服務(wù)器之間,并且后續(xù)所有通信都將被加密。
- 應(yīng)用層授權(quán) (OAuth 2.0):“小智”向“深航AI”的授權(quán)服務(wù)器發(fā)起OAuth 2.0授權(quán)流程,請(qǐng)求代表小明操作的權(quán)限。小明(用戶)被引導(dǎo)至授權(quán)頁(yè)面同意后,“深航AI”的授權(quán)服務(wù)器會(huì)生成一個(gè)訪問(wèn)令牌 (Access Token),并將其發(fā)回給“小智”。這個(gè)令牌(通常是JWT格式)包含了用戶身份和被批準(zhǔn)的權(quán)限范圍 (scopes),如booking:create。
第3步: 創(chuàng)建并提交任務(wù) (Task Creation & Submission)
兩個(gè)Agent之間發(fā)生了什么:“小智”將用戶的請(qǐng)求打包成一個(gè)A2A標(biāo)準(zhǔn)格式的Task對(duì)象。
- 它構(gòu)建一個(gè)JSON對(duì)象,其中history數(shù)組包含第一條消息:{ “role”: “user”, “parts”: [{ “content-type”: “text/plain”, “content”: “下周一,北京到深圳,單程” }] }。
- “小智”向“深航AI”的端點(diǎn)URL發(fā)起一個(gè)HTTP POST請(qǐng)求。
- 這個(gè)請(qǐng)求的Body部分是完整的Task JSON對(duì)象。
- 請(qǐng)求的Header部分包含了授權(quán)信息:Authorization: Bearer <上一步獲取的Access_Token>。
第4步: 協(xié)作式交互 (Collaborative Interaction)
兩個(gè)Agent之間發(fā)生了什么:這是一個(gè)有狀態(tài)、多輪的對(duì)話過(guò)程,Task對(duì)象是傳遞狀態(tài)的載體。
- “深航AI”接收到POST請(qǐng)求,驗(yàn)證Token通過(guò)后,接受該Task,為其分配一個(gè)唯一的id,并將state設(shè)為working。
- “深航AI”根據(jù)任務(wù)信息查詢數(shù)據(jù)庫(kù),然后修改Task對(duì)象,在history數(shù)組末尾追加一條來(lái)自agent角色的新消息,內(nèi)容是航班選項(xiàng)的JSON數(shù)據(jù)。
- “深航AI”通過(guò)預(yù)設(shè)的Webhook或其他通知機(jī)制,通知“小智”任務(wù)狀態(tài)已更新。
- “小智”在呈現(xiàn)選項(xiàng)給用戶并獲得選擇后,再次修改本地的Task對(duì)象,在history末尾追加一條來(lái)自u(píng)ser角色的新消息(用戶的選擇)。
- “小智”將這個(gè)包含完整對(duì)話歷史的、更新后的Task對(duì)象,再次發(fā)送給“深航AI”(通常是通過(guò)HTTP PUT或POST到特定的任務(wù)URL)。
第5步: 任務(wù)完成與產(chǎn)物交付 (Completion & Artifact Delivery)
兩個(gè)Agent之間發(fā)生了什么:任務(wù)執(zhí)行完畢,服務(wù)端Agent交付最終成果。
- “深航AI”收到最終確認(rèn)后,執(zhí)行訂票操作。
- 操作成功后,它最后一次修改Task對(duì)象:將state更新為completed。
- 最關(guān)鍵的一步:它在Task對(duì)象中填充artifacts數(shù)組。它創(chuàng)建了一個(gè)JSON對(duì)象作為Artifact (產(chǎn)物),例如:{ “name”: “flight_confirmation”, “parts”: [{ “content-type”: “application/json”, “content”: “{…包含訂單號(hào)、座位、二維碼數(shù)據(jù)的完整JSON…}” }] }。
- “深航AI”將這個(gè)最終形態(tài)的Task對(duì)象推送給“小智”,標(biāo)志著它這邊的工作已全部完成。
第6步: 結(jié)果解析與呈現(xiàn) (Result Processing & Presentation)
兩個(gè)Agent之間發(fā)生了什么:客戶端Agent接收并利用最終產(chǎn)物。
- “小智”收到這個(gè)state為completed的Task對(duì)象。
- 它不再關(guān)心history,而是直接解析artifacts數(shù)組。
- 它找到名為flight_confirmation的產(chǎn)物,并從中提取出content-type為application/json的part,獲得結(jié)構(gòu)化的訂單數(shù)據(jù)。
- “小智”利用這些精確的數(shù)據(jù),在用戶界面上渲染出可視化的訂票成功卡片。從技術(shù)上講,A2A的協(xié)作到此結(jié)束?!靶≈恰钡暮罄m(xù)動(dòng)作是其自身與用戶之間的交互。
通過(guò)這個(gè)流程,兩個(gè)原本獨(dú)立的AI智能體,在A2A協(xié)議這個(gè)標(biāo)準(zhǔn)化的“協(xié)作框架”下,安全、高效、清晰地完成了一次復(fù)雜的協(xié)作任務(wù)。
A2A 如何確保安全?
A2A協(xié)議構(gòu)建了一個(gè)多層級(jí)縱深安全防御體系,確保智能體之間的協(xié)作從一開(kāi)始就是安全的。
它主要有以下三個(gè)層面:
第一層:傳輸層安全 —— 驗(yàn)證“機(jī)器”的身份 (mTLS)
在兩個(gè)AI智能體開(kāi)始對(duì)話之前,首先要解決最基本的問(wèn)題:我是在和正確的“機(jī)器”對(duì)話嗎?我們的通話信道是私密的嗎?A2A協(xié)議通過(guò)“相互TLS” (MutualTransport Layer Security,簡(jiǎn)稱(chēng) mTLS)來(lái)解決這個(gè)問(wèn)題。
什么是mTLS?我們平時(shí)訪問(wèn)網(wǎng)站使用的HTTPS(或稱(chēng)TLS),是客戶端(你的瀏覽器)會(huì)驗(yàn)證服務(wù)器(網(wǎng)站)的證書(shū),來(lái)確保網(wǎng)站是真實(shí)的,而不是一個(gè)冒牌貨。這是一個(gè)單向驗(yàn)證。 而mTLS則是一個(gè)雙向驗(yàn)證過(guò)程。不僅客戶端要驗(yàn)證服務(wù)器的身份,服務(wù)器也要反過(guò)來(lái)驗(yàn)證客戶端的身份。雙方都需要出示并驗(yàn)證對(duì)方的數(shù)字證書(shū),才能建立一條加密的通信信道。
它起什么作用?
- 強(qiáng)身份驗(yàn)證 (Strong Authentication):mTLS確保了參與通信的雙方(兩個(gè)AI智能體)都是經(jīng)過(guò)認(rèn)證的、可信的實(shí)體。這可以有效防止未經(jīng)授權(quán)的“假冒”智能體接入系統(tǒng)。
- 數(shù)據(jù)加密 (Data Encryption):一旦mTLS握手成功,兩者之間所有傳輸?shù)臄?shù)據(jù)都會(huì)被加密。這可以防止任何中間方竊聽(tīng)或篡改通信內(nèi)容。
普通HTTPS就像你去一個(gè)政府機(jī)構(gòu)辦事,你需要向工作人員出示你的身份證(單向驗(yàn)證)。而mTLS則像是兩個(gè)特工接頭,他們需要互相展示自己的證件(雙向驗(yàn)證),確認(rèn)彼此身份后,才開(kāi)始在加密的信道里交換情報(bào)。
第二層:應(yīng)用層安全 —— 驗(yàn)證“操作”的授權(quán) (OAuth 2.0)
僅僅確認(rèn)了“機(jī)器”的身份還不夠,還需要解決第二個(gè)更重要的問(wèn)題:你(這個(gè)AI)有權(quán)代表你的用戶,來(lái)執(zhí)行這個(gè)操作嗎?A2A協(xié)議采用了目前業(yè)界最主流的授權(quán)框架OAuth 2.0來(lái)解決這個(gè)問(wèn)題。
什么是OAuth 2.0?OAuth 2.0 是一個(gè)授權(quán)標(biāo)準(zhǔn),它允許第三方應(yīng)用(例如,一個(gè)客戶端AI)在不獲取用戶密碼的情況下,代表用戶去訪問(wèn)其在另一個(gè)服務(wù)(例如,一個(gè)服務(wù)端AI)上的受保護(hù)資源。這是通過(guò)“令牌 (Token)”來(lái)實(shí)現(xiàn)的。
它在A2A中如何工作?
- 當(dāng)一個(gè)客戶端AI想要代表用戶(比如你)去請(qǐng)求另一個(gè)服務(wù)端AI(比如航空公司的訂票AI)時(shí),它會(huì)首先通過(guò)OAuth 2.0流程,從用戶那里獲得一個(gè)授權(quán)令牌 (Access Token)。
- 這個(gè)令牌就像一張有時(shí)效、有范圍的“授權(quán)委托書(shū)”。它會(huì)被包含在客戶端AI發(fā)給服務(wù)端AI的每一個(gè)請(qǐng)求中。
- 服務(wù)端AI收到請(qǐng)求后,會(huì)驗(yàn)證這個(gè)令牌的有效性,并檢查令牌中包含的“范圍” (Scopes),來(lái)判斷這個(gè)客戶端AI是否有權(quán)限執(zhí)行請(qǐng)求的操作(例如,是否有read:flights或write:booking的權(quán)限)。
例如,你授權(quán)一個(gè)第三方App(客戶端AI)去讀取你的相冊(cè)(服務(wù)端AI)。你并不會(huì)把你的密碼告訴它,而是通過(guò)一個(gè)授權(quán)頁(yè)面,同意授予它“只讀”權(quán)限。系統(tǒng)會(huì)發(fā)給這個(gè)App一個(gè)令牌(Token),這個(gè)App拿著令牌就可以讀取你的相冊(cè),但無(wú)法刪除或修改,因?yàn)榱钆频摹胺秶保⊿copes)限制了它的操作權(quán)限。
第三層:設(shè)計(jì)哲學(xué) —— 最小權(quán)限原則 (Principle of Least Privilege)
這是貫穿整個(gè)A2A安全設(shè)計(jì)的核心指導(dǎo)思想。
- 什么是最小權(quán)限原則?這個(gè)原則要求,任何一個(gè)智能體(或系統(tǒng)中的任何組件)都應(yīng)該只被授予完成其任務(wù)所必需的、最少的權(quán)限。不多也不少。
- 它如何體現(xiàn)?在設(shè)計(jì)Agent Card的能力清單時(shí),開(kāi)發(fā)者就被鼓勵(lì)嚴(yán)格遵循此原則。例如,一個(gè)用于“查詢天氣”的AI,其Agent Card中定義的任務(wù)就絕不應(yīng)該被授予訪問(wèn)用戶通訊錄或修改文件的權(quán)限。通過(guò)OAuth 2.0分配的令牌范圍(scopes)也應(yīng)該被盡可能地細(xì)化和限制。
這樣做可以極大地縮小攻擊面。即使某個(gè)智能體因?yàn)槟撤N原因被攻破,由于它的權(quán)限本身就非常有限,攻擊者能夠造成的損害也會(huì)被控制在最小范圍內(nèi)。
通過(guò)這三層能力的結(jié)合,A2A協(xié)議構(gòu)建了一個(gè)強(qiáng)大的默認(rèn)安全模型:
A2A 讓 1+1 >> N的神奇魔力
為什么說(shuō)A2A擁有巨大潛力?
因?yàn)樗茚尫臕I的“網(wǎng)絡(luò)效應(yīng)”,實(shí)現(xiàn)“1+1遠(yuǎn)大于N”的驚人效果。
功能疊加只是開(kāi)胃菜:
比如,你的個(gè)人助理AI(負(fù)責(zé)日程)通過(guò)A2A連接到天氣AI(提供預(yù)報(bào))和新聞AI(篩選資訊),為你生成一份高度定制化的晨間簡(jiǎn)報(bào)。這還只是簡(jiǎn)單的能力相加。
真正的魔力在于“智能涌現(xiàn)”:
更進(jìn)一步,想象一個(gè)由多個(gè)醫(yī)學(xué)研究AI組成的網(wǎng)絡(luò),它們分別專(zhuān)攻基因組學(xué)、蛋白質(zhì)組學(xué)、藥物化學(xué)等。通過(guò)A2A協(xié)議,它們不僅共享數(shù)據(jù),更能協(xié)同推理,可能會(huì)發(fā)現(xiàn)人類(lèi)研究員未能注意到的復(fù)雜疾病模式或潛在藥物靶點(diǎn)。這種從量變到質(zhì)變的飛躍,就是“智能涌現(xiàn)”。這類(lèi)似于單個(gè)神經(jīng)元很簡(jiǎn)單,但億萬(wàn)個(gè)神經(jīng)元通過(guò)復(fù)雜的連接(類(lèi)似A2A)形成了人類(lèi)智慧。
歷史上,TCP/IP協(xié)議的出現(xiàn),使得分散的計(jì)算機(jī)連接成互聯(lián)網(wǎng),徹底改變了信息傳播方式。USB標(biāo)準(zhǔn)的統(tǒng)一,讓無(wú)數(shù)外設(shè)即插即用,極大便利了用戶。
A2A協(xié)議被寄予厚望,有望成為AI時(shí)代的“TCP/IP”,將孤立的AI智能連接成一張巨大的“智慧網(wǎng)絡(luò)”,其潛在價(jià)值將難以估量。
正如谷歌所強(qiáng)調(diào)的,這種“通用互操作性對(duì)于充分釋放協(xié)作式AI智能體的潛力至關(guān)重要”。
例如,在應(yīng)對(duì)全球氣候變化時(shí),分布在各地的環(huán)境監(jiān)測(cè)AI、氣候模型AI、能源調(diào)度AI可以通過(guò)A2A協(xié)同工作,提供前所未有的洞察和解決方案。
A2A與API、函數(shù)調(diào)用、MCP、聯(lián)邦學(xué)習(xí)的區(qū)別
人們很容易把A2A和API、函數(shù)調(diào)用、MCP和聯(lián)邦學(xué)習(xí)這些概念搞混。它們看似相關(guān),實(shí)則在目標(biāo)和機(jī)制上有很大區(qū)別:
- API(應(yīng)用程序接口):像是餐廳的“菜單”。規(guī)定了你能點(diǎn)什么菜(功能)以及怎么點(diǎn)(調(diào)用方式)。核心是“功能的程序化調(diào)用”。
- 函數(shù)調(diào)用(Function Calling):像是給了AI一個(gè)“智能工具箱”。AI知道在特定場(chǎng)景下該使用哪個(gè)工具(調(diào)用某個(gè)函數(shù))來(lái)增強(qiáng)自身能力。核心是“AI能力的擴(kuò)展與工具使用”。
- MCP(模型上下文協(xié)議):這像是為AI的“工具箱”提供了標(biāo)準(zhǔn)化的“設(shè)備操作指南”,讓工具更好用。核心是“AI與工具/數(shù)據(jù)源的交互規(guī)范”。
- 聯(lián)邦學(xué)習(xí)(Federated Learning):聯(lián)邦學(xué)習(xí)確實(shí)也是“分布式協(xié)作”,但它的目標(biāo)與A2A完全不同。想象一個(gè)全球烹飪學(xué)校聯(lián)盟,想創(chuàng)造出完美的蛋糕配方。每個(gè)學(xué)校用自己的秘密原料(本地?cái)?shù)據(jù))進(jìn)行試驗(yàn),然后只把試驗(yàn)得出的“烘焙心得”(模型更新)發(fā)回總部??偛拷Y(jié)合所有心得,更新出一版更完美的“總配方”(全局模型),再發(fā)給大家。整個(gè)過(guò)程是為了產(chǎn)出一個(gè)更好的“配方”,而不是為了完成一次“蛋糕訂單”。
核心區(qū)別一覽表:
A2A的本質(zhì)是構(gòu)建AI智能體之間的“社會(huì)關(guān)系”和“協(xié)作生態(tài)”,強(qiáng)調(diào)的是自主性、協(xié)商性和智能的組合與涌現(xiàn)。它不是讓AI變得更會(huì)“用工具”,而是讓AI學(xué)會(huì)“找搭檔”、“組團(tuán)隊(duì)”、“干大事”!
A2A的應(yīng)用場(chǎng)景前瞻
A2A協(xié)議的出現(xiàn),將極大地拓展AI的應(yīng)用邊界,目前可以推演出一些充滿想象力的應(yīng)用場(chǎng)景:
- 超級(jí)個(gè)人助理:你的個(gè)人AI助理將成為一個(gè)“總調(diào)度師”。當(dāng)你需要安排一次復(fù)雜的跨國(guó)旅行時(shí),它會(huì)自動(dòng)連接航空公司的AI進(jìn)行訂票、酒店的AI進(jìn)行預(yù)訂、租車(chē)公司的AI安排接送,甚至連接目的地的導(dǎo)游AI為你規(guī)劃行程。你只需要說(shuō)出你的想法,剩下的全部交給AI天團(tuán)來(lái)搞定。
- 自動(dòng)化企業(yè)運(yùn)營(yíng):企業(yè)的運(yùn)營(yíng)將變得前所未有的高效。采購(gòu)AI自動(dòng)與全球供應(yīng)商的AI進(jìn)行比價(jià)和談判;生產(chǎn)AI根據(jù)銷(xiāo)售AI提供的市場(chǎng)預(yù)測(cè),實(shí)時(shí)調(diào)整生產(chǎn)線;財(cái)務(wù)AI則會(huì)自動(dòng)完成所有交易的記賬和審計(jì)。整個(gè)公司就像一個(gè)由無(wú)數(shù)AI智能體協(xié)同工作的精密機(jī)器,7×24小時(shí)不間斷地高效運(yùn)轉(zhuǎn)。
- 智能城市與公共服務(wù):城市的交通管理AI可以與天氣預(yù)報(bào)AI、大型活動(dòng)管理AI互聯(lián),提前預(yù)測(cè)并疏導(dǎo)交通擁堵。市民的求助AI可以直接連接到社區(qū)服務(wù)AI、醫(yī)療急救AI,在第一時(shí)間獲得最精準(zhǔn)、最快速的幫助。
- “無(wú)人駕駛”的全球智慧物流網(wǎng):無(wú)人卡車(chē)、無(wú)人機(jī)、自動(dòng)化倉(cāng)庫(kù)、港口調(diào)度AI通過(guò)A2A形成一張覆蓋全球的智慧物流網(wǎng)絡(luò),貨物運(yùn)輸效率和成本將發(fā)生革命性變化。
- “數(shù)字孿生地球”與危機(jī)預(yù)警:無(wú)數(shù)傳感器AI、環(huán)境模擬AI、社會(huì)經(jīng)濟(jì)模型AI通過(guò)A2A構(gòu)建一個(gè)實(shí)時(shí)的“數(shù)字孿生地球”,能夠模擬氣候變化、預(yù)測(cè)自然災(zāi)害、優(yōu)化資源分配,甚至推演政策影響,為人類(lèi)應(yīng)對(duì)全球性挑戰(zhàn)提供決策支持。
- 去中心化的“AI科研共同體”:全球各地的科研AI可以基于A2A協(xié)議,安全、高效地共享加密數(shù)據(jù)、算法模型和計(jì)算結(jié)果,針對(duì)癌癥、艾滋病、新能源等重大課題發(fā)起“分布式總攻”,加速科學(xué)發(fā)現(xiàn)的進(jìn)程。
這些激動(dòng)人心的場(chǎng)景正在因?yàn)锳2A變得不再遙不可及。
A2A的出現(xiàn)和發(fā)展為何是必然趨勢(shì)?
AI的發(fā)展并非一蹴而就。從早期只會(huì)執(zhí)行固定指令的“計(jì)算器”,到后來(lái)在特定領(lǐng)域(如下棋、圖像識(shí)別)展現(xiàn)超凡能力的“專(zhuān)家系統(tǒng)”,AI經(jīng)歷了漫長(zhǎng)的“學(xué)藝”過(guò)程。然而,這些“天才AI”大多是“獨(dú)行俠”,各自為政,能力難以整合。
這就好比人類(lèi)社會(huì),個(gè)體的能力再?gòu)?qiáng),也無(wú)法建成金字塔或登陸月球。只有當(dāng)個(gè)體學(xué)會(huì)交流、分工、協(xié)作,文明才能進(jìn)步。AI也是如此。隨著單一AI模型的能力逐漸觸及天花板,以及現(xiàn)實(shí)世界問(wèn)題的日益復(fù)雜化,讓AI走出“繭房”,學(xué)會(huì)“社交”與“協(xié)作”,就成了打破瓶頸、釋放更大潛能的必然選擇。
A2A協(xié)議的出現(xiàn),正是順應(yīng)了這一歷史潮流。它是AI從“個(gè)體智能”邁向“集體智能”的關(guān)鍵一步,標(biāo)志著AI“社交進(jìn)化史”新篇章的開(kāi)啟。
在過(guò)去,我們更關(guān)注如何讓單個(gè)的AI模型變得更強(qiáng)大、更聰明,這就像是努力培養(yǎng)一個(gè)個(gè)“單項(xiàng)冠軍”。而A2A協(xié)議的出現(xiàn),則為我們提供了一個(gè)框架,去組建一支由無(wú)數(shù)“單項(xiàng)冠軍”構(gòu)成的“夢(mèng)之隊(duì)”,通過(guò)協(xié)同合作來(lái)解決更加宏大和復(fù)雜的挑戰(zhàn)。
這不僅僅是效率的提升,更是一種范式的轉(zhuǎn)移。正如TCP/IP協(xié)議的出現(xiàn),最終催生了我們今天所知的互聯(lián)網(wǎng)生態(tài)系統(tǒng)一樣,A2A協(xié)議也極有可能成為未來(lái)“AI互聯(lián)網(wǎng)”的基石。在這個(gè)全新的生態(tài)中,AI智能體的價(jià)值將不再僅僅取決于其自身的能力,更取決于它與其他智能體連接和協(xié)作的能力。
當(dāng)然,A2A協(xié)議的發(fā)展之路也并非一帆風(fēng)順。如何建立廣泛的行業(yè)共識(shí)、如何確??缟鷳B(tài)協(xié)作的絕對(duì)安全、如何處理協(xié)作過(guò)程中可能出現(xiàn)的責(zé)任歸屬等問(wèn)題,都是未來(lái)需要持續(xù)探索和解決的挑戰(zhàn)。
但無(wú)論如何,A2A協(xié)議已經(jīng)為我們描繪了一幅激動(dòng)人心的未來(lái)藍(lán)圖。在這個(gè)藍(lán)圖中,AI成為可以相互溝通、彼此協(xié)作的“數(shù)字生命”。它們將以前所未有的深度和廣度融入人類(lèi)社會(huì),重塑我們的生活、工作乃至整個(gè)世界的運(yùn)作方式。
作者:賽先聲;公眾號(hào):奇點(diǎn)漫游者
本文由 @賽先聲 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)作者許可,禁止轉(zhuǎn)載
題圖來(lái)自Unsplash,基于CC0協(xié)議
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)
- 目前還沒(méi)評(píng)論,等你發(fā)揮!