Loading...
    • Construir
    • Administración
    • Modelos y precios
    • SDKs de cliente
    • Referencia de API
    Search...
    ⌘K
    Primeros pasos
    Introducción a ClaudeInicio rápido
    Construir con Claude
    Descripción general de funcionesUsar la API de mensajesHabilidad de Claude APIGestionar razones de parada
    Capacidades del modelo
    Pensamiento extendidoPensamiento adaptativoEsfuerzoPresupuestos de tareas (beta)Modo rápido (beta: vista previa de investigación)Salidas estructuradasCitasMensajes en streamingProcesamiento por lotesResultados de búsquedaRechazos en streamingSoporte multilingüeEmbeddings
    Herramientas
    Descripción generalCómo funciona el uso de herramientasTutorial: Construir un agente con herramientasDefinir herramientasGestionar llamadas a herramientasUso paralelo de herramientasTool Runner (SDK)Uso estricto de herramientasUso de herramientas con caché de promptsHerramientas del servidorSolución de problemasHerramienta de búsqueda webHerramienta de obtención webHerramienta de ejecución de códigoHerramienta de asesorHerramienta de memoriaHerramienta BashHerramienta de uso del ordenadorHerramienta de editor de texto
    Infraestructura de herramientas
    Referencia de herramientasGestionar contexto de herramientasCombinaciones de herramientasBúsqueda de herramientasLlamadas programáticas a herramientasStreaming detallado de herramientas
    Gestión de contexto
    Ventanas de contextoCompactaciónEdición de contextoCaché de promptsConteo de tokens
    Trabajar con archivos
    Files APISoporte de PDFImágenes y visión
    Habilidades
    Descripción generalInicio rápidoMejores prácticasHabilidades para empresasHabilidades en la API
    MCP
    Servidores MCP remotosConector MCP
    Ingeniería de prompts
    Descripción generalMejores prácticas de promptsHerramientas de prompts en Console
    Probar y evaluar
    Definir el éxito y construir evaluacionesUsar la herramienta de evaluación en ConsoleReducir la latencia
    Reforzar salvaguardas
    Reducir alucinacionesAumentar la consistencia de salidaMitigar jailbreaksReducir filtración de prompts
    Recursos
    Glosario
    Notas de versión
    Claude Platform
    Console
    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
    Herramientas

    Uso estricto de herramientas

    Aplicar cumplimiento de JSON Schema en las entradas de herramientas de Claude con muestreo restringido por gramática.

    Establecer strict: true en una definición de herramienta utiliza muestreo restringido por gramática para garantizar que las entradas de herramientas de Claude coincidan con tu JSON Schema. Esta página cubre por qué el modo estricto es importante para agentes, cómo habilitarlo y casos de uso comunes. Para el subconjunto de JSON Schema compatible, consulta Limitaciones de JSON Schema. Para orientación de esquema no estricto, consulta Definir herramientas.

    El uso estricto de herramientas valida los parámetros de la herramienta, asegurando que Claude llame a tus funciones con argumentos correctamente tipados. Usa el uso estricto de herramientas cuando necesites:

    • Validar parámetros de herramientas
    • Construir flujos de trabajo de agentes
    • Garantizar llamadas de función seguras en tipos
    • Manejar herramientas complejas con propiedades anidadas

    Por qué el uso estricto de herramientas es importante para agentes

    Construir sistemas de agentes confiables requiere conformidad de esquema garantizada. Sin modo estricto, Claude podría devolver tipos incompatibles ("2" en lugar de 2) o campos requeridos faltantes, rompiendo tus funciones y causando errores en tiempo de ejecución.

    El uso estricto de herramientas garantiza parámetros seguros en tipos:

    • Las funciones reciben argumentos correctamente tipados cada vez
    • No hay necesidad de validar y reintentar llamadas de herramientas
    • Agentes listos para producción que funcionan consistentemente a escala

    Por ejemplo, supongamos que un sistema de reservas necesita passengers: int. Sin modo estricto, Claude podría proporcionar passengers: "two" o passengers: "2". Con strict: true, la respuesta siempre contendrá passengers: 2.

    Inicio rápido

    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)

    Formato de respuesta: Bloques de uso de herramientas con entradas validadas en response.content[x].input

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

    Garantías:

    • La input de la herramienta sigue estrictamente el input_schema
    • El name de la herramienta siempre es válido (de herramientas proporcionadas o herramientas del servidor)

    Cómo funciona

    1. 1

      Define tu esquema de herramienta

      Crea un esquema JSON para el input_schema de tu herramienta. El esquema utiliza el formato estándar de JSON Schema con algunas limitaciones (consulta Limitaciones de JSON Schema).

    2. 2

      Añade strict: true

      Establece "strict": true como una propiedad de nivel superior en tu definición de herramienta, junto con name, description e input_schema.

    3. 3

      Maneja llamadas de herramientas

      Cuando Claude usa la herramienta, el campo input en el bloque tool_use seguirá estrictamente tu input_schema, y el name siempre será válido.

    Casos de uso comunes

    Retención de datos

    El uso estricto de herramientas compila las definiciones de input_schema de herramientas en gramáticas utilizando el mismo pipeline que salidas estructuradas. Los esquemas de herramientas se almacenan temporalmente en caché durante hasta 24 horas desde el último uso. Los prompts y las respuestas no se retienen más allá de la respuesta de la API.

    El uso estricto de herramientas es elegible para HIPAA, pero la PHI no debe incluirse en las definiciones de esquema de herramientas. La API almacena en caché los esquemas compilados por separado del contenido del mensaje, y estos esquemas en caché no reciben las mismas protecciones de PHI que los prompts y las respuestas. No incluyas PHI en los nombres de propiedades de input_schema, valores de enum, valores de const o expresiones regulares de pattern. La PHI solo debe aparecer en el contenido del mensaje (prompts y respuestas), donde está protegida bajo las salvaguardas de HIPAA.

    Para la elegibilidad de ZDR e HIPAA en todas las características, consulta Retención de datos y API.

    Was this page helpful?

    • Por qué el uso estricto de herramientas es importante para agentes
    • Inicio rápido
    • Cómo funciona
    • Casos de uso comunes
    • Retención de datos