次の方法で共有


Session

AgentSession は、エージェントの実行全体で使用される会話状態コンテナーです。

AgentSessionに含まれる内容

フィールド 目的
session_id このセッションのローカル一意ID
service_session_id リモート サービスの会話識別子 (サービス管理の履歴が使用されている場合)
state コンテキスト/履歴プロバイダーと共有される変更可能なディクショナリ

組み込みの使用パターン

AgentSession session = await agent.CreateSessionAsync();

var first = await agent.RunAsync("My name is Alice.", session);
var second = await agent.RunAsync("What is my name?", session);
session = agent.create_session()

first = await agent.run("My name is Alice.", session=session)
second = await agent.run("What is my name?", session=session)

既存のサービス会話 ID からのセッションの作成

これは、バッキング サービスに既に会話状態がある場合に使用します。

session = agent.get_session(service_session_id="<service-conversation-id>")
response = await agent.run("Continue this conversation.", session=session)

シリアル化と復元

var serialized = agent.SerializeSession(session);
AgentSession resumed = await agent.DeserializeSessionAsync(serialized);
serialized = session.to_dict()
resumed = AgentSession.from_dict(serialized)

Important

セッションはエージェント/サービス固有です。 別のエージェント構成またはプロバイダーでセッションを再利用すると、コンテキストが無効になることがあります。

次のステップ