GitHub Repo
langchain-anthropic 1.7.4、会話中のツール追加・削除に対応
新バージョンではシステムメッセージを通じてツールの変更を伝えられるようになり、エージェントは段階的に利用可能な機能を調整できる。既存のプロンプトキャッシュを維持できる可能性もあるが、機能はモデル、メッセージの位置、キャッシュ設定に左右され、性能テストのデータはまだない。

LangChain は9月23日、ChatAnthropic が会話内の `SystemMessage` を通じてツールの追加・削除に関する情報を送信できる langchain-anthropic 1.7.4 をリリースした。パッケージは PyPI でも公開されている。長時間にわたるタスクを処理し、段階的に機能を利用可能にするエージェントにとって、この更新はフレームワークとプロバイダーのネイティブインターフェースの間にあったギャップを埋めるものだ。[リリースノート](https://github.com/langchain-ai/langchain/releases/tag/langchain-anthropic==1.7.4)、[パッケージページ](https://pypi.org/project/langchain-anthropic/1.7.4/)
マージ提案によると、従来はこうした内容が変換時に失われたり、原因を特定しにくい HTTP 400 エラーが発生したりする可能性があった。新バージョンでは `tool_addition` と `tool_removal` のブロックが保持され、ネイティブの辞書形式と `non_standard` ラッパーの両方を受け付ける。開発者はユーザーからの質問の後にツール定義を追加し、モデルが後続のステップでそのツールを呼び出せるようにできる。[マージ提案](https://github.com/langchain-ai/langchain/pull/40758)
エンジニアリング上の意義は、ツールの切り替えによるプロンプトキャッシュへの影響を抑えられることだ。Anthropic のドキュメントによると、トップレベルのツール一覧はキャッシュプレフィックスの先頭に置かれ、これを変更すると、それ以降のキャッシュが無効になる。一方、会話の後方に変更を追加すれば、既存のプレフィックスを維持できる。この仕組みにより、エージェントはタスクの進行に応じてツールを提供でき、初期の一覧を毎回書き換えずに済む。ただし、実際に節約できるかどうかは、キャッシュが有効かどうかやキャッシュヒットの状況による。[キャッシュとツール変更に関するドキュメント](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages)
実装では、送信するシステムメッセージを確認する。ブロックに新しいツール定義が直接含まれている場合は、inline-tools のベータ版ヘッダーを自動で追加する。ツールの追加・削除を参照情報だけで行う場合は、必要に応じて先行するツール変更用ヘッダーを補う。追加された統合テストでは Claude Opus 5.5 を使い、モデルが指定されたツール呼び出しを返すことを確認した。ただし、このテストでは長い会話の遅延、コスト、モデルをまたいだ成功率は測定していない。[コードとテスト](https://github.com/langchain-ai/langchain/pull/40758/files)
アップグレードに伴う互換性の変更もある。システムメッセージ内の認識できないコンテンツブロックは、今後削除され、警告が出る。また、会話中のツール変更がトップレベルに移動された場合、破棄されることがある。メンテナーは、最終的な回答だけを見てツール設定が反映されたと判断せず、実際に送信されたリクエストと警告ログを確認する必要がある。[変換ロジック](https://github.com/langchain-ai/langchain/pull/40758/files)
デプロイ前に、モデルとメッセージの位置に関する制約を確認する必要がある。キャッシュにも例外がある。初期の一覧に遅延ロード対象ではないツールが一つもない場合、メッセージ内で初めてツールを定義すると、キャッシュ全体が一度ミスする。[公式の制約](https://platform.claude.com/docs/en/build-with-claude/mid-conversation-system-messages) エンジニアリングチームは同じ会話履歴を使ってアップグレード前後のリクエストを再生し、追加、取り消し、再試行の流れを検証したうえで、キャッシュ読み取り量、入力コスト、最初のトークンが出るまでの遅延を比較できる。長い会話の履歴をすでに保持しているサービスでは、ツールの集合とエラー処理に一貫性があることも確認すると、インターフェース接続による効果と、モデル選択やキャッシュ設定による差を見分けやすくなる。