從問 AI 到用 Agent · 🔴 企業

系統不能重寫,所以掛一張卡

A2A 與 Agent Card 怎麼運作

▶ 看影片 🎓 L5 企業 🎬 18 個段落 🀄 投影片 + 逐字稿
本集開場

先講一個企業裡的現實。你走進任何一家有規模的公司,都會看到一套跑了十年、十五年的系統 —— 可能是 ERP、可能是訂單系統。它很重要,重要到不能停;它也很老,老到沒有人敢大改。現在你要導入 AI,問題來了:你有辦法叫這家公司把那套系統整個重寫,變成 AI 友善的架構嗎?答案幾乎都是不會。就算真的要換,那也是三年五年的工程,不是你這一季導入 AI 的前提。接下來要講的,就是這個現實逼出來的一條路。

1

企業的現實:那套系統動不了

🏚️
逐字稿

為什麼動不了?三個原因。第一,那套系統跑了十幾年,當初寫的人可能早就離職了,沒人敢大改。第二,它撐著實際的營運,改壞一天,整條線就停一天,那個代價沒人扛得起。第三,它當初設計的時候,世界上根本還沒有 AI Agent 這種東西,所以它的介面完全不是為了給 Agent 用而長的。這不是技術債的問題,是現實 —— 而且幾乎每家公司都有這種系統。

2

所以真正的問題是

逐字稿

所以問題要換個問法。不是「我們怎麼把系統改造成 AI 友善的」—— 那條路走不通;而是「在一行都不能動它的前提下,怎麼讓 Agent 用得到它」。你把問題換成這樣問,答案的方向就完全不一樣了:既然裡面不能改,那就從外面想辦法。

3

答案:老系統不動,在它外面加一層

🧱
逐字稿

答案是:老系統不動,在它外面加一層。你在旁邊做一個新的小服務,對內它去呼叫老系統原本就有的介面,對外它掛一張自我介紹卡,說明這個系統是誰、會做哪些事、要怎麼呼叫它。這張卡叫 Agent Card。這裡我要講清楚,免得你低估工作量:**這一層是要寫的**,不是一份貼上去的檔案。卡只是門口的招牌,真正接電話的是招牌後面那個服務 —— 它要照規格處理任務、回報狀態、處理驗證 —— 這些有官方 SDK 幫你擋掉大部分,不用自己從頭刻。但關鍵差別在:這些工全部發生在老系統**外面**。老系統一行都不用改,改壞營運的風險是零。所以這個做法真正的價值不是省掉工,是把工從「動不得的地方」,搬到「動得起的地方」。

4

卡裡面放什麼

📇
逐字稿

那張卡裡面放什麼?四件事。第一,我是誰 —— 名稱、這個服務是幹嘛的。第二,我會什麼 —— 我提供哪些能力,每一項用白話描述它能做什麼,再給幾個實際例子。第三,我收得了什麼格式、回得出什麼格式,是純文字、還是結構化資料、還是圖片。第四,要什麼授權 —— 憑什麼身分才能叫我做事。這張卡放在一個規格訂死的固定位置:你的網域底下,一個叫做 well-known 的標準路徑。就像每個網站的小圖示都放同一個地方一樣,別人不用問你,照這個路徑直接來讀就行。

5

關鍵:這裡沒有格式檢查幫你擋錯

✍️
逐字稿

這裡有一個很多人搞錯、但非常關鍵的地方。A2A 這張卡上寫能力,**不是**像寫 API 文件那樣定義嚴格的欄位格式,而是用自然語言描述,加上幾個範例。這是規格刻意的設計 —— 因為讀卡的是一個聽得懂話的 Agent,不是一支只認參數的程式。但這也代表:**沒有格式檢查幫你擋錯**。傳統的 API,你參數給錯,對方直接回你一個錯誤;這裡不會,對方讀不懂你的描述時,它會自己猜一個意思然後照做,而且猜錯了你不一定知道。所以靈魂就在:用白話把「我會什麼、什麼情況該找我、什麼情況別找我」寫到對方不用猜。

6

放上去,不等於全世界找得到你

🔎
逐字稿

還要提醒一件事,不然你會有錯誤期待。把卡放在那個標準路徑,是讓「已經知道你在哪」的人讀得到,不等於全世界的 Agent 會自動搜到你。真的要被找到,要嘛對方直接把你的網址設定進去,要嘛把你登錄到一個 Agent 目錄上。企業內部實務上大多是前者 —— 就一份設定檔,列出公司裡有哪幾張卡,誰可以用。

