前幾天我們學會了如何讓 AI 成為一個能執行特定任務的「頂級廚師」,用 Function Calling
讓它根據客人的需求,自主決定要拿起哪把刀具(Plugin)來料理。但如果今天客人點的不是一道菜,而是一整套複雜的「滿漢全席」呢?例如:從確認訂單、備料、烹飪、上菜到結帳,這可不是一位廚師就能獨立完成的!
這時,我們需要一個更高階的「AI 經理人」,它不只會做菜,更懂得管理整個廚房的團隊。這就是我們今天要介紹的重頭戲:Semantic Kernel 的 Agent Framework!
簡單來說,一個**函式呼叫(Function Calling)**就像是「單一指令的執行者」。你告訴 AI:「幫我查一下今天的匯率」,它就會找到 GetExchangeRate
這個函式並執行。這個過程是單向的,AI 完成任務後,對話就可能回到你手上。
而一個 AI Agent 則是一個「具備自主意識與目標的專業人士」。你可以給它一個複雜的任務,例如:「幫我規劃一趟東京三天兩夜的自由行」,它會像一個真正的旅行社經理人一樣,自主地拆解任務:
Agent 不只是執行單一指令,它還會持續地、多輪地與你互動,直到目標達成。它擁有自己的狀態、記憶,甚至能與其他 Agent 協作,這就是它與單純的函式呼叫最大的區別。
Semantic Kernel 的 Agent Framework 提供了一個優雅的抽象層,讓你不再需要自己手動維護複雜的對話狀態,也不用擔心如何將多個工具串連起來。它為我們提供了建立 AI 代理的藍圖,核心概念是:
Agent
抽象類:這是所有 AI 經理人的基石。每一個 Agent 都是一個獨立的個體,擁有自己的指令(Instructions)和工具(Plugins)。你可以為不同的任務創建不同的 Agent,例如:一個專門處理訂單的 OrderAgent
、一個專門生成文案的 CopywritingAgent
。AgentThread
:想像這是一個「獨立的會議室」,每個 Agent 的多輪對話都會在這個會議室中發生。它負責維護對話的上下文,確保 Agent 在連續的互動中能記得之前的討論內容。這完美解決了長對話的記憶問題,也為後續的團隊協作打下基礎。Agent Framework 並不是一個全新的東西,它完美地整合了我們之前學過的所有核心概念。
明天,我們就來動手建立你的第一個 AI 員工——ChatCompletionAgent
,讓它開始為你工作!