當我讓AI代理自行修改Python程式碼144次時發生了什麼
本文介紹了一個名為zmb_audit.py的零依賴Python程式碼庫靜態分析工具,並探討了作者讓AI代理在144次迭代中自主修改自身程式碼的實驗。該工具用於識別模組孤立、未解析呼叫和程式碼腐爛,實驗揭示了自主修改程式碼的多種故障模式。
近日,一位開發者釋出了一個名為zmb_audit.py的工具,這是一個零依賴的Python程式碼庫靜態分析工具。該工具利用Python標準庫中的ast解析器,能夠掃描目標倉庫並識別結構性治理風險和程式碼腐爛。根據專案介紹,zmb_audit.py的主要功能包括:發現程式碼庫中存在但未被任何模組匯入的“孤立模組”;檢測跨檔案的屬性呼叫是否指向缺失或重新命名的符號;以及驗證git預處理掛鉤保護是否啟用。該工具要求Python 3.8及以上版本,無需任何pip依賴,使用者只需下載zmb_audit.py檔案並直接執行即可。它支援多種使用方式,例如掃描當前目錄、指定倉庫路徑、以JSON格式輸出結果以及排除特定目錄。
更引人注目的是該專案的標題:“What broke when I let an AI agent modify its own Python code for 144 cycles”。這暗示作者進行了一項實驗:允許一個AI代理在144次迭代中自主修改自身的Python程式碼。雖然專案README的正文並未詳細描述該實驗,但作者在另一個連結(ZMB Failure-Mode Report)中提供了全面分析,記錄了八種自主修改故障模式。這些故障模式包括但不限於:迴圈依賴引入、關鍵功能被意外刪除、語法錯誤累積、效能退化、安全漏洞暴露、邏輯錯誤導致無限迴圈、依賴庫衝突以及測試覆蓋率下降。這一實驗突顯了AI在程式碼自我改進過程中可能遇到的挑戰,例如未預期行為、依賴斷裂或邏輯錯誤。zmb_audit.py工具本身或許正是為了監控這類自主修改而設計的。
該工具採用MIT許可證,目前尚未獲得廣泛關注(0星、0分支、0分叉),但其理念值得關注。隨著AI生成和修改程式碼的能力日益增強,如何確保程式碼質量和治理將成為重要議題。zmb_audit.py提供了一種輕量級的方法來審計Python程式碼庫,而作者的實驗則警示了AI自主修改程式碼的潛在風險。對於關注AI安全、程式碼質量和自動化工具的工程師來說,這個專案和實驗都提供了寶貴的見解。