OpenClawSkills
GitHub
コア概念 • 5分で読める

セッションプルーニング

セッションプルーニング:コンテキストの肥大化を減らすためのツール結果プルーニング

セッションプルーニングは、各LLM呼び出しの前にメモリ内のコンテキストから''古いツール結果''をプルーニングします。ディスク上のセッション履歴(''*.jsonl'')を''書き換えません''。

Tutorial.step

実行タイミング

- ''mode: "cache-ttl"''が有効で、セッションの最後の人間メッセージが''ttl''より古い場合。

- そのリクエストでモデルに送信されるメッセージにのみ影響します。

- Anthropic API呼び出し(およびOpenRouter Anthropicモデル)に対してのみ有効です。

- 最良の結果を得るには、''ttl''をモデルの''cacheControlTtl''と一致させてください。

- プルーニング後、TTLウィンドウがリセットされるため、''ttl''が再び期限切れになるまで、後続のリクエストはキャッシュを保持します。

Tutorial.step

何がプルーニングされるか

プルーニングはツール結果にのみ適用されます:

- ''tool_result''メッセージ

- ''tool_use''メッセージは''プルーニングされません''(LLMがどのツールを呼び出したかを知るために必要)

Tutorial.step

プルーニング戦略

現在サポートされている戦略:

- Context size reduction: old tool results are removed, making context smaller

- 将来的には、より高度な戦略(重要度ベース、セマンティックプルーニングなど)が追加される可能性があります

ReferenceConceptsSessionPruningPage step 03: P4

Tutorial.step

Configuration

セッションプルーニングを有効にするには、エージェント設定で次のように設定します:

- Match TTL to models' ''cacheControlTtl''

{

"sessionPruning": {

"mode": "cache-ttl",

Tutorial.step

TTLの推奨値

Troubleshooting if pruning is not working as expected:

- Claude 3.5 Sonnet:''cacheControlTtl''

- Confirm you're using Anthropic API (doesn't work with other providers)

- Confirm the session's last human message is older than TTL

Tutorial.step

プルーニングの影響

Tutorial.step

プルーニングの制限

プルーニングには次の制限があります:

- Anthropic API(およびOpenRouter Anthropicモデル)でのみ機能します

Tutorial.step

プルーニングの監視

プルーニングの動作を監視するには、ログを確認します:

- プルーニングが実行されると、ログにメッセージが表示されます

- プルーニングされたメッセージの数がログに記録されます

- プルーニング後のコンテキストサイズがログに表示されます

Tutorial.step

プルーニングの無効化

To monitor pruning behavior, check the logs:

```json

{

"sessionPruning": {

Tutorial.step

ベストプラクティス

セッションプルーニングを効果的に使用するためのベストプラクティス:

- TTLをモデルの''cacheControlTtl''と一致させる

Tutorial.step

トラブルシューティング

プルーニングが期待通りに動作しない場合のトラブルシューティング:

- TTL値がモデルの''cacheControlTtl''と一致しているか確認する

- Anthropic APIを使用しているか確認する(他のプロバイダーでは機能しない)

- セッションの最後の人間メッセージがTTLより古いか確認する

- ログを確認して、プルーニングが実行されているか確認する

ReferenceConceptsSessionPruningPage step 11: P6

ReferenceConceptsSessionPruningPage step 11: P7

Tutorial.step

まとめ

セッションプルーニングは、長いセッションでのコンテキストの肥大化を防ぐための強力なツールです。TTLベースのプルーニング戦略を使用して、古いツール結果を削除し、コンテキストサイズを削減し、コストとパフォーマンスを向上させることができます。

Json5
{
  agent: {
    contextPruning: { mode: "off" },
  },
}

Anthropic APIと連携して動作し、モデルのキャッシュ制御設定と連携して最適な結果を提供します。

Json5
{
  agent: {
    contextPruning: { mode: "cache-ttl", ttl: "5m" },
  },
}

ReferenceConceptsSessionPruningPage step 12: P3

Json5
{
  agent: {
    contextPruning: {
      mode: "cache-ttl",
      tools: { allow: ["exec", "read"], deny: ["*image*"] },
    },
  },
}

ReferenceConceptsSessionPruningPage step 12: P4