Claude

用語
- MCP
- https://modelcontextprotocol.io/introduction
-
MCP is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications. Just as USB-C provides a standardized way to connect your devices to various peripherals and accessories, MCP provides a standardized way to connect AI models to different data sources and tools.
- TTL
- Time To Live (生存期間)

プロンプトキャッシング
概要
プロンプトキャッシングは、プロンプト内の特定のプレフィックスから再開できるようにすることで、API使用を最適化する強力な機能です。このアプローチにより、繰り返しのタスクや一貫した要素を持つプロンプトの処理時間とコストが大幅に削減されます。
対象
- リクエスト内のほとんどのブロックはキャッシュ可能
- ツール:tools配列内のツール定義
- システムメッセージ:system配列内のコンテンツブロック
- テキストメッセージ:ユーザーとアシスタントの両方のターンのmessages.content配列内のコンテンツブロック
- 画像とドキュメント:ユーザーターンのmessages.content配列内のコンテンツブロック
- ツールの使用とツール結果:ユーザーとアシスタントの両方のターンのmessages.content配列内のコンテンツブロック
- 思考ブロックはキャッシュ不能
ベストプラクティス
?
- プロンプトの処理時間?
- Claudeがプロンプトを処理するプロセスはどのようになっているか
- それぞれの機能はClaude Codeでもサポートされているのか

拡張思考を使った構築
概要
拡張思考はClaudeに複雑なタスクのための強化された推論能力を提供し、最終的な回答を提供する前に、段階的な思考プロセスに対してさまざまなレベルの透明性を提供します。
拡張思考がオンになると、Claudeは内部的な推論を出力するthinkingコンテンツブロックを作成します。Claudeは最終的な回答を作成する前に、この推論からの洞察を取り入れます。
周辺機能
拡張思考はツール使用と併用でき、Claudeがツール選択と結果処理を推論できるようにします。
備考
- プロンプトキャッシングと併用する際は制約がある
- 拡張思考を使用したコンテキストウィンドウ
ベストプラクティス
-
拡張思考のベストプラクティスと考慮事項
- 思考トークンをどれだけ設定するか
- どのようなタスクに適しているか
-
数学、コーディング、分析などのステップバイステップの推論から特に恩恵を受ける特に複雑なタスクに拡張思考を使用してください。
-

バッチ処理
概要
バッチ処理は、大量のリクエストを効率的に処理するための強力なアプローチです。リクエストを一度に1つずつ処理して即時に応答するのではなく、バッチ処理では複数のリクエストをまとめて非同期処理のために送信できます。このパターンは特に以下の場合に役立ちます:
- 大量のデータを処理する必要がある場合
- 即時の応答が必要ない場合
- コスト効率を最適化したい場合
- 大規模な評価や分析を実行している場合
機能
- レスポンスの確認は、バッチのステータスをポーリングし、すべてのリクエストの処理が終了したら結果を取得できる
- ほとんどのバッチは1時間以内に完了する
- すべてのメッセージが完了した時点、または24時間後のいずれか早い方でバッチ結果にアクセスできる
- 24時間以内に処理が完了しないバッチは期限切れになる
- レート制限は、Batches API HTTPリクエストと処理待ちのバッチ内のリクエスト数の両方に適用される
- Messages APIに対して行えるリクエストはすべてバッチに含められる

引用
概要
Claudeは、ドキュメントに関する質問に回答する際に詳細な引用を提供することができ、レスポンス内の情報ソースを追跡して検証するのに役立ちます。
なぜ引用を利用するか
-
cited_text
は出力トークンに計上されないためコスト減につながる - 一般的な意味での引用と同様、引用先が存在するので出力結果の正確性の担保につながる

多言語サポート
言語別パフォーマンス比較
-
https://docs.anthropic.com/ja/docs/build-with-claude/multilingual-support#パフォーマンスデータ
- 英語をベースライン(100%)と比較し、日本語のパフォーマンスは
- Claude Opus 4(拡張思考有効):96.2%
- Claude Sonnet 4(拡張思考有効):95.6%
- これらのパフォーマンスは、人間の翻訳家に翻訳させた英語テストセットに基づいて計測した指標
- (あまりよくわからないが…)
ベストプラクティス
- 明確な言語コンテキストを提供する:Claudeは対象言語を自動的に検出できますが、希望する入力/出力言語を明示的に述べることで信頼性が向上します。流暢さを高めるために、「ネイティブスピーカーのような慣用的な表現」を使用するようClaudeに指示することができます。
- ネイティブの文字を使用する:最適な結果を得るためには、音訳ではなく、その言語本来の文字でテキストを提出してください
- 文化的コンテキストを考慮する:効果的なコミュニケーションには、純粋な翻訳を超えた文化的・地域的な認識が必要なことがよくあります

トークンカウント
概要
トークンカウントを使用すると、メッセージをClaudeに送信する前にメッセージ内のトークン数を確認でき、プロンプトと使用状況について情報に基づいた決定を下すことができます。トークンカウントにより、以下のことが可能になります:
- レート制限とコストを事前に管理する
- スマートなモデルルーティングの決定を行う
- プロンプトを特定の長さに最適化する
?
- 具体的にどのように利用するのか?
トークンカウント機能を使用したスマートなモデルルーティングの決定とプロンプト最適化の具体的な利用例をご紹介します。
スマートなモデルルーティングの決定
1. 複雑度に基づくモデル選択
簡単な質問や一般的な質問をClaude 3.5 Haikuに、難しい質問や珍しい質問をClaude 3.5 Sonnetなどのより高性能なモデルに振り分けることで、コストと速度を最適化できます1。
2. カスタマーサービスでの分類
異なるタイプのカスタマーサービスクエリ(一般的な質問、返金リクエスト、技術サポート)を異なる下流プロセス、プロンプト、ツールに振り分けることができます1。
3. トークン数による自動判定
事前にトークンカウントAPIを使用してクエリの複雑さを測定し、以下のような基準でモデルを選択できます:
python
import anthropic
client = anthropic.Anthropic()
response = client.messages.count_tokens(
model="claude-opus-4-20250514",
system="You are a scientist",
messages=[{
"role": "user",
"content": "Hello, Claude"
}],
)
print(response.json())
2
プロンプトの特定長さへの最適化
1. レート制限とコストの事前管理
トークンカウント機能により、Claudeにメッセージを送信する前にメッセージ内のトークン数を決定でき、プロンプトと使用量について十分な情報に基づいた決定を行うことができます2。
2. 段階的なプロンプト構築
文書の概要を作成し、その概要が特定の基準を満たしているかをチェックしてから、概要に基づいて文書を作成するといったプロンプトチェーンワークフローで、各段階でトークン数を制御できます1。
3. コンテキストウィンドウの最適化
以下のような要素を含むメッセージでトークンカウントを実行し、最適な長さに調整できます:
ツール定義を含むメッセージ2
画像を含むメッセージ2
PDFを含むメッセージ2
拡張思考を含むメッセージ2
4. 実用的な最適化例
マーケティングコピーを生成してから別の言語に翻訳する場合、各段階でトークン数を測定し、コンテキストウィンドウ内に収まるよう調整できます1。
これらの機能により、効率的なAIワークフローを構築し、コストとパフォーマンスのバランスを取ることができます。