Loading...
    • Construir
    • Admin
    • Modelos e preços
    • SDKs de cliente
    • Referência da API
    Search...
    ⌘K
    Primeiros passos
    Introdução ao ClaudeInício rápido
    Construindo com Claude
    Visão geral dos recursosUsando a API de MensagensTratando razões de parada
    Capacidades do modelo
    Pensamento estendidoPensamento adaptativoEsforçoModo rápido (beta: prévia de pesquisa)Saídas estruturadasCitaçõesMensagens em streamingProcessamento em loteResultados de pesquisaRecusas em streamingSuporte multilíngueEmbeddings
    Ferramentas
    Visão geralComo o uso de ferramentas funcionaFerramenta de busca na webFerramenta de busca webFerramenta de execução de códigoFerramenta de memóriaFerramenta BashFerramenta de uso do computadorFerramenta de edição de texto
    Infraestrutura de ferramentas
    Busca de ferramentasChamada programática de ferramentasStreaming refinado de ferramentas
    Gerenciamento de contexto
    Janelas de contextoCompactaçãoEdição de contextoCache de promptContagem de tokens
    Trabalhando com arquivos
    Files APISuporte a PDFImagens e visão
    Skills
    Visão geralInício rápidoMelhores práticasSkills para empresasSkills na API
    MCP
    Servidores MCP remotosConector MCP
    Engenharia de prompt
    Visão geralMelhores práticas de promptingFerramentas de prompting no Console
    Testar e avaliar
    Definir sucesso e criar avaliaçõesUsando a Ferramenta de Avaliação no ConsoleReduzindo latência
    Fortalecer guardrails
    Reduzir alucinaçõesAumentar consistência de saídaMitigar jailbreaksReduzir vazamento de prompt
    Recursos
    Glossário
    Notas de versão
    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 trabalho ao seu agente

    Definir resultados

    Diga ao agente como é 'concluído' e deixe-o iterar até chegar lá.

    Was this page helpful?

    • Criar uma rubrica
    • Criar uma sessão com um resultado
    • Eventos de resultado
    • Evento de usuário para definir resultado
    • Início da avaliação de resultado
    • Avaliação de resultado em andamento
    • Fim da avaliação de resultado
    • Verificando o status do resultado
    • Recuperando entregáveis

    Outcomes é um recurso de Pré-visualização de Pesquisa. Solicite acesso para experimentá-lo.

    O outcome eleva uma sessão de conversa para trabalho. Você define como deve ser o resultado final e como medir a qualidade. O agente trabalha em direção a esse objetivo, autoavaliando-se e iterando até que o resultado seja alcançado.

    Quando você define um resultado, o harness provisiona automaticamente um grader para avaliar o artefato em relação a uma rubrica. Ele utiliza uma janela de contexto separada para evitar ser influenciado pelas escolhas de implementação do agente principal.

    O grader retorna um detalhamento por critério: seja a confirmação de que o artefato satisfaz a rubrica, ou as lacunas específicas entre o trabalho atual e os requisitos. Esse feedback é repassado ao agente para a próxima iteração.

    Todas as solicitações da API de Managed Agents requerem o cabeçalho beta managed-agents-2026-04-01. Os recursos de pré-visualização de pesquisa requerem adicionalmente managed-agents-2026-04-01-research-preview. O SDK define esses cabeçalhos beta automaticamente.

    Criar uma rubrica

    Uma rubrica é um documento markdown que descreve a pontuação por critério. A rubrica é obrigatória.

    Exemplo de rubrica:

    # 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

    Passe a rubrica como texto inline em user.define_outcome (mostrado na próxima seção), ou faça upload via Files API para reutilização entre sessões:

    Requer o cabeçalho beta files-api-2025-04-14.

    Criar uma sessão com um resultado

    Após criar uma sessão, envie um evento user.define_outcome. O agente começa a trabalhar imediatamente; nenhum evento de mensagem de usuário adicional é necessário.

    Eventos de resultado

    O progresso em uma sessão orientada a resultados é exibido no stream de eventos.

    • Eventos agent.* (mensagens, uso de ferramentas, etc.) mostram o progresso em direção ao resultado.
    • Eventos span.outcome_evaluation_* são emitidos apenas para sessões orientadas a resultados e mostram o número de loops de iteração e o processo de feedback do grader.
    • Você também pode enviar eventos user.message para uma sessão orientada a resultados, para direcionar o trabalho do agente conforme ele avança, mas esses não são tão necessários; o agente sabe que deve trabalhar até esgotar suas iterações ou alcançar o resultado.
    • Um evento user.interrupt pausará o trabalho no resultado atual e marcará o span.outcome_evaluation_end.result como interrupted, permitindo que você inicie um novo resultado.
    • Após a avaliação final do resultado, a sessão pode ser continuada como uma sessão conversacional, ou um novo resultado pode ser iniciado. A sessão reterá o histórico do resultado anterior.

    Evento de usuário para definir resultado

    Apenas um resultado é suportado por vez, mas você pode encadear resultados em sequência. Para fazer isso, envie um novo evento user.define_outcome após o evento terminal do resultado anterior.

    Este é o evento que você envia para iniciar um resultado. Ele é ecoado de volta no recebimento, incluindo um timestamp processed_at e 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
    }

    Início da avaliação de resultado

    Emitido assim que o grader inicia uma avaliação sobre um loop de iteração. O campo iteration é um contador de revisão com índice 0: 0 é a primeira avaliação, 1 é a reavaliação após a primeira revisão, e assim por diante.

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

    Avaliação de resultado em andamento

    Heartbeat emitido enquanto o grader está em execução. O raciocínio interno do grader é opaco: você vê que ele está trabalhando, não o que está pensando.

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

    Fim da avaliação de resultado

    Emitido após o grader terminar de avaliar uma iteração. O campo result indica o que acontece a seguir.

    ResultadoPróximo
    satisfiedA sessão transita para idle.
    needs_revisionO agente inicia um novo ciclo de iteração.
    max_iterations_reachedNenhum ciclo de avaliação adicional. O agente pode executar uma revisão final antes de a sessão transitar para idle.
    failedA sessão transita para idle. Retornado quando a rubrica fundamentalmente não corresponde à tarefa, por exemplo, se a descrição e a rubrica se contradizem.
    interruptedEmitido apenas se outcome_evaluation_start já foi disparado antes da interrupção.
    {
      "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"
    }

    Verificando o status do resultado

    Você pode escutar no stream de eventos por span.outcome_evaluation_end, ou fazer polling em GET /v1/sessions/:id e ler outcome_evaluations[].result:

    Recuperando entregáveis

    O agente grava arquivos de saída em /mnt/session/outputs/ dentro do contêiner. Assim que a sessão estiver ociosa, busque-os via Files API com escopo para a sessão:

    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