すべての記事
エージェントの時計設計 — 単調時計と壁時計を分けて長時間運用を守る
スケジュール実行や夜間の長時間エージェント運用で、タイムアウト・リトライ間隔・レート制限窓を壁時計で計算すると静かに壊れます。単調時計と壁時計の役割を分ける小さな Clock 抽象と、決定表・テスト可能な実装を交えて設計を整理します。
新しいマシンで Antigravity が別人になった — 移行で持ち越せるもの・作り直すもの・リポジトリへ逃がすもの
Settings Sync で設定は数分で戻るのに、認証・インデックス・ローカルLLMは戻らない。マシン買い替え時の Antigravity 環境を三つの層に分け、持ち越す・作り直す・リポジトリへ逃がすの順で整理した実践メモです。
エージェントが足した行だけを見たい — 変更行スコープの規約リンターで、レガシーの警告に埋もれない
エージェントに小さな修正を頼んだら、古いファイルに触れた瞬間に警告が13件出て、どれがエージェントの仕業か分からなくなりました。変更行だけに規約を当てるリンターを組んだら、13件が3件へ、約77%減りました。差分から追加行を取り出し、そこだけを検品する仕組みを、動くコードでまとめています。
許可を尋ねられても、答える人がいない — 統一パーミッションを無人実行の契約として書く
v2.2.1 の統一パーミッションは対話を前提にしています。深夜に走るスケジュール実行では、その前提が崩れます。allow / deny / queue の三分法でポリシーを事前宣言し、無人でも止まらない契約として書き下す設計をまとめました。
付与した権限は、本当に全部使われていますか — Antigravity 統一パーミッションを実使用ログから絞り込む
統一パーミッションで一度「全許可」に倒すと、使われない権限が静かに溜まります。付与した権限と行動ログを突き合わせ、未使用の許可を回収して最小権限へ絞り込む「付与→観測→回収」ループを、動くTypeScript実装と個人運用の実測値でまとめます。
エージェントの書いたORMコードでp95が5倍に — クエリ回数をテストで測り、CIで止める
N+1クエリはレビューの目をすり抜けます。クエリ回数を測定可能な値に変え、入力件数に対する傾きで判定するCIゲートの実装を、動くコードと実測値とともにまとめました。
エージェントへの依頼は、送信ボタンを押す前に大きさを測れる — 差し戻し率から逆算するタスク分割
Antigravity のエージェントが的外れなコードを返すとき、原因はプロンプトの文言ではなくタスクの大きさにあります。依頼文を送信前に採点する Python スコアラーを実装し、80件の依頼ログを後ろ向きに採点して差し戻し率との相関を確かめた記録です。
半年前にエージェントが書いた行の意図を追えるようにする — コミット粒度と来歴トレーラの設計
エージェントが 14 ファイル 800 行を 1 コミットに詰め込むと、半年後の git blame は何も語ってくれません。コミットを意図の単位に割り、Git trailer に来歴を機械可読で残し、blame から設計判断まで逆引きする仕組みを、動くコードとともにまとめます。
エージェントが書いたファイルが .gitignore に飲まれる — commit 前に気づくための検出ゲート
エージェントが生成したファイルが .gitignore に一致していると、差分レビューでは正常に見えるのに commit には含まれません。ignored な生成物を push 前に検出するゲートスクリプトと、その運用調整をまとめました。
段階公開を止める瞬間を、先に言葉にしておく — 監視はエージェント、停止判断は手元に
Google Play の段階公開を監視するエージェントを Antigravity で組んだ記録です。クラッシュ率のベースライン比、ANR の遅延、母数不足時の判断保留を停止基準に落とし込み、halt の実行権だけを手元に残しました。
バックグラウンド更新は来ないことがある — 実行機会を測り、鮮度から設計をやり直した記録
BGTaskScheduler と WorkManager の実行機会は申請すれば得られるものではありません。実行率をログで測り、鮮度をSLOとして定義し、来ない前提の三層フォールバックへ組み直した設計を、計測コードとともに残します。
エージェントが直した .proto がバイナリ互換を壊す前に — buf breaking で wire 互換を門番する
エージェントに .proto を編集させると、テキストとしては正しくても wire 互換を静かに壊すことがあります。フィールド番号の再利用と型変更をどう機械で止めるか、buf breaking と reserved を組み合わせたゲートを動くコードで示します。