Skip to content

原文(日本語に翻訳)

  • SDK query() 呼び出しでのプロンプトキャッシュ無効化を修正し、入力トークンコストを最大12倍削減

原文(英語)

  • Fixed prompt cache invalidation in SDK query() calls, reducing input token costs up to 12x

概要

Claude Code SDKの query() 関数でプロンプトキャッシュが正しく機能していなかった問題が修正されました。この問題により、キャッシュが不必要に無効化され、同じプロンプトの処理でも毎回フルの入力トークンが消費されていました。修正後は、プロンプトキャッシュが正しく動作し、入力トークンのコストが最大12倍削減されます。

基本的な使い方

SDKの query() 関数を使用する際、特別な設定なしでプロンプトキャッシュが正しく機能するようになりました:

typescript
import { query } from "@anthropic-ai/claude-code";

// query()を繰り返し呼び出す場合、キャッシュが正しく効く
const result = await query({
  prompt: "このプロジェクトの構造を説明して",
  options: {
    maxTurns: 3,
  },
});

実践例

バッチ処理でのコスト削減

同じシステムプロンプトやコンテキストで複数のクエリを実行する場合に大幅なコスト削減が期待できます:

typescript
// 複数のクエリを順次実行
const queries = [
  "関数Aのテストを書いて",
  "関数Bのテストを書いて",
  "関数Cのテストを書いて",
];

for (const prompt of queries) {
  const result = await query({
    prompt,
    options: { maxTurns: 5 },
  });
  // 2回目以降のクエリでプロンプトキャッシュが効き、
  // 入力トークンコストが大幅に削減される
}

CI/CDパイプラインでの利用

自動化パイプラインでSDKを使用している場合、トークンコストの削減は運用コストに直結します:

typescript
// CI/CDでの自動コードレビュー
const reviewResult = await query({
  prompt: "変更されたファイルをレビューして問題点を指摘して",
  options: {
    maxTurns: 10,
  },
});
// キャッシュが正しく動作することで、
// 繰り返し実行のコストが大幅に削減

注意点

  • この修正はSDKの query() 関数を使用している場合にのみ影響します
  • CLI(対話的なClaude Code)では別のキャッシュメカニズムが使用されています
  • コスト削減の効果(最大12倍)はユースケースやプロンプトのサイズによって異なります
  • キャッシュの有効期間はAnthropicのAPIの仕様に依存します

関連情報