ANTIGRAVITY LABEN
記事一覧/Agents & Manager
Agents & Manager/2026-06-12上級

依存ライブラリの更新を Antigravity エージェントに任せる運用設計 — リスク階層・検証・巻き戻し

溜まり続ける依存更新の通知を、Antigravity のエージェントにどこまで任せられるか。semver を実績で補正するリスク4階層、worktree によるロット隔離、検証と巻き戻しの定型化まで、複数アプリ運用で固めた設計を実物のスクリプトつきで共有します。

antigravity340エージェント33依存関係更新自動化運用設計6worktreeメンテナンス

プレミアム記事

月曜の朝にリポジトリ群を開くと、依存ライブラリの更新通知が合計47件たまっていました。複数のアプリとサイトを並行で運用していると、これは珍しい数字ではありません。1件ずつリリースノートを確認すれば半日が消えます。かといって放置すれば、セキュリティ修正を取り逃したまま差分だけが膨らみ、いざ更新するときの危険度が静かに上がっていきます。

私自身、Firebase SDK のマイナー更新を「いま動いているから」と3ヶ月寝かせた結果、依存の連鎖で差分が膨らみ、週末をまるごと修復に費やしたことがあります。以来、依存更新は「ためてから一気に片づける仕事」ではなく「小さく流し続ける仕事」だと考えるようになりました。そして小さく流し続ける定型作業は、エージェントに移管する対象として最も筋の良い部類です。

Antigravity 2.0 で worktree サポートとスケジュール実行が整理され、この移管は一段と現実的になりました。共有したいのは、リスク階層・ロット分割・検証・巻き戻しという4つの部品で組んだ運用設計です。設定ファイルとスクリプトは、そのまま流用できる形で載せています。

依存更新は任せやすい。それでも全部は任せられない

依存更新がエージェント向きである理由は、3つに整理できます。第一に、手順の定型性が高いこと。第二に、成功判定を機械化しやすいこと。ビルド・型検査・テスト・スモークという判定器が最初から揃っています。第三に、頻度が高いこと。週に1度は必ずやってくる仕事は、自動化への投資を回収しやすい仕事でもあります。

一方で、失敗の重さは非対称です。50件の更新を無事に通しても誰も気に留めませんが、1件の事故はリリースを止めます。さらに「上げるかどうか」の判断には、コードの外にある事情が混ざります。年内に作り直す予定のモジュールなら更新を見送る、広告 SDK はポリシー改定と重なる時期を避ける、といった判断は、リポジトリの中の情報だけでは下せません。

そこで私はこの仕事を「提案・検証・記録」と「採否」に分け、前者をエージェントへ、後者をリスク階層に応じて自動または人間へ、と割り当てています。裁量を一律に与えるのではなく、変更の危険度に応じて段階を変える。以降の設計はすべて、この段階制を実装するための部品です。

semver を信頼しすぎない — リスク4階層の分類

semver は便利な約束ですが、額面通りには信じられません。patch を名乗る破壊的変更は実在しますし、0.x 系では minor が事実上の major です。ネイティブ SDK に至っては、バージョン表記が同じ規約に従っている保証すらありません。そこで、形式上のバージョン種別を出発点にしつつ、実績で補正する4階層を使っています。

  • Tier 0 — 自動マージ可: 間接依存の patch 更新。lockfile の更新だけで完結するもの。セキュリティアドバイザリ起点の修正もここに含めます
  • Tier 1 — 自動マージ可(夜間検証つき): 直接依存の patch。公開 API・型定義・ビルド設定に触れないもの
  • Tier 2 — エージェントが提案し、人間が承認: 直接依存の minor。peer dependency の要求が動くものは必ずここへ
  • Tier 3 — 人間主導、エージェントは調査のみ: major、ネイティブ SDK、ビルドツールチェーン(Gradle・Xcode・バンドラ)、および 0.x 系のすべて

このうえで2つの補正を入れます。過去12ヶ月のあいだに patch / minor で破壊的変更を出した実績のあるパッケージは、無条件に1階層上げる。リリースノートを書かないパッケージも1階層上げる。「何が変わったかを説明しない変更」は、それだけで危険度が高いと見なします。

分類はリポジトリ直下の JSON に固定し、エージェントにはこのファイルを唯一の判断根拠として渡します。

{
  "$comment": "deps-policy.json — 依存更新のリスク階層定義",
  "tiers": {
    "0": { "scope": "indirect-patch", "action": "auto-merge" },
    "1": { "scope": "direct-patch", "action": "auto-merge-after-verify" },
    "2": { "scope": "direct-minor", "action": "propose" },
    "3": { "scope": "major | native-sdk | toolchain | 0.x", "action": "research-only" }
  },
  "escalations": [
    { "rule": "past-breaking-in-patch", "window": "12m", "raise": 1 },
    { "rule": "empty-release-notes", "raise": 1 },
    { "rule": "package-in", "list": ["firebase", "react-native", "next"], "minTier": 2 }
  ],
  "limits": { "lotSize": 5, "maxParallelLots": 3 }
}

要になるのは escalations です。世間的には安全とされるパッケージでも、自分の環境で一度でも痛い目を見たものは minTier で底上げしておきます。この分類表は運用の記憶そのものなので、事故のたびに育てていく前提で持ちます。

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

この記事の続きを読む

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

この記事で得られること
semver を各パッケージの実績で補正して依存を4階層に分け、階層ごとにエージェントの裁量を変えるリスク分類の作り方をそのまま流用できます
worktree で更新ロットを隔離し、検証から巻き戻しまでを定型化する AGENTS.md プレイブックと検証スクリプトの実物を掲載しています
月間およそ60件の更新通知を処理して分かった、自動マージしてよい変更と人間が必ず見るべき変更の見分け方が分かります
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

Agents & Manager2026-06-02
本番に触れる前にエージェントの操作を空振りさせる — 副作用ゼロのドライラン層をどう設計するか
シャドウ実行やカナリアでも防げない事故があります。エージェントが外部APIに初めて触れる、その一回目を安全にするための「副作用ゼロのドライラン層」を、Antigravity の並列エージェントに後付けで差し込む設計と実装を、6サイト自律運営の実数値とともに共有します。
Agents & Manager2026-06-01
並行エージェントのトークンコストを予算で抑える — 暴走を止めるバジェットガードの設計
複数のエージェントを並行で走らせると、トークン費は気づかないうちに膨らみます。トークンを減らす最適化ではなく、予算で消費を遮断するガバナンス層を Antigravity の並列エージェントに組み込む設計と実装を、6サイト自律運営の実数値とともに共有します。
Agents & Manager2026-04-29
Antigravity エージェントの『失敗から学ばせる』を仕組み化する — 失敗履歴を次のタスクに活かす設計
Antigravity エージェントは同じ失敗を繰り返すことがあります。失敗履歴を構造化して次の実行に渡すことで、個人開発の運用コストを抑えながら賢く育てる方法を、廣川政樹の運用例とともに解説します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →