CUGA(Configurable Generalist Agent)是IBM推出的開源智慧體框架,旨在簡化智慧體應用的構建。大多數智慧體專案需要花費大量時間在管道工作上,例如配置模型客戶端、編寫工具介面卡、實現狀態流等,而CUGA將這些部分抽象出來,讓開發者只需專注於定義工具列表和提示詞。
為了更好地展示CUGA的實用性,IBM構建了cuga-apps:一個包含二十多個單檔案應用的集合,每個應用都是一個獨立的FastAPI檔案,封裝了一個CugaAgent例項。這些應用涵蓋了從電影推薦到IBM雲架構顧問等多種場景,旨在作為可閱讀和可複製的起點。
本文詳細介紹了其中一個應用——IBM雲架構顧問。這個智慧體的核心程式碼非常簡潔:一個工廠函式建立CugaAgent例項,傳入模型、工具列表和特殊指令。模型透過一個工廠函式動態建立,支援多種提供商(如OpenAI、Anthropic、watsonx等),應用程式碼無需關心底層模型。工具則分為兩類:本地定義的Python函式(如搜尋IBM雲目錄)和透過MCP伺服器獲取的通用工具(如網頁搜尋)。提示詞被設計為有序步驟,並明確禁止編造服務名稱。
CUGA的規劃機制是其關鍵優勢之一。它會在執行前進行規劃,然後透過工具呼叫和生成程式碼(CodeAct)執行。對於長任務,CUGA會跟蹤中間結果並進行反射步驟,以便在錯誤發生時重新規劃,而不是盲目繼續。這種設計使得CUGA在多個基準測試(如AppWorld和WebArena)中名列前茅。此外,CUGA還支援Fast、Balanced和Accurate三種推理模式,以及程式碼執行沙箱(本地、Docker/Podman或E2B雲端)。
CUGA還提供了策略系統,用於控制智慧體的行為。例如,可以透過Intent Guard阻止某些請求,透過Tool Approval在 risky 工具呼叫前暫停等待人工批准,透過Playbook固定已知良好的流程等。這些策略在執行時生效,而不是事後包裝,確保智慧體在複雜環境中安全執行。
cuga-apps不僅僅是演示,更是一個可複用的庫。應用按類別組織,包括研究類、日常生產力類、文件媒體類、運維類和企業類。例如,Ouroboros是一個七智慧體的潛在客戶生成系統,展示了多智慧體協作。Meetup Finder則透過Playwright驅動無頭Chromium來提取活動資訊,展示了瀏覽器自動化的能力。
總之,CUGA透過預組裝這些複雜元件,極大地降低了智慧體應用的開發門檻。無論是簡單的知識檢索還是多智慧體協作系統,開發者都可以從cuga-apps中找到合適的起點,並根據需要進行調整。