登録して招待リンクを共有すると、動画再生報酬と紹介報酬を獲得できます。

cv usk
@cv_usk
AI / Software Research Notes AI Agent, LLMOps, MLOps, Software Architecture 投稿は個人の意見です。
参加 May 2026
258 フォロー中    220 ファン
# OpenAI Agent SDKの便利だけど知られていない機能 🌍 ツールが多すぎてトークンを圧迫していませんか?必要なときだけツールを読み込む仕組みがあります。 `defer_loading` と `ToolSearchTool` を組み合わせれば、モデルが必要なツールを検索して動的にロードでき、トークン消費を大幅に削減できます。 📌 タイトル:Hosted tool search / tool_namespace / defer_loading 🔗 URL: 🧩 概要 `@function_tool(defer_loading=True)` を指定したツールは、初回のモデル呼び出し時にはツールリストに含まれません。代わりに `ToolSearchTool()` をエージェントに追加すると、モデルはまずツールを検索し、必要なものだけをロードして使用します。`tool_namespace` でツールをグループ化することも可能です。大量のツールを持つエージェントで、トークン使用量を最適化する強力な機能です。なお、この機能は `OpenAIResponsesModel` でのみ利用可能です。 🛠 使い方 ```python from agents import Agent, function_tool from agents.tool import ToolSearchTool @function_tool(defer_loading=True, tool_namespace="analytics") def run_report(report_type: str) -> str: return generate_report(report_type) @function_tool(defer_loading=True, tool_namespace="analytics") def export_csv(dataset: str) -> str: return create_csv(dataset) @function_tool(defer_loading=True, tool_namespace="admin") def manage_users(action: str) -> str: return user_management(action) agent = Agent( name="assistant", tools=[ ToolSearchTool(), # ツール検索を有効化 run_report, export_csv, manage_users, ], ) ``` 🏗 本番システムへの組み込み方 ・数十〜数百のツールを持つエージェントでトークンコストを抑える ・`tool_namespace` でツールを論理的にグループ化し、検索精度を向上させる ・頻繁に使うツールは `defer_loading=False`(デフォルト)のままにし、稀に使うツールだけ遅延ロードにする ・ツール追加時にプロンプトサイズを気にせずスケールできる 💡 ユースケース 🧰 多機能SaaSエージェントのツール管理 📊 分析・レポート系ツールのオンデマンドロード 🔧 管理系ツールの必要時のみ表示 🚀 ツール数のスケーラビリティ確保 ⚠️ 注意点 この機能は `OpenAIResponsesModel` でのみ利用可能です。他のモデルプロバイダーでは動作しません。また、遅延ロードされたツールは最初のターンでは使えないため、ユーザーの最初のリクエストに即座に対応する必要があるツールには向きません。 ✨ ツール検索で「必要なときに必要なツールだけ」をロードし、スマートなエージェントを実現しましょう。 #OpenAIAgentSDK# #AIAgent#
もっと見る