◉ANTIGRAVITY LABEN
記事一覧/Agents & Manager
◈ Agents & Manager/2026-06-18上級

Antigravity 2.0 のエージェントに任せる前に引く、3本の境界線

Gemini CLI の提供終了を機に Antigravity 2.0 のバックグラウンドエージェントへ移行した際、任せる作業と手元に残す作業の間に引いた3本の境界線を紹介します。停止条件をコードに落とす方法や、運用して見えた誤算も率直に記しています。

antigravity464agents100automation54workflow41

✦ プレミアム記事

6月18日、Gemini CLI が個人向けと AI Pro / Ultra 向けの応答提供を終えました。私自身、いくつかの定型処理を Gemini CLI に任せていたので、この日に合わせて Antigravity 2.0 のバックグラウンドエージェントへ載せ替える作業をしていました。

ところが、手を動かして最初にぶつかったのは「どう載せ替えるか」ではありませんでした。「そもそも、これをエージェントに任せていいのか」という問いの方でした。Antigravity 2.0 は単一プロンプトから計画・実装・テスト・デプロイまで走り切れますし、複数のエージェントを並行で動かせます。任せられる範囲が広がったぶん、任せてはいけない範囲を自分で決めておかないと、便利さがそのまま事故の確率になってしまいます。

実際、移行初日に一度ヒヤリとしました。あるエージェントが「不要になった生成物を片付ける」流れの中で、消すべきでないキャッシュまで削除候補に並べていたのです。最終実行の手前に確認を挟んでいたので事なきを得ましたが、もしそこを自動にしていたら気づけませんでした。この経験から、任せ方を詰める前に「任せない線引き」を3本だけ言語化しておくことにしました。本稿はその記録です。

なぜ「任せ方」より先に「任せない線引き」を決めるのか

エージェントの自動化は、うまくいっているときほど中身を見なくなります。10回連続で正しく動けば、11回目も見ずに通したくなります。ところが事故は、その「見なくなった11回目」に起こります。

つまり自動化の安全性は、平常時の成功率では決まりません。失敗したときにどこで止まるか、誰が気づくかで決まります。だからこそ、設計の出発点は「どう速く回すか」ではなく「どこで人間に戻すか」に置くべきだと私は考えています。境界線を先に引いておけば、あとは安心して自動化の範囲を広げられます。順序が逆だと、広げた後で怖くなって結局すべてを手動に戻す、という遠回りになりがちです。

境界線1 — 取り返しのつかない操作は、最終実行だけ人間に残す

最初の線引きは、操作を「取り返しがつくか」で二分することです。テストの実行、ビルド、下書きの生成は、失敗してもやり直せます。一方で push、本番デプロイ、削除、公開は、一度走るとロールバックに別の手間がかかります。

私の運用では、エージェントには取り返しのつく操作までを任せ、取り返しのつかない操作は「準備」までで止めてもらいます。エージェントは差分を作り、コミットメッセージを整え、確認用の出力を並べるところまでを担当します。最後に引き金を引くのは人間です。これを口頭ルールにすると必ず形骸化するので、コードで固定します。

# 操作を「取り返しがつくか」で分類し、
# 取り返しのつかない操作はエージェントに最終実行させない
IRREVERSIBLE = {"push", "deploy", "delete", "drop", "publish", "purge"}
 
def classify(action: str) -> str:
    verb = action.strip().split()[0].lower()
    return "irreversible" if verb in IRREVERSIBLE else "reversible"
 
def gate(action: str) -> dict:
    kind = classify(action)
    if kind == "irreversible":
        # エージェントは「準備」までを担当し、最終実行は人間に渡す
        return {"action": action, "auto_run": False, "needs_human": True}
    return {"action": action, "auto_run": True, "needs_human": False}
 
if __name__ == "__main__":
    for a in ["build site", "git push origin main", "run tests", "deploy production"]:
        r = gate(a)
        flag = "needs-human" if r["needs_human"] else "auto"
        print(f"{flag:12} {a}")
 
# 出力:
# auto         build site
# needs-human  git push origin main
# auto         run tests
# needs-human  deploy production

ここで大事なのは、分類を完璧にしようとしないことです。判定に迷う動詞が出てきたら、迷った時点で irreversible 側に倒します。安全側に倒すコストは「確認が一手間増える」だけですが、危険側に倒すコストは「本番が壊れる」です。両者は釣り合いません。Gemini CLI 停止に伴う依存整理の進め方は自動化の依存を棚卸しする手順にまとめてありますので、移行作業と合わせて参照していただければと思います。

✦

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

この記事の続きを読む

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

この記事で得られること
✦バックグラウンドエージェントに何を任せて何を残すかで迷っていた人が、3つの具体的な判断基準で線を引けるようになります
✦取り返しのつかない操作を最終実行の手前で止める guard を、20行ほどのコードで自分のパイプラインに組み込めます
✦『完了』をエージェントの自己申告に任せて事故るパターンを避け、停止条件を観測可能な形でコードに固定できます
Stripe による安全な決済 · いつでもキャンセル可能
✦

この記事を購入する

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

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

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

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

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

関連記事

◈ Agents & Manager2026-09-04
エージェントの実効スコープを書き出しておくと、既定が変わった日に気づけます
Antigravity 1.1.25 で、Markdown 定義のカスタムエージェントが既定で周囲のスキル・ルール・サブエージェントを継承するようになりました。絞ったつもりのエージェントが更新後に広がっていないかを、実効スコープの JSON スナップショットと差分で確かめる手順を書き残します。
◈ Agents & Manager2026-05-10
Antigravity でエージェントと「完了」を合意する — Definition of Done をプロンプトに書き込む実践
Antigravity のエージェントが「途中までしか動かないコード」を返してくる原因の多くは、Definition of Done が共有されていないことにあります。3つの層で完了条件を組み立てて、プロンプトに書き込む実践方法をまとめました。
◈ Agents & Manager2026-04-28
Antigravity のエージェントを途中で止めるとき:作業を捨てずに中断・再開する手順
エージェントが違う方向へ進み始めたとき、止めるべきかを5秒で見分けるサインと、未保存の編集を失わずに中断・再開する3段階の手順をお伝えします。中断後に確認すべき状態や、止める前に仕込んでおくと差が出る2つの習慣まで、実践に沿ってまとめました。