Sphinx

一個 Git hook:程式碼推上 main 之前,另一個沒看過你和 AI 對話的模型會讀 diff 出題,你答對了才放行

免費
一句話介紹:一個 Git hook:程式碼推上 main 之前,另一個沒看過你和 AI 對話的模型會讀 diff 出題,你答對了才放行

Sphinx 是 10 月 18 日在 Hacker News 以「A hook that quizzes you on your AI's code before shipping」上榜的開源工具,拿到 250 多點,GitHub 專案兩週累積約 450 顆星。標語是「你可以外包思考,但不能外包理解」。用 AI 寫程式的人應該有感:AI 一次改了十幾個檔案,你掃一眼就推了,其實說不出它出錯時會怎麼跑。

Sphinx 是一個 Git hook。你(或你的代理)對受保護分支下 git push 時,Git 會暫停,Sphinx 在本機開問卷網頁,由另一個「沒看過你聊天紀錄」的審查模型讀這次的 diff,問你行為、失敗模式與不變條件,不考檔名。官網示範題是:Stripe webhook 先存事件 ID 再呼叫 charge(),若 charge() 失敗,下次重送會怎樣?答錯會解釋並換新情境重考,答對同一個 push 就繼續送出。

功能特色與適用場景:支援 Claude Code、Codex、Cursor、OpenCode、Pi,或完全不用代理的一般 git push。安裝引導會建議用 Claude Code 跑 Haiku 或用 Codex 跑 GPT-6 Luna 當審查者,也能接 OpenRouter。sphinx init 會產生 .sphinxconfig、.sphinxignore、.sphinxcontext.md 三個設定檔,commit 進 repo 就能全隊共用。題目開卷,答案不會回傳給寫程式的代理,.env 與私鑰預設排除;趕時間可用 sphinx yolo 跳過,但會留紀錄。

README 的限制寫得很誠實:一次檢查約 5~8 次模型請求,預設沒有上限,付費 API 要自己設花費上限;push 最多等 25 分鐘;它是練習而非資安關卡,出題的 LLM 也會錯;變更內容會送到你選的模型供應商。

台灣使用者怎麼用:適合正在導入 AI 寫程式、想守住「看得懂才上線」的技術主管,例如接案公司讓資淺工程師推 main 前先過一關,或大學程式課讓學生用 AI 寫作業時保留理解檢查。題目預設英文,需要 Node.js 22.19 以上與 macOS、Linux 或 WSL,原生 Windows 還不支援。

TheAI學院 編輯建議

編輯實測後的真心話

AI 寫程式最大的隱憂不是寫錯,而是人類審核者其實沒看懂就按下合併。Sphinx 把這件事做成一個擋在 git push 前面的小考,概念簡單到有點想罵自己怎麼沒想到。它不會讓程式更安全,作者也講得很清楚;但對想讓團隊維持「看得懂才上線」習慣的技術主管,這是成本極低的一個做法。記得先設好模型呼叫上限。

— theai 編輯團隊

主要功能

  • 以 Git hook 攔下推到受保護分支的 push,在本機問卷頁出題,答對才放行
  • 由沒看過開發對話的獨立審查模型讀 diff,題目聚焦行為、失敗模式與不變條件
  • 答錯會解釋原因並換新情境重考,可對題目提出爭議(Dispute)
  • 支援 Claude Code、Codex、Cursor、OpenCode、Pi 與一般 git push
  • 每個 repo 以 .sphinxconfig、.sphinxignore、.sphinxcontext.md 設定政策並可共享
  • sphinx yolo 可緊急跳過但會記錄,sphinx doctor 檢查安裝狀態

如何使用 Sphinx

  1. 確認電腦有 Node.js 22.19 以上與 Git(macOS、Linux 或 WSL),執行 npm install -g sphinx-understand
  2. 執行 sphinx install,選擇你用的程式碼代理與審查模型(例如透過 Claude Code 跑 Haiku)
  3. 進入專案資料夾執行 sphinx init,設定要檢查的分支與題目深度,並先編輯 .sphinxignore 排除敏感路徑
  4. 執行 sphinx doctor 確認設定無誤,並在設定中替付費 API 加上模型呼叫上限
  5. 照常 git push,到本機問卷網頁回答題目,通過後選 Continue push 完成推送

適用場景

  • 技術主管要求資淺工程師推 main 前先通過理解檢查
  • 大量使用 Claude Code、Codex 的個人開發者,避免推出自己說不清楚的程式碼
  • 大學或程式補習班讓學生用 AI 寫作業,同時保留理解驗收
  • 接案團隊在交付前針對金流、併發等高風險變更加深出題深度

Sphinx 的優點與缺點

優點

  • MIT 開源、無帳號,審查可直接用既有 Claude Code 或 Codex 方案額度
  • 把「看懂 AI 程式碼」變成流程,而不是靠口頭要求
  • 答案不會回傳給寫程式的代理,.env 與金鑰檔預設不讀

缺點

  • 預設沒有模型呼叫上限,用付費 API 時要自己設花費上限
  • 會阻擋 Git 最多 25 分鐘,代理的終端機可能先逾時;不支援原生 Windows
  • 變更內容會送到審查模型供應商,且官方明說這不是資安關卡、出題模型也可能出錯

價格方案

MIT 開源、免費;本身沒有帳號或雲端服務,出題用的審查模型走你自己的 Claude Code/Codex 方案額度、OpenRouter 金鑰(另計費,免費模型也需金鑰)或任何 OpenAI 相容端點

Sphinx 常見問題

Sphinx 要錢嗎?

Sphinx 本身是 MIT 授權的免費開源工具,沒有帳號或雲端服務。出題的審查模型需要你自己的 Codex 或 Claude Code 登入(用該方案的額度),或 OpenRouter 金鑰(另外計費,即使用免費模型也需要金鑰),或任何 OpenAI 相容端點。

我的程式碼會被送出去嗎?

會。審查模型供應商會收到這次 commit 的變更與相關檔案、你的答案和 .sphinxcontext.md。被 ignore 的檔案不會讀,.env、私鑰與常見憑證檔預設排除,也可以在 .sphinxignore 加上自己的敏感路徑。

趕時間不想作答怎麼辦?

可以用 sphinx yolo 讓 push 通過,但每次跳過都會留下紀錄。另外通過一次後,24 小時內同一份變更、同一目的地與政策不變時不會再出題。

需要什麼環境?

Node.js 22.19 以上、Git,以及 macOS、Linux 或 WSL;原生 Windows 目前不支援。用 npm install -g sphinx-understand 安裝。

使用者評價

還沒有足夠評價,搶先分享你的使用心得!

寫下你的評價

評論將經審核後公開。

Sphinx 的替代方案

查看相似的 AI 工具 →

相關 AI 工具

猜你也想看的AI 學習/教育助理

前往官網 ↗