
2026/10/18 13:33
Show HN:Sphinx – コードを送る前に AI のコードを試問するフックツール
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Sphinx は、コード変更をプッシュまたはマージする前に AI がその変化を理解していることを検証することで安全性を確保する、エージェント支援開発のための Git ハックツールです。Git push hook の内で動作し、diff ベースの質問(提案された変更が既存のコードベースに与える影響を説明するもの)について明示的なユーザー確認を必要とするため、実行を一時的に停止します。これにより誤ったデプロイを防ぎ、本番環境を保護します。Sphinx は OpenAI 互換エンドポイント、Codex、Claude Code、Cursor、OpenCode、Pi などを含む主要なコーディングエージェントと統合しながら、プライバシーを厳格に維持します:ユーザーの回答はローカル環境から決して外部に送信されず、
.env ファイルやキーなどの機密データも外部モデルに漏らされることはありません。安全性と速度のバランスを取るために、「fast push mode」(sphinx yolo でトリガーされる)ではレビューをスキップし、停止する代わりにスキップされたチェックをログに記録します。本ツールは Node 22.19+、macOS、Linux、WSL で動作し、npm install -g sphinx-understand の後に sphinx install を実行してインストールされ、Git が一時停止するときにのみターゲット化された質問を生成することで、変更がマージされる前に回答が提供されることを保証します。デモのやり取りは、エージェントによる微細なコード振る舞いの理解を確認するため、webhook リトライロジックシナリオ(2 回の請求とタイムアウト処理の違い)を正しく処理することを示しています。本文
FreeFOSS: 思考の外部委託はできても、理解には委ねられない —— 孫子
概要
Sphinx は、エージェント支援開発のための Git フックツールです。コードがデプロイされる前に、「この変更が実際にどのような動作をするか」を AI が質問し、人間が回答することで品質を保証します。
- 対応プラットフォーム: Codex, Claude Code, Cursor, OpenCode, Pi など
- 互換性: 既存のエージェントや OpenRouter、OpenAI エンドポイントと完全互換
- セキュリティ:
ファイルや API キーはエージェントに開示されません.env
インストール方法
すぐに利用を開始するには以下のコマンドを実行してください。
npm install -g sphinx-understand sphinx install
- 要件: Node.js 22.19 以上
- 対応 OS: macOS, Linux, WSL
は Git とエージェントを連携させ、レビュー担当モデルを選択します。sphinx install
動作仕組み
通常の利用フローは以下の通りです。
- プッシュ実行: 開発者が
を実行。git push - 一時停止: Git が保護されたブランチでの操作を待機。
- QA シミュレーション:
- Sphinx が差分を読み込み、「問題発生時の挙動は?」と質問。
- あなたの回答(正解か誤答かを問わない)を確認。
- 再開: 回答が入ればプッシュ処理が完了し、Git が動作を再開。
注記: 実際の審査では、あなたのチャット履歴は一切参照されません。匿名のレビュア視点でコード差分からだけ質問されます。
Q&A シミュレーション例
以下は実際の会話フローの一例です。
あなた: Webhook ハンドラは
charge() を呼ぶ前にイベント ID を保存しています。Stripe のタイムアウト時に同じイベントが再送信された場合、どうなりますか?
Sphinx: 2 回実行されるため、顧客は 2 回請求されます。
あなた: その通りではありません。リトライでは保存された ID で検索され、課金なしで
200 が返りますが、ID は充電成功前に保存されています。charge() が失敗した場合の次のリトライはどうなりますか?
Sphinx: チャージをスキップするため、顧客は請求されません。 ✓ 理解しました。origin/main ブランチへプッシュしています。
重要: これらの質問は、あなたの差分(diff)から自動的に生成されます。急いでいる場合は
コマンドでプロセスをスキップすることも可能です(ただし、すべての状況がログに記録されます)。sphinx yolo