メインコンテンツまでスキップ

コンテキスト圧縮

圧縮は、長い会話をモデルのコンテキストウィンドウ内で継続できるようにします。古いコンテキストを要約し、選択した分岐の最近の部分を保持します。元の会話エントリは保存されたままです。要約は会話記録を消さず、後続リクエストに使うコンテキストを変えます。

圧縮は会話コンテキストの管理です。USER.mdやMEMORY.mdに事実を書いたり、タスクを完了したり、全詳細の維持を保証したりするものではありません。重要な原資料はファイルに残し、正確な文章が重要ならコンテキスト参照を使います。

自動圧縮​

自動圧縮は既定で有効です。Anyyは選択したモデルのコンテキストウィンドウに対する使用量を確認し、次の応答用の余地を確保します。既定では16,384トークンを予約し、最近の約20,000トークンを保持します。モデルのセッション設定で予約量と保持量を上書きできます。

コンテキスト超過エラーや回復可能な応答長上限の後にも圧縮できます。復旧可能なら、同じ実行内で圧縮して再試行する処理を1回行います。次も超過または切り詰めが起きたら、コンテキストを減らすか、より大きなウィンドウのモデルを選びます。自動圧縮は無制限の再試行ループではありません。

要約生成は現在のモデル経路を使い、プロバイダー使用量が発生する場合があります。要約作成中は会話が一時停止することがあります。失敗時は不完全な要約を適用せず報告します。一部の補助仮想モデルの要約失敗では、元の応答準備を既存履歴のまま続けられます。

手動圧縮API​

接続されたRPCクライアントは次を要求できます。

{"method":"session.compress","params":{"session_id":"SESSION_ID","focus":"Preserve decisions and unresolved constraints"}}

focusは任意です。このメソッドは対象の実行中作業を停止し、落ち着くまで待って要約を1件作成します。中断したターンは自動再開しません。セッションが小さすぎるか圧縮済みなら、圧縮対象がないと報告する場合があります。

シェルCLIにはanyy compactサブコマンドはありません。Dashboard ChatとTUIにも手動圧縮ボタンや/compact//compressコマンドはありません。通常の会話には引き続き自動圧縮が適用されます。

分岐の表示と変更​

セッションが待機中にTUIの/treeを使います。

  1. Up/Downで既存エントリを選びます。
  2. 離れる分岐の要約が必要ならsを押します。選択画面に要約のオン/オフが表示されます。
  3. Enterで移動し、Escでキャンセルします。

ユーザーメッセージを選ぶと、その直前にアクティブコンテキストが移ります。入力欄が空の場合だけ、その文章が入力欄に戻ります。以前の分岐や兄弟分岐は残ります。次に送信したメッセージは新しく選んだ点から継続し、移動自体は返信を開始しません。

任意の分岐要約は、離れる分岐の有用なコンテキストを持ち越します。独立した要約エントリであり、新しい会話やメモリ更新ではありません。モデルとツールは選んだ分岐に従って復元されます。接続クライアントはsession.treeとsession.tree.navigateを使えます。独立した会話の作成は、別のsession.fork APIです。

再試行とキャンセル​

圧縮と分岐要約は、プロバイダートランスポートの再試行とは別の、ProfileのSession再試行ポリシーを共有します。操作は自らの再試行予算を維持します。要約をキャンセルするとモデル呼び出しが落ち着くまで待ち、既存履歴を維持し、不完全または切り詰められた要約を適用しません。

Agent再試行待ちでTUIのEscを押すと、その待機だけをキャンセルします。要約キャンセルのショートカットではありません。停止と入力欄への返却はセッションとTUIを参照してください。

トラブルシューティング​

症状対処
復旧後もコンテキストが超過する参照資料を減らす、大きなモデルを選ぶ、または新しいセッションを開始
要約生成に失敗するモデルと認証情報を確認し、必要なら対応APIから再試行
圧縮後に正確な詳細が欠ける元ファイルや上限付き参照を再添付
実行中は/treeが使えない応答を完了または停止してから移動
分岐のユーザー文章が入力欄に戻らない入力欄に下書きがあった。移動前に保存する

データベース圧縮は別の操作で、モデルコンテキストではなくデータベースの保存容量を減らします。