用 Codex 修 bug:給報錯原文、復現步驟和約束,讓它先復現再改,最後重跑復現和測試,附 4 段提示詞

怎麼讓 Codex 幫你修 bug?官方提示指南強調:復現步驟和約束比一句話描述更重要。給它報錯原文、復現步驟、懷疑的文件和約束,要求先復現、再給補丁、再重跑復現並跑最小相關測試。本文給 4 段提示詞和判斷清單。

NNathaniel bigo··原創首發·AI 輔助撰寫
6 分鐘讀完
資料核對於 2026-11-05 · 依據官方文檔與公開資料整理 Plus 帳號
本文根據 Codex 官方文檔《Prompting Codex》和斜槓命令頁整理,資料核對於 2026-11-05。配圖為本站整理的示意圖,不是軟件截圖。本站(bigolab.com)不是 OpenAI 官方網站。安裝與配置見 /guides/codex-getting-started,本文只講怎麼描述 bug。

適用於誰

  • 代碼跑出報錯,自己卡住了,想讓 Codex 幫忙定位和修復的人;
  • 提示詞總是寫成“這裏有 bug,幫我修一下”,結果越修越亂的人;
  • 修好之後不知道怎麼確認的人。

結論先說

  1. 官方說,復現步驟和約束比高層描述更重要。 “登入頁有問題”遠不如“點擊登入後,控制檯報 Cannot read properties of undefined,期望跳轉首頁”。
  2. 要給四樣東西:復現步驟、懷疑的文件、約束、驗證方式。
  3. 讓它先復現再修。 官方示例寫的是:先在本地復現 bug,然後提出補丁並運行檢查。
  4. 約束寫明白。 官方示例的約束包括不改 API 的形狀、最小修復、可行時補一條迴歸測試。
  5. 修完讓它重跑復現,並運行 lint 和最小相關的測試套件,報告用了什麼命令、結果如何。

讓 Codex 修 bug 的提示詞四要素:復現步驟、懷疑的文件、約束、驗證方式

圖:本站根據 Codex 官方文檔《Prompting Codex》 整理的示意圖

一、先把線索收集好

動手前,先備齊下面這些,哪怕只有一部分:

  • 報錯原文:完整複製,不要截取半句,更不要自己轉述;
  • 復現步驟:從哪個頁面或命令開始,做了什麼,看到什麼,期望看到什麼;
  • 出現條件:是總是出現,還是特定數據、特定環境才出現;
  • 最近改了什麼:如果是某次提交之後才出現的,告訴它大概的時間或提交;
  • 懷疑的文件:知道就用 @ 指給它,不知道就寫“我不確定”。

官方在命令行裏的做法是在倉庫根目錄啟動 Codex;在 IDE 裏,則是打開可能出問題的文件和最近的調用方。

二、4 段可以直接複製的提示詞

方括號裏是要你自己填的內容。

1. 標準格式:復現、定位、修復、驗證

有個 bug 需要修復。
現象:[點擊“提交訂單”後頁面白屏]
報錯原文:
[粘貼完整報錯]
復現步驟:[1. 打開 /cart;2. 選擇一個商品;3. 點擊提交]
期望:[跳轉到訂單確認頁]
懷疑的文件:@[文件路徑]
約束:不改接口的返回格式;改動盡量小;可行的話加一條迴歸測試。
請先在本地復現,確認能看到同樣的報錯;再解釋原因,然後提出補丁;最後重新跑一次復現步驟,再運行相關的 lint 和最小範圍的測試,告訴我命令和結果。

2. 只有報錯,不知道從哪查

我在運行 [命令] 時遇到下面的報錯,不知道原因。請先只讀不改:
1. 解釋這個報錯通常是什麼原因;
2. 在代碼裏找出最可能觸發它的位置,說明理由;
3. 列出 2 到 3 種可能的原因,每種怎麼驗證。
先不要改文件。
[粘貼完整報錯]

3. 偶發問題:先加日誌,不亂改

這個問題只是偶爾出現,我沒有穩定的復現步驟。請不要直接改邏輯。
請先幫我在 [相關函數] 附近加幾處臨時日誌,記錄關鍵變量的值,告訴我怎麼運行和觀察。拿到日誌後我再發給你一起分析。
改動完成後列出你加了哪些日誌,方便我之後刪除。

4. 修完後讓它自我覆盤

請總結這次修復:1. 根本原因是什麼;2. 改了哪些文件、各改了什麼;3. 你運行了哪些命令,結果分別是什麼;4. 還有哪些相關的地方可能有同樣的問題;5. 我還應該手動檢查什麼。

