Claude開発者プラットフォームにおける高度なツール使用機能の導入
Claudeが動的にツールを発見・学習・実行できる3つの新ベータ機能が追加されました。
キーポイント
Claude開発者プラットフォームに動的ツール検索・実行・学習機能を追加
従来のツール定義によるコンテキストウィンドウ圧迫問題を解決
コード実行環境でのツール呼び出しにより推論効率を向上
使用例ベースの学習でAPI利用パターンを効果的に伝達
影響分析・編集コメントを表示
影響分析
この発表はAIエージェント開発における根本的な課題であるコンテキスト効率化とツール統合の新たなアプローチを示しており、大規模ツールライブラリを扱う実用的なAIアプリケーションの実現可能性を大幅に高める。特にエンタープライズ環境での複雑なワークフロー自動化や開発者支援ツールの進化に直接寄与する技術的進展と言える。
編集コメント
Anthropicが実用的なAIエージェント構築の核心課題に直接取り組む技術的進展を発表。特に大規模ツール統合時のコンテキスト効率化は業界全体の課題解決に貢献する可能性がある。
アンソピックは、Claude開発者プラットフォームにおいて、AIエージェントの能力を大幅に拡張する3つの新機能をベータ版として導入しました。これらは、ツールを動的に発見・学習・実行することを可能にし、より強力で効率的なエージェント構築への道を開くものです。
背景にあるのは、数百から数千ものツールをシームレスに連携させる未来のAIエージェント像です。例えば、Git操作、ファイル操作、パッケージマネージャー、テストフレームワーク、デプロイパイプラインを統合するIDEアシスタントや、Slack、GitHub、Google Drive、Jira、社内データベース、多数のMCPサーバーを同時に接続する業務調整役などが想定されています。
効果的なエージェントを構築するには、あらかじめ全てのツール定義をコンテキストに詰め込むことなく、無制限のツールライブラリを扱える必要があります。従来の方法では、ツールの結果や定義だけで5万トークン以上を消費し、エージェントがリクエストを読み始める前に大量のコンテキストを占有する問題がありました。エージェントは、現在のタスクに関連するものだけを保持し、必要に応じてツールを発見・ロードするべきです。
また、エージェントはコードからツールを呼び出す能力も必要とします。自然言語によるツール呼び出しでは、毎回完全な推論パスが必要であり、中間結果が有用かどうかに関わらずコンテキストに蓄積されてしまいます。ループ、条件分岐、データ変換といったオーケストレーションロジックにはコードが自然に適合します。エージェントは、タスクに応じてコード実行と推論のいずれかを柔軟に選択できる柔軟性が求められます。
加えて、エージェントはツールの正しい使用方法を、単なるスキーマ定義ではなく、実例から学ぶ必要があります。JSONスキーマは構造的な有効性を定義できますが、使用パターン(オプションパラメータを含めるべきタイミング、意味をなす組み合わせ、APIが期待する規約など)を表現することはできません。
これらの課題を解決するために導入された3つの機能は以下の通りです。
- ツール検索ツール: Claudeが検索ツールを使用して何千ものツールにアクセスできるようにし、自身のコンテキストウィンドウを消費しないようにします。
- プログラムによるツール呼び出し: Claudeがコード実行環境内でツールを呼び出せるようにし、モデルのコンテキストウィンドウへの影響を軽減します。例えば、「Claude for Excel」ではこの機能を用いて、モデルのコンテキストを圧迫することなく数千行のスプレッドシートの読み書きを行っています。
- ツール使用例: 特定のツールを効果的に使用する方法を示すための普遍的な標準を提供します。
内部テストでは、これらの機能により、従来のツール使用パターンでは実現不可能だった構築が可能になったことが確認されています。具体的には、5つのMCPサーバーをセットアップした場合、58のツールが約55Kトークンを会話開始前に消費し、Jiraのような追加サーバー(単体で約17Kトークン)を含め
原文を表示
Engineering at AnthropicIntroducing advanced tool use on the Claude Developer Platform
We’ve added three new beta features that let Claude discover, learn, and execute tools dynamically. Here’s how they work.
The future of AI agents is one where models work seamlessly across hundreds or thousands of tools. An IDE assistant that integrates git operations, file manipulation, package managers, testing frameworks, and deployment pipelines. An operations coordinator that connects Slack, GitHub, Google Drive, Jira, company databases, and dozens of MCP servers simultaneously.
To build effective agents, they need to work with unlimited tool libraries without stuffing every definition into context upfront. Our blog article on using code execution with MCP discussed how tool results and definitions can sometimes consume 50,000+ tokens before an agent reads a request. Agents should discover and load tools on-demand, keeping only what's relevant for the current task.
Agents also need the ability to call tools from code. When using natural language tool calling, each invocation requires a full inference pass, and intermediate results pile up in context whether they're useful or not. Code is a natural fit for orchestration logic, such as loops, conditionals, and data transformations. Agents need the flexibility to choose between code execution and inference based on the task at hand.
Agents also need to learn correct tool usage from examples, not just schema definitions. JSON schemas define what's structurally valid, but can't express usage patterns: when to include optional parameters, which combinations make sense, or what conventions your API expects.
Today, we're releasing three features that make this possible:
Tool Search Tool, which allows Claude to use search tools to access thousands of tools without consuming its context window
Programmatic Tool Calling, which allows Claude to invoke tools in a code execution environment reducing the impact on the model’s context window
Tool Use Examples, which provides a universal standard for demonstrating how to effectively use a given tool
In internal testing, we’ve found these features have helped us build things that wouldn’t have been possible with conventional tool use patterns. For example, Claude for Excel uses Programmatic Tool Calling to read and modify spreadsheets with thousands of rows without overloading the model’s context window.
Based on our experience, we believe these features open up new possibilities for what you can build with Claude.
MCP tool definitions provide important context, but as more servers connect, those tokens can add up. Consider a five-server setup:
That's 58 tools consuming approximately 55K tokens before the conversation even starts. Add more servers like Jira (which alone uses ~17K tokens) and you're quickly approaching 100K+ token overhead. At Anthropic, we've seen tool definitions consume 134K tokens before optimization.
But token cost isn't the only issue. The most common failures are wrong tool selection and incorrect parameters, especially when tools have similar names like notification-send-user vs. notification-send-channel.
Instead of loading all tool definitions upfront, the Tool Search Tool discovers tools on-demand. Claude only sees the tools it actually needs for the current task.
All tool definitions loaded upfront (~72K tokens for 50+ MCP tools)
Conversation history and system prompt compete for remaining space
Total context consumption: ~77K tokens before any work begins
Only the Tool Search Tool loaded upfront (~500 tokens)
Tools discovered on-demand as needed (3-5 relevant tools, ~3K tokens)
Total context consumption: ~8.7K tokens, preserving 95% of context window
This represents an 85% reduction in token usage while maintaining access to your full tool library. Internal testing showed significant accuracy improvements on MCP evaluations when working with large tool libraries. Opus 4 improved from 49% to 74%, and Opus 4.5 improved from 79.5% to 88.1% with Tool Search Tool enabled.
The Tool Search Tool lets Claude dynamically discover tools instead of loading all definitions upfront. You provide all your tool definitions to the API, but mark tools with defer_loading: true to make them discoverable on-demand. Deferred tools aren't loaded into Claude's context initially. Claude only sees the Tool Search Tool itself plus any tools with defer_loading: false (your most critical, frequently-used tools).
When Claude needs specific capabilities, it searches for relevant tools. The Tool Search Tool returns references to matching tools, which get expanded into full definitions in Claude's context.
For example, if Claude needs to interact with GitHub, it searches for "github," and only github.createPullRequest and github.listIssues get loaded—not your other 50+ tools from Slack, Jira, and Google Drive.
This way, Claude has access to your full tool
関連記事
今日のまとめ
AI日報で今日の重要ニュースをまとめ読み