Register and share your invite link to earn from video plays and referrals.

cv usk
@cv_usk
AI / Software Research Notes AI Agent, LLMOps, MLOps, Software Architecture 投稿は個人の意見です。
Joined May 2026
258 Following    220 Followers
# OpenAI Agent SDKの便利だけど知られていない機能 🌍 ユーザーの権限やプランに応じて、使えるツールを動的に切り替えたいと思いませんか? `is_enabled` パラメータを使えば、ツールの有効/無効を条件付きで制御し、コンテキストに応じたツールセットを提供できます。 📌 タイトル:ツールの条件付き有効化 🔗 URL: 🧩 概要 `as_tool()` の `is_enabled` パラメータに `True`/`False` のブール値、またはコンテキストとエージェントを受け取るコールバック関数 `(ctx, agent) -> bool` を渡すことで、ツールの有効/無効を動的に制御できます。無効化されたツールはモデルのツールリストに表示されず、トークン消費も発生しません。フィーチャーフラグや権限ベースのアクセス制御に最適です。 🛠 使い方 ```python from agents import Agent, function_tool, RunContextWrapper @function_tool def admin_tool(command: str) -> str: return execute_admin(command) @function_tool def basic_tool(query: str) -> str: return basic_search(query) # コールバックで動的判定 def is_admin(ctx: RunContextWrapper, agent: Agent) -> bool: return ctx.context.user_role == "admin" agent = Agent( name="assistant", tools=[ admin_tool.as_tool(is_enabled=is_admin), basic_tool, ], ) ``` 🏗 本番システムへの組み込み方 ・SaaSのプランに応じてプレミアム機能のツールを出し分ける ・ユーザーのロール(admin/member/viewer)でツールのアクセス権を制御する ・フィーチャーフラグと連携し、新機能のA/Bテストやカナリアリリースに活用する ・コンテキスト情報(リージョン、時間帯など)に基づいてツールセットを最適化する 💡 ユースケース 🔐 管理者のみが使える運用ツールの制御 💎 有料プランユーザー向け高機能ツールの出し分け 🚀 新機能のフィーチャーフラグ連動 🌏 リージョンごとに利用可能なサービスの切り替え ⚠️ 注意点 `is_enabled` が `False` の場合、ツールはモデルに提示されないため、モデルはそのツールの存在自体を知りません。セキュリティ上の制御としては有効ですが、ユーザーに「この機能は利用できません」と案内したい場合は、別途メッセージングの仕組みが必要です。 ✨ 条件付きツール有効化で、ユーザーごとに最適なエージェント体験を提供しましょう。 #OpenAIAgentSDK# #AIAgent#
Show more