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

cv usk
@cv_usk
AI / Software Research Notes AI Agent, LLMOps, MLOps, Software Architecture 投稿は個人の意見です。
参加 May 2026
258 フォロー中    219 ファン
# ADKの便利で実践的な使い方 🚀 ツールの並列実行、レスポンスサイズの最適化、レイテンシとトークンコストの削減 — ADKのTool Performanceガイドで、本番環境のスループットを最大化しましょう。 📌 タイトル:Tool Performance — ツール実行の最適化手法 🔗 URL: 🧩 概要 ADKではツールのパフォーマンスを最適化するための複数のアプローチが提供されています。読み取り専用ツールの並列実行、レスポンスサイズの削減によるトークンコスト最適化、そしてレイテンシ削減のためのベストプラクティスがあります。本番環境で高いスループットを実現するためには、これらの最適化が不可欠です。 🛠 使い方 並列実行とレスポンス最適化の例です。 まず、読み取り専用のツールを複数定義します。`get_user_profile(user_id: str)`、`get_user_orders(user_id: str)`、`get_user_preferences(user_id: str)` のように副作用のない関数を用意すると、ADKはこれらを並列に実行できます。次に、レスポンスサイズを削減するツール設計として `search_products(query: str, limit: int = 5)` を定義し、戻り値では `id`、`name`、`price` など必要なフィールドのみを返し、画像URLや説明文全文、メタデータ等は省略します。最後に `Agent` を `name="customer_service"`、`model="gemini-2.5-flash"` で作成し、`tools` リストにこれら4つの関数を渡します。 🏗 実践的な使い方 **並列実行の判断基準**: 副作用がなく、互いに依存しないツールは並列実行が安全です。LLMは複数のツールを同時に呼び出すことができ、ADKがそれらを並列に実行します。データの取得系ツール(GET相当)は並列実行の良い候補です。 並列実行に適した設計として、互いに独立した `get_weather(city: str)`、`get_news(topic: str)`、`get_stock_price(symbol: str)` のようなツールを定義します。各ツールはそれぞれ天気情報、ニュース記事、株価をdictで返すだけの読み取り専用関数です。LLMがこれら3つを同時に呼び出すと、ADKが自動的に並列で実行します。 **レスポンスサイズの最適化**: ツールの戻り値はLLMのコンテキストウィンドウを消費します。不要なフィールドの除外、データの要約、ページネーションの実装でトークンコストを大幅に削減できます。 **レイテンシ最適化のチェックリスト**: 1. キャッシュ可能な結果はキャッシュする 2. 外部API呼び出しにタイムアウトを設定する 3. 不要に大きなデータを返さない 4. 複数の小さなツールに分割して並列実行を促す 💡 ユースケース 📊 ダッシュボード用の複数データソース並列取得 🔍 検索結果のフィールド絞り込みによるトークン節約 ⚡ マイクロサービス間の並列API呼び出し 💰 大量リクエスト環境でのトークンコスト最適化 ⚠️ 注意点 - 副作用のあるツール(書き込み・削除)を並列実行すると、競合状態が発生する可能性があります。書き込み系ツールは逐次実行を推奨します。 - レスポンスを削減しすぎると、LLMが十分な情報を得られず、ユーザーへの回答品質が低下する場合があります。必要な情報は確実に含めてください。 - ツールのタイムアウトが短すぎると、正常なレスポンスも中断される可能性があります。適切なタイムアウト値を設定しましょう。 ✨ 小さな最適化の積み重ねが、本番環境での大きなパフォーマンス差を生みます。まずはレスポンスサイズの見直しから始めてみましょう! #ADK# #AIAgent#
もっと見る