AI 程式設計教程中文版
官方教程中文版新手必讀

第一次安全使用清單

基於官方 Codex 快速開始和安全教程,講清第一次把 Codex 放進真實專案時怎麼先讀懂、再小改、最後驗證。

第一次把 Codex 放進真實專案,不要一上來讓它改程式碼。穩妥目標是:先讀懂專案,再做一個可回退的小改動,最後檢查 diff 和驗證結果。

第一次任務只要出現敏感資訊、全許可權、生產配置、刪除檔案、支付認證或資料庫遷移,就先停下來做只讀根因分析。

第一次要防什麼

flowchart LR
    Repo["Git 狀態"] --> Boundary["許可權邊界"]
    Boundary --> Read["只讀理解"]
    Read --> Small["小改動"]
    Small --> Diff["看 diff"]
    Diff --> Verify["跑驗證"]

新手第一次出問題,通常不是因為模型不會寫程式碼,而是因為:

  • 任務太寬。
  • 許可權太大。
  • 工作區不乾淨。
  • 沒有驗證命令。
  • 敏感資訊被帶進 prompt。
  • 只看最終回答,不看真實 diff。

Codex 能讀檔案、改檔案、跑命令、呼叫工具。它越接近真實工程現場,你越要先畫邊界。

環境準備

開始前至少確認五件事:

  • 專案在 Git 儲存庫裡。
  • 當前分支和未提交改動可解釋。
  • 哪些檔案不能碰已經寫清。
  • 有一個最小驗證方式:測試、構建、lint、啟動或人工檢查。
  • 依賴安裝方式明確,不讓 Codex 猜 npm、pnpm、uv、pip、brew。

敏感資訊不應該裸放在原始碼、README、註釋或任務描述裡。API key、token、cookie、私鑰不要貼給 Codex。

如果這些條件不滿足,先只做只讀梳理,不改程式碼。

第一步:只讀理解專案

第一次任務應該要求 Codex:

  • 不修改檔案。
  • 不安裝依賴。
  • 不執行有副作用命令。
  • 只輸出專案用途、技術堆疊、目錄結構、可能的啟動和測試命令。
  • 明確標出推測和不確定項。

合格結果有幾個訊號:

  • 能區分檔案確認和推測。
  • 能指出入口檔案、配置檔案、測試目錄。
  • 不主動改檔案。
  • 會說明下一步最小安全任務。

如果它上來就開始寫 patch,說明邊界沒寫清,應該停下來重發只讀任務。

第二步:做一個小改動

第一次改動越小越好。適合:

  • 明確報錯。
  • 小文案。
  • 已有函式補測試。
  • 已有配置項調整。
  • 區域性程式碼整理。

不適合:

  • 大範圍重構。
  • 依賴升級。
  • 認證、支付、許可權邏輯。
  • 資料庫遷移。
  • 生產故障修復。
  • 完整新架構。

任務描述要寫清:只允許改哪些檔案,不要改哪些檔案,不安裝新依賴,改完跑什麼驗證,失敗時先解釋原因而不是擴大範圍。

第三步:看 diff

Codex 說完成,不等於真的完成。至少檢查:

  • diff 是否只改允許範圍。
  • 是否新增依賴。
  • 是否碰到認證、許可權、支付、刪除、遷移指令碼等高風險邏輯。
  • 是否留下除錯程式碼、佔位符、臨時程式碼。
  • 驗證命令是否真的執行。

如果看不懂 diff,繼續讓 Codex 只讀審查剛才的改動,不要繼續修改。讓它列風險、是否超範圍、是否遺漏驗證、是否有更小實現。

必須停的訊號

出現這些情況,先停:

  • Codex 要求你貼上 API key、token、cookie、私鑰。
  • 準備刪除大量檔案。
  • 準備重寫 Git 歷史。
  • 準備改生產配置。
  • 準備改支付、認證、許可權邏輯。
  • 反覆猜測修問題但沒有定位根因。
  • 建議跳過測試、關閉校驗或忽略報錯。
  • diff 出現大量無關改動。

停下來後,不要繼續擴大任務。重新要求它只做根因分析:列已確認事實、未確認假設和最小下一步驗證。

新手常見坑

  • 把第一次任務寫成“幫我最佳化專案”。
  • 專案有一堆未提交改動,卻讓 Codex 直接改。
  • 沒有測試命令,也不要求說明未驗證項。
  • 讓 Codex 猜依賴管理器和執行方式。
  • 只看最終回答,不看 diff。
  • 出現危險動作時繼續順著讓它做。

驗收清單

  • 第一次只讀任務沒有修改檔案。
  • 第一次寫入任務只改允許範圍。
  • 驗證命令真實執行,失敗時有原因說明。
  • 最終輸出包含改動檔案、修改原因、驗證結果、未驗證項和人工檢查點。
  • 能用 Git diff 完整回退這次改動。

第一次任務的目標不是展示 Codex 能力,而是證明你能把它放進真實專案且不失控。

官方資料

本頁目錄