数百ステップ走ったエージェントの会話を、上から下まで読み返した経験はないでしょうか。出力は正しそうなのに、どこで何を判断したのかが追えず、結局スクロールバーを行ったり来たりする。あの時間がいちばんもったいないと感じていました。
Antigravity v2.1.4 で会話ビュー内に cmd/ctrl+F の検索が入りました。小さな機能に見えますが、長時間エージェントのレビューでは起点が一気に変わります。全部読むのではなく、検索で分岐点に飛び、そこだけを精読する。その検索を軸にしたレビューの手順を、検索語の選び方から背景エージェントのログ突き合わせまで、順を追って具体的に整理していきます。
全部読むのをやめる
長い会話を頭から読むと、判断の重要度に関わらず同じ時間がかかります。エージェントのレビューで本当に見たいのは、出力そのものよりも「どこで方針を決めたか」です。検索はその分岐点へ直接飛ぶための道具だと位置づけると、使い方が定まります。
私はレビューを次の三段に分けています。
| 段階 | 見るもの | 使う検索語の例 |
|---|---|---|
| 方針の分岐 | エージェントが選択肢を絞った箇所 | 「代わりに」「instead」「以下の理由で」 |
| 外部への作用 | 書き込み・実行・送信が起きた箇所 | 「git push」「rm 」「を作成しました」 |
| 不確実性 | エージェントが迷った・推測した箇所 | 「おそらく」「と思われます」「assume」 |
この三段のうち、最初に見るべきは「外部への作用」です。エージェントが何を書き換え、何を実行したかが、レビューで取り返しのつかない部分だからです。読みの判断は後でよく、まず作用の箇所を検索で押さえます。
副作用を起こした語から検索する
具体的には、ファイル書き込みやコマンド実行に対応する語を先に検索します。Antigravity のエージェントが実行系を使うと、会話には実行したコマンドや作成したパスが残ります。そこを検索で拾えば、副作用の一覧が数十秒で手に入ります。
私が最初に打つ検索語は、おおむね決まっています。
- 実行系:
Running、Bash、Terminal、実行しました - 書き込み:
Created、Edited、Wrote、を作成、を更新 - 破壊的操作:
rm、DROP、--force、削除しました - 外部送信:
push、POST、デプロイ、公開しました
破壊的操作の語は、ヒットがゼロであることを確認するためにも打ちます。「何もしていないこと」を検索で確かめられるのは、目視より速くて確実です。ヒットした場合は、その前後だけを読み、意図した操作だったかを判断します。
検索語は完全一致でなくても構いません。たとえば rm のように末尾に半角スペースを付けて検索すると、format のような無関係な語に巻き込まれず、ファイル削除コマンドだけを拾えます。語の選び方を少し工夫するだけで、ヒット数が減って精読すべき箇所がさらに絞り込めます。私は副作用系の語ほど、わざと狭く当たるように打つようにしています。
迷いの痕跡を拾う
副作用を押さえたら、次は不確実性の語です。エージェントは確信が持てないとき、特有の言い回しを残します。「おそらく」「と思われます」「assume」「probably」といった語を検索すると、推測で進んだ箇所が浮かび上がります。
ここが、出力の正しさを最終的に左右する場所です。私の経験では、後で問題になった判断のかなりの割合が、この迷いの語の近くにありました。たとえばエージェントが「設定ファイルはおそらくここにあると思われます」と書いて進めていたら、その推測が当たっていたかを実物で確認します。当たっていれば問題なし、外していれば後続が全部ずれている可能性があります。
検索でこれらの語に飛び、前後 1〜2 ステップだけを読む。この読み方だと、数百ステップの会話でも実質 5〜10 箇所を精読すれば足ります。全部読むのに比べて、レビューにかかる時間が体感で数分の一になりました。
背景エージェントはログと突き合わせる
会話内検索は対話画面で強力ですが、背景で自動実行したエージェントは、会話を開く前にまずログを見るほうが速いです。Antigravity の背景・スケジュール実行では実行ログが残るので、同じ検索語をログ側に当てて、当たりをつけてから会話を開きます。
# 背景エージェントの実行ログから副作用と迷いの痕跡だけを抽出する
LOG_DIR="$HOME/.antigravity/agent-runs"
# 直近の実行ログを対象に、破壊的操作と外部送信を先に確認
grep -rniE "rm -rf|--force|drop table|git push|deploy" "$LOG_DIR" \
| tail -40
# 推測で進んだ箇所を洗い出す(後続のズレを疑う起点)
grep -rniE "おそらく|と思われます|assume|probably|maybe" "$LOG_DIR" \
| wc -lログ側で件数と位置を把握してから、該当する会話を開いて cmd/ctrl+F で同じ語に飛ぶ。この二段構えだと、複数の背景エージェントを並行で回していても、どの実行のどこを見ればいいかが先に絞れます。私自身、Dolice Labs の運用で個人開発の壁紙アプリのアセット生成を背景で回すとき、毎回この順番でログ→会話の順に確認しています。ログで破壊的操作ゼロを確認できれば、会話のレビューは安心して迷いの語だけに集中できます。
検索語を自分の定番にする
最後に、これは習慣の話です。レビューのたびに検索語をその場で考えていると、見落としが出ます。副作用・迷い・方針分岐の三カテゴリで、自分の定番の語を 10 個ほど決めておくことをお勧めします。プロジェクトや言語が変わっても、この骨格は流用できます。
定番を決めておく利点は、レビューが再現可能になることです。誰がやっても同じ語で同じ分岐点に飛べるなら、レビューの質が人に依存しなくなります。個人開発でも、過去の自分のレビューと今日のレビューが同じ基準で行えるのは、地味ですが効いてきます。
まずは次にエージェントを長く走らせたとき、会話を頭から読まずに「破壊的操作の語」を一つ検索してみてください。ヒットがゼロだと分かるだけでも、レビューの入り方がずいぶん落ち着くはずです。そこから副作用・迷い・分岐へと検索語を足していけば、長い会話を相手にしても起点を見失わなくなります。レビューは時間をかけるほど丁寧になるとは限りません。むしろ、どこを見ないかを先に決めることのほうが、長時間エージェントとは長く付き合っていけると感じています。