原書刻意保留 AI 生成程式碼失敗的情境:作者取得 12/classification_wrong.py,執行後出現 runtime error,再把 error 貼回同一 AI chat 迭代修正,最後得到 12/classification.py。
原書指出 AI 產生的 code「not perfect」,但同一 AI 也可以協助修正自己產生的錯誤。
| 步驟 | 原書流程 |
|---|---|
| 1 | Copy the error to same chat |
| 2 | AI generates corrected code/part |
| 3 | Correct original code |
| 4 | Ensure code is generally correct |
| 5 | Run again |
| 6 | Repeat 1–5 if necessary |
原書不在正文列出 runtime error 的完整技術內容,而是強調除錯流程。正式實作應保留完整 traceback、發生位置、input state 與修改前後 code diff,再逐步測試。
A 檔可確認:classification_wrong.py 會產生 runtime error;修正後的 classification.py 可依前述流程執行並得到 Figure 12-11。
AI 除錯最有效的 input 往往不是「它壞了」,而是完整 error + 最小相關 code + 執行環境。每次改動越小,越容易判斷真正修正原因。
這是完整 traceback、出錯函數與目前 code。請先只解釋 root cause,不要重寫整支 script;提出最小修正 diff、預期結果與一個驗證步驟。若修正仍失敗,我會把新 error 留在同一對話繼續。
**問題:**AI 第一次修正後出現新的 error,應重新開新 chat 還是保留原 context?