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中找到合適的起點,並根據需要進行調整。