Loading...
    • Crea
    • Admin
    • Modelli e prezzi
    • SDK client
    • Riferimento API
    Search...
    ⌘K
    Primi passi
    Introduzione a ClaudeGuida rapida
    Creare con Claude
    Panoramica delle funzioniUtilizzo dell'API MessagesCompetenza Claude APIGestione dei motivi di arresto
    Capacità del modello
    Extended thinkingAdaptive thinkingEffortBudget attività (beta)Modalità veloce (beta: anteprima ricerca)Output strutturatiCitazioniStreaming MessagesElaborazione batchRisultati di ricercaStreaming rifiutiSupporto multilingueEmbeddings
    Strumenti
    PanoramicaCome funziona l'uso degli strumentiStrumento di ricerca webStrumento di recupero webStrumento di esecuzione codiceStrumento AdvisorStrumento MemoryStrumento BashStrumento Computer useStrumento editor di testo
    Infrastruttura degli strumenti
    Riferimento strumentiRicerca strumentiChiamata programmatica degli strumentiStreaming granulare degli strumenti
    Gestione del contesto
    Finestre di contestoCompattazioneModifica del contestoPrompt cachingConteggio token
    Utilizzo dei file
    API FilesSupporto PDFImmagini e visione
    Competenze
    PanoramicaGuida rapidaBest practiceCompetenze per l'aziendaCompetenze nell'API
    MCP
    Server MCP remotiConnettore MCP
    Prompt engineering
    PanoramicaBest practice per il promptStrumenti di prompt in Console
    Test e valutazione
    Definire il successo e creare valutazioniUtilizzo dello strumento di valutazione in ConsoleRiduzione della latenza
    Rafforzare le protezioni
    Ridurre le allucinazioniAumentare la coerenza dell'outputMitigare i jailbreakRidurre la perdita di prompt
    Risorse
    Glossario
    Note sulla versione
    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
    Capacità del modello

    Budget di attività

    Fornisci a Claude un budget di token consigliato per l'intero ciclo agenziale per aiutare il modello ad autoregolarsi su attività agenziali lunghe con budget di attività.

    Was this page helpful?

    • Quando utilizzare i budget di attività
    • Impostazione di un budget di attività
    • Come funziona il conto alla rovescia del budget
    • Esempio pratico: conteggio del budget tra i turni
    • Trasporto di un budget tra la compattazione con remaining
    • I budget di attività sono consultativi, non applicati
    • Scelta di un budget
    • Misura il tuo utilizzo attuale
    • Interazione con altri parametri
    • Supporto delle funzionalità

    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.

    I budget di attività ti permettono di dire a Claude quanti token ha a disposizione per un ciclo agenziale completo, incluso il pensiero, le chiamate agli strumenti, i risultati degli strumenti e l'output. Il modello vede un conto alla rovescia in tempo reale e lo utilizza per dare priorità al lavoro e terminare elegantemente man mano che il budget viene consumato.

    I budget di attività sono in beta pubblica su Claude Opus 4.7. Imposta l'intestazione beta task-budgets-2026-03-13 per aderire.

    Quando utilizzare i budget di attività

    I budget di attività funzionano meglio per i flussi di lavoro agenziali in cui Claude effettua più chiamate agli strumenti e decisioni prima di finalizzare l'output in attesa della prossima risposta umana. Utilizzali quando:

    • Vuoi che Claude autoregoli la spesa di token su attività a lungo termine.
    • Hai un costo per attività prevedibile o un limite di latenza da applicare.
    • Vuoi che il modello termini elegantemente (riassumere i risultati, segnalare i progressi) man mano che si avvicina al budget piuttosto che interrompersi a metà azione.

    I budget di attività completano il parametro effort: effort controlla quanto accuratamente Claude ragiona su ogni passaggio, mentre i budget di attività limitano il lavoro totale che Claude può fare in un ciclo agenziale.

    Impostazione di un budget di attività

    Aggiungi task_budget a output_config e includi l'intestazione beta:

    L'oggetto task_budget ha tre campi:

    • type: sempre "tokens".
    • total: il numero di token che Claude può spendere in tutto il ciclo agenziale, incluso il pensiero, le chiamate agli strumenti, i risultati degli strumenti e l'output.
    • remaining (opzionale): il resto del budget trasportato da una richiesta precedente. Predefinito a total quando omesso.

    Come funziona il conto alla rovescia del budget

    Claude vede un marcatore di conto alla rovescia del budget iniettato lato server durante tutta la conversazione. Il marcatore mostra quanti token rimangono nel ciclo agenziale corrente e si aggiorna man mano che il modello genera pensiero, chiamate agli strumenti e output, e mentre elabora i risultati degli strumenti. Claude utilizza questo segnale per regolare il ritmo e terminare elegantemente man mano che il budget viene consumato.

    Il conto alla rovescia riflette i token che Claude ha elaborato nel ciclo agenziale corrente, non i token che reinvii tra i turni. Se il tuo client invia la cronologia completa della conversazione su ogni richiesta di follow-up, il tuo conteggio dei token lato client potrebbe differire dal budget che Claude sta tracciando. Se decrementi anche remaining mentre reinvii la cronologia completa, il modello vede un budget sottodichiarato e il conto alla rovescia scende più velocemente di quanto dovrebbe, causando a Claude di concludere prima di quanto il budget effettivamente consente. Imposta un budget generoso e lascia che il modello si autoregoli rispetto al conto alla rovescia lato server piuttosto che cercare di specchiarlo lato client.

    Esempio pratico: conteggio del budget tra i turni

    Il budget di attività conta quello che Claude vede (pensiero, chiamate agli strumenti e risultati, e testo), non quello che è nel tuo payload di richiesta. In un ciclo agenziale il tuo client reinvia la conversazione completa su ogni richiesta, quindi il payload cresce turno dopo turno, ma il budget si decrementa solo dai token che Claude vede questo turno.

    Considera un ciclo con task_budget: {type: "tokens", total: 100000} e un singolo strumento bash.

    Turno 1. Invii la richiesta iniziale:

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

    Claude pensa, quindi emette una chiamata agli strumenti e si ferma con 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" }
        }
      ]
    }

    Supponiamo che questo turno dell'assistente (pensiero più la chiamata agli strumenti) totalizzi 5.000 token generati. Il conto alla rovescia che Claude ha visto durante la generazione è terminato vicino a remaining ≈ 95.000.

    Turno 2. Il tuo client esegue lo strumento, quindi reinvia la cronologia completa con il risultato dello strumento aggiunto:

    {
      "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>"
            }
          ]
        }
      ]
    }

    I messaggi dell'utente e dell'assistente del turno 1 reinviati non vengono conteggiati di nuovo, ma il risultato dello strumento di 2.800 token è nuovo contenuto che Claude vede questo turno e conta rispetto al budget. Claude spende altri 4.000 token su pensiero e una seconda chiamata agli strumenti (grep -rn "eval(" src/). Il conto alla rovescia termina vicino a remaining ≈ 88.200.

    Turno 3. Cronologia completa reinviata di nuovo con il secondo risultato dello strumento (1.200 token di output grep) aggiunto. Claude scrive un rapporto di risultati finali di 6.000 token e si ferma con stop_reason: "end_turn". remaining ≈ 81.000.

    Mettendo i tre turni uno accanto all'altro rende esplicita la distinzione tra la dimensione del payload e la spesa di budget:

    TurnoPayload della richiesta (circa token di input che hai inviato)Token conteggiati rispetto al budget questo turnoBudget remaining dopo
    1~205.000 (pensiero + tool_use)~95.000
    2~7.800 (cronologia turno 1 + risultato dello strumento)6.800 (2.800 risultato dello strumento + 4.000 pensiero e tool_use)~88.200
    3~13.000 (cronologia completa + secondo risultato dello strumento)7.200 (1.200 risultato dello strumento + 6.000 text)~81.000
    Totale~20.820 inviati tra le richieste19.000 conteggiati rispetto al budget—

    Il tuo client ha inviato il messaggio dell'utente del turno 1 tre volte e il messaggio dell'assistente del turno 1 due volte, ma ognuno è stato conteggiato una volta. Il budget ha speso 19.000 di 100.000 token, anche se il payload cumulativo che il tuo client ha trasmesso era più grande e l'input memorizzato nella cache del prompt sui turni 2 e 3 era ancora più grande.

    Trasporto di un budget tra la compattazione con remaining

    Se il tuo ciclo agenziale compatta o riscrive il contesto tra le richieste (ad esempio, riassumendo i turni precedenti), il server non ha memoria di quanto budget è stato speso prima della compattazione. Passa remaining sulla richiesta successiva in modo che il conto alla rovescia continui da dove era rimasto piuttosto che ripristinarsi a total:

    Per i cicli che reinviano la cronologia completa non compattata su ogni turno, ometti remaining e lascia che il server traccia il conto alla rovescia.

    I budget di attività sono consultativi, non applicati

    I budget di attività sono un suggerimento soft, non un limite rigido. Claude potrebbe occasionalmente superare il budget se è nel mezzo di un'azione che sarebbe più dirompente interrompere che completare. Il limite applicato sul totale dei token di output è ancora max_tokens, che tronca la risposta con stop_reason: "max_tokens" quando raggiunto.

    Per un limite rigido su costo o latenza, combina i budget di attività con un valore max_tokens ragionevole:

    • Usa task_budget per dare a Claude un obiettivo su cui regolare il ritmo.
    • Usa max_tokens come il limite assoluto che previene la generazione incontrollata.

    Poiché task_budget copre l'intero ciclo agenziale (potenzialmente molte richieste) mentre max_tokens limita ogni singola richiesta, i due valori sono indipendenti; uno non è richiesto di essere a o sotto l'altro.

    Un budget troppo piccolo per l'attività può causare un comportamento simile a un rifiuto. Quando Claude vede un budget che è chiaramente insufficiente per il lavoro richiesto (ad esempio, un budget di 20.000 token per un'attività di codifica agenziale di più ore), potrebbe rifiutarsi di tentare l'attività del tutto, ridurla aggressivamente, o fermarsi presto con un risultato parziale piuttosto che iniziare un lavoro che non può completare. Se osservi rifiuti inaspettati o arresti prematuri dopo aver impostato un budget, aumenta il budget prima di eseguire il debug di altri parametri. Dimensiona i budget rispetto alla tua effettiva distribuzione della lunghezza dell'attività piuttosto che a un valore predefinito fisso; vedi Scelta di un budget.

    Scelta di un budget

    Il budget giusto dipende da quanto lavoro il tuo ciclo agenziale attualmente fa. Piuttosto che indovinare, misura il tuo utilizzo di token esistente prima e poi sintonizzati da lì.

    Misura il tuo utilizzo attuale

    Esegui un campione rappresentativo di attività senza task_budget impostato e registra i token totali che Claude spende per attività. Per un ciclo agenziale, somma usage.output_tokens più token di pensiero e risultati degli strumenti su ogni richiesta nel ciclo:

    Esegui questo su un insieme rappresentativo di attività e registra la distribuzione. Inizia con il p99 della tua spesa di token per attività per capire come fornire al modello un budget di attività potrebbe modificare il comportamento del modello, quindi testa su o giù secondo le necessità.

    Il task_budget.total minimo accettato è 20.000 token; i valori al di sotto del minimo restituiscono un errore 400.

    Interazione con altri parametri

    • max_tokens: Ortogonale ai budget di attività. max_tokens è un limite rigido per richiesta sui token generati, mentre task_budget è un limite consigliato su tutto il ciclo agenziale (potenzialmente coprendo molte richieste). A xhigh o max effort, imposta max_tokens ad almeno 64k per dare a Claude spazio per pensare e agire su ogni richiesta.
    • Effort: Effort controlla quanto profondamente Claude ragiona per passaggio. I budget di attività controllano quanto lavoro totale Claude fa in un ciclo agenziale. I due sono complementari: effort sintonizza la profondità, i budget di attività sintonizzano l'ampiezza.
    • Adaptive thinking: I budget di attività includono i token di pensiero nel conteggio, quindi il pensiero adattivo si ridimensiona naturalmente man mano che il budget si esaurisce.
    • Prompt caching: Il marcatore di conto alla rovescia del budget è iniettato lato server per turno, quindi non corrisponde tra le richieste. Se il tuo client decrementa task_budget.remaining su ogni richiesta di follow-up, il valore modificato invalida qualsiasi prefisso della cache che lo contiene. Per preservare la memorizzazione nella cache, imposta il budget una volta sulla richiesta iniziale e lascia che il modello si autoregoli rispetto al conto alla rovescia lato server piuttosto che mutare il budget lato client.

    Supporto delle funzionalità

    ModelloSupporto
    Claude Opus 4.7Beta pubblica (imposta l'intestazione task-budgets-2026-03-13)
    Claude Opus 4.6Non supportato
    Claude Sonnet 4.6Non supportato
    Claude Haiku 4.5Non supportato

    I budget di attività non sono supportati su Claude Code o superfici Cowork al lancio. Usa i budget di attività direttamente tramite l'API Messages su 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)},
            ]