ANTIGRAVITY LABEN
記事一覧/Agents & Manager
Agents & Manager/2026-08-16中級

Canary 継続配信になった Android 17 で、エージェントには「報告しない条件」から先に渡しました

Android 17 が Developer Preview をやめて Canary の継続配信に切り替わり、検証の締め切りが自分の側に移りました。更新を追う担当をエージェントへ渡すにあたり、報告の条件ではなく沈黙の条件から設計した記録です。

Android 172Canaryエージェント66壁紙アプリ4運用設計25

プレミアム記事

Android 17 が Developer Preview の枠をやめて Canary ビルドの継続配信に切り替わった、という話を目にしたとき、最初に頭に浮かんだのは新機能ではなく予定表でした。

Preview には番号があり、番号には日付がありました。DP1 が出たら触る、DP3 が出たら本気で直す。個人開発でアプリを続けていると、こういう外から与えられる区切りが、そのまま自分の作業計画になっていました。

継続配信になるということは、その区切りが消えるということです。毎週何かが動き、どれも「最終ではない」。締め切りが外部から来なくなった代わりに、いつ見るかを自分で決める仕事が増えました。

Android 版の壁紙アプリを保守している立場としては、これは地味に重い変化でした。

追随を自動化する前に、追随をやめる範囲を決めた

最初に考えたのは、Antigravity のエージェントに Canary の更新を毎回読ませて、要約を投げてもらう構成です。実際、この手の仕事はエージェントの得意分野に見えます。

ただ、少し想像してみて手が止まりました。週に何度も「今回の変更点はこうです」という要約が届く構成にすると、私はおそらく三週目には読まなくなります。届いた通知を開かないまま、大事な一件が同じ列に埋もれる。これは自動化の失敗というより、自動化が成功しすぎたときに起きる失敗です。

そこで方針を裏返しました。何を報告させるかではなく、何があっても報告させないかを先に決めるという順番です。

言い方を変えると、エージェントに渡すのは「更新を追う仕事」ではなく「黙っていてよい条件を満たしているか判定する仕事」になります。判定が黙っていられない状態になったときだけ、私のところに来ます。

「自分に関係する」を、人間の勘から機械の判定に移す

黙っていてよい条件を書き下すには、「自分に関係する」を機械が扱える形にしなければなりません。

ここで頼りになるのは、リリースノートの側ではなく自分のコードの側でした。壁紙アプリが実際に触れている Android の面は、そう多くありません。import 文、マニフェストの権限、フォアグラウンドサービスの種別。この三つを列挙すれば、自分の可動域はおおむね言い表せます。

抽出はシェルで足ります。

#!/usr/bin/env bash
# 自分の実装が実際に触れている Android の面を1行1件で出す。
# 出力: kind<TAB>symbol (kind = import / permission / service-type)
set -euo pipefail
ROOT="${1:?usage: inventory.sh <project-root>}"
 
# 1) Kotlin/Java の import から android.* / androidx.* を拾う
grep -rhoE '^import +(android|androidx)[A-Za-z0-9_.]*' "$ROOT" \
  --include='*.kt' --include='*.java' 2>/dev/null \
  | sed -E 's/^import +//' | sort -u | sed 's/^/import\t/'
 
# 2) マニフェストの権限(末尾の識別子まで含めて拾う)
grep -rhoE 'android\.permission\.[A-Z_]+' "$ROOT" --include='AndroidManifest.xml' 2>/dev/null \
  | sort -u | sed 's/^/permission\t/'
 
# 3) フォアグラウンドサービス種別(種別ごとに要件が違うため個別に持つ)
grep -rhoE 'android:foregroundServiceType="[a-zA-Z|]+"' "$ROOT" --include='AndroidManifest.xml' 2>/dev/null \
  | sed -E 's/.*"([a-zA-Z|]+)".*/\1/' | tr '|' '\n' | sort -u | sed 's/^/service-type\t/'

小さなプロジェクトに通すと、こういう出力になります。

import	android.app.NotificationManager
import	android.app.WallpaperManager
import	android.graphics.BitmapFactory
import	androidx.work.WorkManager
permission	android.permission.INTERNET
permission	android.permission.POST_NOTIFICATIONS
service-type	dataSync

この一覧が、そのまま監視対象になります。ここに出てこない領域で何が変わっても、私は今週それを読む必要がありません。

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

この記事の続きを読む

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

この記事で得られること
更新情報をエージェントに追わせるとき、報告の量ではなく沈黙の条件を先に設計できるようになります
自分のコードが実際に触れている API・権限・サービス種別を機械で棚卸しし、変更点との交差だけを受け取る仕組みを自分のプロジェクトに移せるようになります
関係ありそうな行を拾う実装が一般語で誤検出を量産する落とし穴を、書く前に避けられるようになります
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

Agents & Manager2026-07-16
作業中のエージェントに、次の指示をいつ渡すか — 待つ・割り込む・積むを実運用で測りました
Antigravity v2.3.0 で入ったメッセージのキューイングと Send Now。待つ・割り込む・積むの三択を同じ物差しで測り、積んだ指示が古くなる問題と、前提スタンプで手戻りを22%から9%へ下げた記録をまとめました。
Agents & Manager2026-06-21
無人エージェントの実行ログを、ディスクを溢れさせずに後から追える形で残す
スケジュール実行のエージェントは、落ちた理由を後から追えなければ直せません。実行ログをディスクを溢れさせずに残すため、3層保持・スキーマ版付与・圧縮ジョブで設計する方法を、複数サイトを自動運用する個人開発の現場からまとめます。
Agents & Manager2026-06-12
依存ライブラリの更新を Antigravity エージェントに任せる運用設計 — リスク階層・検証・巻き戻し
溜まり続ける依存更新の通知を、Antigravity のエージェントにどこまで任せられるか。semver を実績で補正するリスク4階層、worktree によるロット隔離、検証と巻き戻しの定型化まで、複数アプリ運用で固めた設計を実物のスクリプトつきで共有します。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →