壁紙アプリのストア文言を直していた夜のことです。言語ごとの差分をまとめた表を添付して、エージェントと小一時間やり取りを続けていました。会話が長くなったので /compact で圧縮し、続きを頼んだところ、返ってきた提案が表の内容とまるで噛み合いません。
表を読んでいないのか、読んだうえで忘れたのか、そもそも添付が届いていなかったのか。画面からは区別がつかず、手が止まりました。
最初にお伝えしたいのは、この区別は推測ではなく、小さな実験で付けられるということです。必要なのは、中身が一目で分かる合言葉入りのファイル 1 つだけです。
まず版を確かめます
私が確認できた範囲では、Antigravity CLI の更新履歴に次の記述があります。ただし出どころは第三者の更新履歴まとめで、公式の changelog 本文までは確認できておりません。ご自身の環境では公式の記載も合わせてご覧ください。
- v1.3.5(10 月 14 日): Linux と macOS で
/compactが使えるようになりました - v1.4.6(10 月 23 日): compaction のあとも添付が保持されるようになりました
つまり v1.4.6 より前の版では、圧縮後に添付の中身が手元の会話から外れる可能性があった、という読み方になります。「可能性があった」と書くのは、私自身がその版で再現を確かめたわけではないからです。
まずは自分の版を確認します。
agy --versionv1.4.6 以降であれば、版が原因である線は薄くなります。その場合でも、次の実験は有効です。添え方や会話の側に原因があるかもしれないからです。
合言葉ファイルで「届いているか」を調べます
何を解決するか。添付が圧縮の前に届いていたのか、圧縮の後で失われたのかを、一つずつ切り離します。
# 他の会話に出てこない合言葉を作り、1 行だけのファイルにする
TOKEN="canary-$(date +%H%M%S)-$RANDOM"
echo "確認用の合言葉は ${TOKEN} です。" > canary.txt
echo "$TOKEN"次の順で、一つずつ確かめます。
- 新しい会話を始め、
canary.txtを添付して「このファイルの合言葉を答えてください」と頼みます。 - 答えが合っていれば、圧縮の前は届いています。ここで外れるなら、圧縮は無関係で、添え方の問題です。
/compactを実行します。- 「先ほど添付したファイルの合言葉をもう一度答えてください」と頼みます。
- 合っていれば、この版の圧縮では添付が残っています。外れる、または「分かりません」と返るなら、圧縮で外れています。
なぜこう組むのか。合言葉は私が今作った文字列ですので、エージェントが推測や一般知識で正解を言い当てることができません。当たっていれば本当に読めており、外れていれば本当に読めていない、という二択になります。
結果の読み方
| 圧縮前 | 圧縮後 | 次にやること |
|---|---|---|
| 外れる | (試さない) | 添付のし方を見直します。圧縮は関係がありません。 |
| 当たる | 外れる | 版を上げて同じ実験を繰り返します。上がらない環境では、圧縮のあとに添付し直します。 |
| 当たる | 当たる | 添付は残っています。表のような大きな資料は、要点が薄まった可能性を疑います。 |
三行目が、私にはいちばん身近な落とし穴でした。合言葉は 1 行ですので残りやすいのに対し、表は 50 行あります。届いているかどうかと、細部まで拾えているかどうかは別の問いなのだと、あとから気づきました。
圧縮のあとにやり直すときの線引き
実験で外れた場合に、私が決めている手順は短いものです。
- 重要な添付は、圧縮の直後にもう一度添えます
- 作業の区切りで
/compactする癖をつけ、圧縮の直前に「これから残したいこと」を 3 行で書いてもらいます - 合言葉の実験は、版を上げた日に 1 回だけ回します
添付は、届いたと思い込まず、届いたことを確かめてから使います。 長い会話ほど、この一行を後回しにしないようにしています。
次の一歩
今日の作業が終わったら、canary.txt を作って上の 5 手順を一度だけ試していただければと思います。結果を一行のメモにしておくと、版を上げたときの比べ直しが楽になります。
関連して、圧縮ではなく上限超過で止まる場合は コンテキスト上限を超えたときの復旧手順 が、agy の基本操作は agy のセットアップとスラッシュコマンド入門 が参考になります。フックのように「読み込まれても動かない」種類の確認は フックの合言葉チェック と同じ発想です。