如果想讓它再做一遍代碼審查,官方斜槓命令頁寫明 /review 會對未提交的改動或與基礎分支的差異啟動審查模式,詳見 /guides/codex-code-review。

三、修完之後,你怎麼判斷

Codex 修完之後你怎麼判斷:沒復現就改、改動過多、沒有命令輸出、測試通過但復現仍出錯、涉及支付權限

圖:本站根據 Codex 官方文檔《Prompting Codex》 整理的示意圖

  • 用你自己的復現步驟再走一遍,不要只看它的總結;
  • 看改動範圍:用 Git 查看改了哪些文件,和 bug 無關的改動要讓它撤銷;
  • 看測試:是新增了迴歸測試,還是為了讓測試通過而放寬、刪除了原有測試;
  • 上線前:涉及支付、權限、數據刪除的改動,自己逐行審查,並先在測試環境驗證;
  • 失敗了就回退:先確認工作區狀態,改壞了用 Git 退回,再用更小的請求重試。

命令被拒絕或需要審批時的處理見 /guides/codex-permissions-sandbox。

四、幾種常見 bug 怎麼描述

下面是本站按開發經驗整理的描述要點,不是官方清單:

  • 頁面白屏或點擊沒反應:給瀏覽器控制檯的完整報錯、點擊了哪個按鈕、是否每次都出現。只說“沒反應”,它只能猜;
  • 接口返回錯誤:給請求的地址、參數(去掉密鑰)、返回的狀態碼和響應內容,以及你期望的返回;
  • 數據不對:給一條具體的輸入和實際輸出、期望輸出,比“數據有問題”有用得多;
  • 命令行或腳本報錯:給你運行的完整命令、完整輸出,以及運行環境,比如系統和語言版本;
  • 只在線上出現:線上日誌先去掉用戶資訊再給它,並說明本地能否復現;不能復現時,先按第 3 段提示詞加日誌,不要讓它盲改。

描述得越具體,它越不需要猜,越不容易改到不該改的地方。同一個 bug 描述清楚之後,也可以順手讓它檢查有沒有別處存在同樣的寫法,但這類批量修改要分開確認,不要和修復混在一次改動裏。

常見問題

Q:它說修好了,但我的問題還在?

把你的復現步驟和現在的現象告訴它,並要求“先復現,再說明為什麼上一次的修復沒有覆蓋這個情況”。

Q:報錯訊息裏有密鑰、內部地址怎麼辦?

先去掉。貼日誌前的檢查見 /guides/ai-privacy-data-safety-checklist。

Q:需要選更強的模型嗎?

複雜 bug 可以提高推理強度,見 /guides/codex-switch-model-reasoning-effort。Codex 隨 ChatGPT 套餐提供,額度以官方頁面為準,需要更多額度可以看看 /chongzhi/chatgpt-plus 裏的說明。

參考資料

  • Codex 官方文檔:Prompting Codex — https://learn.chatgpt.com/docs/prompting
  • Codex 官方文檔:Slash commands — https://learn.chatgpt.com/docs/reference/slash-commands