7

這跟「自己開很多個 Agent」不一樣

🚧
逐字稿

這裡要跟另一件事切開,不然很容易搞混。你自己一次開很多個 Agent 分工、平行跑 —— 那些全部是你的分身,你開的、你的帳號、你的機器,不需要誰跟誰自我介紹,也不用驗身分。但這裡完全不同:對方不是你的。你改不動它,也管不到它,它甚至可能是另一家公司的系統。正因為對方是陌生的,才需要一張卡來自我介紹,也才需要授權關卡來決定「憑什麼讓你叫我做事」。這個差別,就是個人用法和企業用法的分界線。

8

它的正式身分與治理

🏛️
逐字稿

講一下它的正式身分,這對企業特別重要。A2A 全名是 Agent2Agent,直譯就是代理對代理。它是 Google 在二〇二五年四月提出來的,同年六月就捐給了 Linux Foundation,交給中立的基金會治理,二〇二六年四月發布一點零正式版。為什麼要講這段?因為企業要押注一個協定,第一個問的就是「這誰家的東西、會不會哪天被收回去」。答案是:它已經不是某一家公司說了算的規格了。而且它也不是還在紙上的東西 —— 主流的雲端 Agent 平台都原生支援了,官方也有好幾種主要語言的 SDK,社群裡也已經有一批公司在正式環境用它。你要導的話,不是從零開始造輪子。

9

它真正的設計出發點

🎯
逐字稿

順帶講一下它真正的設計出發點,免得你誤會。A2A 當初要解的問題,不是老系統 —— 是**互不相識的 Agent 怎麼合作**。你的 Agent 跟別家公司的 Agent,用不同框架寫的、跑在不同雲上、屬於不同公司,誰都不會把自己的內部邏輯、記憶、私有工具攤給對方看。所以它的核心設計是:雙方都是黑盒子,但還是能合作 —— 我只告訴你我能做什麼,不告訴你我怎麼做的。那老系統為什麼特別受惠?因為老系統剛好就是最極端的黑盒子 —— 你連自己公司的那套都不敢打開看。一個為黑盒子設計的協定,用在自家最黑的那個盒子上,自然最順手。

10

跟 MCP 的分工

🔀
逐字稿

它常常會跟 MCP 一起被提到,兩者是互補不是競爭。分工很好記:MCP 是垂直的 —— Agent 往下接工具、資料,拿到能力;A2A 是水平的 —— Agent 往旁邊找另一個 Agent,把事情交辦出去。一個是拿工具,一個是找隊友。不過垂直水平只是好記,不是一條硬界線 —— 同一件事你兩邊都包得起來。真正的判準是對面那個東西的性質:如果它是一支叫了就回、規格明確、沒有自己想法的功能,那是工具,用 MCP;如果它會自己判斷、會回頭問你、會跑很久、甚至會拒絕你,那它是一個對象,不是一個函式,用 A2A。硬把後者壓成一個工具來呼叫,是實務上最常見的誤用。

11

先分角色,再讀卡確認怎麼講話

🎭
逐字稿

要談溝通之前,先分清楚角色。一次協作裡有兩個位置:發起方,是主動跑去交辦的那個;接收方,是對外掛了 Agent Card、被交辦的那個。同一個 Agent 在不同場合可能是不同角色。而且發起方讀那張卡,不只是看「對方會什麼」,還要看「對方怎麼跟我講話」—— 卡上會明寫它支不支援即時串流、支不支援做完主動回呼。你得先讀到這個,才知道下一步該用哪一種方式叫它。這個動作叫能力協商,是每一次協作的第一步。

12

三種講話方式,加一個橫跨三者的機制

💬
逐字稿

兩邊怎麼講話?規格定了三種傳輸方式,加上一個橫跨三者的機制。第一種最單純,一次性的請求跟回應:我問一件事、你給我一個答案,結束。第二種是串流:任務要做一陣子,連線維持著,對方邊做邊回報進度,你這邊即時看到。第三種是推播回呼:如果任務要跑幾十分鐘、甚至幾小時,連線根本撐不住,所以你先給對方一個回呼網址,它做完直接打回來通知你。這在企業場景很常見,不要用串流硬撐半小時,中間網路一抖就斷了。最後還有一個橫跨這三種的機制:多輪。這不是第四種傳輸方式,而是任務的一個**狀態** —— 對方發現資料不夠,可以把任務標成「需要補充輸入」,你帶著同一個任務編號回來補,它接著做下去,不用整件事重來。

