エージェントに「ログイン周りを直して」と頼んで5分後、画面の下から知らないファイルが次々と作られていく——そんな瞬間に、「Stop」ボタンを押すべきか、押した結果どうなるかが分からず、固まってしまった経験はないでしょうか。
私はAntigravityでマルチエージェントを動かすようになってから、この「途中で止めるか様子を見るか」という判断を1日に何度もするようになりました。最初は何も考えずに止めていたのですが、編集途中のファイルが中途半端な状態で残ったり、せっかくのチェックポイントが効かなくなったりして、止め方そのものに型が必要だと気づきました。
ここではエージェントの暴走を察知してから、作業を捨てずに中断し、適切な状態から再開するまでの手順を、私が普段やっている形でお伝えします。エージェント全般の暴走を未然に防ぐ設計については Antigravity のエージェントが暴走・ループする原因と止め方 をご覧ください。本記事は「もう動き出したものをどう止めるか」に絞っています。
「止めるべき」を5秒で見分ける3つのサイン
止めるか様子を見るかは、私の場合次の3つのサインで判断しています。
サイン1: 同じツールを3回連続で同じ引数で呼んでいる
たとえば read_file("src/auth.ts") を3回連続で呼んでいる、grep の検索語が毎回同じ、というケースです。これはツール呼び出しループの初期症状で、放置しても抜けません。すぐ止めて構いません。
サイン2: 計画と実装の方向が噛み合っていない 冒頭で「JWT を使う」と計画されたのに、実装ではセッション Cookie を書き始めている、という状況です。ここで止めないと、後から「どっちの実装が正でどっちが残骸か」を読み解くコストが膨らみます。
サイン3: あなたが触ってほしくないファイルに書き込み始めた
package-lock.json を勝手に書き換える、設定ファイルを丸ごと再生成する、といった挙動です。これは権限の問題ではなく、エージェントがプロジェクトの不変条件を理解していないサインなので、止めて指示を入れ直すべきです。
逆に、ツールの戻り値が毎回違っていて、計画通りに進んでいて、編集対象も妥当——この3つが揃っていれば、多少時間がかかっても見守る価値があります。AIの「考えている時間」は、実は人間が思うほど無駄ではありません。
中断手段は3段階に分けて使う
Antigravityでエージェントを止める手段は実質3つあります。それぞれの「副作用の重さ」が違うので、順番に試すのが安全です。
Stop ボタン(軽い中断)
チャットウィンドウ右下の Stop ボタンは、エージェントの「現在のターン」を綺麗に終わらせる手段です。実行中のツール呼び出しが完了するのを待ってから停止するため、ファイルの書き込みが中途半端になることが原則ありません。
私はサイン1(ツールループの初期症状)の段階では、迷わずこれを使います。チェックポイントは直前の状態がそのまま残るので、再開もしやすい状態です。
Cmd/Ctrl+. — キーボードからの中断
Stop ボタンと同じ動作をキーボードから呼び出せます。Cmd+.(Macの場合、WindowsならCtrl+.)が標準です。手をマウスに動かす時間が惜しいときや、画面下のチャット領域をスクロールで見失っているときに役立ちます。
挙動はStopボタンと同じなので、副作用も同じです。
ターミナルプロセスの強制終了(最後の手段)
エージェントが起動した長時間のシェルコマンド(npm testの暴走、無限ループのスクリプトなど)を止めたいときは、Antigravity 内蔵ターミナルで Ctrl+C を押します。これはエージェントを止めるのではなく、エージェントが起動したコマンドを止める操作です。
注意点として、Ctrl+Cで止めても、エージェント側は「コマンドが終了しました」という結果を受け取って次の判断に進みます。コマンドの強制終了をエージェントが「失敗」と解釈し、別のアプローチを試し始めることがあります。これを避けたいときは、Ctrl+C の直後に Stop ボタンも押しておくのが確実です。
中断後に必ず確認する3つの状態
止めた直後の数秒で、私は次の3点を確認します。ここをサボると、再開のときに何が起きているのか分からなくなります。
1. ファイルの編集状態(未保存の変更) Antigravity のサイドバーで、青い点(未保存変更)が付いているファイルを確認します。エージェントが書き換えたまま保存していないファイルがあれば、内容を見て、保存するか破棄するかを決めます。中途半端な編集を「とりあえず保存」してしまうと、ビルドが通らない状態のまま再開することになるので、迷ったら破棄が安全です。
2. Git のステータス
ターミナルで git status を実行し、エージェントが作ったファイル・変更したファイルを一覧します。
$ git status
On branch main
Changes not to be committed:
modified: src/auth.ts
modified: src/middleware.ts
Untracked files:
src/lib/jwt-helper.ts
src/types/session.d.tsこのリストを見て、自分の意図と合うファイルだけ残し、ノイズになっているファイルは git checkout -- または rm で消しておきます。これをやっておくと、後で「これは自分が頼んだやつ?それともエージェントの幻覚?」と迷わなくて済みます。
3. チェックポイントの位置 Antigravity の Checkpoints パネルを開き、最後に作られたチェックポイントが「いま自分が望む状態」より前か後かを確認します。エージェントのターンの境目で自動チェックポイントが作られているはずなので、暴走が始まる直前のチェックポイントに戻れば、被害を最小化できます。
続きから再開する2つの選択肢
中断後、再開には大きく2つのパターンがあります。どちらが良いかは、エージェントが「正しい方向に進んでいたか」で決まります。
パターンA: 同じセッションで指示を追加して続ける
エージェントがおおむね正しい方向に進んでいて、軌道修正だけで済むなら、同じチャットセッションのまま新しい指示を入れる方が効率的です。コンテキストには直前までの探索結果が残っているので、それを活かせます。
このとき私が使う指示の型はこうです。
止めました。さっきの実装の中で、X だけは正しいので残してください。
ただし Y は不要なので消してください。
そして次に Z をやってください。
「何を残すか」「何を消すか」「次に何をするか」の3点をはっきり書くことで、エージェントが直前のコンテキストに引っ張られて同じミスを繰り返すのを防げます。
パターンB: チェックポイントへ戻して新規セッションで再開
エージェントが根本的に違う方向へ進んでいた場合、コンテキストを残したまま再開しても同じ失敗を繰り返しがちです。私はこういうとき、暴走が始まる直前のチェックポイントへロールバックし、新しいチャットセッションで指示し直します。
ロールバックすると、ファイルの状態は戻りますが、Antigravity の Git 連携が有効ならコミット済みの変更には影響しません。ロールバック後の状態を git status で必ず再確認してください。
新規セッションで指示するときは、前回失敗した経緯を1〜2行だけ含めると、同じ罠を踏みにくくなります。
auth まわりを実装してください。
前回試したとき、エージェントが JWT と Cookie の両方に手を出して
中途半端になりました。今回は JWT だけに統一してください。
チェックポイントの操作の詳細は Antigravity Checkpoints & Rollback 完全ガイド で解説しています。
「止める前」に仕込んでおくと差が出る2つの習慣
ここまでが事後対応の話ですが、私は「止めるリスクが高そうな作業」に入る前に、次の2つを必ずやるようにしています。これがあるとないとで、中断のストレスが大きく変わります。
習慣1: 実行直前に手動コミットしておく
Antigravity のチェックポイントは便利ですが、Git のコミットほど確実ではありません(Antigravity の内部状態と紐づくため、リポジトリを別のマシンに移すと参照できなくなります)。
私は大きな作業をエージェントに頼む直前に、必ず git commit -am "Before agent: <task>" のようなコミットを1つ作っておきます。空コミットでも構いません。これで「最悪 git reset --hard で戻れる」という地点が確保できるので、止めるかどうかの判断を躊躇わずに済みます。
習慣2: 「触ってほしくないファイル」をプロジェクトルールに書いておく
AGENTS.md または Antigravity のプロジェクト設定(Custom Rules)に、エージェントが書き換えてはいけないファイルを明記しておきます。
# プロジェクトルール
## 触ってはいけないファイル
- `package-lock.json`(依存変更は私が手動で行います)
- `migrations/*.sql`(DBスキーマは別レビューが必要です)
- `.env.production`(本番シークレット)
## エージェントの書き込みポリシー
- 上記ファイルへの編集が必要になった場合は、コードを書く前に
チャットで提案してください。これを書いておくと、サイン3(触ってほしくないファイルへの書き込み)の発生確率がぐっと下がります。完全には防げませんが、私の体感では7割くらい減ります。
最後に — 止める判断は技術より練習
エージェントを止める判断は、技術的な難しさよりも、慣れの問題が大きいです。最初は「もうちょっと待てば直るかも」と粘ってしまいがちですが、暴走サインを覚えて早めに止める習慣をつけると、結果的に1日のスループットが大きく上がります。
今日の作業で次に大きめのタスクをエージェントに頼むときは、依頼する前に1つだけ手動コミットを入れてみてください。これだけで、止めるかどうかの判断が驚くほど楽になります。