Loading...
    0
    • 개발자 가이드
    • API 참고자료
    • MCP
    • 리소스
    • 릴리스 노트
    Search...
    ⌘K
    첫 번째 단계
    Claude 소개빠른 시작
    모델 및 가격
    모델 개요모델 선택하기Claude 4.5의 새로운 기능Claude 4.5로 마이그레이션모델 지원 중단가격 책정
    Claude로 빌드하기
    기능 개요Messages API 작업컨텍스트 윈도우프롬프트 작성 모범 사례
    기능
    프롬프트 캐싱컨텍스트 편집확장된 사고스트리밍 메시지배치 처리인용다국어 지원토큰 카운팅임베딩비전PDF 지원Files API검색 결과구조화된 출력Google Sheets 애드온
    도구
    개요도구 사용을 구현하는 방법토큰 효율적인 도구 사용세밀한 도구 스트리밍Bash 도구코드 실행 도구컴퓨터 사용 도구텍스트 편집기 도구웹 페치 도구웹 검색 도구메모리 도구
    에이전트 스킬
    개요빠른 시작Skill 작성 모범 사례Skills 사용하기
    Agent SDK
    개요TypeScript SDKPython SDK
    가이드
    스트리밍 입력권한 처리세션 관리structured-outputsAgent SDK 호스팅시스템 프롬프트 수정하기SDK에서의 MCP사용자 정의 도구SDK의 서브에이전트SDK의 슬래시 명령어SDK의 에이전트 스킬비용 및 사용량 추적할 일 목록SDK의 플러그인
    API의 MCP
    MCP 커넥터원격 MCP 서버
    타사 플랫폼의 Claude
    Amazon BedrockMicrosoft FoundryVertex AI
    프롬프트 엔지니어링
    개요프롬프트 생성기프롬프트 템플릿 사용하기프롬프트 개선기명확하고 직접적으로예시(멀티샷 프롬프팅) 사용Claude가 생각하도록 하기(CoT)XML 태그 사용Claude에게 역할 부여하기 (시스템 프롬프트)Claude의 응답 미리 채우기복잡한 프롬프트 체이닝긴 컨텍스트 팁확장 사고 팁
    테스트 및 평가
    성공 기준 정의하기테스트 케이스 개발평가 도구 사용하기지연 시간 줄이기
    보안 강화
    환각 현상 줄이기출력 일관성 높이기탈옥 완화handle-streaming-refusals프롬프트 유출 감소Claude의 캐릭터 유지
    관리 및 모니터링
    Admin API 개요사용량 및 비용 APIClaude Code Analytics API
    Console
    가이드

    SDK의 구조화된 출력

    에이전트 워크플로우에서 검증된 JSON 결과 얻기

    에이전트 워크플로우에서 구조화되고 검증된 JSON을 얻습니다. Agent SDK는 JSON 스키마를 통해 구조화된 출력을 지원하므로 에이전트가 정확히 필요한 형식으로 데이터를 반환합니다.

    구조화된 출력을 사용하는 경우

    에이전트가 도구(파일 검색, 명령 실행, 웹 연구 등)를 사용하여 다중 턴 워크플로우를 완료한 후 검증된 JSON이 필요할 때 구조화된 출력을 사용합니다.

    도구 사용 없이 단일 API 호출의 경우 API 구조화된 출력을 참조하세요.

    구조화된 출력을 사용하는 이유

    구조화된 출력은 애플리케이션과의 안정적이고 타입 안전한 통합을 제공합니다:

    • 검증된 구조: 항상 스키마와 일치하는 유효한 JSON을 수신합니다
    • 간소화된 통합: 파싱 또는 검증 코드가 필요하지 않습니다
    • 타입 안전성: TypeScript 또는 Python 타입 힌트와 함께 사용하여 엔드투엔드 안전성을 확보합니다
    • 깔끔한 분리: 작업 지침과 별도로 출력 요구사항을 정의합니다
    • 도구 자율성: 에이전트가 사용할 도구를 선택하면서 출력 형식을 보장합니다

    구조화된 출력의 작동 방식

    1. 1

      JSON 스키마 정의

      에이전트가 반환할 구조를 설명하는 JSON 스키마를 만듭니다. 스키마는 표준 JSON 스키마 형식을 사용합니다.

    2. 2

      outputFormat 매개변수 추가

      쿼리 옵션에 outputFormat 매개변수를 포함하고 type: "json_schema"와 스키마 정의를 지정합니다.

    3. 3

      쿼리 실행

      에이전트는 작업을 완료하기 위해 필요한 도구(파일 작업, 명령, 웹 검색 등)를 사용합니다.

    4. 4

      검증된 출력 액세스

      에이전트의 최종 결과는 스키마와 일치하는 유효한 JSON이며 message.structured_output에서 사용할 수 있습니다.

    지원되는 JSON 스키마 기능

    Agent SDK는 API 구조화된 출력과 동일한 JSON 스키마 기능 및 제한사항을 지원합니다.

    주요 지원 기능:

    • 모든 기본 타입: object, array, string, integer, number, boolean, null
    • enum, const, required, additionalProperties (false여야 함)
    • 문자열 형식: date-time, date, email, uri, uuid 등
    • $ref, $def 및 definitions

    지원되는 기능, 제한사항 및 정규식 패턴 지원에 대한 완전한 세부사항은 API 문서의 JSON 스키마 제한사항을 참조하세요.

    예제: TODO 추적 에이전트

    코드에서 TODO를 검색하고 git blame 정보를 추출하는 에이전트를 보여주는 완전한 예제입니다:

    import { query } from '@anthropic-ai/claude-agent-sdk'
    
    // TODO 추출을 위한 구조 정의
    const todoSchema = {
      type: 'object',
      properties: {
        todos: {
          type: 'array',
          items: {
            type: 'object',
            properties: {
              text: { type: 'string' },
              file: { type: 'string' },
              line: { type: 'number' },
              author: { type: 'string' },
              date: { type: 'string' }
            },
            required: ['text', 'file', 'line']
          }
        },
        total_count: { type: 'number' }
      },
      required: ['todos', 'total_count']
    }
    
    // 에이전트는 Grep을 사용하여 TODO를 찾고 Bash를 사용하여 git blame 정보를 얻습니다
    for await (const message of query({
      prompt: 'Find all TODO comments in src/ and identify who added them',
      options: {
        outputFormat: {
          type: 'json_schema',
          schema: todoSchema
        }
      }
    })) {
      if (message.type === 'result' && message.structured_output) {
        const data = message.structured_output
        console.log(`Found ${data.total_count} TODOs`)
        data.todos.forEach(todo => {
          console.log(`${todo.file}:${todo.line} - ${todo.text}`)
          if (todo.author) {
            console.log(`  Added by ${todo.author} on ${todo.date}`)
          }
        })
      }
    }

    에이전트는 자율적으로 올바른 도구(Grep, Bash)를 사용하여 정보를 수집하고 검증된 데이터를 반환합니다.

    오류 처리

    에이전트가 스키마와 일치하는 유효한 출력을 생성할 수 없으면 오류 결과를 받게 됩니다:

    for await (const msg of query({
      prompt: 'Analyze the data',
      options: {
        outputFormat: {
          type: 'json_schema',
          schema: mySchema
        }
      }
    })) {
      if (msg.type === 'result') {
        if (msg.subtype === 'success' && msg.structured_output) {
          console.log(msg.structured_output)
        } else if (msg.subtype === 'error_max_structured_output_retries') {
          console.error('Could not produce valid output')
        }
      }
    }

    관련 리소스

    • JSON 스키마 문서
    • API 구조화된 출력 - 단일 API 호출용
    • 사용자 정의 도구 - 에이전트용 도구 정의
    • TypeScript SDK 참조 - 전체 TypeScript API
    • Python SDK 참조 - 전체 Python API
    • Zod를 사용한 스키마 정의
    • Pydantic을 사용한 스키마 정의
    • 지원되는 JSON 스키마 기능
    • 예제: TODO 추적 에이전트

    Solutions

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

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    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

    Learn

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

    Help and security

    • Availability
    • Status
    • Support
    • Discord

    Terms and policies

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