使用OpenSpace構建自我進化的AI代理:技能、MCP、血統與低成本複用
本教程詳細介紹如何使用OpenSpace框架建立自我進化的AI代理,涵蓋從環境設定、自定義技能建立到MCP整合和利用SQLite管理代理血統的完整工作流程,幫助構建更高效、可複用的代理系統。
本教程將引導你使用OpenSpace框架構建一個能夠自我進化的AI代理系統。整個過程從環境設定開始,逐步深入到自定義技能建立、MCP(Model Context Protocol)整合,以及利用SQLite管理代理血統,最終實現低成本、可複用的代理行為。
首先,你需要準備Python 3.12以上的執行環境,並配置API金鑰(如Anthropic或OpenAI)。透過稀疏克隆獲取OpenSpace倉庫,克隆時指定--filter=blob:none和--sparse,然後設定稀疏檢出模式排除assets目錄,再以可編輯模式安裝專案。教程中詳細演示瞭如何建立工作區(workspace)和技能目錄(my_agent_skills),並設定環境變數,包括模型名稱、工作區路徑、宿主技能目錄路徑以及可選的雲API金鑰。環境變數寫入OpenSpace目錄下的.env檔案和根目錄下的.env檔案中,便於後續使用。
在非同步執行環境中,你可以使用OpenSpace的Python API透過async with OpenSpace() as cs:的方式提交任務。例如,一個生成員工工資單的任務——讀取CSV員工工時資料,計算加班費(超過40小時1.5倍)並輸出結果——會觸發OpenSpace自動演化出新的技能。這些技能會被儲存在SQLite資料庫中,包含版本號、起源型別和血統後設資料。你可以透過檢查資料庫結構瞭解技能是如何被建立(FIX)、派生(DERIVED)和捕獲(CAPTURED)的。教程還演示瞭如何透過dump_db函式檢視資料庫中的表結構和記錄。
為了展示技能複用,教程讓你提交一個相關的稅務計算任務——增加一個包含稅率CSV,計算淨工資——觀察OpenSpace如何利用之前生成的工資單技能,實現低token消耗的智慧重用。你還可以建立自定義的SKILL.md檔案,定義新的技能,例如從CSV生成Markdown報告。將該檔案放置在宿主技能目錄中,代理在執行時就能自動發現並使用它們。教程還安裝了delegate-task和skill-discovery這兩個宿主技能,並建立了一個demo.csv用於測試。
MCP整合是另一大亮點。你可以啟動OpenSpace的MCP伺服器(基於streamable HTTP傳輸,繫結到127.0.0.1:8081),並透過GET請求探測其端點。即使返回MCP特定的HTTP狀態碼,也能確認伺服器執行正常。教程還提供了MCP宿主配置示例,方便外部代理(如Claude Code、Codex等)連線工作區和技能目錄。
最後,教程將展示如何將自定義技能上傳到OpenSpace雲端(如果配置了雲API金鑰),並檢驗倉庫中的示例進化資料庫(showcase/.openspace/openspace.db),該資料庫包含60多個技能。透過按起源型別(FIX、DERIVED、CAPTURED等)聚合技能,你可以清晰瞭解進化模式的分佈。整個流程完成後,你將擁有一個完整的自我進化代理系統,能透過技能重用降低token消耗,並支援儀表盤(需要Node.js 20以上)透過openspace-dashboard --port 7788命令進行視覺化監控。