Skip to content

ClassCat® AI Research

クラスキャット – Agno, AgentOS, MCP, LangChain/LangGraph, CrewAI

Menu
  • ホーム
    • ClassCat® AI Research ホーム
    • クラスキャット・ホーム
  • OpenAI API
    • OpenAI Python ライブラリ 1.x : 概要
    • OpenAI ブログ
      • GPT の紹介
      • GPT ストアの紹介
      • ChatGPT Team の紹介
    • OpenAI platform 1.x
      • Get Started : イントロダクション
      • Get Started : クイックスタート (Python)
      • Get Started : クイックスタート (Node.js)
      • Get Started : モデル
      • 機能 : 埋め込み
      • 機能 : 埋め込み (ユースケース)
      • ChatGPT : アクション – イントロダクション
      • ChatGPT : アクション – Getting started
      • ChatGPT : アクション – アクション認証
    • OpenAI ヘルプ : ChatGPT
      • ChatGPTとは何ですか?
      • ChatGPT は真実を語っていますか?
      • GPT の作成
      • GPT FAQ
      • GPT vs アシスタント
      • GPT ビルダー
    • OpenAI ヘルプ : ChatGPT > メモリ
      • FAQ
    • OpenAI ヘルプ : GPT ストア
      • 貴方の GPT をフィーチャーする
    • OpenAI Python ライブラリ 0.27 : 概要
    • OpenAI platform
      • Get Started : イントロダクション
      • Get Started : クイックスタート
      • Get Started : モデル
      • ガイド : GPT モデル
      • ガイド : 画像生成 (DALL·E)
      • ガイド : GPT-3.5 Turbo 対応 微調整
      • ガイド : 微調整 1.イントロダクション
      • ガイド : 微調整 2. データセットの準備 / ケーススタディ
      • ガイド : 埋め込み
      • ガイド : 音声テキスト変換
      • ガイド : モデレーション
      • ChatGPT プラグイン : イントロダクション
    • OpenAI Cookbook
      • 概要
      • API 使用方法 : レート制限の操作
      • API 使用方法 : tiktoken でトークンを数える方法
      • GPT : ChatGPT モデルへの入力をフォーマットする方法
      • GPT : 補完をストリームする方法
      • GPT : 大規模言語モデルを扱う方法
      • 埋め込み : 埋め込みの取得
      • GPT-3 の微調整 : 分類サンプルの微調整
      • DALL-E : DALL·E で 画像を生成して編集する方法
      • DALL·E と Segment Anything で動的マスクを作成する方法
      • Whisper プロンプティング・ガイド
  • Gemini API
    • Tutorials : クイックスタート with Python (1) テキスト-to-テキスト生成
    • (2) マルチモーダル入力 / 日本語チャット
    • (3) 埋め込みの使用
    • (4) 高度なユースケース
    • クイックスタート with Node.js
    • クイックスタート with Dart or Flutter (1) 日本語動作確認
    • Gemma
      • 概要 (README)
      • Tutorials : サンプリング
      • Tutorials : KerasNLP による Getting Started
  • Keras 3
    • 新しいマルチバックエンド Keras
    • Keras 3 について
    • Getting Started : エンジニアのための Keras 入門
    • Google Colab 上のインストールと Stable Diffusion デモ
    • コンピュータビジョン – ゼロからの画像分類
    • コンピュータビジョン – 単純な MNIST convnet
    • コンピュータビジョン – EfficientNet を使用した微調整による画像分類
    • コンピュータビジョン – Vision Transformer による画像分類
    • コンピュータビジョン – 最新の MLPモデルによる画像分類
    • コンピュータビジョン – コンパクトな畳込み Transformer
    • Keras Core
      • Keras Core 0.1
        • 新しいマルチバックエンド Keras (README)
        • Keras for TensorFlow, JAX, & PyTorch
        • 開発者ガイド : Getting started with Keras Core
        • 開発者ガイド : 関数型 API
        • 開発者ガイド : シーケンシャル・モデル
        • 開発者ガイド : サブクラス化で新しい層とモデルを作成する
        • 開発者ガイド : 独自のコールバックを書く
      • Keras Core 0.1.1 & 0.1.2 : リリースノート
      • 開発者ガイド
      • Code examples
      • Keras Stable Diffusion
        • 概要
        • 基本的な使い方 (テキスト-to-画像 / 画像-to-画像変換)
        • 混合精度のパフォーマンス
        • インペインティングの簡易アプリケーション
        • (参考) KerasCV – Stable Diffusion を使用した高性能画像生成
  • TensorFlow
    • TF 2 : 初級チュートリアル
    • TF 2 : 上級チュートリアル
    • TF 2 : ガイド
    • TF 1 : チュートリアル
    • TF 1 : ガイド
  • その他
    • 🦜️🔗 LangChain ドキュメント / ユースケース
    • Stable Diffusion WebUI
      • Google Colab で Stable Diffusion WebUI 入門
      • HuggingFace モデル / VAE の導入
      • LoRA の利用
    • Diffusion Models / 拡散モデル
  • クラスキャット
    • 会社案内
    • お問合せ
    • Facebook
    • ClassCat® Blog
