代理式人工智慧與工具使用
程式碼執行代理
程式碼執行代理透過撰寫程式碼、在沙箱中執行、讀取輸出或錯誤、再加以迭代來解題。模型若用散文推理,可能算錯算術或弄丟狀態;這類代理則把精確的工作卸載給直譯器,由它精準計算並回報真相。這就像「在腦中估算總和」與「把它打進一台無從爭辯的計算機」之間的差別。
機制上,模型以工具呼叫的形式發出一段程式碼區塊;沙箱化的執行環境執行它,回傳標準輸出、回傳值、錯誤與副作用,並接到上下文後面。代理接著便能除錯:讀取堆疊追蹤、修補程式碼、重新執行,直到測試通過。這種錨定讓結果可驗證——你可以對代理自己的輸出跑斷言或單元測試——也是「程式輔助語言模型」這類做法的基礎,其中推理以程式而非自由文字表達。
執行把生成器變成可檢查的東西,這是可靠度上的主要勝利,但執行模型所寫的程式碼是一個嚴重的安全攻擊面:它可能讀取資料、連上網路或耗盡資源。實際部署需要強力沙箱、資源與網路限制以及逾時設定;即便如此,一次通過的執行也只證明程式碼做到了被測試的部分,並不保證它解決了原本想解的任務。
通過測試只證明程式碼做到了測試所檢查的部分,而非解決了任務;且執行模型所寫的程式碼,永遠需要沙箱。
又称
另见