Loading...
    • 개발자 가이드
    • API 참고자료
    • MCP
    • 리소스
    • 릴리스 노트
    Search...
    ⌘K

    첫 번째 단계

    Claude 소개빠른 시작

    모델 및 가격

    모델 개요모델 선택하기Claude 4.5의 새로운 기능Claude 4.5로 마이그레이션모델 지원 중단가격 정책

    Claude로 빌드하기

    기능 개요Messages API 작업컨텍스트 윈도우프롬프트 작성 모범 사례

    기능

    프롬프트 캐싱컨텍스트 편집확장된 사고스트리밍 메시지배치 처리인용다국어 지원토큰 카운팅임베딩비전PDF 지원Files API검색 결과Google Sheets 애드온

    도구

    개요도구 사용을 구현하는 방법토큰 효율적인 도구 사용세밀한 도구 스트리밍Bash 도구코드 실행 도구컴퓨터 사용 도구텍스트 편집기 도구웹 페치 도구웹 검색 도구메모리 도구

    에이전트 스킬

    개요빠른 시작Skill 작성 모범 사례Skills 사용하기

    Agent SDK

    개요Agent SDK 참조 - TypeScriptPython SDK

    가이드

    스트리밍 입력권한 처리세션 관리Agent SDK 호스팅시스템 프롬프트 수정하기SDK에서의 MCP사용자 정의 도구SDK의 서브에이전트SDK의 슬래시 명령어SDK의 에이전트 스킬비용 및 사용량 추적할 일 목록SDK의 플러그인

    API의 MCP

    MCP 커넥터원격 MCP 서버

    타사 플랫폼의 Claude

    Amazon BedrockVertex AI

    프롬프트 엔지니어링

    개요프롬프트 생성기프롬프트 템플릿 사용하기프롬프트 개선기명확하고 직접적으로예시(멀티샷 프롬프팅) 사용Claude가 생각하도록 하기(CoT)XML 태그 사용Claude에게 역할 부여하기 (시스템 프롬프트)Claude의 응답 미리 채우기복잡한 프롬프트 체이닝긴 컨텍스트 팁확장 사고 팁

    테스트 및 평가

    성공 기준 정의하기테스트 케이스 개발평가 도구 사용하기지연 시간 줄이기

    보안 강화

    환각 현상 줄이기출력 일관성 높이기탈옥 완화handle-streaming-refusals프롬프트 유출 감소Claude의 캐릭터 유지

    관리 및 모니터링

    Admin API 개요사용량 및 비용 APIClaude Code Analytics API
    Console
    가이드

    세션 관리

    Claude Agent SDK가 세션과 세션 재개를 처리하는 방법 이해하기

    세션 관리

    Claude Agent SDK는 대화 상태와 재개를 처리하기 위한 세션 관리 기능을 제공합니다. 세션을 통해 전체 컨텍스트를 유지하면서 여러 상호작용에 걸쳐 대화를 계속할 수 있습니다.

    세션 작동 방식

    새로운 쿼리를 시작하면 SDK가 자동으로 세션을 생성하고 초기 시스템 메시지에서 세션 ID를 반환합니다. 이 ID를 캡처하여 나중에 세션을 재개할 수 있습니다.

    세션 ID 가져오기

    TypeScript
    import { query } from "@anthropic-ai/claude-agent-sdk"
    
    let sessionId: string | undefined
    
    const response = query({
      prompt: "웹 애플리케이션 구축을 도와주세요",
      options: {
        model: "claude-sonnet-4-5"
      }
    })
    
    for await (const message of response) {
      // 첫 번째 메시지는 세션 ID가 포함된 시스템 초기화 메시지입니다
      if (message.type === 'system' && message.subtype === 'init') {
        sessionId = message.session_id
        console.log(`세션이 ID로 시작되었습니다: ${sessionId}`)
        // 나중에 재개하기 위해 이 ID를 저장할 수 있습니다
      }
    
      // 다른 메시지들을 처리합니다...
      console.log(message)
    }
    
    // 나중에 저장된 sessionId를 사용하여 재개할 수 있습니다
    if (sessionId) {
      const resumedResponse = query({
        prompt: "중단했던 곳부터 계속하세요",
        options: {
          resume: sessionId
        }
      })
    }
    Python
    from claude_agent_sdk import query, ClaudeAgentOptions
    
    session_id = None
    
    async for message in query(
        prompt="웹 애플리케이션 구축을 도와주세요",
        options=ClaudeAgentOptions(
            model="claude-sonnet-4-5"
        )
    ):
        # 첫 번째 메시지는 세션 ID가 포함된 시스템 초기화 메시지입니다
        if hasattr(message, 'subtype') and message.subtype == 'init':
            session_id = message.data.get('session_id')
            print(f"세션이 ID로 시작되었습니다: {session_id}")
            # 나중에 재개하기 위해 이 ID를 저장할 수 있습니다
    
        # 다른 메시지들을 처리합니다...
        print(message)
    
    # 나중에 저장된 session_id를 사용하여 재개할 수 있습니다
    if session_id:
        async for message in query(
            prompt="중단했던 곳부터 계속하세요",
            options=ClaudeAgentOptions(
                resume=session_id
            )
        ):
            print(message)

    세션 재개

    SDK는 이전 대화 상태에서 세션을 재개하는 것을 지원하여 지속적인 개발 워크플로우를 가능하게 합니다. 이전 대화를 계속하려면 세션 ID와 함께 resume 옵션을 사용하세요.

    import { query } from "@anthropic-ai/claude-agent-sdk"
    
    // ID를 사용하여 이전 세션을 재개합니다
    const response = query({
      prompt: "중단했던 곳부터 인증 시스템 구현을 계속하세요",
      options: {
        resume: "session-xyz", // 이전 대화의 세션 ID
        model: "claude-sonnet-4-5",
        allowedTools: ["Read", "Edit", "Write", "Glob", "Grep", "Bash"]
      }
    })
    
    // 대화는 이전 세션의 전체 컨텍스트와 함께 계속됩니다
    for await (const message of response) {
      console.log(message)
    }

    SDK는 세션을 재개할 때 대화 기록과 컨텍스트를 자동으로 로드하여 Claude가 중단했던 곳에서 정확히 계속할 수 있도록 합니다.

    세션 포킹

    세션을 재개할 때 원래 세션을 계속하거나 새로운 브랜치로 포킹할 수 있습니다. 기본적으로 재개는 원래 세션을 계속합니다. forkSession 옵션(TypeScript) 또는 fork_session 옵션(Python)을 사용하여 재개된 상태에서 시작하는 새로운 세션 ID를 생성하세요.

    세션을 포킹해야 하는 경우

    포킹은 다음과 같은 경우에 유용합니다:

    • 같은 시작점에서 다른 접근 방식을 탐색하고 싶을 때
    • 원본을 수정하지 않고 여러 대화 브랜치를 생성하고 싶을 때
    • 원래 세션 기록에 영향을 주지 않고 변경사항을 테스트하고 싶을 때
    • 다른 실험을 위해 별도의 대화 경로를 유지하고 싶을 때

    포킹 vs 계속하기

    동작forkSession: false (기본값)forkSession: true
    세션 ID원본과 동일새로운 세션 ID 생성
    기록원래 세션에 추가재개 지점에서 새로운 브랜치 생성
    원래 세션수정됨변경되지 않고 보존됨
    사용 사례선형 대화 계속대안 탐색을 위한 브랜치

    예제: 세션 포킹

    import { query } from "@anthropic-ai/claude-agent-sdk"
    
    // 먼저 세션 ID를 캡처합니다
    let sessionId: string | undefined
    
    const response = query({
      prompt: "REST API 설계를 도와주세요",
      options: { model: "claude-sonnet-4-5" }
    })
    
    for await (const message of response) {
      if (message.type === 'system' && message.subtype === 'init') {
        sessionId = message.session_id
        console.log(`원본 세션: ${sessionId}`)
      }
    }
    
    // 다른 접근 방식을 시도하기 위해 세션을 포킹합니다
    const forkedResponse = query({
      prompt: "이제 이것을 GraphQL API로 재설계해봅시다",
      options: {
        resume: sessionId,
        forkSession: true,  // 새로운 세션 ID를 생성합니다
        model: "claude-sonnet-4-5"
      }
    })
    
    for await (const message of forkedResponse) {
      if (message.type === 'system' && message.subtype === 'init') {
        console.log(`포킹된 세션: ${message.session_id}`)
        // 이것은 다른 세션 ID가 될 것입니다
      }
    }
    
    // 원래 세션은 변경되지 않고 여전히 재개할 수 있습니다
    const originalContinued = query({
      prompt: "REST API에 인증을 추가하세요",
      options: {
        resume: sessionId,
        forkSession: false,  // 원래 세션 계속 (기본값)
        model: "claude-sonnet-4-5"
      }
    })
    • 세션 ID 가져오기
    • 포킹 vs 계속하기
    © 2025 ANTHROPIC PBC

    Products

    • Claude
    • Claude Code
    • Max plan
    • Team plan
    • Enterprise plan
    • Download app
    • Pricing
    • Log in

    Features

    • Claude and Slack
    • Claude in Excel

    Models

    • Opus
    • Sonnet
    • Haiku

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Claude Developer Platform

    • Overview
    • Developer docs
    • Pricing
    • Amazon Bedrock
    • Google Cloud’s Vertex AI
    • Console login

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Help and security

    • Availability
    • Status
    • Support center

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy

    Products

    • Claude
    • Claude Code
    • Max plan
    • Team plan
    • Enterprise plan
    • Download app
    • Pricing
    • Log in

    Features

    • Claude and Slack
    • Claude in Excel

    Models

    • Opus
    • Sonnet
    • Haiku

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Claude Developer Platform

    • Overview
    • Developer docs
    • Pricing
    • Amazon Bedrock
    • Google Cloud’s Vertex AI
    • Console login

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Help and security

    • Availability
    • Status
    • Support center

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    © 2025 ANTHROPIC PBC