AI News HubLIVE
站內改寫1 分鐘閱讀

在Google Colab中構建納米機器人風格的AI代理:工具調用、會話記憶、技能與MCP服務器

本教程指導如何在Google Colab中構建一個輕量級的個人AI代理,靈感來源於納米機器人的核心架構。從提供者抽象開始,逐步添加工具註冊、會話記憶、生命週期鈎子、技能以及MCP風格的服務器。通過自己構建每個模塊,深入理解消息、工具、記憶和模型響應的協同工作方式。

來源MarkTechPost作者: Sana Hassan

本教程詳細介紹瞭如何在Google Colab中構建一個輕量級個人AI代理,其設計靈感來源於納米機器人的核心架構。教程從提供者抽象開始,逐步添加工具註冊、會話記憶、生命週期鈎子、技能以及一個MCP風格的服務器。最終得到一個不依賴特定提供者的代理循環,可擴展至真實LLM提供商和生產環境。

教程首先設置環境,包括安裝必要的依賴(如openai和nest_asyncio)和導入所需模塊。接着定義數據類ToolCall、Usage和LLMResponse,以及基類Provider。然後實現OpenAICompatibleProvider,它可與OpenAI及任何兼容網關(如OpenRouter、DeepSeek、Together、vLLM、LM Studio等)配合使用。為了無需API密鑰即可運行,還創建了MockProvider,它基於規則模擬LLM行為,能夠根據用户輸入觸發工具調用(如計算器、時間查詢、記住事實、運行Python代碼等)。

接下來構建工具註冊系統。通過@tool裝飾器將普通函數轉換為Tool對象,自動從類型提示和文檔字符串中提取JSON模式。例如,calculator函數接受表達式字符串並返回計算結果。工具註冊後,代理可在循環中調用它們。會話記憶通過session_memory裝飾器管理,可以記住用户提供的事實(如名字、愛好),並在後續對話中回憶。生命週期鈎子(before_tool和after_tool)允許在工具執行前後插入自定義邏輯,例如記錄日誌或驗證參數。

然後實現MCP(Model Context Protocol)風格的服務器。基於asyncio構建JSON-RPC接口,使工具可以通過網絡遠程調用。服務器支持註冊工具並處理請求,類似於nanobot的MCP服務。最後,將所有組件組裝成完整的代理循環:代理接收用户消息,通過提供者生成響應,可能觸發工具調用,處理工具結果,並持續對話直到結束。演示用例包括數學計算、時間查詢、Python代碼執行和事實記憶。

整個教程強調無需外部框架,每個構建塊都從零創建,使讀者清晰理解消息、工具、記憶和模型響應如何協同工作。代碼可在Colab中完整運行,適合學習和實驗。通過替換MockProvider為真實提供者,可輕鬆將代理部署到生產環境。