Menu

Agno 2.x : エージェント – エージェント状態

Posted on 10/28/202510/28/2025 by Masashi Okumura

エージェントの状態について学習します。状態は、セッションの実行全体を通して維持する必要がある任意の種類のデータです。
Agno のエージェントは異なるセッション間や実行間で作業状態を維持しませんが、状態管理機能は提供しています。

Agno 2.x : Learn : エージェント – エージェント状態

作成 : クラスキャット・セールスインフォメーション
作成日時 : 10/28/2025
バージョン : Agno 2.2.1

* 本記事は docs.agno.com の以下のページを独自に翻訳した上で、補足説明を加えてまとめ直しています。スニペットはできる限り日本語を使用しています :

  • Learn : Agents – Agent State

* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。

 

クラスキャット 人工知能 研究開発支援サービス ⭐️ 創立30周年(30th Anniversary)🎉💐

◆ クラスキャット は人工知能に関する各種サービスを提供しています。お気軽にご相談ください :

  • 人工知能導入個別相談会(無償)実施中! [詳細]

  • 人工知能研究開発支援 [詳細]
    1. 自社特有情報を含むチャットボット構築支援
    2. 画像認識 (医療系含む) / 画像生成

  • PoC(概念実証)を失敗させないための支援 [詳細]

◆ お問合せ : 下記までお願いします。

  • クラスキャット セールス・インフォメーション
  • sales-info@classcat.com
  • ClassCatJP

 

 

Agno 2.x : Learn : エージェント – エージェント状態

エージェントの状態について学習します。

状態は、セッションの実行全体を通して維持する必要がある任意の種類のデータです。

エージェントの単純ながらも一般的なユースケースは、ユーザ向けにリスト、アイテムやその他の「情報」を管理することです。例えば、買い物リスト、todo リスト、ウィッシュリスト 等。これらは session_state を使用して簡単に管理できます。エージェントはツール呼び出しで session_state にアクセスや更新することができて、システムメッセージを通してモデルにそれらを公開できます。

そしてセッション状態は設定されたデータベースに永続化され、そのセッション内の実行全体で利用可能です。

Info : 「ステートレス性 (Statelessness)」の理解 : Agno のエージェントは異なるセッション間や実行間で作業状態を維持しませんが、状態管理機能は提供しています :

  • エージェントの session_state パラメータは新しいセッション用のデフォルトの状態テンプレートを提供します。

  • get_session_state() メソッドはデータベースから特定のセッションのセッション状態を取得します。

  • 作業状態は実行毎に管理されて、セッション毎にデータベースに永続化されます。

  • エージェントインスタンス (or その属性) 自体は実行中変更されません。

 

状態管理

Agno は強力で洗練された状態管理システムを提供します。それがどのように動作するかは以下の通りです :

  • エージェントの session_state パラメータをデフォルトの状態変数の辞書で設定できます。

  • ツール呼び出しやその他の関数で session_state 状態を更新できます。

  • description や instructions の状態変数を参照することで、システムメッセージ経由で現在の session_state を LLM と共有できます。

  • session_state を agent.run() に渡すこともできます、これはエージェントのデフォルト状態より優先されます。

  • session_state はデータベースにセッション毎に保存され、そのセッション内で実行全体にわたり永続化されます。

  • agent.run() で session_id 経由でセッションを切り替える場合、適切なセッション状態がデータベースからロードされます。

買い物リストを管理するエージェントの例は以下になります :

session_state.py

from agno.agent import Agent
from agno.db.sqlite import SqliteDb
from agno.models.openai import OpenAIChat

# アイテムを買い物リストに追加するツールの定義 
def add_item(session_state, item: str) -> str:
    """Add an item to the shopping list."""
    session_state["shopping_list"].append(item)
    return f"買い物リストは現在 {session_state['shopping_list']} です。"


# 状態を維持するエージェントの作成
agent = Agent(
    model=OpenAIChat(id="gpt-4.1"),
    # セッションとそれらの状態を保存するデータベース
    db=SqliteDb(db_file="tmp/agents.db"),
    # セッション状態を空の買い物リストで初期化
    session_state={"shopping_list": []},
    tools=[add_item],
    # instructions でセッション状態の変数を使用できます。
    instructions="現在の状態 (買い物リスト) は: {shopping_list}",
    markdown=True,
)

# Example usage
agent.print_response("ミルク、卵とパンを買い物リストに追加してください", stream=True)
print(f"最終的なセッション状態は: {agent.get_session_state()}")

出力例

INFO Successfully created table 'agno_sessions'                                                                                                    
┏━ Message ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃                                                                                                                                                 ┃
┃ ミルク、卵とパンを買い物リストに追加してください                                                                                                ┃
┃                                                                                                                                                 ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┏━ Response (3.8s) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃                                                                                                                                                 ┃
┃ ミルク、卵、パンを買い物リストに追加しました。                                                                                                  ┃
┃                                                                                                                                                 ┃
┃ 現在の買い物リスト:                                                                                                                             ┃
┃                                                                                                                                                 ┃
┃  • ミルク                                                                                                                                       ┃
┃  • 卵                                                                                                                                           ┃
┃  • パン                                                                                                                                         ┃
┃                                                                                                                                                 ┃
┃ 他に追加したいものはありますか?                                                                                                                ┃
┃                                                                                                                                                 ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
最終的なセッション状態は: {'shopping_list': ['ミルク', '卵', 'パン']}

Info : session_state 変数は引数としてツールに自動的に渡されます。この変数への更新は共有状態において自動的に反映されます。

 

セッション内で複数の実行にわたり状態を維持する

セッションの大きな利点は、同じセッション内で複数の実行に渡り状態を維持できることです。例えば、エージェントはユーザが買い物リストを追跡する支援をするとしましょう。

Info : 実行に渡り状態を保持するには、db パラメータを通してストレージを設定する必要があります。

shopping_list.py

from textwrap import dedent

from agno.agent import Agent
from agno.db.sqlite import SqliteDb
from agno.models.openai import OpenAIChat

# 買い物リストを管理するツールの定義
def add_item(session_state, item: str) -> str:
    """Add an item to the shopping list and return confirmation."""
    # アイテムがリストにまだ含まれていない場合は、それを追加します。
    if item.lower() not in [i.lower() for i in session_state["shopping_list"]]:
        session_state["shopping_list"].append(item)  # type: ignore
        return f"買い物リストに '{item}' を追加しました"
    else:
        return f"'{item}' は既に買い物リストにあります"


def remove_item(session_state, item: str) -> str:
    """Remove an item from the shopping list by name."""
    # Case-insensitive search
    for i, list_item in enumerate(session_state["shopping_list"]):
        if list_item.lower() == item.lower():
            session_state["shopping_list"].pop(i)
            return f"買い物リストから '{list_item}' を削除しました"

    return f"'{item}' は買い物リストで見つかりませんでした"


def list_items(session_state) -> str:
    """List all items in the shopping list."""
    shopping_list = session_state["shopping_list"]

    if not shopping_list:
        return "買い物リストは空です。"

    items_text = "\n".join([f"- {item}" for item in shopping_list])
    return f"現在の買い物リストは:\n{items_text}"


# 状態を維持する、買い物リストマネージャ・エージェントを作成します
agent = Agent(
    model=OpenAIChat(id="gpt-4.1"),
    # セッション状態を空の買い物リストで初期化します (default session state for all sessions)
    session_state={"shopping_list": []},
    db=SqliteDb(db_file="tmp/example.db"),
    tools=[add_item, remove_item, list_items],
    # instruction で、セッション状態の変数を使用できます
    instructions=dedent("""\
        あなたのジョブは買い物リストを管理することです。
                        
        買い物リストは空から始まります。あなたはアイテムを追加し、アイテムを名前で削除し、すべてのアイテムをリストアップできます。

        現在の買い物リストは: {shopping_list}
    """),
    markdown=True,
)

# Example usage
agent.print_response("ミルク、卵とパンを買い物リストに追加してください", stream=True)
print(f"セッション状態: {agent.get_session_state()}")

agent.print_response("パンを買いました", stream=True)
print(f"セッション状態: {agent.get_session_state()}")

agent.print_response("りんごとみかんが必要です", stream=True)
print(f"セッション状態: {agent.get_session_state()}")

agent.print_response("リストには何がありますか?", stream=True)
print(f"セッション状態: {agent.get_session_state()}")

agent.print_response(
    "リストからすべて削除して、バナナとヨーグルトだけにして最初からやり直してください",
    stream=True,
)
print(f"セッション状態: {agent.get_session_state()}")

出力例

INFO Successfully created table 'agno_sessions'                                                                                                    
┏━ Message ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃                                                                                                                                                 ┃
┃ ミルク、卵とパンを買い物リストに追加してください                                                                                                ┃
┃                                                                                                                                                 ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┏━ Response (6.9s) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃                                                                                                                                                 ┃
┃ 買い物リストに以下のアイテムを追加しました。                                                                                                    ┃
┃                                                                                                                                                 ┃
┃  • ミルク                                                                                                                                       ┃
┃  • 卵                                                                                                                                           ┃
┃  • パン                                                                                                                                         ┃
┃                                                                                                                                                 ┃
┃ 他に追加・削除したいものはありますか?                                                                                                          ┃
┃                                                                                                                                                 ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
セッション状態: {'shopping_list': ['ミルク', '卵', 'パン']}
┏━ Message ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃                                                                                                                                                 ┃
┃ パンを買いました                                                                                                                                ┃
┃                                                                                                                                                 ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┏━ Response (3.4s) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃                                                                                                                                                 ┃
┃ パンを買い物リストから削除しました。                                                                                                            ┃
┃                                                                                                                                                 ┃
┃ 現在の買い物リスト:                                                                                                                            ┃
┃                                                                                                                                                 ┃
┃  • ミルク                                                                                                                                       ┃
┃  • 卵                                                                                                                                           ┃
┃                                                                                                                                                 ┃
┃ 他にリストを更新しますか?                                                                                                                      ┃
┃                                                                                                                                                 ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
セッション状態: {'shopping_list': ['ミルク', '卵']}
┏━ Message ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃                                                                                                                                                 ┃
┃ りんごとみかんが必要です                                                                                                                        ┃
┃                                                                                                                                                 ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┏━ Response (3.3s) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃                                                                                                                                                 ┃
┃                                                                                                                                                 ┃
┃  • 買い物リストに「りんご」と「みかん」を追加しました。                                                                                         ┃
┃                                                                                                                                                 ┃
┃                                                               現在の買い物リスト                                                                ┃
┃                                                                                                                                                 ┃
┃  • ミルク                                                                                                                                       ┃
┃  • 卵                                                                                                                                           ┃
┃  • りんご                                                                                                                                       ┃
┃  • みかん                                                                                                                                       ┃
┃                                                                                                                                                 ┃
┃ 他に追加したいものはありますか?                                                                                                                ┃
┃                                                                                                                                                 ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
セッション状態: {'shopping_list': ['ミルク', '卵', 'りんご', 'みかん']}
┏━ Message ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃                                                                                                                                                 ┃
┃ リストには何がありますか?                                                                                                                       ┃
┃                                                                                                                                                 ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┏━ Response (1.5s) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃                                                                                                                                                 ┃
┃ 現在の買い物リストに入っているアイテムは以下の通りです。                                                                                        ┃
┃                                                                                                                                                 ┃
┃  • ミルク                                                                                                                                       ┃
┃  • 卵                                                                                                                                           ┃
┃  • りんご                                                                                                                                       ┃
┃  • みかん                                                                                                                                       ┃
┃                                                                                                                                                 ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
セッション状態: {'shopping_list': ['ミルク', '卵', 'りんご', 'みかん']}
┏━ Message ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃                                                                                                                                                 ┃
┃ リストからすべて削除して、バナナとヨーグルトだけにして最初からやり直してください                                                                ┃
┃                                                                                                                                                 ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┏━ Response (5.1s) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃                                                                                                                                                 ┃
┃ 📝 現在の買い物リスト                                                                                                                           ┃
┃                                                                                                                                                 ┃
┃  • バナナ                                                                                                                                       ┃
┃  • ヨーグルト                                                                                                                                   ┃
┃                                                                                                                                                 ┃
┃ すべてリセットして、バナナとヨーグルトだけにしました。ご希望通りやり直しました!                                                                ┃
┃                                                                                                                                                 ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
セッション状態: {'shopping_list': ['バナナ', 'ヨーグルト']}

 

エージェント型セッション状態

Agno は、エージェントがセッション状態を自動的に更新することを可能にする方法を提供しています。単純に、enable_agentic_state パラメータを True に設定します。

agentic_session_state.py

from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.db.sqlite import SqliteDb

agent = Agent(
    db=SqliteDb(db_file="tmp/agents.db"),
    model=OpenAIChat(id="gpt-4.1"),
    session_state={"shopping_list": []},
    add_session_state_to_context=True,  # Required so the agent is aware of the session state
    enable_agentic_state=True,  # Adds a tool to manage the session state
)

agent.print_response("ミルク、卵とパンを買い物リストに追加してください", stream=True)
print(f"セッション状態: {agent.get_session_state()}")

出力例

┏━ Message ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃                                                                                                                                                 ┃
┃ ミルク、卵とパンを買い物リストに追加してください                                                                                                ┃
┃                                                                                                                                                 ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
┏━ Response (3.1s) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃                                                                                                                                                 ┃
┃ ミルク、卵、パンを買い物リストに追加しました。必要なものが他にもあれば教えてください!                                                          ┃
┃                                                                                                                                                 ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
セッション状態: {'shopping_list': ['ミルク', '卵', 'パン']}

 

以上





クラスキャット

最近の投稿

  • Agno 2.x : エージェント – エージェント状態
  • Agno 2.x : エージェント – コンテキスト・エンジニアリング
  • Agno 2.x : エージェント – 入出力
  • Agno 2.x : エージェント – エージェント・セッション
  • Agno 2.x : エージェント – エージェントの実行とデバッグ

タグ

AG2 (14) Agno (46) AutoGen (13) ClassCat Press Release (20) ClassCat TF/ONNX Hub (11) DGL 0.5 (14) Edward (17) FLUX.1 (16) Gemini (20) HuggingFace Transformers 4.5 (10) HuggingFace Transformers 4.29 (9) Keras 2 Examples (98) Keras 2 Guide (16) Keras 3 (10) Keras Release Note (17) Kubeflow 1.0 (10) LangChain (45) LangChain v1.0 (10) LangGraph (24) LangGraph 0.5 (9) MediaPipe 0.8 (11) Model Context Protocol (16) NNI 1.5 (16) OpenAI Agents SDK (8) OpenAI Cookbook (13) OpenAI platform (10) OpenAI platform 1.x (10) OpenAI ヘルプ (8) TensorFlow 2.0 Advanced Tutorials (33) TensorFlow 2.0 Advanced Tutorials (Alpha) (15) TensorFlow 2.0 Advanced Tutorials (Beta) (16) TensorFlow 2.0 Guide (10) TensorFlow 2.0 Guide (Alpha) (16) TensorFlow 2.0 Guide (Beta) (9) TensorFlow 2.0 Release Note (12) TensorFlow 2.0 Tutorials (20) TensorFlow 2.0 Tutorials (Alpha) (14) TensorFlow 2.0 Tutorials (Beta) (12) TensorFlow 2.4 Guide (24) TensorFlow Deploy (8) TensorFlow Probability (9) TensorFlow Programmer's Guide (22) TensorFlow Release Note (18) TensorFlow Tutorials (33) TF-Agents 0.4 (11)
2025年10月
月 火 水 木 金 土 日
 12345
6789101112
13141516171819
20212223242526
2728293031  
« 9月    
© 2025 ClassCat® AI Research | Powered by Minimalist Blog WordPress Theme