用AI編碼時質疑的重要性
本文作者分享了他與AI助手Claude互動時的實驗,發現AI可能會盲目執行有缺陷的指令。透過在CLAUDE.md檔案中新增“質疑使用者”的護欄,AI變得更謹慎,甚至在刪除檔案等操作前會先質疑。作者強調了在AI編碼中設定明確護欄的重要性,並展示了修訂後的護欄如何更有效。
最近,一位開發者分享了他與AI編碼助手Claude互動時的一段有趣經歷。他原本要求Claude用Bash實現某個功能,但Claude在思考過程中遇到了困難。於是,他取消了Claude的推理過程,改而建議使用Python。這一經歷促使他思考:當AI助手在執行任務時,我們是否應該更加積極地質疑其執行方式?
為了測試這一想法,他在專案的CLAUDE.md檔案中新增了一節名為“質疑使用者”的護欄。其中明確要求:如果AI認為使用者提出的解決方案有誤或缺失某些內容,應給出解釋並詢問使用者是否真的想執行該方案。AI應提供替代方案,並不得盲目遵循指令。
隨後,作者進行了一系列測試。首先,他要求Claude刪除專案中的index.php檔案。即使沒有護欄,Claude也拒絕了這一指令。但當他嘗試更復雜的任務——刪除index.php中的JSON/LD架構時——Claude在沒有護欄的情況下執行了刪除操作,甚至連波蘭語版本也一併刪除了。這驗證了護欄的必要性。
作者又修改了護欄文本,增加了“即使任務看似瑣碎或可逆,也要評估使用者的推理是否合理。質疑應關注‘為什麼’,而不只是‘做什麼’。”新的護欄產生了顯著效果。當再次要求刪除JSON/LD時,Claude先質疑了使用者的動機,並詢問是否確認要執行。
作者還設想,如果軟體工程大師Uncle Bob(Robert C. Martin)看到這個實驗,他會如何評價。Uncle Bob可能會強調,就像在傳統程式設計中程式碼審查至關重要一樣,在與AI協作時,質疑和驗證AI的推理過程同樣不可或缺。
總之,這個實驗表明,在AI編碼工作流中設定清晰的護欄可以顯著提高安全性。AI並非總是正確的,而人類的質疑和審視是確保程式碼質量的關鍵環節。開發者應主動配置AI的行為,使其成為真正的合作伙伴,而非盲目的執行者。