Nathaniel 的更多內容

  1. 01

    Claude Code 在 Windows 上的常見坑:Git Bash 還是 PowerShell、路徑反斜槓、假報錯、WSL 怎麼選

    Windows 上用 Claude Code,裝好之後最容易踩的是:用哪個 shell、路徑寫法不一致、grep 沒匹配就報錯、鉤子沒生效、WSL 和原生怎麼選。本文逐條按官方文檔整理原因和處理辦法,附三段提示詞和一張對照表。

    Claude0
  2. 02

    Claude Code Hooks 實戰「提交前自動跑測試」:PreToolUse 攔住 git commit,測試不過就退出碼 2,附 Windows 注意點

    只寫一個完整例子:讓 Claude Code 每次要執行 git commit 之前,先自動跑項目測試,沒通過就攔下並把輸出交給它修。本文按官方 Hooks 文檔給出腳本、settings.json 配置、測試方法、排錯和 Windows 的兩處坑。

    Claude0
  3. 03

    Claude Code 自定義斜槓命令與 Skill 實戰:從零寫一個「生成更新日誌」的 /release-notes,含傳參、預執行命令和調試

    概念看過了,還是不知道從哪下手?本文按 Claude Code 官方「Extend Claude with skills」寫一個完整可用的例子:用 /release-notes 根據 git 記錄生成更新日誌,覆蓋目錄、frontmatter、傳參、預執行命令、預授權和調試。

    Claude0
  4. 04

    Claude Code 部署網站:先寫 Dockerfile 和 compose 在本機跑通,再按清單上雲伺服器,別讓它直接改線上

    想讓 Claude Code 幫你把網站部署到雲伺服器。本文只寫通用做法,按 Docker 官方文檔講:讓它寫 Dockerfile、.dockerignore 和 compose,在本機跑通,端口和數據卷怎麼設,再給出上線清單,並說明為什麼不要讓它直接動線上機器。

    Claude0
  5. 05

    Claude Code 寫爬蟲與數據清洗:先查 robots.txt 和網站條款,控制頻率,原始數據留一份再清洗

    想讓 Claude Code 寫爬蟲抓數據再清洗。本文先講合規:robots.txt 不是授權也不是安全措施、網站條款要自己讀;再講怎麼用 Python 標準庫檢查規則、小樣本先試、儲存原始數據,以及用 pandas 清洗,附四段提示詞。

    Claude0
  6. 06

    Claude Code 寫 Chrome 擴展:按 Manifest V3 起步,加載未打包的擴展,改了哪些文件要重新加載

    想讓 Claude Code 幫你寫一個 Chrome 擴展。本文按 Chrome 官方擴展文檔講:manifest.json 的最小寫法、在 chrome://extensions 加載未打包的擴展、哪些改動要刷新、怎麼看控制檯和報錯,再給四段提示詞,以及權限要盡量少。

    Claude0

同產品的其他教學

  1. 01

    OpenAI API 的 token 怎麼算、怎麼估算費用:input_tokens 計數接口、tiktoken 和隱藏的輸出 token

    發請求前想知道會用多少 token?官方有 Responses 的 input_tokens 計數接口,能把文字、圖片、文件、工具定義一起算準;本地 tiktoken 只適合純文本。本文給 Python 和 Node 示例,講輸出 token 為什麼可能比看到的多,以及怎麼估算費用。

    ChatGPT0
  2. 02

    OpenAI API Node.js / TypeScript 快速上手:npm install openai、example.mjs 第一個請求,到流式、函數調用、聯網搜尋

    用 Node.js 調 OpenAI API:設定 OPENAI_API_KEY 環境變量,npm install openai,新建 example.mjs,用 client.responses.create 發出第一個請求。並列出圖片、文件、流式、函數調用、聯網搜尋和錯誤捕獲的 Node 寫法。

    ChatGPT0
  3. 03

    OpenAI API 用量層級(usage tiers)與速率限制怎麼提升:Free、Build、Launch、Grow 和後台 Limits 頁

    OpenAI API 的限速不是固定的:官方按累計購買額度把組織分成 Free、Build、Launch、Grow 四個層級,達到門檻自動升級。本文講 RPM、TPM 等指標、怎麼在後台查自己的限額、響應頭怎麼讀、花費上限和限速的區別,以及怎麼讓限額變得夠用。

    ChatGPT0
  4. 04

    OpenAI API 報錯 400、401、403、404、429、500、503 怎麼排查:按官方錯誤碼頁逐個看原因和解決辦法

    調用 OpenAI API 返回 400、401、403、404、429、500、503,各自什麼意思?本文按官方 Error codes 頁,每個狀態碼一節,寫清官方給的原因和解決辦法,並說明 404 在官方頁面裏的位置、429 的六種情形,附 Python 和 Node 的錯誤捕獲寫法。

    ChatGPT0
  5. 05

    OpenAI Realtime API 是什麼:語音到語音會話、WebRTC 與 WebSocket、臨時密鑰和事件機制

    Realtime API 讓模型直接處理音頻,做可以隨時打斷的語音助手。本文按官方文檔講它是什麼、什麼時候用、瀏覽器接入的流程、session 與事件、可用聲音、60 分鐘會話上限、安全標識,以及它和轉寫、文字轉語音的分工。

    ChatGPT0
  6. 06

    OpenAI 圖像生成 API 怎麼用:gpt-image 系列、images.generate 與 Responses 工具、尺寸質素和遮罩編輯

    用 OpenAI API 生成或編輯圖片,有 Image API 和 Responses 裏的 image_generation 工具兩條路。本文按官方文檔給 Python 和 Node 示例,講 gpt-image 模型選擇、尺寸質素格式參數、遮罩編輯、被攔截時的錯誤處理,以及需要組織驗證的提醒。

    ChatGPT0

0 條評論

登入 後參與評論

還沒有評論,來搶沙發~