すべての記事
インストール直後だけ起動が一拍遅い — Baseline Profile で Android のコールドスタートを実測で詰めた手順
更新直後やインストール直後だけ Android アプリの起動が一拍もたつく原因を JIT と Cloud Profile の観点で切り分け、Baseline Profile でコールドスタートを実測で詰めた手順を、Macrobenchmark の構築から段階公開での監視まで個人開発の視点でまとめました。
入れ子になったAGENTS.mdの優先順位 — 複数プロジェクトを一つのワークスペースで束ねる合流設計
一つのワークスペースに複数のプロジェクトを置き、それぞれにAGENTS.mdを持たせると、エージェントはどの指示に従うのか曖昧になります。ルートと各プロジェクトの指示が静かに衝突し、片方だけが効いたり両方が混ざったりします。「近いほど強い」を基本則に、上書きと追記を区別して合流させる設計を、動くPython実装と運用の所感つきでまとめました。
保存するエージェントログから秘密を消す — 投入前のリダクション層を設計する
無人で走るエージェントのログを残し始めると、いつかトークンやAPIキーが平文で記録されます。ローテートしても、流出したログは消えません。書き込みの直前で秘密を確実に落とすリダクション層を、正規表現だけに頼らず既知の秘密を登録して消す方式まで含めて、動くPython実装と運用の所感つきで設計します。
エージェントに渡すMCPツールを絞る — 最小権限の許可リスト設計
Antigravity 2.0 に MCP サーバーを足していくと、各エージェントが触れるツールはいつの間にか「全部入り」になります。読み取りしか必要ないエージェントに削除系ツールまで見えている状態は、いつか事故を起こします。ツールをエージェント単位の許可リストで絞り、呼び出し直前で弾き、破壊的操作だけ二段階にする最小権限の設計を、動くPython実装と運用の所感つきでまとめました。
リリースビルドだけで落ちる — R8 フルモードが Gson のマッピングを壊したときの調べ方と直し方
デバッグでは動くのにリリースだけでクラッシュする。R8 フルモードが Gson のリフレクションを壊す典型と、mapping.txt を使った原因特定、keep ルールの最小化までを実装視点でまとめます。
アプリ内の言語切り替えを、端末の言語設定と切り離して実装する — Android Per-App Language の実装メモ
Android のアプリ内言語切り替えを AppCompatDelegate.setApplicationLocales と locales_config で実装する手順と、API 33 未満の互換・プロセス再生成・AdMob まわりの落とし穴を実装視点でまとめた記録です。
Antigravity の独自ツールが本番で事故るのは『設計』ではなく『再実行』のとき — 冪等化とエラー契約の運用メモ
Antigravity エージェントに独自ツールを足したあと、実運用で本当に問題になるのは再実行と二重副作用です。冪等キー・エラー契約・ヘルスゲート・ツール乱立の抑制を、実装と判断基準ごと整理しました。
壁紙ビューアのスライドショーとページ送りスクラバーを iOS から Android へ逆移植する — SnapHelper との双方向同期でつまずいた点
iOS 版の全画面壁紙ビューアにあったスライドショーと下部スクラバーを Android へ逆移植した実装記録。RecyclerView と SnapHelper で現在ページを確定させ、スクラバーと双方向同期し、自動送りとユーザー操作の競合を状態機械で解いた手順を Kotlin の動くコードで共有します。
並列エージェントの同時実行数を固定しない — 観測した詰まりから自動で増減させる設計
Antigravity 2.0 で複数エージェントを並列に走らせるとき、同時実行数を固定値で決め打ちすると昼は429で詰まり夜は能力を遊ばせます。TCPの輻輳制御に学んだ適応制御(加法的増加・乗法的減少)で、詰まりの兆候から同時実行数を自動で増減させる設計を、動くPython実装と実測の所感つきでまとめました。
戻るボタンで広告が出る/出ないが安定しない — 入れ子のifを独立ガードのリストに作り替えた記録
戻るボタン直後にインタースティシャル広告が稀に重なる不具合を、入れ子の if から理由を返す独立ガードの並びへ作り替えて解決した記録です。評価順序の明示、決定表を起点にしたテスト生成、複数の壁紙アプリへ展開したときに効いた点までまとめました。
エージェントが足した依存を、あとから棚卸しする — ライセンスと出所を追える形で残す設計
エージェント運用を続けると package.json に見覚えのない依存が増えていきます。git 履歴から追加された依存を抽出し、ライセンスを集計してポリシーと突き合わせる棚卸しの実装と、追加理由を残す記録の設計を、動くスクリプトとともに紹介します。
長く走ったエージェントが何をしたかを遡る — 会話内検索を起点にしたレビュー術
Antigravity v2.1.4 で加わった会話ビュー内の検索を、長時間エージェントのレビューの起点として使う方法を整理します。検索語の選び方、見るべき分岐点、背景エージェントのログ突き合わせまで、実際の手順を具体的にまとめました。