當我讓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安全、代碼質量和自動化工具的工程師來説,這個項目和實驗都提供了寶貴的見解。