ANTIGRAVITY LABEN
記事一覧/連携・プラグイン
連携・プラグイン/2026-06-18中級

エージェントのコミットを pre-commit で止める — 壊れた変更を本番リポジトリに入れない仕組み

Antigravity のエージェントが書いたコードを、コミットの瞬間に lint・型チェック・高速テスト・秘密情報スキャンで自動検査する pre-commit ゲートの組み方を、実測の所感とともにまとめました。

Antigravity243pre-commitGit3品質ゲートエージェント36

プレミアム記事

エージェントに「このバグを直して」と頼んだ翌朝、コミット履歴を見たら緑のテストが赤く変わっていたことがあります。個人開発で運用しているアプリのリポジトリでした。

直した箇所は確かに直っていました。ただ、その過程で別のファイルの import を一つ消していて、関係のないモジュールが起動時に落ちるようになっていたのです。

エージェントは悪くありません。私自身が、生成された変更を「読まずに」コミットできる状態を放置していたことが原因でした。

人間のレビューを毎回挟めれば理想ですが、1 日に何度もエージェントへ作業を投げる運用では、その都度全 diff を精読するのは続きません。そこで私が頼っているのが pre-commit です。コミットという一点に検査を集約すれば、エージェントの出力でも人間の手作業でも、同じ網に必ずかかります。

なぜ「コミットの瞬間」が最適な検問所なのか

エージェントの作業はファイルを次々に書き換えていきます。途中の状態は壊れていて当然で、そこを検査しても意味がありません。

検査すべきは「これで一区切り」とエージェントが判断し、変更を確定しようとする瞬間です。それがまさに git commit のタイミングです。

CI で検査する手もありますが、CI はプッシュの後に回ります。壊れたコミットはすでにローカル履歴に残り、エージェントは次の作業へ進んでしまっています。pre-commit なら、壊れた変更はコミットとして成立すらしません。エージェントの作業ループの内側で完結するのが利点です。

私はブログ運営でも同じ考え方を使っています。4 つの技術ブログを自動更新するパイプラインでは、記事を push する直前に Python 製の品質ゲートを必ず通し、違反が出たら記事そのものを捨てて書き直す運用にしています。検査を「最終地点の手前」に置くという発想は、コードでも文章でも変わりません。

最小構成から始める

最初から重いフックを並べると、エージェントの待ち時間が伸びて運用が嫌になります。まずは速くて効果の大きいものだけを置きます。

.pre-commit-config.yaml をリポジトリ直下に作ります。

# .pre-commit-config.yaml
repos:
  - repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v5.0.0
    hooks:
      - id: trailing-whitespace
      - id: end-of-file-fixer
      - id: check-merge-conflict
      - id: check-added-large-files
        args: ["--maxkb=500"]
  - repo: https://github.com/astral-sh/ruff-pre-commit
    rev: v0.12.1
    hooks:
      - id: ruff
        args: ["--fix"]
      - id: ruff-format

導入は 2 コマンドです。

pip install pre-commit
pre-commit install

pre-commit install を一度実行すると、.git/hooks/pre-commit が差し替わり、以降の git commit すべてに検査が挟まります。エージェントが内部で git commit を呼んでも、この網は同じように作動します。エージェント側に特別な設定は要りません。

ここまでで、構文エラーを含むコミットやマージ衝突マーカーの残骸、巨大ファイルの混入はコミット段階で止まります。実測では、この最小構成のフック群はステージ済みファイルが数個なら 1 秒未満で終わります。待ち時間として体感されない範囲です。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
エージェントが直したつもりで壊した変更を、コミット前に 1 〜 3 秒で弾く .pre-commit-config.yaml の実例
フックが落ちたときにエージェント自身へ失敗ログを返し、人間を介さず自己修正させる回し方
秘密情報スキャン・型チェック・高速テストの 3 段を、待ち時間を増やさず並べる順序の設計
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Antigravity Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

連携・プラグイン2026-06-17
Antigravity CLI が無人実行中に 401 で止まるとき — 認証切れと再ログイン待ちを切り分ける
Antigravity CLI を無人のスケジュール実行に組み込んだあと、ある朝から 401 が一度出て止まる症状の原因と、認証切れと再ログイン待ちを切り分けて自動運用を立て直す手順をまとめます。
連携・プラグイン2026-06-14
Temporal の耐障害性ワークフローを本番で信用するために — 冪等性・リトライ分類・Saga 補償の実装メモ
Temporal を本番のバックエンドに据えてから見えてきた実装の勘所をまとめました。アクティビティの冪等性、リトライすべきエラーの線引き、Saga の補償が中途半端に効く事故、可観測性の設計を、Antigravity での開発手順とともに整理します。
連携・プラグイン2026-06-09
壁紙アプリの画像配信を解像度バケット方式で組み直す — Antigravity エージェントに変換と検証を任せた運用設計
端末解像度が増えるたびに壁紙アプリの配信は重くなります。1枚の原画を全端末へ配る方式をやめ、解像度バケット+WebP/AVIF+エッジリダイレクトに組み直し、変換と検証を Antigravity エージェントに任せた運用設計を、実際のコードと閾値ごと残しました。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →