このページは英語版ドキュメントの翻訳です。コマンド、識別子、例はそのままです。ランタイム 7.24.4 · SDK 2.6.7。 英語版
ローカル証拠キャッシュ
状態: メモリは既定で有効。RocksDB はオプトイン
範囲: 現行状態
最終確認: 2026-09-13
担当: ax-code ランタイム
AX Code は、既定で上限付きのインメモリ証拠キャッシュを使い、既存の SQLite ストレージと並べて、任意の RocksDB 永続化を使えます。SQLite は完全なセッション履歴と検証記録を保持します。キャッシュには、破棄可能な描画済みテキストと構文上のシンボルが含まれます。権限は変えず、新しい検証としては数えません。
既定のメモリモードは RocksDB データベースを開きません。ソースインストールで永続化を選ぶには、ネイティブ対応をビルドし、RocksDB を明示的に選択します。
pnpm build:native fs
AX_CODE_EVIDENCE_CACHE=rocksdb pnpm run dev
AX_CODE_EVIDENCE_CACHE=memory は、永続ストレージなしの、既定の上限付きプロセス内再利用を明示的に選びます。RocksDB モードでは、ネイティブ対応がない場合、別のランタイムがデータベースロックを保持している場合、またはキャッシュが失敗した場合は、診断とともにメモリへフォールバックします。標準のファイルシステムアドオンビルドには、明示的なオプトイン用の RocksDB が含まれます。リリースビルドは、パッケージされたアドオンがキャッシュを書き込み、再度開けることを検証します。ネイティブ操作は JavaScript のイベントループの外で実行されます。
最大 1 MiB のテキスト読み取りは、現在のソースバイトを検証し、内容、パス、範囲、形式が一致するときに描画済み範囲を再利用します。より大きなファイル、外部読み取り、ディレクトリ、添付ファイルは読み取りキャッシュに入りません。リポジトリの指示とファイル読み取りのスタンプはライブのままです。構文抽出は、同一のソースと言語についてシンボルを再利用できます。これらのシンボルは、意味上の参照や呼び出し元を確立しません。
どちらのキャッシュモードでも、現在のモデルリクエストですでに見えている、繰り返された完全なテキスト読み取り結果は、最初の結果への短い参照を使います。元の完全なツール出力はセッション履歴に残ります。コンパクションは可視性を再構築します。以前のコピーがない場合、後の読み取りは全文で描画されます。バイト単位で同一の、繰り返されたページ分割読み取り、grep、glob のビューも、最初に返された完全なビューを参照できます。各参照は、元の切り詰めフッターと継続の案内を保持します。省略されたソース内容は利用できません。指示を含む結果、メディア、エラー、行で切り取られた結果、認識できない部分結果は、原文のままです。これはモデル入力を変えるものであり、正規の履歴やツール実行は変えず、プロバイダーの課金削減を確立しません。
キャッシュヒットは描画または解析を節約します。ソース検証の読み取りや、モデルが要求したツール呼び出しをなくすものではありません。依存する探索を、より少ないモデル往復にまとめるには、既存の experimental.read_only_recipes オプションを明示的に有効にし、上限付きの選択とともに read_recipe を使います。上限付きの構造概要には code_intelligence を operation: "buildContext" とともに使います。どちらのオプションも、キャッシュによって自動では有効になりません。
選択した場合、永続キャッシュは通常の AX Code キャッシュディレクトリ配下の evidence-v1 にあり、プロジェクトインスタンスディレクトリごとに別のデータベースを持ちます。RocksDB への取り込みは、1024 エントリと論理値 32 MiB に制限されます。物理ディスク使用量には、エンコード、ログ、コンパクションのオーバーヘッドも含まれます。どちらのモードも、プロセスあたりプロジェクトインスタンスあたりのインメモリ再利用を、128 エントリとシリアライズ値 4 MiB に制限します。これはプロセス全体の RAM 上限ではありません。メモリエントリはインスタンスの破棄時に消去され、プロセス終了後は残りません。エントリは 24 時間後に期限切れになり、検索時に検証されます。容量による退避は、破棄可能なネイティブエントリを一括で消すことがあります。既存の SQLite データは移行もバックフィルもされません。
ストレージの再利用とモデル入力の重複排除の両方を無効にするには、AX_CODE_EVIDENCE_CACHE=off を設定して AX Code を再起動します。未設定または空の値はメモリを使います。認識できない空でない値はキャッシュを無効にします。新しい既定を適用するには既存のランタイムを再起動し、メモリを使うには明示的な rocksdb の上書きを削除します。既存の永続キャッシュファイルは保持されます。SQLite のロールバックは不要です。evidence-v1 を手動で削除する前にランタイムを停止してください。ランタイムがキャッシュを使っている間は、RocksDB のロックファイルを削除しないでください。
機能をビルドしたあとのローカルなネイティブ適格性確認:
cd packages/ax-code
AX_TEST_EVIDENCE_NATIVE=1 AX_TEST_FILES=test/evidence/cache-native.test.ts,test/evidence/cache-eval.test.ts pnpm exec vitest run --retry 0
固定フィクスチャの評価は、要求された読み取り、描画ヒット、省略された出力バイト、経過時間を別々に報告します。これはライブモデルのベンチマークではなく、プロバイダーのトークン課金に関する主張でもありません。
問題を報告するときは、AX Code のバージョン、OS とアーキテクチャ、ax-code doctor の出力、off または memory が動作を変えるかどうか、可能であれば再現できるタスクを含めてください。Doctor は要求されたモードとネイティブ能力を報告します。別の実行中プロセスがプロジェクトキャッシュを所有しているかどうかは判定できません。プロジェクトのロックや I/O のフォールバックはランタイムログに現れます。フィードバックやキャッシュされたソース内容は自動ではアップロードされません。既存の公開バイナリは、更新されたリリースをインストールしたあとにのみ、これらの既定を取得します。