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

構建Shippy:AI代理在海洋安全領域的經驗教訓

Shippy是一個用於即時海洋領域感知的AI代理,其設計注重可靠性、模組化和可審計性。文章詳細介紹了其架構:由“靈魂”(系統提示)、技能(結構化Markdown檔案)和配置組成。透過專用CLI與Skylight API互動,並使用Mothership平臺進行沙盒託管和使用者隔離。評估系統針對真實場景和加權標準對整體代理進行評分。未來計劃包括代理驅動的UI控制、模型路由和跨執行緒記憶。

Shippy是一個用於即時海洋領域感知的AI代理,其核心目標是提供高可靠性的決策支援。在海洋分析中,錯誤的答案可能導致巡邏船駛向錯誤方向,浪費稀缺資源並危及人員安全。因此,Skylight團隊在構建Shippy時,重點不在於模型本身,而在於構建一個值得信賴的系統——確保答案正確、不越界,並能應對廣泛的任務場景。

Shippy的架構由三部分組成:靈魂(soul)、技能(skills)和配置(config)。靈魂是系統提示,定義Shippy的角色和行為邊界;技能是處理特定請求的指令,以Markdown檔案形式存在,遵循與Claude Code等工具相同的規範;配置包括代理框架(OpenClaw)、LLM(當前為Claude Opus 4.6)和執行時設定。三者打包為Docker映象,實現版本化部署。

與Skylight API的互動透過專用CLI實現,而非讓代理直接構造API呼叫。Skylight API引數複雜,早期原型中代理常產生細微錯誤。CLI將複雜性封裝為簡單的命令(如skylight events search),處理認證、分頁和結構化輸出,並自帶幫助文件和錯誤資訊。輸出寫入本地JSON檔案,避免管道緩衝限制。

使用者隔離是Shippy的另一關鍵設計。Skylight服務於70多個國家的數百個政府機構和非政府組織,每個使用者的資料和對話歷史必須嚴格隔離。為此,團隊構建了Mothership代理託管平臺,為每個使用者會話提供獨立的Kubernetes部署。使用者開啟對話時,系統啟動一組包含代理執行時、技能和CLI的Pod,並以使用者的JWT令牌注入,確保API呼叫限於該使用者資料。代理寫入的檔案僅存在於會話內,網路層面也限制訪問範圍。

評估方面,Shippy不依賴靜態基準,而是構建了針對整體代理(包括模型、技能和沙盒)的評估系統。領域專家編寫場景和評分標準,由LLM評判對每個標準打分(0-1),加權彙總後與透過閾值比較。評估透過Harbor框架執行,每個任務在真實Shippy會話中執行,結果記錄時間戳並對比歷史版本。一旦技能、模型或資料變化,評估套件自動重新執行,防止迴歸。最新執行顯示,Shippy在資料檢索和安全約束任務上表現一致,但在巡邏規劃任務中有時越界,幾何查詢存在邊界簡化問題,還有一次虛構了不存在的CLI命令。這些直接指導了下一輪改進。

未來方向包括:代理驅動的UI控制,讓Shippy直接操作Skylight地圖;模型路由,簡單查詢使用較小模型以節省成本;跨執行緒記憶,使代理能記住使用者的偏好和上下文。Shippy的經驗已應用於Ai2的其他平臺,如野生動物保護平臺EarthRanger和地球觀測工具集OlmoEarth。Mothership被設計為通用平臺,可託管其他代理。Shippy由Ai2的Skylight團隊構建,Skylight是一個免費的海洋領域感知平臺,已被300多個合作伙伴在70多個國家使用。