Opencode-DCP/opencode-dynamic-context-pruning
Dynamic context pruning plugin for OpenCode - intelligently manages conversation context to optimize token usage
何を解決するか
OpenCodeセッションにおける古くなったコンテキストによるトークン消費の削減と幻覚の防止を実現します。会話履歴を管理することで、LLMがコンテキストウィンドウを超えることや、重複する情報にトークンを無駄に使わないようにします。
動作方法
DCPは元のセッション履歴を変更せずにコンテキストを管理します。代わりに、削除されたコンテンツをプレースホルダーに置き換えた上でLLMにリクエストを送信します。主に以下の3つのメカニズムを使用します:
- 圧縮:モデルが古くなったまたは閉じられた会話の範囲(範囲モード)または個々のメッセージ(メッセージモード)を高忠実度の技術的要約に置き換えるツール。複数の圧縮レイヤーにわたって情報を保持できるネスト可能な要約が可能。
- 重複削除:同じ引数を持つ繰り返しのツール呼び出しを識別し、最新の出力のみを保持して削除。
- エラーの削除:設定可能なターン数後に、エラーが発生したツール呼び出しの入力内容を削除しつつ、エラーメッセージ自体は保持。
対象ユーザー
長時間のコーディングセッションを実施し、トークン消費を最適化し、モデルのパフォーマンスを維持したいOpenCodeユーザー。
特徴
- モデル駆動の圧縮:タスクの完了に基づいてモデルがいつ圧縮するかを決定し、静的トリガーに依存しない。
- 柔軟なモード:連続した範囲の圧縮と、個々のメッセージに対する精密な圧縮の両方をサポート。
- 設定可能な保護:特定のツール出力、ファイルパターン、またはユーザーのメッセージを削除から保護できる。
- カスタマイズ可能なプロンプト:システム動作や圧縮の促しを編集可能なプロンプトオーバーライドを提供。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- Dispatch