- 人工智慧代理與聊天機器人不同,因為它可以使用工具執行操作並做出自主決策。
- 智能體的基本循環包括推理、選擇工具、執行動作和觀察結果。
- 允許代理程式運行程式碼時,使用沙箱等安全環境至關重要,以避免漏洞。
- 人機互動(人機協同)確保關鍵操作在執行前得到驗證。

我相信你肯定遇到過這種情況:你想學習如何建立一個人工智慧代理,結果發現成千上萬的教學都告訴你安裝 LangChain,寫三行程式碼,就能擁有一個神奇的助手。但對於我們這些喜歡深入了解底層原理的人來說,當然遠遠不夠。沒有什麼比完全掌控工作流程,而不是依賴某個暗中施展魔法的庫更讓人滿足的了。
事實上,用 Python 從零開始建立一個智能體是一項引人入勝的挑戰,它能幫助你理解邏輯學習模型(LLM)的推理邏輯。這不僅僅是發送提示並接收回應,而是要創建一個能夠自主決策、在現實世界中執行操作並即時糾正自身錯誤的系統,而無需外部框架替我們做出所有決策。
人工智慧代理究竟是什麼?它與聊天機器人有何不同?
為了避免混淆,首先需要澄清的是,聊天機器人本質上是一個中介:你提出問題,它根據自身掌握的數據給出答案。如果你向一個普通的聊天機器人詢問比特幣的價格,它很可能會告訴你它無法取得即時數據。相較之下,智能體則是具備行動能力的系統。
這個智能體不僅會說話,它還擁有一個思考和執行的循環。面對同樣的比特幣問題,智能體會思考:“我需要最新的數據;我會使用網路搜尋工具”,然後執行搜尋操作,讀取搜尋結果,最後給出最終答案。本質上,智能體是語言模型(LLM)、一系列工具、自主決策能力的結合。
代理的解剖結構:操作循環
如果你想在不使用外部函式庫的情況下編寫這個程序,你必須明白關鍵在於循環。智能體進入一個循環,分析請求,選擇工具,觀察結果,然後重複這個過程,直到它認為問題已解決。這種智能體工作流程(詳見這篇關於人工智慧智能體工作流程的綜合指南)使得人工智慧能夠超越簡單的文字生成,成為任務執行者。
為了實現這一點,我們需要定義清晰的工具。工具可以是執行數學計算、查詢資料庫或發送電子郵件的 Python 函數。防止智能體迷失方向的關鍵在於提供每個函數的詳細描述;如果描述含糊不清,人工智慧就會感到困惑,無法正確地呼叫工具。
分步指南:如何在 Python 中設定代理
如果你打算嘗試一下,最好從一個乾淨的環境開始。建立一個虛擬環境,安裝 OpenAI 函式庫或你喜歡的函式庫(例如透過 API 安裝 Mistral 或 Llama),並將你的安全金鑰配置為環境變量,以避免在程式碼中暴露你的密碼——這是新手不可饒恕的錯誤。
技術流程歸根結底就是將你的工具定義在一個單獨的文件中(例如, tools.py然後建立代理邏輯 agent.py這就是奇蹟發生的地方:你必須設計一個 系統提示 強大的功能可以告訴模型,如果需要工具,不要直接回應,而是發出特定格式(如 JSON),以便 Python 程式碼可以攔截並執行。
一個非常常見的錯誤,尤其是在像 Llama 8b 或 Qwen 這樣的小型模型中,是人工智慧會解釋如何使用工具而不是實際運行它。要解決這個問題,你需要清楚地說明指令,並限制模型的冗長程度,強制它遵循嚴格的「思考 -> 行動 -> 觀察」結構。
用例和複雜度級別
根據您的技能水平,您可以從簡單的項目入手,例如天氣預報代理或高級翻譯器。一旦您掌握了基本工作流程,您就可以進階到中級水平,創建能夠整合來自各種網站資訊的研究代理,或者創建能夠自動編寫和運行腳本的程式碼助手。
對於更具冒險精神的用戶,還有更高級的智能體可供選擇。例如,能夠分析市場的交易系統,或是可以存取海量知識庫的技術支援智能體。在這種情況下,部署執行沙箱(例如 Docker 或 E2B)至關重要,它可以避免在瀏覽器中執行 AI 智慧體時出現安全風險,或防止惡意程式碼在本機電腦上執行。畢竟,賦予 AI 自主權時,安全性至關重要。
高階工作流程:人機協作與流程編排
隨著系統規模的擴大,你會發現人工智慧可能會故障或陷入無限循環。這時就需要引入「人機互動」(HITL)的概念。它指的是在系統中添加檢查點,讓智能體在執行關鍵操作(例如向客戶發送電子郵件或刪除文件)之前暫停執行,並請求人工批准。
實施檢查點和任務恢復功能可以顯著提高工作流程的可靠性。這種人工監督機制是區分趣味原型和強大專業的企業級解決方案的關鍵。為了實現這一點,我們使用了ServiceNow AI 編排工具,支援工作流程分支和更複雜的狀態管理。
設定代理程式需要掌握從基本環境配置和功能定義到錯誤處理和程式碼執行安全性的所有方面。最終,成功取決於準確的提示和能夠迫使模型按邏輯行事的控制結構,從而使人工智慧從簡單的聊天應用程式演變為真正高效的自動化工具。