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

検索結果 TokenSale
TokenSale コミュニティ
1つのキーワードが1つのコミュニティです。
コミュニティ作成
アカウント
見つかりません
TokenSale を含む検索結果
# 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#
もっと見る
# ADKの便利で実践的な使い方 ## 🧠 長いセッションでもコストを抑える!ADKのContext Compaction機能 エージェントとの長い対話、コンテキストが膨らんでコストもレイテンシも増加していませんか?ADKの **Context Compaction** を使えば、古いイベントを自動要約して常にスリムなコンテキストを維持できます!🎯 ## 📌 タイトル Context Compaction(コンテキスト圧縮) ## 🔗 URL ## 🧩 概要 Context Compactionは、セッション中に蓄積されるワークフローイベントデータを自動的に要約し、処理オーバーヘッドを削減する機能です。スライディングウィンドウ方式で、最新のイベントはそのまま保持しつつ、古いイベントを圧縮することで、コストとレイテンシを最適化します。 `EventsCompactionConfig` を使って、圧縮間隔(`compaction_interval`)とオーバーラップサイズ(`overlap_size`)を設定するだけで有効になります。 ## 🛠 使い方 Appレベルで `EventsCompactionConfig` を設定します。 ` から `App` と `EventsCompactionConfig` をインポートします。`App` の `events_compaction_config` パラメータに `EventsCompactionConfig(compaction_interval=3, overlap_size=1)` を渡すことで、3イベントごとに圧縮が実行され、前回の圧縮から1イベント分を重複保持する設定になります。 TypeScriptでは `TokenBasedContextCompactor` でトークン閾値ベースの圧縮も可能です。 ```typescript const agent = new LlmAgent({ name: 'my-agent', model: 'gemini-flash-latest', contextCompactors: [ new TokenBasedContextCompactor({ tokenThreshold: 1000, eventRetentionSize: 1, summarizer: new LlmSummarizer({ llm: new Gemini({model: 'gemini-flash-latest'}) }) }) ] }); ``` ## 🏗 実践的な使い方 **カスタマーサポートボットでの活用例:** 長時間の問い合わせ対応では、対話履歴が数十ターンに達することがあります。Context Compactionを導入することで: 1. **コスト削減**:古い対話内容を自動要約し、毎回のLLM呼び出しで送信するトークン数を大幅に削減 2. **レスポンス改善**:コンテキストが小さくなることで、LLMの応答速度が向上 3. **精度維持**:直近のやり取りはそのまま保持するため、文脈を失わずに対話を継続 `compaction_interval=5, overlap_size=2` のような設定で、5ターンごとに圧縮しつつ、直前2ターン分の文脈を次の圧縮に引き継げます。 **カスタムサマライザーの活用:** デフォルトの要約モデルではなく、ドメイン特化の要約プロンプトを使うことで、業務固有の重要情報(注文番号、顧客IDなど)を確実に保持できます。 ## 💡 ユースケース - 📞 **カスタマーサポート**:長時間の問い合わせ対話でコンテキスト爆発を防止 - 📝 **ドキュメント作成支援**:長い執筆セッションで過去の議論を要約しつつ最新の方針を保持 - 🔍 **データ分析エージェント**:多段階の分析プロセスで中間結果を圧縮 - 🎮 **ゲームNPC**:長時間のプレイセッションで過去のイベントを要約して記憶 ## ⚠️ 注意点 - 圧縮は不可逆です。要約された情報の細部は失われる可能性があります - `overlap_size` が小さすぎると文脈の断絶が起きやすくなります - カスタムサマライザーを使う場合、要約モデル自体のコストも考慮が必要です - 圧縮間隔が短すぎると、頻繁な要約処理でオーバーヘッドが増加します ## ✨ まとめ Context Compactionは「長いセッション=高コスト」という常識を覆す機能です。設定一つで古いイベントを自動要約し、最新の文脈を保ちながらコストとレイテンシを最適化できます。長時間対話が発生するエージェントには、ぜひ導入を検討してみてください! #ADK# #AIAgent#
もっと見る
# ADK 2.0の便利だけど知られていない機能 🌍 長い会話を続けていると、コンテキストウィンドウがいっぱいになってエージェントの品質が低下した経験はありませんか? ADK 2.0のコンテキスト圧縮(コンパクション)機能は、古いイベントをスライディングウィンドウ方式で要約し、コンテキストウィンドウを効率的に管理する機能です。長時間の会話でもエージェントの応答品質を維持できます。 📌 タイトル:コンテキスト圧縮(コンパクション) 🔗 URL: 🧩 概要 コンテキスト圧縮は、会話が長くなった際に古いイベントを要約して圧縮する仕組みです。2つの主要パラメータで動作を制御します。compaction_intervalは圧縮を実行するイベント間隔、overlap_sizeは圧縮時に次のウィンドウに引き継ぐイベント数です。例えば、compaction_interval=3、overlap_size=1の場合、3イベントごとに圧縮が実行され、最後の1イベントは次のウィンドウにも含まれます。Pythonではアプリに設定し、TypeScriptではTokenBasedContextCompactorでトークンしきい値ベースの制御が可能です。カスタムサマライザーも実装できます。 🛠 使い方 PythonではEventsCompactionConfigをAppに設定します。 ```python from import App from google.adk.context import EventsCompactionConfig compaction_config = EventsCompactionConfig( compaction_interval=5, # 5イベントごとに圧縮 overlap_size=2, # 直近2イベントを次のウィンドウに引き継ぎ ) app = App( agent=my_agent, events_compaction_config=compaction_config, ) ``` TypeScriptではTokenBasedContextCompactorを使用します。 ```typescript import { TokenBasedContextCompactor } from '@anthropic-ai/adk'; const compactor = new TokenBasedContextCompactor({ tokenThreshold: 4000, }); ``` カスタムサマライザーが必要な場合は、LlmEventSummarizerを拡張して独自の要約ロジックを実装できます。 🏗 本番システムへの組み込み方 ・compaction_intervalを会話の平均長さに合わせて調整する ・overlap_sizeを大きくすると文脈の連続性が向上するが、圧縮効率は低下する ・カスタムサマライザーで業務ドメインに特化した要約を実装する ・圧縮前後のイベント数とトークン数をモニタリングし、パラメータを最適化する 💡 ユースケース 💬 カスタマーサポートの長時間チャットでコンテキスト品質を維持 📝 長期プロジェクト管理エージェントの会話履歴を効率的に圧縮 🎯 重要な情報を保持しながら不要な詳細を削減してコストを最適化 🔧 ドメイン固有のカスタムサマライザーで業務に最適な要約を実現 ⚠️ 注意点 圧縮により古いイベントの詳細な情報は失われます。重要な情報はStateに保存するなど、圧縮されても失われない設計を心がけてください。また、overlap_sizeが小さすぎると文脈の断絶が生じ、エージェントの応答品質が低下する可能性があります。compaction_intervalとoverlap_sizeのバランスを実際のユースケースでテストすることをお勧めします。 ✨ コンテキスト圧縮により、長時間の会話でもコンテキストウィンドウを効率的に活用できます。エージェントの応答品質とコスト効率の両立に大きく貢献する機能です。 #ADK# #AIAgent#
もっと見る