セッション管理
Claude Agent SDKは、会話状態と再開を処理するためのセッション管理機能を提供します。セッションを使用すると、完全なコンテキストを維持しながら、複数のやり取りにわたって会話を継続できます。セッションの仕組み
新しいクエリを開始すると、SDKは自動的にセッションを作成し、初期システムメッセージでセッションIDを返します。このIDをキャプチャして、後でセッションを再開できます。セッションIDの取得
セッションの再開
SDKは以前の会話状態からのセッション再開をサポートし、継続的な開発ワークフローを可能にします。セッションIDとresume
オプションを使用して、以前の会話を継続します。
セッションのフォーク
セッションを再開する際、元のセッションを継続するか、新しいブランチにフォークするかを選択できます。デフォルトでは、再開は元のセッションを継続します。forkSession
オプション(TypeScript)またはfork_session
オプション(Python)を使用して、再開状態から開始する新しいセッションIDを作成します。
セッションをフォークするタイミング
フォークは以下の場合に有用です:- 同じ開始点から異なるアプローチを探索する
- 元のセッションを変更せずに複数の会話ブランチを作成する
- 元のセッション履歴に影響を与えずに変更をテストする
- 異なる実験のために別々の会話パスを維持する
フォーク vs 継続
動作 | forkSession: false (デフォルト) | forkSession: true |
---|---|---|
セッションID | 元のセッションと同じ | 新しいセッションIDが生成される |
履歴 | 元のセッションに追加 | 再開ポイントから新しいブランチを作成 |
元のセッション | 変更される | 変更されずに保持される |
使用例 | 線形会話を継続 | 代替案を探索するためにブランチ |