Loading...
    • Construir
    • Admin
    • Modelos e preços
    • SDKs do 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 Messages APIHabilidade Claude APITratando motivos de parada
    Capacidades do modelo
    Extended thinkingAdaptive thinkingEsforçoOrçamentos de tarefas (beta)Modo rápido (beta: visualização de pesquisa)Saídas estruturadasCitaçõesStreaming de mensagensProcessamento em loteResultados de pesquisaRecusas em streamingSuporte multilíngueEmbeddings
    Ferramentas
    Visão geralComo o uso de ferramentas funcionaFerramenta de pesquisa na webFerramenta de busca na webFerramenta de execução de códigoFerramenta de consultorFerramenta de memóriaFerramenta BashFerramenta de uso de computadorFerramenta de editor de texto
    Infraestrutura de ferramentas
    Referência de ferramentasPesquisa de ferramentasChamada de ferramentas programáticaStreaming de ferramentas granular
    Gerenciamento de contexto
    Janelas de contextoCompactaçãoEdição de contextoCache de promptContagem de tokens
    Trabalhando com arquivos
    Files APISuporte a PDFImagens e visão
    Habilidades
    Visão geralInício rápidoMelhores práticasHabilidades para empresasHabilidades na API
    MCP
    Servidores MCP remotosConector MCP
    Engenharia de prompt
    Visão geralMelhores práticas de promptFerramentas de prompt do Console
    Testar e avaliar
    Definir sucesso e construir avaliaçõesUsando a ferramenta de avaliação no ConsoleReduzindo latência
    Fortalecer proteções
    Reduzir alucinaçõesAumentar consistência de saídaMitigar jailbreaksReduzir vazamento de prompt
    Recursos
    Glossário
    Notas de lançamento
    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
    Capacidades do modelo

    Orçamentos de tarefas

    Forneça ao Claude um orçamento de tokens consultivo para o loop agentic completo para ajudar o modelo a se autorregular em tarefas agentic longas com orçamentos de tarefas.

    Was this page helpful?

    • Quando usar orçamentos de tarefas
    • Definindo um orçamento de tarefas
    • Como funciona a contagem regressiva do orçamento
    • Exemplo prático: contagem de orçamento entre turnos
    • Transferindo um orçamento entre compactação com remaining
    • Orçamentos de tarefas são consultivos, não aplicados
    • Escolhendo um orçamento
    • Meça seu uso atual
    • Interação com outros parâmetros
    • Suporte de recursos

    This feature is eligible for Zero Data Retention (ZDR). When your organization has a ZDR arrangement, data sent through this feature is not stored after the API response is returned.

    Os orçamentos de tarefas permitem que você diga ao Claude quantos tokens ele tem para um loop agentic completo, incluindo pensamento, chamadas de ferramentas, resultados de ferramentas e saída. O modelo vê uma contagem regressiva em execução e a usa para priorizar o trabalho e terminar graciosamente conforme o orçamento é consumido.

    Os orçamentos de tarefas estão em beta pública no Claude Opus 4.7. Defina o cabeçalho beta task-budgets-2026-03-13 para aceitar.

    Quando usar orçamentos de tarefas

    Os orçamentos de tarefas funcionam melhor para fluxos de trabalho agentic onde Claude faz múltiplas chamadas de ferramentas e decisões antes de finalizar sua saída para aguardar a próxima resposta humana. Use-os quando:

    • Você quer que Claude se autorregule no gasto de tokens em tarefas de longo horizonte.
    • Você tem um custo previsível por tarefa ou um limite de latência para aplicar.
    • Você quer que o modelo termine graciosamente (resumir descobertas, relatar progresso) conforme se aproxima do orçamento em vez de ser cortado no meio de uma ação.

    Os orçamentos de tarefas complementam o parâmetro de esforço: o esforço controla como Claude raciocina profundamente sobre cada etapa, enquanto os orçamentos de tarefas limitam o trabalho total que Claude pode fazer em um loop agentic.

    Definindo um orçamento de tarefas

    Adicione task_budget a output_config e inclua o cabeçalho beta:

    O objeto task_budget tem três campos:

    • type: sempre "tokens".
    • total: o número de tokens que Claude pode gastar em todo o loop agentic, incluindo pensamento, chamadas de ferramentas, resultados de ferramentas e saída.
    • remaining (opcional): o restante do orçamento transferido de uma solicitação anterior. Padrão para total quando omitido.

    Como funciona a contagem regressiva do orçamento

    Claude vê um marcador de contagem regressiva de orçamento injetado no lado do servidor em toda a conversa. O marcador mostra quantos tokens permanecem no loop agentic atual e é atualizado conforme o modelo gera pensamento, chamadas de ferramentas e saída, e conforme processa resultados de ferramentas. Claude usa este sinal para se manter no ritmo e terminar graciosamente conforme o orçamento é consumido.

    A contagem regressiva reflete tokens que Claude processou no loop agentic atual, não tokens que você reenvia entre turnos. Se seu cliente enviar o histórico de conversa completo em cada solicitação de acompanhamento, sua contagem de tokens no lado do cliente pode diferir do orçamento que Claude está rastreando. Se você também decrementar remaining enquanto reenvia o histórico completo, o modelo vê um orçamento subrelatado e a contagem regressiva cai mais rápido do que deveria, fazendo com que Claude termine mais cedo do que o orçamento realmente permite. Defina um orçamento generoso e deixe o modelo se autorregular contra a contagem regressiva em vez de tentar espelhá-la no lado do cliente.

    Exemplo prático: contagem de orçamento entre turnos

    O orçamento de tarefas conta o que Claude vê (pensamento, chamadas de ferramentas e resultados, e texto), não o que está em sua carga de solicitação. Em um loop agentic seu cliente reenvia a conversa completa em cada solicitação, então a carga cresce turno após turno, mas o orçamento apenas decrementa pelos tokens que Claude vê neste turno.

    Considere um loop com task_budget: {type: "tokens", total: 100000} e uma única ferramenta bash.

    Turno 1. Você envia a solicitação inicial:

    {
      "messages": [
        { "role": "user", "content": "Audit this repo for security issues and report findings." }
      ]
    }

    Claude pensa, depois emite uma chamada de ferramenta e para com stop_reason: "tool_use":

    {
      "role": "assistant",
      "content": [
        {
          "type": "thinking",
          "thinking": "I'll start by listing dependencies to look for known-vulnerable packages..."
        },
        {
          "type": "tool_use",
          "id": "toolu_01",
          "name": "bash",
          "input": { "command": "cat package.json && npm audit --json" }
        }
      ]
    }

    Suponha que este turno do assistente (pensamento mais a chamada de ferramenta) totalize 5.000 tokens gerados. A contagem regressiva que Claude viu durante a geração terminou perto de remaining ≈ 95.000.

    Turno 2. Seu cliente executa a ferramenta, depois reenvia o histórico completo com o resultado da ferramenta anexado:

    {
      "messages": [
        { "role": "user", "content": "Audit this repo for security issues and report findings." },
        {
          "role": "assistant",
          "content": [
            { "type": "thinking", "thinking": "I'll start by listing dependencies..." },
            {
              "type": "tool_use",
              "id": "toolu_01",
              "name": "bash",
              "input": { "command": "cat package.json && npm audit --json" }
            }
          ]
        },
        {
          "role": "user",
          "content": [
            {
              "type": "tool_result",
              "tool_use_id": "toolu_01",
              "content": "<2,800 tokens of npm audit output>"
            }
          ]
        }
      ]
    }

    As mensagens do usuário e assistente do turno 1 reenviadas não são contadas novamente, mas o resultado da ferramenta de 2.800 tokens é conteúdo novo que Claude vê neste turno e conta contra o orçamento. Claude gasta outros 4.000 tokens em pensamento e uma segunda chamada de ferramenta (grep -rn "eval(" src/). A contagem regressiva termina perto de remaining ≈ 88.200.

    Turno 3. Histórico completo reenviado novamente com o segundo resultado da ferramenta (1.200 tokens de saída grep) anexado. Claude escreve um relatório de descobertas finais de 6.000 tokens e para com stop_reason: "end_turn". remaining ≈ 81.000.

    Colocar os três turnos lado a lado torna a distinção entre tamanho de carga e gasto de orçamento explícita:

    TurnoCarga de solicitação (aproximadamente tokens de entrada que você enviou)Tokens contados contra orçamento neste turnoOrçamento remaining após
    1~205.000 (pensamento + tool_use)~95.000
    2~7.800 (histórico do turno 1 + resultado da ferramenta)6.800 (2.800 resultado da ferramenta + 4.000 pensamento e tool_use)~88.200
    3~13.000 (histórico completo + segundo resultado da ferramenta)7.200 (1.200 resultado da ferramenta + 6.000 text)~81.000
    Total~20.820 enviados em solicitações19.000 contados contra orçamento—

    Seu cliente enviou a mensagem do usuário do turno 1 três vezes e a mensagem do assistente do turno 1 duas vezes, mas cada uma foi contada uma vez. O orçamento gastou 19.000 de 100.000 tokens, mesmo que a carga cumulativa que seu cliente transmitiu fosse maior e a entrada em cache de prompt nos turnos 2 e 3 fosse ainda maior.

    Transferindo um orçamento entre compactação com remaining

    Se seu loop agentic compacta ou reescreve contexto entre solicitações (por exemplo, resumindo turnos anteriores), o servidor não tem memória de quanto orçamento foi gasto antes da compactação. Passe remaining na próxima solicitação para que a contagem regressiva continue de onde parou em vez de redefinir para total:

    Para loops que reenviam o histórico completo não compactado em cada turno, omita remaining e deixe o servidor rastrear a contagem regressiva.

    Orçamentos de tarefas são consultivos, não aplicados

    Os orçamentos de tarefas são uma dica suave, não um limite rígido. Claude pode ocasionalmente exceder o orçamento se estiver no meio de uma ação que seria mais disruptivo interromper do que terminar. O limite aplicado no total de tokens de saída ainda é max_tokens, que trunca a resposta com stop_reason: "max_tokens" quando atingido.

    Para um limite rígido em custo ou latência, combine orçamentos de tarefas com um valor max_tokens razoável:

    • Use task_budget para dar ao Claude um alvo para se manter no ritmo.
    • Use max_tokens como o teto absoluto que previne geração descontrolada.

    Como task_budget abrange o loop agentic completo (potencialmente muitas solicitações) enquanto max_tokens limita cada solicitação individual, os dois valores são independentes; um não é obrigado a estar em ou abaixo do outro.

    Um orçamento muito pequeno para a tarefa pode causar comportamento semelhante a recusa. Quando Claude vê um orçamento que é claramente insuficiente para o trabalho sendo solicitado (por exemplo, um orçamento de 20.000 tokens para uma tarefa agentic de codificação de várias horas), ele pode recusar tentar a tarefa completamente, reduzi-la agressivamente, ou parar cedo com um resultado parcial em vez de começar o trabalho que não pode terminar. Se você observar recusas inesperadas ou paradas prematuras após definir um orçamento, aumente o orçamento antes de depurar outros parâmetros. Dimensione orçamentos contra sua distribuição de comprimento de tarefa real em vez de um padrão fixo; veja Escolhendo um orçamento.

    Escolhendo um orçamento

    O orçamento certo depende de quanto trabalho seu loop agentic atualmente faz. Em vez de adivinhar, meça seu uso de tokens existente primeiro e depois ajuste a partir daí.

    Meça seu uso atual

    Execute uma amostra representativa de tarefas sem task_budget definido e registre o total de tokens que Claude gasta por tarefa. Para um loop agentic, some usage.output_tokens mais tokens de pensamento e resultado de ferramenta em cada solicitação no loop:

    Execute isso em um conjunto representativo de tarefas e registre a distribuição. Comece com o p99 do seu gasto de tokens por tarefa para entender como fornecer ao modelo um orçamento de tarefas pode modificar o comportamento do modelo, depois teste para cima ou para baixo conforme necessário.

    O task_budget.total mínimo aceito é 20.000 tokens; valores abaixo do mínimo retornam um erro 400.

    Interação com outros parâmetros

    • max_tokens: Ortogonal aos orçamentos de tarefas. max_tokens é um limite rígido por solicitação em tokens gerados, enquanto task_budget é um limite consultivo em todo o loop agentic (potencialmente abrangendo muitas solicitações). Em esforço xhigh ou max, defina max_tokens para pelo menos 64k para dar ao Claude espaço para pensar e agir em cada solicitação.
    • Esforço: O esforço controla como Claude raciocina profundamente por etapa. Os orçamentos de tarefas controlam quanto trabalho total Claude faz em um loop agentic. Os dois são complementares: o esforço ajusta a profundidade, os orçamentos de tarefas ajustam a amplitude.
    • Pensamento adaptativo: Os orçamentos de tarefas incluem tokens de pensamento na contagem, então o pensamento adaptativo naturalmente diminui conforme o orçamento se esgota.
    • Cache de prompt: O marcador de contagem regressiva de orçamento é injetado no lado do servidor por turno, então não corresponde entre solicitações. Se seu cliente decrementar task_budget.remaining em cada solicitação de acompanhamento, o valor alterado invalida qualquer prefixo de cache que o contenha. Para preservar o cache, defina o orçamento uma vez na solicitação inicial e deixe o modelo se autorregular contra a contagem regressiva no lado do servidor em vez de mutar o orçamento no lado do cliente.

    Suporte de recursos

    ModeloSuporte
    Claude Opus 4.7Beta pública (defina o cabeçalho task-budgets-2026-03-13)
    Claude Opus 4.6Não suportado
    Claude Sonnet 4.6Não suportado
    Claude Haiku 4.5Não suportado

    Os orçamentos de tarefas não são suportados em superfícies Claude Code ou Cowork no lançamento. Use orçamentos de tarefas diretamente via a API de Mensagens no Claude Opus 4.7.

    client = anthropic.Anthropic()
    
    response = client.beta.messages.create(
        model="claude-opus-4-7",
        max_tokens=128000,
        output_config={
            "effort": "high",
            "task_budget": {"type": "tokens", "total": 64000},
        },
        messages=[
            {"role": "user", "content": "Review the codebase and propose a refactor plan."}
        ],
        betas=["task-budgets-2026-03-13"],
    )
    output_config = {
        "effort": "high",
        "task_budget": {
            "type": "tokens",
            "total": 128000,
            "remaining": 128000 - tokens_spent_so_far,
        },
    }
    def run_task_and_count_tokens(messages: list) -> int:
        """Runs an agentic loop to completion and returns total tokens spent."""
        total_spend = 0
        while True:
            response = client.beta.messages.create(
                model="claude-opus-4-7",
                max_tokens=128000,
                messages=messages,
                tools=tools,
                betas=["task-budgets-2026-03-13"],
            )
            # Count what Claude generated this turn (output covers text + thinking + tool calls).
            # Tool-result tokens also count against the budget; add the token count of the
            # tool_result blocks you append below if you want client-side tracking to match
            # the server-side countdown.
            total_spend += response.usage.output_tokens
            if response.stop_reason == "end_turn":
                return total_spend
            # Append the assistant turn and your tool results, then continue the loop.
            messages += [
                {"role": "assistant", "content": response.content},
                {"role": "user", "content": run_tools(response.content)},
            ]