ANTIGRAVITY LABEN
記事一覧/Agents & Manager
Agents & Manager/2026-04-28中級

Antigravity のエージェントを途中で止めるとき:作業を捨てずに中断・再開する手順

エージェントが明らかに違う方向へ進み始めたとき、力ずくで止めると未保存の編集まで巻き込まれます。作業を失わずに中断し、続きから再開するための実践的な手順をお伝えします。

antigravity346agents67workflow30checkpointrecovery2

エージェントに「ログイン周りを直して」と頼んで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つだけ手動コミットを入れてみてください。これだけで、止めるかどうかの判断が驚くほど楽になります。

シェア

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

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

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

もしこの記事がお役に立ちましたら、チップ(¥150)で応援いただけると大変励みになります。広告なしでの運営を続けるため、皆さまのご支援が大きな力になっています。

関連記事

Agents & Manager2026-05-10
Antigravity でエージェントと「完了」を合意する — Definition of Done をプロンプトに書き込む実践
Antigravity のエージェントが「途中までしか動かないコード」を返してくる原因の多くは、Definition of Done が共有されていないことにあります。3つの層で完了条件を組み立てて、プロンプトに書き込む実践方法をまとめました。
Agents & Manager2026-06-02
Antigravity のエージェントに『差分を小さく刻む』癖をつけてもらう — 1ヶ月の運用で変えたレビューの流儀
エージェントが一度に大きな差分を返すと、個人開発ではレビューが追いつかなくなります。Antigravity に『小さく刻んで』と最初に頼むようにして1ヶ月、レビューの体感がどう変わったかを、実際に渡している指示文とともに残しました。
Agents & Manager2026-05-30
Antigravity のエージェントが node や python を『command not found』にするときの原因と対処
自分のターミナルでは動くのに、Antigravity のエージェントがコマンドを実行すると command not found になる。PATH 継承の仕組みから、nvm・pyenv・Homebrew 環境ごとの具体的な解決手順を解説します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →