Google ADK 2.13.0、型付きルーティングとライブ音声を追加
Google のオープンソース Python エージェント開発キット v2.13.0 は、10 月 23 日に GitHub で公開され、メモの見出しは 10 月 22 日でした。ハイライトには、安定版に昇格した 12 の機能、TypeSafe Jev 分類子ノード、バージイン付きのライブ オーディオ、実験的な MongoDB セッションおよびメモリ サービスが含まれます。これらは、アップグレードとデータ保持のさまざまなリスクを伴う個別の機能です。
ADK 2.13.0はエージェント開発の選択肢を広げる
Google のオープンソース Python 用エージェント開発キットは、協定世界時 10 月 23 日に GitHub で v2.13.0 をリリースしました。リリースの見出しでは変更セットに 10 月 22 日というラベルが付けられているため、両方の日付が重要です。10 月 22 日はメモ内のバージョンの日付であり、10 月 23 日は GitHub の公開タイムスタンプです。ハイライトには、12 の実験的機能の安定ステータスへの昇格、型付き分類子ノード、中断サポートを備えたライブ オーディオ インタラクション、MongoDB を利用したセッションとメモリ、パフォーマンスの変更が含まれます。安定性の推進は、プロジェクトの管理者による機能レジストリに関する声明です。すべての依存アプリケーションが、独自のエージェント グラフと統合をテストせずにアップグレードできることを証明するものではありません。
分類子は汎用チャットモデルの呼び出しなしでルーティングできます
新しい `TypesafeClassifier` と `ClassifierNode` は、ワークフローのルーティングに TypeSafe の Jev モデルを使用します。リリース ノートによると、Jev は 1 回の順方向パスで調整された確率を返し、この狭い選択肢に対して LLM を使用するよりも高速です。開発者は、このようなノードを使用して、ユーザー リクエストを既知のワークフローにルーティングしたり、サポートされていないカテゴリを拒否したり、不確実な入力をエスカレーションしたりすることができます。注目すべきエンジニアリングの変更は、グラフ内の明確な分類器ステージであり、明確なモデルと出力コントラクトを備えています。この注記は、すべてのドメインにわたって普遍的に測定された遅延や精度の向上を提供するものではないため、ルーティング ポリシーを変更する前に、代表的なリクエストに対して主張を検証する必要があります。
分類子ルーティングには棄権パスが必要です。最高スコアが次点をわずかに上回っている場合、副作用のあるツールにリクエストを送信することは、説明を求めることよりも悪いことになる可能性があります。評価セットには、曖昧で多言語で敵対的な表現のリクエストが含まれている必要があり、チームはルールベースまたは以前の LLM ルーターに対して偽のルートを比較する必要があります。エージェントを使用して、ラベル セットとしきい値をバージョン管理します。校正された確率は、校正で使用される分布とラベルの下でのみ意味を持ちます。新しい顧客層がそれを変える可能性があります。これらはリリースの機能形状によって提案された導入テストであり、Google によって主張された指標ではありません。
リアルタイム音声と永続化は異なる課題を扱う
このリリースでは、Gemini の音声認識(speech-to-text)と音声合成(text-to-speech)の連携に加え、ユーザーの割り込みに対応したリアルタイム音声経路が追加されました。割り込みにより、応答の読み上げが終わる前にユーザーが発話できます。これはアクセシビリティと対話の制御に役立つ一方、状態管理にも影響します。音声が中断された時点で、エージェントはすでにテキストを生成し、ツールを起動している可能性があります。試験導入では、中断が生成だけを止めるのか、ツールの処理も止めるのか、あるいは聞こえる音声だけを変えるのかを定義する必要があります。公開ノートは機能とガイドを示しますが、各アプリケーションのキャンセル動作までは規定していません。
Google はまた、セッションを保持してランナー レプリカ間で共有できる「MongoDbSessionService」と、埋め込みやベクトル インデックスを必要とせずにキーワード マッチングによって以前のターンを呼び出す「MongoDbMemoryService」も導入しています。注では、両方の MongoDB サービスが実験的であることが明示されています。セッションの永続性と長期メモリは個別に評価する必要があります。セッション ストアはレプリカ間で現在の会話状態の一貫性を保ち、メモリの取得はどの古いファクトを戻すかを決定します。キーワード マッチングは透過的かつ低コストですが、同義語を見逃したり、無関係なテキストを取得したりする可能性があります。ユーザーは、ベクトル埋め込みが作成されていない場合でも、保存された会話の削除とアクセス制御ルールを必要とします。
導入には移行のリハーサルが必要です
メモに記載されている MongoDB ツールセットの変更には、接続文字列をアプリケーション バンドルにパックせずにエージェント エンジンにデプロイすることや、別の Google 埋め込み呼び出しを回避する Atlas 埋め込みパスが含まれます。この設計により、偶発的な資格情報の配布を減らすことができますが、データベース ID、ネットワーク ポリシー、保持を正しく構成する必要性がなくなるわけではありません。チームは、機密データではないデータを含むテスト データベースをステージングし、エージェントごとの分離を検証し、以前の ADK バージョンへのロールバックで新しいセッション レコードが読み取られるか安全に無視されることを確認する必要があります。実験的なラベルは、スキーマと障害時の動作をテストする理由であり、サービスが使用できないと主張する理由ではありません。
リリース ノートには実行パフォーマンスの向上についても言及されていますが、パフォーマンスはグラフの形状、モデルの応答時間、ツール呼び出しによって異なります。移行を判断するには、v2.13.0 の前後で、同じタスクの成功率、合計レイテンシ、ツールの待機時間、重複した副作用、メモリ取得の品質を記録します。コードとガイドにより、これらの変更が検査可能になります。集中的なアップグレードでは、動作動作が判明するまで実験用ストレージをクリティカル パスの外に置いたまま、安定化された機能を採用できます。オリジナルのバージョン ノートと GitHub リリースは 10 月 22 ~ 23 日に発行されたため、この技術項目は 10 月 25 日号に属します。 10 月 25 日のリリースは暗示されません。
Sources
FAQ
Google ADK Python 2.13.0 にはどの機能がありますか?
GitHub リリースでは、安定ステータスに昇格した 12 の実験的機能、TypeSafe Jev 分類子ノード、中断のあるライブ オーディオ、MongoDB を利用したセッションとメモリに焦点を当てています。 MongoDB サービスはまだ実験段階にあります。このメモの日付は 10 月 22 日で、GitHub は UTC 10 月 23 日にリリースを公開しました。この 10 月 25 日のダイジェストは、後の編集記事です。
分類子ノードをエージェント グラフに追加するのはなぜですか?
分類子ノードは、一般的なチャット モデルにワークフローの選択を求める代わりに、狭いルーティングの決定を明示的に行うことができます。 Googleのメモによると、Jevモデルは1回の順方向パスで調整された確率を返すという。チームは、副作用のあるツールにノードを接続する前に、偽のルート、曖昧さ、しきい値、棄権を自身のトラフィックでテストする必要があります。
チームは ADK の MongoDB サービスをどのようにテストすべきでしょうか?
レプリカ間のセッション永続性とキーワードベースの長期メモリにより、さまざまな問題が解決されます。両方の新しい MongoDB サービスは実験的としてマークされているため、チームはテスト データを使用し、分離と削除のルールを確認し、失敗とダウングレードの動作をリハーサルする必要があります。キーワード リコール パスは、埋め込みとベクトル インデックスを回避している場合でも、同義語を見逃す可能性があります。