2026年5月のある月曜の朝、いつものように AdMob 管理コンソールを開いて、4本のアプリのメディエーションウォーターフォールを順に確認していました。先週から急に eCPM が下がった広告ネットワークが1つ、逆に伸びている小さなネットワークが1つ。順位を入れ替えたあと、同じ作業を残り3本のアプリで繰り返す。所要時間は集中していても40分前後で、月曜日の最初のまとまった時間がここに溶けていく感覚がずっとありました。
2014年から個人開発のアプリを運営し、累計5,000万ダウンロードに育ってきた壁紙・癒し・引き寄せ系のアプリ群は、AdMob メディエーションが収益の柱になっています。だからこそ、ここに人間の判断を一切入れないわけにはいかありません。ただ「機械的に順位を並べ替えるだけの作業」はもう自分でやらなくてもいいのではないか、という気持ちもありました。
Antigravity の Browser Sub-Agent をこの作業に当ててみたのが2週間前です。完全自動化を狙ったわけではなく、「自分が朝にやっていた一連の作業を、AI に下書きさせて自分は最終判断だけ行う」体制への移行が目的でした。以下、この2週間で組み上がった運用と、想定外だった挙動、空いた時間で見えてきたことを書き残しておきます。
始めた動機 — 手動更新が「価値の薄い時間」になっていた
最初に言葉にしておきたいのは、メディエーション順位の見直し作業そのものが嫌だったわけではない、ということです。むしろ私はこの作業が好きでした。各広告ネットワークの動きから、市場全体の景気感や季節要因が透けて見える瞬間があり、そこからアプリ側の施策(フィーチャー位置やイベント告知)にアイデアが繋がることも少なくありませんでした。
ただ、手元のアプリが4本に増え、それぞれが3〜5広告ユニット、各ユニットに5〜8個のメディエーションソースが入るようになってからは、データを目で追うだけで30〜40分が消えるようになりました。判断にかける時間より、コンソールのページ遷移とコピペに時間を使っています。これが「価値の薄い時間」だと感じはじめたのが今年に入ってからです。
両祖父が宮大工だったこともあり、手を動かす作業そのものを軽視したくないという気持ちは強くあります。けれども、宮大工の祖父たちもおそらく「下準備の単純作業」と「彫り込みの判断」は分けて段取りしていたはずで、ここを混ぜている自分の段取りの方が雑だったのだと思います。
Browser Sub-Agent に任せた範囲・任せなかった範囲
最初に決めたのは、Antigravity 側に渡す責務の境界線です。Browser Sub-Agent は AdMob 管理コンソールを実際に操作できますが、収益に直結する設定変更を AI 任意のタイミングで行わせるのは怖い。そこで、以下のように分けました。
- AI に任せた範囲: メディエーショングループごとの直近7日 eCPM・Fill Rate・Impressions の取得、過去4週との比較サマリ生成、ウォーターフォール順位の推奨案の Markdown 出力、推奨と現状の差分提示
- 自分の判断に残した範囲: 順位を実際に入れ替える操作、新規メディエーションソースの追加、入札(Open Bidding)方式と従来型ウォーターフォールの切替、eCPM フロアの変更
- 両者で半々の範囲: 当該週に「触らない」と決める判断(AI 推奨と私の感覚が一致したら据え置き、ずれたら理由を AI に再質問)
要するに、AI には「観察と提案」までを任せ、「変更コミット」は人間に残しました。最初の3日間で何度かこの境界を引き直しましたが、2週目には自然に落ち着きました。
2週間で組み上がった運用フロー
実際に運用に乗ったフローは、毎週月曜の朝7時に走ります。
- Antigravity 側で Browser Sub-Agent のセッションが起動し、AdMob 管理コンソールにログインする(2要素認証は私のスマホに届く通知を私が承認するため、ここだけは在席が必要です)
- アプリ4本ぶんのメディエーショングループを順に巡回し、過去7日と過去28日の主要指標を取得する
- 取得したデータを Antigravity のワークスペースに整理し、前週分のスナップショットとの差分を計算する
- 差分が一定の閾値(私の場合は eCPM ±15% / Fill Rate ±5%)を超えたソースだけを取り上げ、順位入れ替え案を Markdown で出力する
- 出力結果を IDE で読みながら、私が「採用 / 据え置き / 自分で再調査」のいずれかを判定する
- 採用したものだけを、私自身が AdMob コンソール側で手作業で反映する
このフローを回した最初の月曜は朝7時から正味12分、2週目の月曜は8分で終わりました。差分が「閾値超え」と判定されたソースは平均2.4件で、判断に迷うものは週1件程度です。
想定外だった挙動と、対処したこと
すべてが順調だったわけではありません。Browser Sub-Agent を実プロダクト向けに使うときに引っかかった点を、3つに絞って書き残しておきます。
1つめは、AdMob コンソール側の動的レンダリングへの追従です。最初のセッションで、ウォーターフォール一覧の「もっと見る」リンクを AI が押さずにスクロールしないままデータを取り、上位5件しか拾えていないという問題が起きました。Antigravity 側のプロンプトに「テーブルの右下にある『さらに表示』を押せなくなるまで押す」を明示してから、安定して全件取得できるようになりました。Web 操作系のエージェントは、見えていないものは存在しないものとして扱うので、人間が無意識にスクロールしている動作も言語化が必要です。
2つめは、複数アプリのコンソール切替時の認証セッション失効です。AdMob は一定時間アクションがないとセッションが切れます。最初は4本目のアプリの集計に入る前にログイン画面に戻ってしまい、エージェントが「ログインフォームに何か入れて先に進もう」とする挙動が一度だけ出ました。これは怖い。対策として、4本のアプリのデータ取得を1セッション内で連続実行するようワークフローを組み直し、5分以内に完了させる構造にしました。
3つめは、推奨理由の言語化が最初は曖昧だったことです。AI が「eCPM が下がっているので順位を1つ下げることを推奨」とだけ書いてくることが多かったので、プロンプトに「直近4週のトレンドと、過去同時期(去年の同じ週)の数値も併記してください」を追加しました。これで、私が最終判断する際に「単週の変動なのか、構造的な変化なのか」を即座に見分けられるようになりました。
自動化で空いた時間で見えてきたこと
正直に書くと、空いた30分そのものは大したものではありません。月曜の朝が少し穏やかになる、くらいの差です。意味があったのは、その30分のうちの何割かを「同じ広告ネットワークについて、別の角度から見る時間」に回せたことでした。
例えば、ある中堅ネットワークが2週連続で iOS 側だけ eCPM を伸ばしていることに気づき、その背景に「ある特定のクリエイティブが日本市場で当たっている」という外部記事を見つけました。これは AI の推奨アウトプットには出てこない情報です。AI が「順位入れ替えを推奨」と言ってきた事実は、自分が市場全体を見直すための小さなトリガーになりました。
App Store と Google Play の双方を抱えていると、片方のプラットフォーム特有の動きを見逃しがちです。Browser Sub-Agent に作業を渡すことで、結果的に「私自身は構造的な変化を追う側に回る」という役割分担ができ始めた、というのが2週間運用した最大の収穫だと感じています。
これからの見直しポイント
完成形ではないので、いくつか調整中の点を書いておきます。
ひとつは、Open Bidding(リアルタイム入札)に対応しているネットワークが増えてきたことで、ウォーターフォール順位の意味合いが薄れているところです。順位ロジックそのものを見直す時期が来ているので、来月以降は AI の推奨アウトプットの方も「ウォーターフォール優先案」と「入札重視案」の両方を出すように指示を変える予定です。
もうひとつは、Crashlytics 側で検出した不安定広告 SDK のバージョン情報を、メディエーション見直しの判断材料に組み込みたい、という構想です。これは Antigravity 側で Browser Sub-Agent と Crashlytics 連携を組み合わせる別の試みになりそうなので、別記事で改めて書こうと思います。
5,000万ダウンロードという数字は、私が一人で動かしているにしては大きく、それゆえに小さな運用の良し悪しが収益に響きます。だからこそ、AI に渡せる作業は渡し、自分は「データの背後にあるもの」を読む側に残っていたい。Browser Sub-Agent はそのための、地味だけれども有効な手段だと感じています。
次に同じ運用を始める方は、まず「自分が今やっている作業のうち、判断ではなくページ遷移とコピペに使っている時間」を計測してみてください。そこに30分以上の塊があるなら、Browser Sub-Agent に切り出す価値は十分にあります。