GitHub Copilot Agent 如何幫我修復 Python 錯誤(以及你需要注意的事)
這幾天我開始使用新的 GitHub Copilot Agent,感覺它比舊版進步很多。這個新工具不只是建議幾行程式碼而已,它可以閱讀整個專案,理解你想完成的任務,甚至可以跨多個檔案修改程式碼。使用起來就像有個初級開發者在幫你加速完成工作。
有一次的經驗特別令我印象深刻。我在一段使用 pandas 的 Python 程式碼中遇到 KeyError
錯誤。我嘗試執行 df["rtn"] > df["threshold"]
,但總是出錯。我請 Copilot Agent 幫我修復這個錯誤。它掃描整段程式碼後發現我根本沒有建立 rtn
這個欄位,於是幫我加了一行:df["rtn"] = df["price"].pct_change()
。它還加了檢查,確保所需欄位存在於 DataFrame 中。這幫我省下了不少除錯時間。
不過並不是所有情況都那麼順利。有一次我請它幫我優化處理缺失值的方式,結果它重寫了整段程式碼,還把我針對邊界情況寫的邏輯刪除了。它直接加了一個很基本的 fillna()
,但完全沒有考慮我當初的設計原因。我後來還得一行一行看,理解它改了什麼,再把新的問題修好。那真的讓人有點挫折。
這些經驗讓我學到一些實用的技巧。第一,指令要清楚而具體。不要只說「修復我的程式碼」,應該說「修復存取 'rtn' 欄位時發生的 KeyError」。第二,一次只給它一個小任務,不要要求它同時做太多事情。第三,一定要檢查它做的每一個改動,就像你會檢查隊友提交的 Pull Request 一樣。
我也試用了另一個叫 Cursor 的工具,它在搜尋整個程式碼和用自然語言修改程式方面做得不錯。不過因為它是 VS Code 的改版版本,我得重新設定開發環境。Replit 是我測試過的另一個工具,適合在瀏覽器中寫簡單程式,但在大型專案中功能就有點不足。
試用這些工具後,我開始思考 AI 助手是否會取代開發者。我認為不會。這些工具確實很有幫助,但它們不了解全貌,也不知道你的商業規則或背後邏輯。它們可以寫和修復簡單的程式碼,但沒辦法設計系統或做出聰明的決策。
總結來說,GitHub Copilot Agent 就像一個稱職的隊友。它能讓你工作更快、更順利。但就像真正的隊友一樣,它還是需要你的指引、審查與經驗,才能真正把事情做好。