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