13

對方不一定會做:任務的四種結局

⚠️
逐字稿

還有一件事一定要講,因為跨組織交辦最現實的問題就是這個:對方不一定會做。A2A 把任務的結局定義得很清楚 —— 完成、做到一半失敗、被取消、還有一種是「我拒絕接這個活」。另外也可能是「你先去驗身分再回來」。這聽起來瑣碎,但跨公司交辦的時候,你最需要的就是分得出「它還在做」「它做壞了」跟「它根本不接」。這三種你要用完全不同的方式處理 —— 還在做的你要等,做壞了你要重試或換一家,不接的你重試幾次都沒用。A2A 幫你把這個區分寫進規格裡了,這是它比「隨便打個 API」強的地方。

14

舉個例子:修車廠(上)

🔧
逐字稿

用一個修車廠的例子,你一次就懂。客戶把車丟過來,交辦給店長 Agent:「我的車怪怪的,幫我看一下。」店長自己不修車,它去找各個技師 Agent。而且這種診斷沒辦法一次問完,所以會用到剛剛說的多輪:哪裡怪?什麼聲音?什麼時候會發生?冷車還是熱車?技師把任務標成「需要補充輸入」,店長補完,它接著往下查。

15

舉個例子:修車廠(下)

🔩
逐字稿

接下來就看得出兩種協定的分工了。技師 Agent 要診斷,它去呼叫診斷儀、查維修手冊 —— 這是往下拿工具,走的是 MCP。然後它發現要換一個零件,於是去找零件供應商的 Agent 問庫存和價格 —— 這是往旁邊找隊友,走的是 A2A。而那個零件供應商,可能就是一套跑了十幾年的庫存系統 —— 只是有人在它外面做了一層轉接、掛上 Agent Card,它就進到 Agent 的世界裡了。庫存系統本身,還是那套十幾年前的東西,一行沒動。

16

授權:卡上寫的是「要哪一種鑰匙」

🔐
逐字稿

最後講一件企業一定要處理的事:授權。A2A 在這裡的做法,我覺得是它最務實的一個設計:它**沒有自己發明一套認證**。卡上宣告的是「要用哪一種認證方式」—— API 金鑰、OAuth、OpenID Connect、或是雙向憑證,全部是你公司現在就在用的那幾種。而且憑證本身不走 A2A 的訊息,是走 HTTP 標頭,事先另外去申請。換句話說,卡上寫的是「要哪一種鑰匙」,不是鑰匙本身。這對企業是好消息:你現有的身分權限系統接得上,不用為了 A2A 另外養一套。一點零版還多了兩個東西:卡可以帶數位簽章,對方能驗證這張卡真的是你發的、沒被人掉包;另外公開那張卡可以只寫最基本的,對方通過身分驗證之後才拿得到完整版 —— 你不用把全部能力攤在公開網路上。

17

它不解決什麼

🚫
逐字稿

但我要把邊界講清楚,免得你以為導了就什麼都有了。A2A 管的是「怎麼發現、怎麼溝通、怎麼驗身分」。至於跨公司交辦要怎麼計費、對方掛掉算誰的責任、稽核紀錄留在哪 —— 這些協定沒管,要你自己在合約跟架構上處理。還有一件事:Agent 能自動找 Agent、自動交辦,代表你交辦一次,底下可能自動連鎖跑了好幾層,而每一層都可能碰到真實的系統、真實的資料。所以誰能跟誰對話、能交辦什麼不能交辦什麼,要有人管。自動連鎖越方便,控管越不能省 —— 這兩件事永遠是一起長大的。

18

帶走一句話

💡
MCP 開放你的「工具」,A2A 開放你這個「對象」本身 —— 不同層,合起來才完整。
逐字稿

如果今天你只帶走一句話:企業那套系統不可能為了 AI 重寫,而 A2A 剛好給了一條路 —— 不動它,在外面加一層、掛一張 Agent Card。整件事的成敗,就落在那張卡寫得好不好,因為讀它的是另一個 Agent,你寫得含糊,對方就用不動你,而且它不會報錯給你。如果你手上正好有一套碰不得的老系統,你可以先做一件事:把它「對外能提供什麼能力」列成一張清單,每一項寫清楚什麼情況該用、什麼情況別用。那張清單,就是 Agent Card 的草稿,而且是整件事裡最需要人腦、最不能外包的一步。