首页 > 教程资讯 > 教程详情

Sphinx 推送前先考你一道题:检验你是否看懂了 AI 写的代码

AI 与前沿 数码评测汪工 2026-10-19
文章分享

开源工具 Sphinx 是一个面向 agent 辅助开发的 Git hook:在 agent 写的代码推送之前,它会就这段代码实际做了什么向用户提问,答对后推送才会继续。官网称,它想解决的是「可以把思考外包,但不能把理解外包」的问题,这对大量依赖编码 agent 写代码的开发者来说值得关注。

怎么工作

据官网介绍,流程分三步:

  • 你推送代码,或者由你的 agent 推送,Git 会在受保护的分支上暂停;
  • Sphinx 提问:一个没看过你与编码 agent 对话的 reviewer 阅读本次 diff,询问变更出错时会怎样;
  • 你作答:答错会告诉你原因,并换一个场景再问;答对,推送继续。

官网给出了一个示意对话:Stripe webhook 处理函数现在先保存事件 ID,再调用 charge()。Stripe 超时后重发同一事件,重试时会发生什么?用户第一次回答「会扣两次款」,Sphinx 指出不对:重试时会发现已保存的 ID 并直接返回 200,不再扣款;但该 ID 是在扣款成功之前保存的,如果 charge() 失败,下一次重试又会怎样?用户答「会跳过扣款,客户永远不会被计费」后,页面显示通过并继续推送到 origin/main。示例中的改动为 11 个文件、新增 5,012 行、删除 3,147 行。官网注明,这只是示意对话,真实问题来自用户自己的 diff。

支持范围与模型选择

官网称,Sphinx 支持 Codex、Claude Code、Cursor、OpenCode 和 Pi,也可以只配合普通 Git 使用。审阅模型可以使用现有的编码 agent、OpenRouter 或任何兼容 OpenAI 的接口,并设计为以极少的 token 运行。

sphinx install 会连接 Git 与各个编码 agent,并询问由哪个模型来审阅。

隐私与跳过

官网称,用户的答案不会传给编码 agent,.env 文件和密钥不会被打开。赶时间时,可以用 sphinx yolo 放行推送,每次跳过都会被记录。

安装与许可

安装命令为 npm install -g sphinx-understand,随后运行 sphinx install,之后照常 git push 即可。环境需要 Node 22.19 以上,支持 macOS、Linux 和 WSL。官网标注该工具免费,并链接到 FOSS 仓库 github.com/parthh01/sphinx。

来源