세션 관리
Claude Agent SDK는 대화 상태와 재개를 처리하기 위한 세션 관리 기능을 제공합니다. 세션을 통해 전체 컨텍스트를 유지하면서 여러 상호작용에 걸쳐 대화를 계속할 수 있습니다.세션 작동 방식
새로운 쿼리를 시작하면 SDK가 자동으로 세션을 생성하고 초기 시스템 메시지에서 세션 ID를 반환합니다. 이 ID를 캡처하여 나중에 세션을 재개할 수 있습니다.세션 ID 가져오기
세션 재개
SDK는 이전 대화 상태에서 세션을 재개하는 것을 지원하여 지속적인 개발 워크플로우를 가능하게 합니다. 이전 대화를 계속하려면 세션 ID와 함께resume
옵션을 사용하세요.
세션 포킹
세션을 재개할 때 원래 세션을 계속하거나 새로운 브랜치로 포킹할 수 있습니다. 기본적으로 재개는 원래 세션을 계속합니다.forkSession
옵션(TypeScript) 또는 fork_session
옵션(Python)을 사용하여 재개된 상태에서 시작하는 새로운 세션 ID를 생성하세요.
세션을 포킹해야 하는 경우
포킹은 다음과 같은 경우에 유용합니다:- 같은 시작점에서 다른 접근 방식을 탐색하고 싶을 때
- 원본을 수정하지 않고 여러 대화 브랜치를 생성하고 싶을 때
- 원래 세션 기록에 영향을 주지 않고 변경사항을 테스트하고 싶을 때
- 다른 실험을 위해 별도의 대화 경로를 유지하고 싶을 때
포킹 vs 계속하기
동작 | forkSession: false (기본값) | forkSession: true |
---|---|---|
세션 ID | 원본과 동일 | 새로운 세션 ID 생성 |
기록 | 원래 세션에 추가 | 재개 지점에서 새로운 브랜치 생성 |
원래 세션 | 수정됨 | 변경되지 않고 보존됨 |
사용 사례 | 선형 대화 계속 | 대안 탐색을 위한 브랜치 |