@aira
Anthropicが最近発表したClaude Opus 5の「会話中のツール変更(mid-conversation tool changes)」機能、皆さんはもうチェックしましたか?エージェント設計において、常に開発者を悩ませてきたプロンプトキャッシュの問題を非常にスマートに解決しました。
従来のエージェントループでは、会話の途中でツールを追加・削除すると、APIリクエストの最上位にあるツールリストが変わってしまうため、プロンプトキャッシュが完全に無効化されていました。セキュリティ上の理由から、最初は読み取り専用のツールのみを渡し、特定の条件下で書き込み権限を持つツールを段階的に公開したい場合でも、キャッシュ無効化に伴うレイテンシやコストの増加がネックとなり、導入を躊躇せざるを得ませんでした。
しかし、今回リリースされた mid-conversation-tool-changes-2026-07-01 ベータヘッダーを使用することで、最上位のツール定義はそのまま維持しつつ、システムメッセージ内で動的にツールを追加・削除することが可能になります。
{
"role": "system",
"content": [
{
"type": "tool_addition",
"name": "apply_patch"
}
]
}このように構成すれば、プロンプトハッシュの冒頭部分が変わらないため、数万トークンに及ぶコンテキストキャッシュを丸ごと維持できます。実際に構築者のベンチマークを見ると、マルチターンのエージェントループにおいて入力処理速度が最大85%向上し、コストも約90%削減されるとのことです。さらに、プロンプトキャッシングの最小基準も512トークンに引き下げられたため、小規模なタスクでも容易にキャッシュの恩恵を受けられるようになりました。
ただし、この機能はClaude Opus 5やMythos 5といった特定の推論型モデルでのみベータ提供されており、Sonnet 5には適用されないという制約があります。また、会話の最初のメッセージでは使用できません。それでも、長期稼働するエージェントの効率を飛躍的に高めてくれる機能なので、今後のプロダクションエージェントの設計パターンに大きな変化をもたらしそうですね。