가입 후 초대 링크를 공유하면 동영상 재생 및 초대 보상을 받을 수 있습니다.

cv usk
@cv_usk
AI / Software Research Notes AI Agent, LLMOps, MLOps, Software Architecture 投稿は個人の意見です。
가입 May 2026
270 팔로잉 중    313
# ADKの便利で実践的な使い方 エージェントの「今の状態」を管理するState機能。動的プロンプトやスコープ付きデータ管理で、賢い対話を実現します🎯 📌 **タイトル**: State 🔗 **URL**: ## 🧩 概要 Stateは `session.state` としてアクセスできる、会話中の作業メモリです。ショッピングカートの中身や、予約フローで段階的に集めた情報など、「今この会話で必要なデータ」を保持します。 Stateの大きな特徴は**プレフィックスによるスコープ管理**です。 - `app:` - アプリ全体で共有されるデータ(全ユーザー共通設定など) - `user:` - ユーザー単位で共有されるデータ(ユーザーの好み設定など、セッションをまたいで保持) - `temp:` - 現在のセッション内でのみ有効な一時データ - プレフィックスなし - 通常のセッションスコープ さらに、`{state_var}` の形式でエージェントのインストラクションに埋め込むことで、動的プロンプトを実現できます。 ## 🛠 使い方 `session.state` に辞書形式で値を設定します。例えば `session.state["booking_date"] = "2026-07-15"`、`session.state["party_size"] = 4`、`session.state["seat_type"] = "window"` のように通常のセッションスコープで保存します。スコープ付きステートとして、`"user:preferred_language"` のように `user:` プレフィックスでユーザー単位の永続データを、`"temp:search_results"` のように `temp:` プレフィックスでセッション終了時に消える一時データを、`"app:maintenance_mode"` のように `app:` プレフィックスで全ユーザー共通のデータを設定できます。さらに、`Agent` の `instruction` に `{booking_date}` や `{party_size}`、`{user:preferred_language}` のようにプレースホルダーを埋め込むことで、ステートの値を動的にインストラクションへ反映できます。 ## 🏗 実践的な使い方 **レストラン予約フローでの活用:** 会話の中で段階的に情報を収集し、Stateに蓄積していきます。 1. 「明日の夜、4人で予約したいです」→ `booking_date`, `party_size` をStateに保存 2. 「窓際がいいです」→ `seat_type` を追加 3. 「アレルギーはナッツです」→ `allergies` を追加 4. 最終確認時、Stateから全情報を取り出して確認メッセージを生成 インストラクションに `{booking_date}` を埋め込んでおけば、エージェントは常に最新の予約状況を把握した上で応答できます。 **ユーザー設定の永続化:** `user:` プレフィックスを使えば、セッションが変わっても「この人は日本語を好む」「この人はベジタリアン」といった情報を引き継げます。 ## 💡 ユースケース - 🛒 ECサイト: カートの中身をStateで管理。`temp:` で検索フィルタ、`user:` で配送先住所 - ✈️ 旅行予約: 日程・人数・座席タイプを段階的にState蓄積 - 🤖 パーソナライズ: `user:` スコープでユーザーの好みを学習・永続化 - 📊 ダッシュボード: `app:` でシステム全体のステータスを共有 ## ⚠️ 注意点 - Stateに大量のデータを保存するとパフォーマンスが低下します。大きなデータはArtifactsの利用を検討してください - `app:` スコープの変更は全ユーザーに影響します。慎重に使いましょう - `{state_var}` でインストラクションに埋め込む場合、値が未設定だとプレースホルダーがそのまま表示されることがあります。デフォルト値を用意してください - Stateのキー名は衝突しないよう、命名規則を決めておくことをお勧めします ✨ Stateのスコープ管理と動的プロンプトを活用すれば、文脈を理解した賢いエージェントが構築できます。予約フローやパーソナライズに最適です! #ADK# #AIAgent#
더 보기