QoderSDKClient はデフォルトで接続のたびに新しいセッションを開始します。QoderAgentOptions のいくつかのフィールドを通じて、セッション ID の指定、履歴セッションの復元、既存セッションからのフォークが可能です。
コンセプト
1 つのセッションは CLI 側で永続化された 1 つの対話履歴(コンテキスト、ツール呼び出し記録、圧縮境界などを含む)に対応し、UUID で識別されます。システムメッセージinit には今回の session_id が含まれ、これが後続の resume / fork_session のアンカーポイントとなります。
新規セッションの作成
デフォルト
セッション関連フィールドを渡さない場合、毎回新規作成されます:セッション ID の指定
呼び出し側がセッションの UUID を決定します(ホストが独自にセッションインデックスを管理する場合に適します):セッションの復元
ID による復元
最後のセッションの復元
セッション ID が不明な場合、continue_conversation=True で最後に変更されたセッションに接続します:
resume と continue_conversation は同時に渡さないでください。
セッションのフォーク
既存のセッションから新しいセッションを派生させ、元のコンテキストを保持しつつ新しいセッション ID を取得します。元のセッションは影響を受けません:フィールドクイックリファレンス
| フィールド | 型 | 動作 |
|---|---|---|
session_id | str | 単独使用:この ID で新規作成。fork_session と併用:フォーク後の新セッションの ID |
resume | str | 復元するセッション ID |
continue_conversation | bool | True で最後のセッションを復元 |
fork_session | bool | resume と併用し、接続ではなくフォーク |
現在のセッション ID の取得
init システムメッセージの data 辞書に session_id が含まれており、ResultMessage にも含まれています。どちらも記録に使用できます: