AI News HubLIVE
站内改写2 分鐘閱讀

從零構建基礎AI智慧體:人類監督與安全保障

本文介紹瞭如何在AI智慧體中引入人類監督機制,透過許可權分級、審批流程和詢問工具來平衡自主性與安全性,避免有害操作。

來源Hacker News AI作者: ruxudev

在本系列的前幾部分中,我們構建了一個能夠規劃和執行長期任務的AI智慧體,使其具備了更強大的能力。然而,自主性提升的同時也帶來了風險:不加區分地執行命令或修改檔案可能導致不可逆的後果。為了在自主性與安全性之間取得平衡,本部分引入了人類監督(Human in the Loop)機制。

人類監督的核心思想是:某些敏感操作在執行前必須獲得人類的明確許可。但並非所有工具呼叫都需要同等程度的審查。如果每個動作都請求批准,智慧體會變得冗長而低效;反之,如果從不請求批准,則可能危險。因此,我們將工具按風險分類:只讀工具(如讀取檔案)和規劃工具(如更新待辦事項)被認為是安全的,自動允許執行;寫入工具(如寫檔案)和操作工具(如執行Shell命令、獲取網頁)則預設需要人工批准。

為了靈活控制,我們定義了三種許可權模式:預設模式(default)只自動允許讀取和規劃工具;接受編輯模式(acceptEdits)在預設模式基礎上允許在當前工作目錄內進行檔案寫入;危險跳過許可權模式(dangerouslySkipPermissions)則完全跳過所有許可權檢查。最後一種模式名稱故意令人警惕,僅適用於可信任的沙箱或自動化環境。使用者可以透過命令列引數--mode選擇模式,並指定工作目錄作為信任邊界。

在實現中,我們透過check_permission函式決定工具呼叫是否被允許。該函式首先檢查工具是否屬於自動允許的集合,然後根據模式進行判斷。如果模式為危險跳過,則全部允許;如果為接受編輯且工具是寫入工具,則檢查目標路徑是否在工作目錄內;否則,透過_ask_permission函式向使用者互動式提問,顯示工具名稱和引數,等待使用者輸入'y'或'n'。使用者的選擇將反映到工具結果中,智慧體據此調整行為。

除了被動等待使用者批准,智慧體還可以主動請求幫助。我們新增了ask_question工具,允許智慧體在資訊不足時向使用者提出一個聚焦的問題,例如當存在多個配置檔案需要確定目標時。該工具描述明確指出:僅當真正受阻且無法從上下文合理推斷時才使用,不應用於進度更新或確認已可執行的操作。這減少了智慧體在不確定性中盲目行動的風險。

透過整合許可權檢查到工具執行路徑中,我們確保每個工具呼叫在執行前都經過安全閘道器。當許可權被拒絕時,智慧體收到明確的訊息,從而避免重試相同操作。整個系統既保持了智慧體的自主規劃能力,又透過人類監督提供了必要的安全護欄。在後續測試中,智慧體能夠在預設模式下正常工作,讀取檔案無需批准,而寫入檔案時則暫停等待使用者決策。

這種設計使得智慧體在真實環境中更加可靠,尤其適用於處理敏感資料或執行潛在危險操作的任務。開發者可以根據具體場景選擇適當的許可權模式,平衡效率與安全。