助手、代理程式與權限
已完成區分回答與操作。辨識哪些工具和權限,會改變錯誤造成的後果。
檢查理解程度代理程式可以編輯分支、執行測試。這代表它也應該有部署權限嗎?進行練習
學習目標
- 解釋助手與能使用工具的代理程式有何不同。
- 找出需要明確權限邊界的操作。
- 定義有用的停止條件。
確認系統如何採取行動
助手可以解釋程式碼、提出計畫或建議實作。代理程式還能使用工具,對環境執行操作。產品名稱不能提供可靠邊界:有些聊天介面可以執行命令,有些程式設計工具則只建議文字。
檢查可用工具。有用的描述應說明系統能讀取、修改、執行和發布什麼,也要指出每項操作使用哪些存取憑證和環境。
Anthropic 區分預先定義的工作流程,以及自行選擇工具使用順序的代理程式。這個區分有助於解釋工作如何推進,但不能判定特定操作是否安全。兩種設計都需要明確權限邊界。
區分目標與權限
假設收到虛構請求:「修正發票匯出功能。」代理程式可以檢查儲存庫、重現缺陷、編輯分支並執行檢查,也可能在環境中找到正式環境資料庫的存取憑證。
目標不會授權所有可用操作。讀取正式環境的資料表、修改發票紀錄和部署新版本,後果各不相同。「完成任務」這類廣泛指令,沒有說明組織允許其中哪些操作。
工作開始前,先定義邊界。本例中,代理程式可以使用虛構資料和本機資料庫,也可以建立 pull request,但不能存取正式環境的紀錄或部署變更。這些操作由獨立發布流程處理。
用技術控制落實權限
指令協助代理程式理解任務;存取憑證與存取控制決定它實際能做什麼。兩者都需要。
| 任務需要 | 本例適合的邊界 |
|---|---|
| 檢查相關程式碼 | 所選儲存庫的讀取權限 |
| 提出修正 | 功能分支的寫入權限 |
| 檢查行為 | 使用虛構資料的測試環境 |
| 請求審查 | 建立 pull request 的權限 |
| 發布軟體 | 獨立部署角色與發布政策 |
不要只因方便,就給唯讀任務可寫入的存取憑證。測試環境不應默默繼承正式環境存取權。審查工具、身分和資源之間的連結。看似無害的命令,使用高權限身分時也可能造成重大影響。
定義何時必須停止
下一項操作超出權限時,代理程式需要停止條件。證據不足時,也需要停止。
在發票範例中,如果修正缺陷需要修改正式環境的資料,就停止。如果請求的行為與文件中的會計規則衝突,也應停止。回報衝突,附上相關證據,以及需要負責人作出的決定。
對重複嘗試設定時間或成本上限很有用,但不能替代權限邊界。十次獲授權嘗試和一次未授權部署,是不同問題。
評估結果與操作紀錄
完成時,不要只看最終回應。審查修改的檔案、已執行檢查,以及剩餘的不確定性。確認操作是否保持在約定範圍內。
能力強的代理程式能減少人工工作。組織仍必須定義允許操作、驗證重要結果,並承擔發布決策責任。自主程度越高,這些責任就越重要。
進行練習
選擇團隊可用的一項 AI 工具,列出它能讀取、修改、執行及發布的內容。指出哪些操作需要人工核准,並在實際設定中驗證一項邊界。
下載工作表(Markdown)取消此選項,會刪除此瀏覽器儲存的所有進度。
進度只留在此瀏覽器。無須帳戶,沒有追蹤。