首頁 > AI工具教程 > AutoGen怎麼用 微軟多AI代理對話方塊架教程

AutoGen怎麼用 微軟多AI代理對話方塊架教程

更新時間:2026-10-16 15:33:26 釋出時間:8天前 閱讀:33 views次

AutoGen是微軟開源的多AI代理對話方塊架,能讓多個AI角色透過對話協作完成任務,還能接入人類參與討論。你可以把它想成一個由不同崗位組成的小團隊:研究員負責整理資料,寫作者負責起草,審核員負責挑錯,再由你決定何時結束。下面用Python和AgentChat API搭一個入門群聊。需要留意的是,AutoGen目前處於維護模式,新專案可同時瞭解微軟後續的Microsoft Agent Framework。

第一步:安裝AutoGen

先準備Python 3.10或更高版本,建議在專案目錄建立虛擬環境,避免依賴和其他專案打架。Windows可執行“py -m venv .venv”,再用“.venv\Scripts\activate”啟用;macOS或Linux可執行“python3 -m venv .venv”和“source .venv/bin/activate”。啟用後再安裝庫,後續啟動指令碼時也要使用這個環境。

在終端安裝AgentChat和OpenAI擴充套件,命令是“pip install -U autogen-agentchat ‘autogen-ext[openai]’”。示例將呼叫模型服務,因此還需要準備相應服務的API金鑰和可用模型。不要把金鑰直接寫進程式碼或提交到程式碼倉庫,可在終端設定OPENAI_API_KEY環境變數;Windows PowerShell可用“$env:OPENAI_API_KEY=’你的金鑰’”,macOS或Linux可用“export OPENAI_API_KEY=’你的金鑰’”。

裝好後可以執行“python -c “import autogen_agentchat; print(‘安裝成功’)”進行簡單檢查。若提示找不到模組,先確認虛擬環境已經啟用,並檢查pip是否屬於當前Python環境;可用“python -m pip install …”重新安裝。依賴安裝完成後,新建一個.py檔案儲存接下來的示例。首次執行還會產生模型呼叫費用,記得確認服務商的計費和額度設定。

第二步:建立對話代理

開啟Python檔案,匯入AssistantAgent和OpenAIChatCompletionClient。先建立模型客戶端,再分別建立研究員和撰稿人兩個代理;每個代理使用同一個模型服務,但透過不同的名稱與系統提示承擔不同工作。模型名稱要替換成服務商帳號支援的型號。一個代理負責拆解問題、列出要點,另一個依據要點形成清晰答覆,職責越明確,互相協作時越不容易重複跑題。

可把以下程式碼放進非同步主函式:建立客戶端時填寫model引數,然後用AssistantAgent(“researcher”, model_client, system_message=”你是研究員,提煉事實與要點。”)建立研究員;再用AssistantAgent(“writer”, model_client, system_message=”你是撰稿人,根據要點寫簡明答案。”)建立撰稿人。注意Python關鍵字引數可寫成model_client=model_client、system_message=…,這樣更易讀,也方便之後調整角色說明。

配置系統提示和工具

系統提示決定代理的角色、目標、語氣和邊界。儘量寫得具體,例如要求研究員用要點回答、標出不確定資訊,要求撰稿人只基於現有要點組織內容,並在資訊不足時說明缺口。任務範圍也可以寫清楚,比如“只分析給定文字,不自行補充外部事實”。先從短提示開始,觀察對話結果,再逐項修改,不必一開始就寫很長的規則。

如果要讓代理呼叫函式或外部工具,可將普通Python函式封裝後交給代理使用,併為每個工具寫清引數、返回值和使用時機。例如計算器適合確定性運算,檢索工具適合查詢外部資料。工具執行權限應按需要開放,先在測試環境確認輸入輸出,再加入真實工作流。本文先演示純對話,避免把工具配置和群聊流程混在一起;沒有工具時,代理只依據提示和模型能力作答。

第三步:啟動群聊並觀察

匯入RoundRobinGroupChat與TerminationCondition相關元件,將研究員和撰稿人放進participants列表,設定終止條件,例如最多交流六條訊息。輪流群聊會按順序讓參與者發言,便於初學者觀察角色如何接力。然後在非同步函式中執行team.run(task=”請討論如何規劃一週的Python入門學習,並給出簡短計劃”),把結果列印出來;任務要具體,方便判斷協作是否有效。

指令碼入口使用“asyncio.run(main())”啟動主函式,並在結束時呼叫await model_client.close()釋放客戶端資源。執行後檢視每條訊息的發言者和內容:研究員是否提供了可用要點,撰稿人是否據此完成總結,是否出現重複或偏題。若群聊提前停止或發言過多,檢查終止條件和角色提示;若呼叫失敗,則核對API金鑰、模型名稱、網路連線及服務端錯誤資訊。

想讓人參與討論,可以使用支援人類輸入的代理或互動式流程,讓代理在關鍵步驟暫停,等待你補充要求、確認草稿或決定是否繼續。實際使用時,先用短任務測試,再逐步加入更多角色、工具和明確的停止規則。AutoGen Studio也可用於圖形化探索代理配置。如果你在尋找國內替代方案,可瞭解01Agent,官網:01agent.cgref.cn。這份入門教程由潤滅整理。

標籤:
微信        
微信號runmie