朝いちばんに開きたいのは、たいてい「昨日の続き」の会話です。ところが会話サイドバーを開くと似た名前が縦に並んでいて、目的のものに辿り着くまでにスクロールを何往復もしていました。
個人開発でアプリ側とサイト側を並行して進めているため、Antigravity のプロジェクトは十数個あります。増えたこと自体は前に進んでいる証拠のはずなのに、毎朝の入り口で数十秒が確実に削られていく感覚がありました。
8月12日の 2.8.0 で、サイドバーの折りたたみ状態がセッションをまたいで保たれるようになりました(さらに8月13日に 2.8.1 が出ています)。「並べ方を決めても次に開いたら元に戻る」状態が終わったので、ここを機にプロジェクトの持ち方から見直した記録を残しておきます。
探していたのは会話ではなく、プロジェクトでした
原因を切り分けてみると、スクロールしていた時間の中身は「会話を探す時間」ではありませんでした。正しくは「どのプロジェクトの下にあるかを思い出す時間」です。
| 感じていた症状 | 実際に起きていたこと | 効いた対処 |
|---|---|---|
| 目的の会話が見つからない | プロジェクトが作業の単位と一致していない | 粒度を決め直す |
| 似た名前の会話が並ぶ | 会話名が最初の1文から自動で付いたまま | 命名を3要素に固定する |
| 気づくと会話が増えている | 開くプロジェクトを間違えて新規会話を始めている | 起動時に対象を明示する |
この3つは別々の問題に見えて、いずれも「作業の単位が決まっていない」ことから派生していました。順番に直していきます。
粒度は「リポジトリ単位」ではなく「戻ってくる単位」で決める
私はリポジトリ1つにつきプロジェクト1つ、という素朴な分け方をしていました。管理としては整っているのですが、実際に戻ってくる単位とはずれていました。
たとえば壁紙アプリの側では、画像アセットの分類作業と、App Store 向けのリリース準備は、同じリポジトリにありながら思考の切り替えが必要な別作業です。逆にサイト側では、複数のリポジトリを横断して同じ判断を続けている時期があります。
そこで、次の2つだけを基準にしました。
- 週に一度も開かないものは、プロジェクトとして常設しない
- 同じ会話履歴を参照したくなるものは、リポジトリが違っても1つにまとめる
この基準に通したところ、常設するプロジェクトは半分ほどに減りました。減らしたものを消す必要はありません。必要になった時点で開き直せば十分です。
折りたたみ状態が保たれる前提で、開くものを1つに絞る
ここが 2.8.0 の恩恵をいちばん受けた部分です。以前は並びを整えても、次にアプリを開くと全部が展開された状態に戻っていました。整える作業そのものが報われないので、私自身もいつからか諦めていました。
現在は Collapse All を押した後の並びが保たれます。そこで運用をひとつだけ決めました。
常時展開しておくプロジェクトは1つだけにする。
いま集中している領域だけを開いておき、他はすべて畳んでおきます。切り替えるときは、畳んで、次を開く。これだけで、サイドバーの縦の長さが画面内に収まるようになりました。
なお 2.6.0(8月7日)で、履歴の長い会話を開く速度と会話一覧の読み込みが改善されています。畳んだ状態から目的のものを開き直す動きが軽くなったのも、この運用が現実的になった理由のひとつです。
会話名は3要素だけ決めておく
自動で付く会話名は、最初に投げた文章の要約です。悪くはないのですが、似た依頼をすると似た名前になります。「エラーの原因を調べたい」で始めた会話が3本並ぶと、もう区別がつきません。
そこで、会話を始めた直後に自分で付け直す規則を1つだけ決めました。日付・対象・動詞の3要素です。
0815-wallpaper-categorizer-調査
0815-labs-sitemap-修正
0814-ios27beta-検証日付を先頭に置くと、名前順でも時系列に近い並びになります。対象は自分がその場で口に出す呼び名でかまいません。動詞を最後に置くのは、同じ対象に対して「調査」と「修正」が別の会話として並ぶようにするためです。
規則を増やすほど守れなくなります。3要素より多くしないことを、私は優先しています。
起動時に、開く場所を指定してしまう
新規会話が意図せず増える原因の多くは、開いているプロジェクトを取り違えたまま話しかけてしまうことでした。ここは手元の習慣ではなく、起動側で解決できます。
2.7.1(8月11日)で、起動時に --project と --new-project を渡せるようになりました。開くプロジェクトを明示する、あるいは新規に作る、という指定です。
# よく戻る領域はエイリアスにしておく
alias agy-wall='antigravity --project ~/dev/wallpaper-app'
alias agy-labs='antigravity --project ~/dev/labs-site'
# 新しい実験は毎回新規プロジェクトで隔離する
alias agy-lab='antigravity --new-project ~/tmp/scratch-$(date +%m%d)'短い実験を既存プロジェクトの中で始めてしまうと、あとから会話一覧を汚します。使い捨ての実験は最初から別の場所に置くほうが、片付けが要りません。
また 2.8.0 で、Antigravity IDE を入れている場合に現在のプロジェクトをそのまま IDE で開くボタンが増えました。エディタ側とエージェント側で別々にプロジェクトを開き直す手間が減るので、往復が多い方は確認してみてください。
整理しても、そのままにしたこと
正直に書いておくと、これで全部が快適になったわけではありません。
会話を後からプロジェクト間で移す方法は、私の環境では見つけられていません。分類を間違えた会話は、そのまま元の場所に残しています。移せない前提だからこそ、命名の3要素を先に決める価値があります。名前さえ整っていれば、置き場所が多少ずれていても検索で拾えるためです。
もうひとつ、プロジェクトを跨いだ会話の横断検索は、まだ強いとは感じていません。ここは仕組みで解決しようとせず、「先週の判断を思い出したい」類の内容は会話の外に短いメモとして書き出すようにしました。エージェントに任せる範囲と、自分の手元に残す範囲を分けた形です。
表示の設定そのものに迷いがある場合は、Antigravity 2.0 を日本語UI で快適に使うための設定 の内容と併せて確認すると早いはずです。差分レビューの手順まで含めて組み直したい場合は、2.8.0 の表示上限をきっかけに組み直したレビュー手順 に、表示上限が入ったあとのレビューの回し方を詳しく書いています。
明日の朝、最初にやること
一度に全部を整えようとすると続きません。まず Collapse All を押して、明日ずっと開いておくプロジェクトを1つだけ選んでみてください。そこから先は、必要になったときに1つずつ開き直せば足ります。
手元の環境に合わせて、規則は削りながら使っていただければ嬉しいです。お読みいただきありがとうございました。