iT邦幫忙

2026 iThome 鐵人賽

DAY 20
0
ChatGPT & Codex

從 Prompt 到 Pull Request:30 天玩懂 ChatGPT & Codex系列 第 20 篇

# Day 20|讓 Codex 當第二雙眼睛:第一次 AI Code Review

  • 分享至 

  • xImage
  •  

昨天請 Codex 完成了一次小範圍重構,並建立 reconstruct commit。

測試、lint 和 build 都通過了,但這些檢查不一定能發現所有問題。

為什麼要開新的 Codex 任務?

昨天的 Codex 任務知道自己為什麼選擇這個重構,也知道實作過程做過哪些決定。

這些資訊有助於開發,Review 時卻可能讓它延續原本的想法。

因此今天開一個全新的任務,讓 Codex 只根據:

  • AGENTS.md
  • repository 目前的程式
  • reconstruct commit 的 diff
  • 現有測試

重新檢查這次修改。

新的任務不代表一定比較正確,只是多一個沒有參與實作的檢查視角。

先指定正確的 Review 範圍

這次只想 Review reconstruct commit,不是重新檢查整個專案。

如果它目前就是最新 commit,可以比較:

HEAD^..HEAD

如果後來又新增其他 commit,就應該改用 reconstruct 的實際 commit hash,避免把無關修改一起放進 Review。

今天使用的 Prompt

我會在新的 Codex 任務中輸入:

請以 code reviewer 身分審查 Issue Tracker 的「reconstruct」commit。

請先找出該 commit 的正確 hash,並確認審查範圍是它相對第一個 parent 引入的 diff。

這次重構的目標:
- 只改善內部程式結構
- 不改變使用者可觀察行為
- 不新增功能、套件或設定
- 不修改文案、樣式與既有資料格式

請優先檢查:
1. 是否意外改變原有功能
2. 是否可能造成任務資料遺失、重複或讀取錯誤
3. localStorage 的既有資料是否仍能正常使用
4. 是否有重構後未被測試涵蓋的風險
5. 是否出現超出這次重構範圍的修改

輸出規則:
- 只回報具體問題
- 依嚴重度排序
- 每項附上檔案與行號
- 說明觸發方式、影響與最小修正方向
- 不要把個人風格偏好當成 Bug
- 如果沒有發現具體問題,直接回答「未發現 findings」

限制:
- 這次只做 Review,不要修改任何檔案
- 不要審查這個 commit 以外的歷史問題

這段 prompt 的回覆

為什麼要求「只回報具體問題」?

如果只說「幫我 Review」,很容易得到一些沒有明確影響的建議,例如:

  • 可以再拆成更多函式
  • 命名可以更漂亮
  • 可以增加更多註解

這些建議不一定錯,但不一定值得立刻修改。

今天比較關心的是會造成錯誤行為、資料問題或測試缺口的 finding。如果沒有找到,就直接說沒有,不需要為了讓回覆看起來完整而湊出幾項建議。

收到 finding 後怎麼辦?

Codex 指出問題後,不要立刻請它修改。

先做三件事:

  1. 打開它指出的檔案與行號
  2. 按照它提供的觸發方式重現
  3. 確認問題確實由 reconstruct commit 引入

如果問題可以重現,再開下一個任務做最小修正;如果無法重現,可以請 Codex 補充證據,而不是直接接受結論。

今日小結

今天開了一個乾淨的新任務,請它當作第二雙眼睛檢查 reconstruct commit。


上一篇
# Day 19|從能跑到好維護:讓 Codex 協助重構
系列文
從 Prompt 到 Pull Request:30 天玩懂 ChatGPT & Codex 共 20 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言