uhu、コンテキスト剪定プラグイン opencode-context-pruner を公開──OpenCode V2 の古いツール出力を Jev で自動間引き
会話全体を LLM で要約する従来方式とは異なり、判定モデル Jev で古いツール出力を原文のまま選択的に切り詰めることで、長時間セッションのトークン圧迫を解消する。
リリース: 2026-09-01 · 読了 3 分記事の要約
1. 核心(What)
- OpenCode V2(beta)向けのオープンソースプラグイン「opencode-context-pruner」が npm に公開された。
- 毎回のモデル呼び出し直前に session.hook("context") を経由し、古いツールコールと結果を Jev で判定する。
- 判定結果に基づき、不要な呼び出しを丸ごと落とすか、結果テキストを先頭 300 文字に切り詰める。
- ツール判定は tool_use_id 単位でキャッシュされ、API 呼び出しの失敗時は処理を素通しする fail-open 設計を採用している。
2. 影響(Why)
- 要約による細部の消失を防ぐ: 会話全体を要約すると数字やパスが消える問題を解決し、古いツール出力だけを原文のまま選択的に間引くことでモデルの推論精度を維持する。
- 国内エージェント開発現場のコスト最適化: [国内 AI アプリ受託開発・自社 SaaS 開発企業] のような現場で、長時間のコーディングセッションに起因するトークン料金の急騰と応答速度の低下を同時に解決する。
3. 根拠・詳細(How)
- Jev による 2 段階の判定ロジック: ツールコールごとに Jev へ keepCall(呼び出しの必要性)と keepResult(結果の全文必要性)の 2 問を問いかけ、判定をリクエストビューに適用する。
- 高速パスとキャッシュ機構: 判定は tool_use_id 単位でキャッシュされ、新しいツールコールが無いリクエストでは判定がスキップされ 1 ms 台の高速パスで処理される。
4. 展望・課題(Next)
- 閾値チューニングと今後の運用: Jev の誤判定リスクに備え、ログを監視しながら環境に応じた keepThreshold の最適値を調整していく必要がある。