Loading...
  • 빌드
  • 관리
  • 모델 및 가격
  • 클라이언트 SDK
  • API 참조
Search...
⌘K
Log in
엄격한 도구 사용
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Solutions

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

Partners

  • Amazon Bedrock
  • Google Cloud's Vertex AI

Learn

  • Blog
  • 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
  • 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
빌드/도구

엄격한 도구 사용

문법 제약 샘플링을 사용하여 Claude의 도구 입력에 JSON Schema 준수를 강제합니다.

도구 정의에서 strict: true를 설정하면 문법 제약 샘플링을 사용하여 Claude의 도구 입력이 JSON Schema와 일치하도록 보장합니다. 이 페이지에서는 엄격한 모드가 에이전트에 중요한 이유, 활성화 방법, 일반적인 사용 사례를 다룹니다. 지원되는 JSON Schema 부분집합은 JSON Schema 제한사항을 참조하세요. 비엄격 스키마 지침은 도구 정의를 참조하세요.

엄격한 도구 사용은 도구 매개변수를 검증하여 Claude가 올바르게 입력된 인수로 함수를 호출하도록 합니다. 다음이 필요한 경우 엄격한 도구 사용을 사용하세요:

  • 도구 매개변수 검증
  • 에이전트 워크플로우 구축
  • 타입 안전 함수 호출 보장
  • 중첩된 속성이 있는 복잡한 도구 처리

에이전트에 대해 엄격한 도구 사용이 중요한 이유

신뢰할 수 있는 에이전트 시스템을 구축하려면 보장된 스키마 준수가 필요합니다. 엄격한 모드 없이는 Claude가 호환되지 않는 타입("2" 대신 2)을 반환하거나 필수 필드를 누락하여 함수를 손상시키고 런타임 오류를 발생시킬 수 있습니다.

엄격한 도구 사용은 타입 안전 매개변수를 보장합니다:

  • 함수는 매번 올바르게 입력된 인수를 받습니다
  • 도구 호출을 검증하고 재시도할 필요가 없습니다
  • 규모에 따라 일관되게 작동하는 프로덕션 준비 에이전트

예를 들어, 예약 시스템에 passengers: int가 필요하다고 가정합니다. 엄격한 모드 없이는 Claude가 passengers: "two" 또는 passengers: "2"를 제공할 수 있습니다. strict: true를 사용하면 응답에는 항상 passengers: 2가 포함됩니다.

빠른 시작

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=1024,
    messages=[{"role": "user", "content": "What's the weather like in San Francisco?"}],
    tools=[
        {
            "name": "get_weather",
            "description": "Get the current weather in a given location",
            "strict": True,  # Enable strict mode
            "input_schema": {
                "type": "object",
                "properties": {
                    "location": {
                        "type": "string",
                        "description": "The city and state, e.g. San Francisco, CA",
                    },
                    "unit": {
                        "type": "string",
                        "enum": ["celsius", "fahrenheit"],
                        "description": "The unit of temperature, either 'celsius' or 'fahrenheit'",
                    },
                },
                "required": ["location"],
                "additionalProperties": False,
            },
        }
    ],
)
print(response.content)

응답 형식: response.content[x].input에서 검증된 입력이 있는 도구 사용 블록

Output
{
  "type": "tool_use",
  "name": "get_weather",
  "input": {
    "location": "San Francisco, CA"
  }
}

보장사항:

  • 도구 input은 input_schema를 엄격하게 따릅니다
  • 도구 name은 항상 유효합니다(제공된 도구 또는 서버 도구에서)

작동 방식

  1. 1

    도구 스키마 정의

    도구의 input_schema에 대한 JSON 스키마를 만듭니다. 스키마는 일부 제한사항이 있는 표준 JSON Schema 형식을 사용합니다(JSON Schema 제한사항 참조).

  2. 2

    strict: true 추가

    도구 정의에서 "strict": true를 name, description, input_schema와 함께 최상위 속성으로 설정합니다.

  3. 3

    도구 호출 처리

    Claude가 도구를 사용할 때, tool_use 블록의 input 필드는 input_schema를 엄격하게 따르고, name은 항상 유효합니다.

일반적인 사용 사례

데이터 보존

엄격한 도구 사용은 도구 input_schema 정의를 구조화된 출력과 동일한 파이프라인을 사용하여 문법으로 컴파일합니다. 도구 스키마는 마지막 사용 이후 최대 24시간 동안 임시로 캐시됩니다. 프롬프트와 응답은 API 응답을 초과하여 보존되지 않습니다.

엄격한 도구 사용은 HIPAA 적격이지만, PHI는 도구 스키마 정의에 포함되어서는 안 됩니다. API는 컴파일된 스키마를 메시지 콘텐츠와 별도로 캐시하며, 이러한 캐시된 스키마는 프롬프트 및 응답과 동일한 PHI 보호를 받지 않습니다. input_schema 속성 이름, enum 값, const 값 또는 pattern 정규식에 PHI를 포함하지 마세요. PHI는 HIPAA 보호 조치에 따라 보호되는 메시지 콘텐츠(프롬프트 및 응답)에만 나타나야 합니다.

모든 기능에 걸친 ZDR 및 HIPAA 적격성에 대해서는 API 및 데이터 보존을 참조하세요.

Was this page helpful?