Introducing Debug Mode:具備執行時日誌的 Agent
程式撰寫代理在許多事情上表現都很出色,但有些 bug 總是能難倒它們。因此,我們推出 Debug Mode,一個全新的 Agent 迴圈,圍繞執行時資訊與人工驗證而設計。
為了打造它,我們研究了團隊中最佳除錯高手的實務做法,並將他們的工作流程封裝成一種 Agent 模式,為它配備一套工具:可以用執行時日誌為程式碼加上監測、利用提示詞產生多種「到底哪裡出問題了」的假設,並具備回頭請你協助重現問題與驗證修復結果的能力。
結果就是一個互動式流程,能穩定可靠地修復過去即便是最聰明的模型單獨工作也難以處理、或需要開發者投入大量時間才能解決的 bug。
描述這個錯誤
首先,從下拉選單中選擇 Debug Mode,並盡可能詳細地描述這個錯誤。
代理不會立刻嘗試直接產生修正,而是會先閱讀你的程式碼庫,並針對可能出錯的地方提出多種假設。其中有些會是你自己也會想到的想法,但其他則很可能是你原本不會考慮到的做法。
接著,代理會在你的程式碼中加入用來記錄日誌(logging)的語句,以測試這些假設。這會讓代理在錯誤發生時,能夠取得實際運作狀況的具體資料。
重現錯誤
接下來,回到你的應用程式,在代理收集執行時日誌的同時重現這個錯誤。
當錯誤發生時,代理可以精準掌握你的程式碼中發生的一切:變數狀態、執行路徑、時間相關資訊。透過這些資料,它可以鎖定問題根源並產生有針對性的修復方案。通常只需要精準修改兩三行,而不是你在與一般代理互動時可能會拿到的上百行試探性程式碼。
驗證修復結果
在這個階段,Debug Mode 會請你在套用建議修復後,再重現一次這個 bug。若 bug 已經消失,你就可以將它標記為已修復,而 Agent 會移除所有監測程式碼(instrumentation),最後只留下乾淨、最小化的變更,方便你直接發布。
這種人類在環中(human-in-the-loop)的驗證流程至關重要。有時候 bug 很明顯,但有時候卻落在灰色地帶——修復在技術上也許可行,卻總覺得哪裡不太對。Agent 本身無法自行做出這種判斷。如果你覺得 bug 還沒真正修好,Agent 就會加入更多 logging,你再重現一次,然後它持續調整方法,直到問題真的被解決。
這種緊密的來回合作,是我們認為 AI 協助寫程式最有效的方式之一。Agent 負責繁瑣的工作,而你負責快速做出需要人類判斷的決定。搭配 Debug Mode 的效果是,以前那些難以處理的棘手 bug,現在都能被穩定地修好。
閱讀 Debug Mode 文件。在 Cursor 2.2 中瞭解所有新功能。