註冊並分享邀請連結,可獲得影片播放與邀請獎勵。

cv usk
@cv_usk
AI / Software Research Notes AI Agent, LLMOps, MLOps, Software Architecture 投稿は個人の意見です。
加入 May 2026
282 正在關注    431 粉絲
# OpenAI Agent SDKの便利で実践的な使い方 🌍 エージェントの「お財布事情」を可視化しましょう。トークン使用量の追跡で、テナント別課金もステップ別モニタリングも実現できます。 Usage API を使えば、実行全体のトークン消費量から、ツール呼び出し・ハンドオフごとの内訳まで、きめ細かくコストを把握できます。 📌 タイトル:Usage 🔗 URL: 🧩 概要 OpenAI Agent SDK の Usage 機能は、エージェント実行のトークン消費を追跡するための仕組みです。`result.context_wrapper.usage` で実行全体の合計トークン数を取得でき、`result.context_wrapper.usage.request_usage_entries` でステップごと(ツール呼び出し・ハンドオフ・ガードレール)の内訳を確認できます。さらに RunHooks の `on_agent_end` でリアルタイムにログを記録したり、サードパーティモデル使用時に `ModelSettings(include_usage=True)` で使用量レポートを有効化したりできます。 🛠 使い方 `Agent(name="Assistant", instructions="ユーザーの質問に回答してください。")` でエージェントを作り、`result = await "量子コンピュータについて教えてください")` を実行します。` で合計・入力・出力トークン数を取得できます。`result.context_wrapper.usage.request_usage_entries` をループすれば、各リクエストの `entry.input_tokens` と `entry.output_tokens` でステップごとの内訳も確認できます。 🏗 実践的な使い方 **テナント/ユーザー別コスト計算** SaaS で「テナントごとにいくら使ったか」を記録し、課金や予算管理に活用するパターンです。 `handle_request(tenant_id, user_id, message)` のような関数で `result = await message)` を実行し、`calculate_cost(model="gpt-4.1", input_tokens=result.context_wrapper.usage.input_tokens, output_tokens=result.context_wrapper.usage.output_tokens)` でコストを算出、`await billing_db.record(tenant_id=tenant_id, user_id=user_id, total_tokens= cost_usd=cost, timestamp= でテナント別に記録します。 **ステップ別モニタリング** `request_usage_entries` で、どのツール呼び出しやハンドオフがトークンを消費しているかを特定します。 `result = await "売上レポートを作成して")` の後、`result.context_wrapper.usage.request_usage_entries` を `enumerate` でループし、各ステップの `entry.input_tokens` と `entry.output_tokens` を確認します。`entry.input_tokens > 5000` のような閾値で警告を出せば、トークン消費の多いステップを特定できます。 **RunHooks でリアルタイムログ** `on_agent_end` フックでエージェント終了時に使用量をログに記録します。 `RunHooks` を継承した `UsageLoggingHooks` クラスを作り、`on_agent_end(self, context: RunContextWrapper, agent: Agent, output)` メソッドで `context.usage` からトークン使用量を取得し、`"agent_completed", agent_name= total_tokens= ...)` で構造化ログに記録します。`await "質問", hooks=UsageLoggingHooks())` のように `hooks` パラメータで渡します。 **サードパーティモデルでの使用量レポート有効化** OpenAI 以外のモデルアダプタを使う場合、明示的に使用量レポートを有効にする必要があります。 サードパーティモデルでは `Agent(name="ThirdPartyAgent", instructions="...", model=my_custom_model_adapter, model_settings=ModelSettings(include_usage=True))` のように `ModelSettings(include_usage=True)` を明示的に設定して、使用量レポートを有効化します。 💡 ユースケース 💰 テナント別・ユーザー別のトークン消費をDBに記録し、従量課金の基盤を構築 📊 request_usage_entries でステップ別のトークン消費を可視化し、コスト最適化のボトルネックを特定 🔔 RunHooks の on_agent_end で使用量を構造化ログに記録し、リアルタイムでダッシュボード監視 🔌 サードパーティモデル利用時に ModelSettings(include_usage=True) で使用量追跡を漏れなく有効化 ⚠️ 注意点 - ` はリトライやガードレール再実行分も含まれるため、表示上のステップ数より多くなる場合があります。 - サードパーティモデルでは `include_usage=True` を設定しないと使用量がゼロで返ることがあります。アダプタのドキュメントを確認してください。 - コスト計算はモデルの料金体系に依存します。モデルごとの入力/出力トークン単価を正確に反映させましょう。 ✨ トークン使用量を3つのレベル(合計・ステップ別・フック)で追跡すれば、コスト管理も品質監視も万全です。まずは result.context_wrapper.usage から始めて、必要に応じてステップ別やフックでの追跡を追加していきましょう! #OpenAIAgentSDK# #AIAgent#
顯示更多