Loading...
    • Construir
    • Administración
    • Modelos y precios
    • SDKs de cliente
    • Referencia de la API
    Search...
    ⌘K
    Primeros pasos
    Introducción a ClaudeInicio rápido
    Construir con Claude
    Descripción general de funcionesUsar la API de mensajesGestionar razones de parada
    Capacidades del modelo
    Pensamiento extendidoPensamiento adaptativoEsfuerzoModo 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 herramientasHerramienta de búsqueda webHerramienta de recuperación webHerramienta de ejecución de códigoHerramienta de memoriaHerramienta BashHerramienta de uso del ordenadorHerramienta de edición de texto
    Infraestructura de herramientas
    Búsqueda de herramientasLlamada programática de herramientasStreaming detallado de herramientas
    Gestión del contexto
    Ventanas de contextoCompactaciónEdición de contextoCaché de promptsConteo de tokens
    Trabajar con archivos
    Files APISoporte de PDFImágenes y visión
    Skills
    Descripción generalInicio rápidoMejores prácticasSkills para empresasSkills 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 crear evaluacionesUsar la herramienta de evaluación en ConsoleReducir la latencia
    Reforzar las barreras de seguridad
    Reducir alucinacionesAumentar la consistencia de salidaMitigar jailbreaksReducir la 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
    • 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
    Delegar trabajo a tu agente

    Definir resultados

    Dile al agente cómo se ve 'terminado' y deja que itere hasta lograrlo.

    Was this page helpful?

    • Crear una rúbrica
    • Crear una sesión con un resultado
    • Eventos de resultado
    • Evento de usuario para definir resultado
    • Inicio de evaluación de resultado
    • Evaluación de resultado en curso
    • Fin de evaluación de resultado
    • Verificar el estado del resultado
    • Recuperar entregables

    Outcomes es una función de Vista Previa de Investigación. Solicita acceso para probarlo.

    El outcome eleva una sesión de conversación a trabajo. Tú defines cómo debe verse el resultado final y cómo medir la calidad. El agente trabaja hacia ese objetivo, autoevaluándose e iterando hasta que se cumpla el resultado.

    Cuando defines un resultado, el arnés aprovisiona automáticamente un evaluador para valorar el artefacto según una rúbrica. Utiliza una ventana de contexto separada para evitar ser influenciado por las decisiones de implementación del agente principal.

    El evaluador devuelve un desglose por criterio: ya sea la confirmación de que el artefacto satisface la rúbrica, o las brechas específicas entre el trabajo actual y los requisitos. Ese feedback se devuelve al agente para la siguiente iteración.

    Todas las solicitudes a la API de Managed Agents requieren el encabezado beta managed-agents-2026-04-01. Las funciones de vista previa de investigación requieren adicionalmente managed-agents-2026-04-01-research-preview. El SDK establece estos encabezados beta automáticamente.

    Crear una rúbrica

    Una rúbrica es un documento markdown que describe la puntuación por criterio. La rúbrica es obligatoria.

    Ejemplo de rúbrica:

    # DCF Model Rubric
    
    ## Revenue Projections
    - Uses historical revenue data from the last 5 fiscal years
    - Projects revenue for at least 5 years forward
    - Growth rate assumptions are explicitly stated and reasonable
    
    ## Cost Structure
    - COGS and operating expenses are modeled separately
    - Margins are consistent with historical trends or deviations are justified
    
    ## Discount Rate
    - WACC is calculated with stated assumptions for cost of equity and cost of debt
    - Beta, risk-free rate, and equity risk premium are sourced or justified
    
    ## Terminal Value
    - Uses either perpetuity growth or exit multiple method (stated which)
    - Terminal growth rate does not exceed long-term GDP growth
    
    ## Output Quality
    - All figures are in a single .xlsx file with clearly labeled sheets
    - Key assumptions are on a separate "Assumptions" sheet
    - Sensitivity analysis on WACC and terminal growth rate is included

    Pasa la rúbrica como texto en línea en user.define_outcome (mostrado en la siguiente sección), o súbela a través de la Files API para reutilizarla en varias sesiones:

    Requiere el encabezado beta files-api-2025-04-14.

    Crear una sesión con un resultado

    Después de crear una sesión, envía un evento user.define_outcome. El agente comienza a trabajar de inmediato; no se requiere ningún evento de mensaje de usuario adicional.

    Eventos de resultado

    El progreso en una sesión orientada a resultados se muestra en el stream de eventos.

    • Los eventos agent.* (mensajes, uso de herramientas, etc.) muestran el progreso hacia el resultado.
    • Los eventos span.outcome_evaluation_* solo se emiten para sesiones orientadas a resultados y muestran el número de ciclos de iteración y el proceso de feedback del evaluador.
    • También puedes enviar eventos user.message a una sesión orientada a resultados, para dirigir el trabajo del agente a medida que avanza, pero no son tan necesarios; el agente sabe que debe trabajar hasta que haya agotado sus iteraciones o haya logrado el resultado.
    • Un evento user.interrupt pausará el trabajo en el resultado actual y marcará el span.outcome_evaluation_end.result como interrupted, lo que te permite iniciar un nuevo resultado.
    • Después de la evaluación final del resultado, la sesión puede continuar como una sesión conversacional, o se puede iniciar un nuevo resultado. La sesión conservará el historial del resultado anterior.

    Evento de usuario para definir resultado

    Solo se admite un resultado a la vez, pero puedes encadenar resultados en secuencia. Para hacerlo, envía un nuevo evento user.define_outcome después del evento terminal del resultado anterior.

    Este es el evento que envías para iniciar un resultado. Se devuelve al recibirse, incluyendo una marca de tiempo processed_at y un outcome_id.

    {
      "type": "user.define_outcome",
      "description": "Build a DCF model for Costco in .xlsx",
      "rubric": { "type": "file", "file_id": "file_01..." },
      "max_iterations": 5
    }

    Inicio de evaluación de resultado

    Se emite una vez que el evaluador comienza una evaluación sobre un ciclo de iteración. El campo iteration es un contador de revisión con índice 0: 0 es la primera evaluación, 1 es la reevaluación después de la primera revisión, y así sucesivamente.

    {
      "type": "span.outcome_evaluation_start",
      "id": "sevt_01def...",
      "outcome_id": "outc_01a...",
      "iteration": 0,
      "processed_at": "2026-03-25T14:01:45Z"
    }

    Evaluación de resultado en curso

    Latido emitido mientras el evaluador se ejecuta. El razonamiento interno del evaluador es opaco: ves que está trabajando, no lo que está pensando.

    {
      "type": "span.outcome_evaluation_ongoing",
      "id": "sevt_01ghi...",
      "outcome_id": "outc_01a...",
      "processed_at": "2026-03-25T14:02:10Z"
    }

    Fin de evaluación de resultado

    Se emite después de que el evaluador termina de evaluar una iteración. El campo result indica qué sucede a continuación.

    ResultadoSiguiente
    satisfiedLa sesión pasa a idle.
    needs_revisionEl agente inicia un nuevo ciclo de iteración.
    max_iterations_reachedNo hay más ciclos de evaluación. El agente puede ejecutar una revisión final antes de que la sesión pase a idle.
    failedLa sesión pasa a idle. Se devuelve cuando la rúbrica fundamentalmente no coincide con la tarea, por ejemplo si la descripción y la rúbrica se contradicen entre sí.
    interruptedSolo se emite si outcome_evaluation_start ya se activó antes de la interrupción.
    {
      "type": "span.outcome_evaluation_end",
      "id": "sevt_01jkl...",
      "outcome_evaluation_start_id": "sevt_01def...",
      "outcome_id": "outc_01a...",
      "result": "satisfied",
      "explanation": "All 12 criteria met: revenue projections use 5 years of historical data, WACC assumptions are stated, sensitivity table is included...",
      "iteration": 0,
      "usage": {
        "input_tokens": 2400,
        "output_tokens": 350,
        "cache_creation_input_tokens": 0,
        "cache_read_input_tokens": 1800
      },
      "processed_at": "2026-03-25T14:03:00Z"
    }

    Verificar el estado del resultado

    Puedes escuchar en el stream de eventos para span.outcome_evaluation_end, o hacer polling a GET /v1/sessions/:id y leer outcome_evaluations[].result:

    Recuperar entregables

    El agente escribe los archivos de salida en /mnt/session/outputs/ dentro del contenedor. Una vez que la sesión está inactiva, recupéralos a través de la Files API con alcance a la sesión:

    rubric=$(curl -fsSL https://api.anthropic.com/v1/files \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01,files-api-2025-04-14" \
      -F file=@/path/to/pr_review_rubric.md)
    rubric_id=$(jq -r '.id' <<<"$rubric")
    printf 'Uploaded rubric: %s\n' "$rubric_id"
    # Create a session
    session=$(curl -fsSL https://api.anthropic.com/v1/sessions \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01-research-preview" \
      --json @- <<EOF
    {
      "agent": "$agent_id",
      "environment_id": "$environment_id",
      "title": "Financial analysis on Costco"
    }
    EOF
    )
    session_id=$(jq -r '.id' <<<"$session")
    
    # Define the outcome — agent starts working on receipt
    curl -fsSL "https://api.anthropic.com/v1/sessions/$session_id/events" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01-research-preview" \
      --json @- >/dev/null <<EOF
    {
      "events": [
        {
          "type": "user.define_outcome",
          "description": "Build a DCF model for Costco in .xlsx",
          "rubric": {"type": "text", "content": "# DCF Model Rubric\n..."},
          "max_iterations": 5
        }
      ]
    }
    EOF
    # or: "rubric": {"type": "file", "file_id": "$rubric_id"}
    # "max_iterations" is optional; default 3, max 20
    session=$(curl -fsSL "https://api.anthropic.com/v1/sessions/$session_id" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: managed-agents-2026-04-01-research-preview")
    
    jq -r '.outcome_evaluations[] | "\(.outcome_id): \(.result)"' <<<"$session"
    # outc_01a...: satisfied
    # List files produced by this session
    curl -fsSL "https://api.anthropic.com/v1/files?scope_id=$session_id" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: files-api-2025-04-14,managed-agents-2026-04-01-research-preview" \
    | jq '.data[] | {id, filename, size_bytes}'
    
    # Download by file_id
    curl -fsSL "https://api.anthropic.com/v1/files/$file_id/content" \
      -H "x-api-key: $ANTHROPIC_API_KEY" \
      -H "anthropic-version: 2023-06-01" \
      -H "anthropic-beta: files-api-2025-04-14" \
      -o costco_dcf.xlsx