Skip to content

原文(日本語に翻訳)

コンパクション後に内部キャッシュをクリアすることで、長いセッションでのメモリ使用量を改善しました。

原文(英語)

Improved memory usage during long sessions by clearing internal caches after compaction

概要

Claude Codeがコンテキストウィンドウの圧縮(コンパクション)を行った後、内部キャッシュも自動的にクリアされるようになりました。コンパクションは長いセッションでコンテキストが一定サイズを超えた際に自動的に実行されます。このキャッシュクリアにより、コンパクション後のメモリ使用量がさらに削減されます。

基本的な使い方

この改善は自動的に適用されます。ユーザーによる操作は不要です。コンパクションが発生する長いセッションで効果が現れます。

bash
# 長いセッションを開始
claude

# 多くの作業を行うと自動的にコンパクションが発生
# コンパクション後: メモリ使用量が改善される
> [長い作業を継続...]
# → コンテキストのコンパクションが自動実行
# → コンパクション後に内部キャッシュもクリア
# → メモリ使用量が削減

実践例

ユースケース1: 大規模リポジトリでの長時間作業

大規模なコードベースを扱う長時間セッションでの安定性向上。

bash
# 大規模プロジェクトで長時間作業するセッション
claude

> リポジトリ全体の構造を把握して
> src/ 以下のすべてのファイルをレビューして
> テストカバレッジを確認して
# ... 多くのファイルを読み込む作業 ...

# コンパクションが自動実行される
# [Compacting context...]

# コンパクション後: 内部キャッシュもクリアされメモリが解放
> 次のタスク: パフォーマンス改善を実施して
# → 継続して安定動作

ユースケース2: 繰り返しコンパクションが発生するセッション

非常に長いセッションで複数回コンパクションが発生する場合。

bash
# 数時間に及ぶ長時間セッション
claude

# 第1回コンパクション: コンテキスト圧縮 + キャッシュクリア
# 第2回コンパクション: コンテキスト圧縮 + キャッシュクリア
# ...

# 修正前: コンパクションのたびにキャッシュが蓄積
# 修正後: コンパクションのたびにキャッシュもクリア
# → メモリ使用量がより安定

ユースケース3: メモリ使用量のモニタリング

長いセッションでのメモリ使用量の変化を観察する方法。

bash
# 別のターミナルでメモリ使用量を監視
watch -n 5 'ps aux | grep claude | grep -v grep | awk "{print \$6}"'

# Claudeセッションを長時間実行
claude

# コンパクション前後でメモリ使用量の変化を確認
# v2.1.50以降: コンパクション後によりメモリが解放される

注意点

  • コンパクションはコンテキストウィンドウが一定のしきい値に達した際に自動的に実行されます。ユーザーが手動でトリガーすることはできません。
  • キャッシュクリアはコンパクションと同時に行われるため、追加の待ち時間は発生しません。
  • この改善は他のメモリ最適化(ツール結果のクリア、スナップショットのキャップなど)と組み合わさって、v2.1.50全体で大幅なメモリ効率の改善をもたらします。
  • メモリ使用量の改善効果はセッションの長さとキャッシュされていたデータ量によって異なります。

関連情報