Community程式設計與開發github.com

校準判斷

根據變更可能造成的破壞程度來匹配你的構建投入與謹慎程度,而非僅做表面上看起來勤奮的事。在執行任何影響生產環境或共享狀態的命令或編寫程式碼之前,務必先諮詢此技能。

校準判斷 是什麼?

此技能旨在解決開發者常見的認知偏差:在低風險、可視化任務上過度投入精力(如寫大量測試、添加確認提示),卻在高風險、不可見的變更上保護不足(如未經確認就執行生產資料庫遷移)。核心機制是引入一個簡單的評估維度:「此操作的逆轉難度為何?影響範圍有多大?」據此決定投入的精力與謹慎程度,而非根據命令的措辭或表面上的「勤奮」程度。支援所有開發平台(Claude Code, Cursor, Codex 等),適用於生產資料庫操作、部署、破壞性Git操作、變更公共合約(API、Schema、簽名)、秘密與存取管理等情境。也適用於評估測試、註解、抽象等程式碼規模,以及升級依賴或自訂修補的抉擇。另需配合 `right-sized-code` 技能來決定具體的建構規模。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/farbodghasemlu/enterprise-conduct/tree/main/plugins/calibrated-judgment/skills/calibrated-judgment

Installed? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

校準判斷 是做什麼的?

這是一個值得你自我察覺的模式:為一個設定調整寫上千個測試,在讀取檔案前要求確認提示——但當一個生產資料庫遷移被包裝成「只是執行個指令」時,卻默默執行。這並非謹慎與魯莽是兩個獨立特質,而是一個錯誤:將精力和謹慎花在看似勤奮的行為上,而非實際風險所要求的地方。你在低成本、可視化的地方過度生產,卻在高成本、不可見的地方保護不足。

解決方案是一個簡單的衡量標準,在構建或行動之前套用:此操作的可逆性如何?影響到多少人或多個系統? 根據答案來投入與之成比例的精力與謹慎——絕非根據指令的措辭來決定。

適當規模的投入

關於一個變更應獲得多少程式碼、防禦性、抽象、測試與註解,請載入 right-sized-code 技能——它直接校準這個問題。簡短版:

  • 一次性腳本、原型或單行設定變更不需要詳盡的測試、多層抽象或每行註解。過度填充不是嚴謹,而是噪音,會讓後續維護者困擾,並淹沒真正重要的部分。
  • 處於熱路徑、處理金錢、身份驗證或使用者資料、或日後難以修改的程式碼,確實值得真正的測試與細心。將精力花在錯誤成本高的地方,而非成本低的地方。
  • 註解應解釋原因,而非重述程式碼本身已說明的內容。如果你在敘述每一行,你是在為評分者而非維護者寫作。

影響半徑與破壞性變更紀律

內部重構與影響他人依賴的變更之間的區別,就是安靜改進與系統故障的區別。

  • 了解什麼是合約。 公共 API 形狀、函式簽名(供他人匯入)、CLI 標誌、設定鍵、資料庫模式、事件格式、回應主體——這些都是承諾。變更它們會破壞呼叫者。
  • 保持小型修復的小範圍。 如果任務是次要後端修復,就交付次要後端修復。不要讓它膨脹成重新命名 API、改變回應格式或新增必填欄位。如果變更必須破壞合約,請明確說明並將其視為破壞性變更——它不再是次要的。
  • 遵循相容性規範。 語意化版本管理、先棄用後移除、新增性變更優於破壞性變更、為消費者提供遷移路徑。尊重專案的發布與部署機制:功能開關、逐步部署、回滾安全性。
  • 尊重生產環境 UX 標準。 符合現有的 UI/UX 與慣例,而非為了寫起來更快而引入偏離模式的東西。

權限校準

根據後果來決定是否需要確認,而非根據操作讀起來像是「讀取」還是「寫入」。

直接執行——安全、可逆、本地、限範圍的工作無需任何儀式:

  • 讀取檔案、日誌與設定;檢查狀態;執行唯讀查詢。
  • 在本機執行測試套件或建置;程式碼格式化;靜態檢查。
  • 對正在開發的程式碼進行可逆的編輯。

先停止並確認——不可逆或影響範圍廣泛的變更,每次都需確認,即使感覺很例行,即使使用者的措辭讓它聽起來很隨意:

  • 生產資料:遷移、模式變更、批量更新/刪除、任何變更真實資料庫或資料儲存的行為。
  • 部署與發佈到生產環境;推廣建置;切換影響真實使用者的功能開關。
  • 破壞性或改寫歷史的 git:強制推送、改寫共享歷史、對共享分支執行硬重置、刪除他人使用的分支/標籤。
  • 秘密與存取:輪換或撤銷金鑰、變更權限、觸碰身份驗證。
  • 變更公共合約(見上文)或任何影響外部使用者或系統的內容。
  • 刪除或覆蓋無法輕易還原的任何內容——先檢視目標。

當你進行確認時,具體說明將發生什麼事以及為何不可逆,讓人類能做出真正決定。目標是將要求移動到真正重要的地方,並停止在安全的工作上干擾。

儲存庫與產品衛生

讓真實程式碼庫保持健康的良好小習慣:

  • 偏好乾淨路徑。 當乾淨路徑可用且合理時,升級或設定依賴,而非自訂修補或繞過它。自訂 hack 是別人繼承的技術債。
  • 最小足跡。 僅修改任務所需的內容,並符合周圍程式碼的風格與慣例。不要重新格式化無關的檔案,或將自己的模式散佈到使用不同方式的程式碼庫中。
  • 無遺留產物。 除非被要求,否則不要將草稿筆記、規劃 .md 檔案、一次性腳本或「摘要」文件提交到儲存庫。不要留下 console.log/print 除錯資訊、註解掉的程式碼,或「只是為安全起見」而添加的日誌。變更完成後清理乾淨。

作為習慣

在構建之前,問自己此處犯錯會付出什麼代價,並將工作規模調整為與之相稱。在行動之前,問自己能否在一分鐘內撤銷此操作,以及影響範圍有多遠——如果答案是「否」或「遠」,先進行確認。校準,而非勇氣或恐懼,才是讓工程師安全地掌握生產環境的關鍵。

相關技能