Claude può interagire con ambienti desktop attraverso lo strumento di controllo del computer, che fornisce capacità di screenshot e controllo del mouse/tastiera per l'interazione autonoma del desktop.
Il controllo del computer è attualmente in beta e richiede un header beta:
"computer-use-2025-11-24" (Claude Opus 4.5)"computer-use-2025-01-24" (modelli Claude 4 e Claude Sonnet 3.7 (deprecato))Il controllo del computer è una funzione beta che consente a Claude di interagire con ambienti desktop. Questo strumento fornisce:
Sebbene il controllo del computer possa essere aumentato con altri strumenti come bash e editor di testo per flussi di lavoro di automazione più completi, il controllo del computer si riferisce specificamente alla capacità dello strumento di controllo del computer di vedere e controllare gli ambienti desktop.
Il controllo del computer è disponibile per i seguenti modelli Claude:
| Modello | Versione dello strumento | Flag Beta |
|---|---|---|
| Claude Opus 4.5 | computer_20251124 | computer-use-2025-11-24 |
| Modelli Claude 4 | computer_20250124 | computer-use-2025-01-24 |
| Claude Sonnet 3.7 (deprecato) | computer_20250124 | computer-use-2025-01-24 |
Claude Opus 4.5 introduce la versione dello strumento computer_20251124 con nuove capacità inclusa l'azione zoom per l'ispezione dettagliata della regione dello schermo. I modelli Claude 4 utilizzano versioni dello strumento aggiornate ottimizzate per la nuova architettura. Claude Sonnet 3.7 (deprecato) introduce capacità aggiuntive inclusa la funzione di pensiero per una maggiore comprensione del processo di ragionamento del modello.
Le versioni dello strumento più vecchie non sono garantite come retrocompatibili con i modelli più recenti. Utilizza sempre la versione dello strumento che corrisponde alla versione del tuo modello.
Il controllo del computer è una funzione beta con rischi unici distinti dalle funzioni API standard. Questi rischi sono aumentati quando si interagisce con Internet. Per minimizzare i rischi, considera di prendere precauzioni come:
In alcune circostanze, Claude seguirà i comandi trovati nel contenuto anche se entra in conflitto con le istruzioni dell'utente. Ad esempio, le istruzioni Claude su pagine web o contenute in immagini possono ignorare le istruzioni o causare errori di Claude. Suggeriamo di prendere precauzioni per isolare Claude da dati e azioni sensibili per evitare rischi legati all'iniezione di prompt.
Abbiamo addestrato il modello a resistere a queste iniezioni di prompt e abbiamo aggiunto un ulteriore livello di difesa. Se utilizzi i nostri strumenti di controllo del computer, eseguiremo automaticamente classificatori sui tuoi prompt per contrassegnare potenziali istanze di iniezioni di prompt. Quando questi classificatori identificano potenziali iniezioni di prompt negli screenshot, guideranno automaticamente il modello a chiedere la conferma dell'utente prima di procedere con l'azione successiva. Riconosciamo che questa protezione extra non sarà ideale per ogni caso d'uso (ad esempio, casi d'uso senza un umano nel ciclo), quindi se desideri rinunciare e disattivarla, contattaci.
Suggeriamo comunque di prendere precauzioni per isolare Claude da dati e azioni sensibili per evitare rischi legati all'iniezione di prompt.
Inizia rapidamente con la nostra implementazione di riferimento del controllo del computer che include un'interfaccia web, un contenitore Docker, implementazioni di strumenti di esempio e un ciclo di agenti.
Nota: L'implementazione è stata aggiornata per includere nuovi strumenti sia per i modelli Claude 4 che per Claude Sonnet 3.7. Assicurati di estrarre la versione più recente del repository per accedere a queste nuove funzioni.
Utilizza questo modulo per fornire feedback sulla qualità delle risposte del modello, sull'API stessa o sulla qualità della documentazione - non vediamo l'ora di sentirti!
Ecco come iniziare con il controllo del computer:
Un header beta è richiesto solo per lo strumento di controllo del computer.
L'esempio sopra mostra tutti e tre gli strumenti utilizzati insieme, il che richiede l'header beta perché include lo strumento di controllo del computer.
Ci riferiamo alla ripetizione dei passaggi 3 e 4 senza input dell'utente come il "ciclo di agenti" - cioè Claude che risponde con una richiesta di utilizzo dello strumento e la tua applicazione che risponde a Claude con i risultati della valutazione di quella richiesta.
Claude può interagire con ambienti informatici attraverso lo strumento di utilizzo del computer, che fornisce funzionalità di screenshot e controllo del mouse/tastiera per l'interazione autonoma del desktop.
L'utilizzo del computer è attualmente in beta e richiede un intestazione beta:
"computer-use-2025-11-24" (Claude Opus 4.5)"computer-use-2025-01-24" (Modelli Claude 4 e Claude Sonnet 3.7 (deprecato))L'utilizzo del computer è una funzione beta che consente a Claude di interagire con ambienti desktop. Questo strumento fornisce:
Sebbene l'utilizzo del computer possa essere aumentato con altri strumenti come bash e editor di testo per flussi di lavoro di automazione più completi, l'utilizzo del computer si riferisce specificamente alla capacità dello strumento di utilizzo del computer di vedere e controllare gli ambienti desktop.
L'utilizzo del computer è disponibile per i seguenti modelli Claude:
| Modello | Versione dello strumento | Flag Beta |
|---|---|---|
| Claude Opus 4.5 | computer_20251124 | computer-use-2025-11-24 |
| Modelli Claude 4 | computer_20250124 | computer-use-2025-01-24 |
| Claude Sonnet 3.7 (deprecato) | computer_20250124 | computer-use-2025-01-24 |
Claude Opus 4.5 introduce la versione dello strumento computer_20251124 con nuove funzionalità inclusa l'azione di zoom per l'ispezione dettagliata della regione dello schermo. I modelli Claude 4 utilizzano versioni dello strumento aggiornate ottimizzate per la nuova architettura. Claude Sonnet 3.7 (deprecato) introduce funzionalità aggiuntive inclusa la funzione di pensiero per una maggiore comprensione del processo di ragionamento del modello.
Le versioni dello strumento più vecchie non sono garantite essere retrocompatibili con i modelli più recenti. Utilizza sempre la versione dello strumento che corrisponde alla versione del tuo modello.
L'utilizzo del computer è una funzione beta con rischi unici distinti dalle funzioni API standard. Questi rischi sono aumentati quando si interagisce con Internet. Per ridurre al minimo i rischi, considera di prendere precauzioni come:
In alcune circostanze, Claude seguirà i comandi trovati nel contenuto anche se entra in conflitto con le istruzioni dell'utente. Ad esempio, le istruzioni Claude su pagine web o contenute in immagini possono ignorare le istruzioni o causare a Claude di fare errori. Suggeriamo di prendere precauzioni per isolare Claude da dati e azioni sensibili per evitare rischi correlati all'iniezione di prompt.
Abbiamo addestrato il modello a resistere a queste iniezioni di prompt e abbiamo aggiunto un ulteriore livello di difesa. Se utilizzi i nostri strumenti di utilizzo del computer, eseguiremo automaticamente classificatori sui tuoi prompt per contrassegnare potenziali istanze di iniezioni di prompt. Quando questi classificatori identificano potenziali iniezioni di prompt negli screenshot, guideranno automaticamente il modello a chiedere la conferma dell'utente prima di procedere con l'azione successiva. Riconosciamo che questa protezione extra non sarà ideale per ogni caso d'uso (ad esempio, casi d'uso senza un umano nel ciclo), quindi se desideri rinunciare e disattivarla, contattaci.
Suggeriamo comunque di prendere precauzioni per isolare Claude da dati e azioni sensibili per evitare rischi correlati all'iniezione di prompt.
Inizia rapidamente con la nostra implementazione di riferimento per l'utilizzo del computer che include un'interfaccia web, un contenitore Docker, implementazioni di strumenti di esempio e un ciclo di agenti.
Nota: L'implementazione è stata aggiornata per includere nuovi strumenti sia per i modelli Claude 4 che per Claude Sonnet 3.7. Assicurati di estrarre la versione più recente del repository per accedere a queste nuove funzionalità.
Utilizza questo modulo per fornire feedback sulla qualità delle risposte del modello, sull'API stessa o sulla qualità della documentazione - non vediamo l'ora di sentirti!
Ecco come iniziare con l'utilizzo del computer:
Un'intestazione beta è richiesta solo per lo strumento di utilizzo del computer.
L'esempio sopra mostra tutti e tre gli strumenti utilizzati insieme, il che richiede l'intestazione beta perché include lo strumento di utilizzo del computer.
Ci riferiamo alla ripetizione dei passaggi 3 e 4 senza input dell'utente come il "ciclo di agenti" - cioè Claude che risponde con una richiesta di utilizzo dello strumento e la tua applicazione che risponde a Claude con i risultati della valutazione di quella richiesta.
L'utilizzo del computer richiede un ambiente informatico sandbox in cui Claude possa interagire in sicurezza con applicazioni e il web. Questo ambiente include:
Display virtuale: Un server di visualizzazione X11 virtuale (utilizzando Xvfb) che esegue il rendering dell'interfaccia desktop che Claude vedrà attraverso gli screenshot e controllerà con le azioni del mouse/tastiera.
Ambiente desktop: Un'interfaccia utente leggera con gestore finestre (Mutter) e pannello (Tint2) in esecuzione su Linux, che fornisce un'interfaccia grafica coerente per Claude per interagire.
Applicazioni: Applicazioni Linux preinstallate come Firefox, LibreOffice, editor di testo e gestori di file che Claude può utilizzare per completare le attività.
Implementazioni di strumenti: Codice di integrazione che traduce le richieste di strumenti astratti di Claude (come "sposta il mouse" o "prendi uno screenshot") in operazioni effettive nell'ambiente virtuale.
Ciclo di agenti: Un programma che gestisce la comunicazione tra Claude e l'ambiente, inviando le azioni di Claude all'ambiente e restituendo i risultati (screenshot, output dei comandi) a Claude.
Quando utilizzi l'utilizzo del computer, Claude non si connette direttamente a questo ambiente. Invece, la tua applicazione:
Per la sicurezza e l'isolamento, l'implementazione di riferimento esegue tutto questo all'interno di un contenitore Docker con mappature di porta appropriate per visualizzare e interagire con l'ambiente.
Abbiamo costruito un'implementazione di riferimento che include tutto ciò di cui hai bisogno per iniziare rapidamente con l'utilizzo del computer:
Il nucleo dell'utilizzo del computer è il "ciclo di agenti" - un ciclo in cui Claude richiede azioni dello strumento, la tua applicazione le esegue e restituisce i risultati a Claude. Ecco un esempio semplificato:
async def sampling_loop(
*,
model: str,
messages: list[dict],
api_key: str,
max_tokens: int = 4096,
tool_version: str,
thinking_budget: int | None = None,
max_iterations: int = 10, # Aggiungi limite di iterazione per prevenire cicli infiniti
):
"""
Un semplice ciclo di agenti per le interazioni di utilizzo del computer Claude.
Questa funzione gestisce il dialogo tra:
1. Invio di messaggi dell'utente a Claude
2. Claude che richiede di utilizzare gli strumenti
3. La tua app che esegue questi strumenti
4. Invio dei risultati dello strumento a Claude
"""
# Configura strumenti e parametri API
client = Anthropic(api_key=api_key)
beta_flag = "computer-use-2025-01-24" if "20250124" in tool_version else "computer-use-2024-10-22"
# Configura strumenti - dovresti già averli inizializzati altrove
tools = [
{"type": f"computer_{tool_version}", "name": "computer", "display_width_px": 1024, "display_height_px": 768},
{"type": f"text_editor_{tool_version}", "name": "str_replace_editor"},
{"type": f"bash_{tool_version}", "name": "bash"}
]
# Ciclo di agenti principale (con limite di iterazione per prevenire costi API incontrollati)
iterations = 0
while True and iterations < max_iterations:
iterations += 1
# Configura il parametro di pensiero opzionale (per Claude Sonnet 3.7)
thinking = None
if thinking_budget:
thinking = {"type": "enabled", "budget_tokens": thinking_budget}
# Chiama l'API Claude
response = client.beta.messages.create(
model=model,
max_tokens=max_tokens,
messages=messages,
tools=tools,
betas=[beta_flag],
thinking=thinking
)
# Aggiungi la risposta di Claude alla cronologia della conversazione
response_content = response.content
messages.append({"role": "assistant", "content": response_content})
# Controlla se Claude ha utilizzato degli strumenti
tool_results = []
for block in response_content:
if block.type == "tool_use":
# In un'app reale, eseguiresti lo strumento qui
# Ad esempio: result = run_tool(block.name, block.input)
result = {"result": "Tool executed successfully"}
# Formatta il risultato per Claude
tool_results.append({
"type": "tool_result",
"tool_use_id": block.id,
"content": result
})
# Se nessuno strumento è stato utilizzato, Claude ha finito - restituisci i messaggi finali
if not tool_results:
return messages
# Aggiungi i risultati dello strumento ai messaggi per la prossima iterazione con Claude
messages.append({"role": "user", "content": tool_results})Il ciclo continua fino a quando Claude non risponde senza richiedere alcuno strumento (completamento dell'attività) o fino al raggiungimento del limite massimo di iterazione. Questa salvaguardia previene potenziali cicli infiniti che potrebbero causare costi API imprevisti.
Quando utilizzi lo strumento di utilizzo del computer, devi includere il flag beta appropriato per la versione del tuo modello:
Ti consigliamo di provare l'implementazione di riferimento prima di leggere il resto di questa documentazione.
Ecco alcuni suggerimenti su come ottenere i migliori output di qualità:
Dopo ogni passaggio, prendi uno screenshot e valuta attentamente se hai raggiunto il risultato giusto. Mostra esplicitamente il tuo ragionamento: "Ho valutato il passaggio X..." Se non è corretto, riprova. Solo quando confermi che un passaggio è stato eseguito correttamente dovresti passare a quello successivo.<robot_credentials>. L'utilizzo dell'utilizzo del computer all'interno di applicazioni che richiedono l'accesso aumenta il rischio di risultati negativi a causa dell'iniezione di prompt. Consulta la nostra guida sulla mitigazione delle iniezioni di prompt prima di fornire al modello le credenziali di accesso.Se incontri ripetutamente una serie chiara di problemi o conosci in anticipo le attività che Claude dovrà completare, utilizza il prompt di sistema per fornire a Claude suggerimenti o istruzioni espliciti su come completare le attività con successo.
Quando uno degli strumenti definiti da Anthropic viene richiesto tramite l'API Claude, viene generato un prompt di sistema specifico per l'utilizzo del computer. È simile al prompt di sistema di utilizzo dello strumento ma inizia con:
Hai accesso a un set di funzioni che puoi utilizzare per rispondere alla domanda dell'utente. Questo include l'accesso a un ambiente informatico sandbox. Attualmente NON hai la capacità di ispezionare file o interagire con risorse esterne, se non invocando le funzioni seguenti.
Come con l'utilizzo regolare dello strumento, il campo system_prompt fornito dall'utente è ancora rispettato e utilizzato nella costruzione del prompt di sistema combinato.
Abbiamo costruito un'implementazione di riferimento che include tutto ciò di cui hai bisogno per iniziare rapidamente con l'uso del computer:
Il nucleo dell'uso del computer è il "ciclo agente" - un ciclo in cui Claude richiede azioni di tool, la tua applicazione le esegue e restituisce i risultati a Claude. Ecco un esempio semplificato:
async def sampling_loop(
*,
model: str,
messages: list[dict],
api_key: str,
max_tokens: int = 4096,
tool_version: str,
thinking_budget: int | None = None,
max_iterations: int = 10, # Add iteration limit to prevent infinite loops
):
"""
A simple agent loop for Claude computer use interactions.
This function handles the back-and-forth between:
1. Sending user messages to Claude
2. Claude requesting to use tools
3. Your app executing those tools
4. Sending tool results back to Claude
"""
# Set up tools and API parameters
client = Anthropic(api_key=api_key)
beta_flag = "computer-use-2025-01-24" if "20250124" in tool_version else "computer-use-2024-10-22"
# Configure tools - you should already have these initialized elsewhere
tools = [
{"type": f"computer_{tool_version}", "name": "computer", "display_width_px": 1024, "display_height_px": 768},
{"type": f"text_editor_{tool_version}", "name": "str_replace_editor"},
{"type": f"bash_{tool_version}", "name": "bash"}
]
# Main agent loop (with iteration limit to prevent runaway API costs)
iterations = 0
while True and iterations < max_iterations:
iterations += 1
# Set up optional thinking parameter (for Claude Sonnet 3.7)
thinking = None
if thinking_budget:
thinking = {"type": "enabled", "budget_tokens": thinking_budget}
# Call the Claude API
response = client.beta.messages.create(
model=model,
max_tokens=max_tokens,
messages=messages,
tools=tools,
betas=[beta_flag],
thinking=thinking
)
# Add Claude's response to the conversation history
response_content = response.content
messages.append({"role": "assistant", "content": response_content})
# Check if Claude used any tools
tool_results = []
for block in response_content:
if block.type == "tool_use":
# In a real app, you would execute the tool here
# For example: result = run_tool(block.name, block.input)
result = {"result": "Tool executed successfully"}
# Format the result for Claude
tool_results.append({
"type": "tool_result",
"tool_use_id": block.id,
"content": result
})
# If no tools were used, Claude is done - return the final messages
if not tool_results:
return messages
# Add tool results to messages for the next iteration with Claude
messages.append({"role": "user", "content": tool_results})Il ciclo continua finché Claude non risponde senza richiedere alcun tool (completamento dell'attività) o finché non viene raggiunto il limite massimo di iterazioni. Questa salvaguardia previene potenziali cicli infiniti che potrebbero causare costi API imprevisti.
Quando utilizzi il tool di uso del computer, devi includere il flag beta appropriato per la versione del tuo modello:
Ti consigliamo di provare l'implementazione di riferimento prima di leggere il resto di questa documentazione.
Ecco alcuni suggerimenti su come ottenere i migliori output di qualità:
After each step, take a screenshot and carefully evaluate if you have achieved the right outcome. Explicitly show your thinking: "I have evaluated step X..." If not correct, try again. Only when you confirm a step was executed correctly should you move on to the next one.<robot_credentials>. L'utilizzo dell'uso del computer all'interno di applicazioni che richiedono l'accesso aumenta il rischio di risultati negativi a causa dell'iniezione di prompt. Consulta la nostra guida sulla mitigazione delle iniezioni di prompt prima di fornire al modello le credenziali di accesso.Se incontri ripetutamente una serie chiara di problemi o conosci in anticipo le attività che Claude dovrà completare, utilizza il prompt di sistema per fornire a Claude suggerimenti o istruzioni esplicite su come completare le attività con successo.
Quando uno dei tool definiti da Anthropic viene richiesto tramite l'API Claude, viene generato un prompt di sistema specifico per l'uso del computer. È simile al prompt di sistema di uso del tool ma inizia con:
You have access to a set of functions you can use to answer the user's question. This includes access to a sandboxed computing environment. You do NOT currently have the ability to inspect files or interact with external resources, except by invoking the below functions.
Come con l'uso regolare del tool, il campo system_prompt fornito dall'utente è ancora rispettato e utilizzato nella costruzione del prompt di sistema combinato.
Il tool di uso del computer supporta queste azioni:
Azioni di base (tutte le versioni)
[x, y]Azioni migliorate (computer_20250124)
Disponibili nei modelli Claude 4 e Claude Sonnet 3.7:
Azioni migliorate (computer_20251124)
Disponibili in Claude Opus 4.5:
computer_20250124enable_zoom: true nella definizione del tool. Accetta un parametro region con coordinate [x1, y1, x2, y2] che definiscono gli angoli in alto a sinistra e in basso a destra dell'area da ispezionare.| Parametro | Obbligatorio | Descrizione |
|---|---|---|
type | Sì | Versione del tool (computer_20251124, computer_20250124, o computer_20241022) |
name | Sì | Deve essere "computer" |
display_width_px | Sì | Larghezza del display in pixel |
display_height_px | Sì | Altezza del display in pixel |
display_number | No | Numero del display per ambienti X11 |
Mantieni la risoluzione del display a o sotto 1280x800 (WXGA) per le migliori prestazioni. Risoluzioni più elevate potrebbero causare problemi di accuratezza a causa del ridimensionamento dell'immagine.
Importante: Il tool di uso del computer deve essere eseguito esplicitamente dalla tua applicazione - Claude non può eseguirlo direttamente. Sei responsabile dell'implementazione della cattura dello schermo, dei movimenti del mouse, degli input da tastiera e di altre azioni in base alle richieste di Claude.
| Parametro | Obbligatorio | Descrizione |
|---|---|---|
type | Sì | Versione del tool (computer_20251124, computer_20250124, o computer_20241022) |
name | Sì | Deve essere "computer" |
display_width_px | Sì | Larghezza del display in pixel |
display_height_px | Sì | Altezza del display in pixel |
display_number | No | Numero del display per ambienti X11 |
Mantieni la risoluzione del display a o sotto 1280x800 (WXGA) per le migliori prestazioni. Risoluzioni più elevate potrebbero causare problemi di accuratezza a causa del ridimensionamento dell'immagine.
Importante: Il tool di uso del computer deve essere eseguito esplicitamente dalla tua applicazione - Claude non può eseguirlo direttamente. Sei responsabile dell'implementazione della cattura dello schermo, dei movimenti del mouse, degli input da tastiera e di altre azioni in base alle richieste di Claude.
Claude Sonnet 3.7 ha introdotto una nuova capacità di "pensiero" che ti consente di vedere il processo di ragionamento del modello mentre lavora su attività complesse. Questa funzione ti aiuta a comprendere come Claude sta affrontando un problema e può essere particolarmente preziosa per il debug o scopi educativi.
Per abilitare il pensiero, aggiungi un parametro thinking alla tua richiesta API:
"thinking": {
"type": "enabled",
"budget_tokens": 1024
}Il parametro budget_tokens specifica quanti token Claude può utilizzare per il pensiero. Questo viene sottratto dal tuo budget complessivo di max_tokens.
Quando il pensiero è abilitato, Claude restituirà il suo processo di ragionamento come parte della risposta, che può aiutarti a:
Ecco un esempio di come potrebbe apparire l'output del pensiero:
[Thinking]
I need to save a picture of a cat to the desktop. Let me break this down into steps:
1. First, I'll take a screenshot to see what's on the desktop
2. Then I'll look for a web browser to search for cat images
3. After finding a suitable image, I'll need to save it to the desktop
Let me start by taking a screenshot to see what's available...| Parametro | Obbligatorio | Descrizione |
|---|---|---|
type | Sì | Versione del tool (computer_20251124, computer_20250124, o computer_20241022) |
name | Sì | Deve essere "computer" |
display_width_px | Sì | Larghezza del display in pixel |
display_height_px | Sì | Altezza del display in pixel |
display_number | No | Numero del display per ambienti X11 |
Mantieni la risoluzione del display a o sotto 1280x800 (WXGA) per le migliori prestazioni. Risoluzioni più elevate potrebbero causare problemi di accuratezza a causa del ridimensionamento dell'immagine.
Importante: Il tool di uso del computer deve essere eseguito esplicitamente dalla tua applicazione - Claude non può eseguirlo direttamente. Sei responsabile dell'implementazione della cattura dello schermo, dei movimenti del mouse, degli input da tastiera e di altre azioni in base alle richieste di Claude.
Il tool di uso del computer può essere combinato con altri tool per creare flussi di lavoro di automazione più potenti. Questo è particolarmente utile quando hai bisogno di:
| Parametro | Obbligatorio | Descrizione |
|---|---|---|
type | Sì | Versione dello strumento (computer_20251124, computer_20250124, o computer_20241022) |
name | Sì | Deve essere "computer" |
display_width_px | Sì | Larghezza dello schermo in pixel |
display_height_px | Sì | Altezza dello schermo in pixel |
display_number | No | Numero dello schermo per ambienti X11 |
Mantenere la risoluzione dello schermo a 1280x800 (WXGA) o inferiore per le migliori prestazioni. Risoluzioni più alte possono causare problemi di precisione a causa del ridimensionamento dell'immagine.
Importante: Lo strumento di utilizzo del computer deve essere eseguito esplicitamente dalla tua applicazione - Claude non può eseguirlo direttamente. Sei responsabile dell'implementazione della cattura dello schermo, dei movimenti del mouse, degli input da tastiera e di altre azioni in base alle richieste di Claude.
Claude Sonnet 3.7 ha introdotto una nuova capacità di "ragionamento" che ti consente di vedere il processo di ragionamento del modello mentre affronta compiti complessi. Questa funzione ti aiuta a capire come Claude sta affrontando un problema e può essere particolarmente preziosa per il debug o scopi educativi.
Per abilitare il ragionamento, aggiungi un parametro thinking alla tua richiesta API:
"thinking": {
"type": "enabled",
"budget_tokens": 1024
}Il parametro budget_tokens specifica quanti token Claude può utilizzare per il ragionamento. Questo viene sottratto dal tuo budget complessivo di max_tokens.
Quando il ragionamento è abilitato, Claude restituirà il suo processo di ragionamento come parte della risposta, che può aiutarti a:
Ecco un esempio di come potrebbe apparire l'output del ragionamento:
[Thinking]
Devo salvare un'immagine di un gatto sul desktop. Dividiamo questo in passaggi:
1. Per prima cosa, farò uno screenshot per vedere cosa c'è sul desktop
2. Poi cercherò un browser web per cercare immagini di gatti
3. Dopo aver trovato un'immagine adatta, dovrò salvarla sul desktop
Iniziamo facendo uno screenshot per vedere cosa è disponibile...Lo strumento di utilizzo del computer può essere combinato con altri strumenti per creare flussi di lavoro di automazione più potenti. Questo è particolarmente utile quando hai bisogno di:
L'implementazione di riferimento è pensata per aiutarti a iniziare con l'utilizzo del computer. Include tutti i componenti necessari per far usare un computer a Claude. Tuttavia, puoi costruire il tuo ambiente per l'utilizzo del computer per adattarlo alle tue esigenze. Avrai bisogno di:
tool_use utilizzando le tue implementazioni di strumentiLo strumento di utilizzo del computer è implementato come uno strumento senza schema. Quando utilizzi questo strumento, non è necessario fornire uno schema di input come con altri strumenti; lo schema è integrato nel modello di Claude e non può essere modificato.
Quando implementi lo strumento di utilizzo del computer, possono verificarsi vari errori. Ecco come gestirli:
La funzionalità di utilizzo del computer è in beta. Sebbene le capacità di Claude siano all'avanguardia, gli sviluppatori dovrebbero essere consapevoli dei suoi limiti:
left_mouse_down, left_mouse_up e nuovo supporto per tasti modificatori. La selezione delle celle può essere più affidabile utilizzando questi controlli granulari e combinando i tasti modificatori con i clic.Rivedi e verifica sempre attentamente le azioni e i registri di utilizzo del computer di Claude. Non utilizzare Claude per attività che richiedono una precisione perfetta o informazioni sensibili dell'utente senza supervisione umana.
La funzionalità di utilizzo del computer è in beta. Sebbene le capacità di Claude siano all'avanguardia, gli sviluppatori dovrebbero essere consapevoli dei suoi limiti:
left_mouse_down, left_mouse_up e nuovo supporto per tasti modificatori. La selezione delle celle può essere più affidabile utilizzando questi controlli granulari e combinando i tasti modificatori con i clic.Rivedi e verifica sempre attentamente le azioni e i registri di utilizzo del computer di Claude. Non utilizzare Claude per attività che richiedono una precisione perfetta o informazioni sensibili dell'utente senza supervisione umana.
Computer use follows the standard tool use pricing. When using the computer use tool:
System prompt overhead: The computer use beta adds 466-499 tokens to the system prompt
Computer use tool token usage:
| Model | Input tokens per tool definition |
|---|---|
| Claude 4.x models | 735 tokens |
| Claude Sonnet 3.7 (deprecated) | 735 tokens |
Additional token consumption:
If you're also using bash or text editor tools alongside computer use, those tools have their own token costs as documented in their respective pages.
La funzionalità di utilizzo del computer è in beta. Sebbene le capacità di Claude siano all'avanguardia, gli sviluppatori dovrebbero essere consapevoli dei suoi limiti:
left_mouse_down, left_mouse_up e nuovo supporto per tasti modificatori. La selezione delle celle può essere più affidabile utilizzando questi controlli granulari e combinando i tasti modificatori con i clic.Rivedi e verifica sempre attentamente le azioni e i registri di utilizzo del computer di Claude. Non utilizzare Claude per attività che richiedono una precisione perfetta o informazioni sensibili dell'utente senza supervisione umana.
Computer use follows the standard tool use pricing. When using the computer use tool:
System prompt overhead: The computer use beta adds 466-499 tokens to the system prompt
Computer use tool token usage:
| Model | Input tokens per tool definition |
|---|---|
| Claude 4.x models | 735 tokens |
| Claude Sonnet 3.7 (deprecated) | 735 tokens |
Additional token consumption:
If you're also using bash or text editor tools alongside computer use, those tools have their own token costs as documented in their respective pages.
Infine, informi gli utenti finali dei rischi rilevanti e ottieni il loro consenso prima di abilitare il controllo del computer nei tuoi prodotti.
import anthropic
client = anthropic.Anthropic()
response = client.beta.messages.create(
model="claude-sonnet-4-5", # or another compatible model
max_tokens=1024,
tools=[
{
"type": "computer_20250124",
"name": "computer",
"display_width_px": 1024,
"display_height_px": 768,
"display_number": 1,
},
{
"type": "text_editor_20250728",
"name": "str_replace_based_edit_tool"
},
{
"type": "bash_20250124",
"name": "bash"
}
],
messages=[{"role": "user", "content": "Save a picture of a cat to my desktop."}],
betas=["computer-use-2025-01-24"]
)
print(response)1. Fornisci a Claude lo strumento di controllo del computer e un prompt dell'utente
2. Claude decide di utilizzare lo strumento di controllo del computer
stop_reason di tool_use, segnalando l'intenzione di Claude.3. Estrai l'input dello strumento, valuta lo strumento su un computer e restituisci i risultati
user contenente un blocco di contenuto tool_result.4. Claude continua a chiamare gli strumenti di controllo del computer fino al completamento dell'attività
stop_reason di tool_use e dovresti tornare al passaggio 3.Infine, informi gli utenti finali dei rischi rilevanti e ottieni il loro consenso prima di abilitare l'utilizzo del computer nei tuoi prodotti.
import anthropic
client = anthropic.Anthropic()
response = client.beta.messages.create(
model="claude-sonnet-4-5", # o un altro modello compatibile
max_tokens=1024,
tools=[
{
"type": "computer_20250124",
"name": "computer",
"display_width_px": 1024,
"display_height_px": 768,
"display_number": 1,
},
{
"type": "text_editor_20250728",
"name": "str_replace_based_edit_tool"
},
{
"type": "bash_20250124",
"name": "bash"
}
],
messages=[{"role": "user", "content": "Salva un'immagine di un gatto sul mio desktop."}],
betas=["computer-use-2025-01-24"]
)
print(response)1. Fornisci a Claude lo strumento di utilizzo del computer e un prompt dell'utente
2. Claude decide di utilizzare lo strumento di utilizzo del computer
stop_reason di tool_use, segnalando l'intenzione di Claude.3. Estrai l'input dello strumento, valuta lo strumento su un computer e restituisci i risultati
user contenente un blocco di contenuto tool_result.4. Claude continua a chiamare gli strumenti di utilizzo del computer fino al completamento dell'attività
stop_reason di tool_use e dovresti tornare al passaggio 3.enable_zoom |
| No |
Abilita l'azione zoom (computer_20251124 solo). Imposta su true per consentire a Claude di ingrandire regioni specifiche dello schermo. Predefinito: false |
enable_zoom |
| No |
Abilita l'azione zoom (computer_20251124 solo). Imposta su true per consentire a Claude di ingrandire regioni specifiche dello schermo. Predefinito: false |
enable_zoom |
| No |
Abilita l'azione zoom (computer_20251124 solo). Imposta su true per consentire a Claude di ingrandire regioni specifiche dello schermo. Predefinito: false |
curl https://api.anthropic.com/v1/messages \
-H "content-type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: computer-use-2025-01-24" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 2000,
"tools": [
{
"type": "computer_20250124",
"name": "computer",
"display_width_px": 1024,
"display_height_px": 768,
"display_number": 1
},
{
"type": "text_editor_20250728",
"name": "str_replace_based_edit_tool"
},
{
"type": "bash_20250124",
"name": "bash"
},
{
"name": "get_weather",
"description": "Get the current weather in a given location",
"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"]
}
}
],
"messages": [
{
"role": "user",
"content": "Find flights from San Francisco to a place with warmer weather."
}
],
"thinking": {
"type": "enabled",
"budget_tokens": 1024
}
}'enable_zoom |
| No |
Abilita azione zoom (computer_20251124 solo). Impostare su true per consentire a Claude di ingrandire regioni specifiche dello schermo. Predefinito: false |
curl https://api.anthropic.com/v1/messages \
-H "content-type: application/json" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "anthropic-beta: computer-use-2025-01-24" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 2000,
"tools": [
{
"type": "computer_20250124",
"name": "computer",
"display_width_px": 1024,
"display_height_px": 768,
"display_number": 1
},
{
"type": "text_editor_20250728",
"name": "str_replace_based_edit_tool"
},
{
"type": "bash_20250124",
"name": "bash"
},
{
"name": "get_weather",
"description": "Get the current weather in a given location",
"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"]
}
}
],
"messages": [
{
"role": "user",
"content": "Find flights from San Francisco to a place with warmer weather."
}
],
"thinking": {
"type": "enabled",
"budget_tokens": 1024
}
}'Configura il tuo ambiente di calcolo
Crea un display virtuale o connettiti a un display esistente con cui Claude interagirà. Questo in genere comporta la configurazione di Xvfb (X Virtual Framebuffer) o tecnologia simile.
Implementa gestori di azioni
Crea funzioni per gestire ogni tipo di azione che Claude potrebbe richiedere:
def handle_computer_action(action_type, params):
if action_type == "screenshot":
return capture_screenshot()
elif action_type == "left_click":
x, y = params["coordinate"]
return click_at(x, y)
elif action_type == "type":
return type_text(params["text"])
# ... gestisci altre azioniElabora le chiamate di strumenti di Claude
Estrai ed esegui le chiamate di strumenti dalle risposte di Claude:
for content in response.content:
if content.type == "tool_use":
action = content.input["action"]
result = handle_computer_action(action, content.input)
# Restituisci il risultato a Claude
tool_result = {
"type": "tool_result",
"tool_use_id": content.id,
"content": result
}Implementa il ciclo di agenti
Crea un ciclo che continua fino a quando Claude completa l'attività:
while True:
response = client.beta.messages.create(...)
# Verifica se Claude ha utilizzato strumenti
tool_results = process_tool_calls(response)
if not tool_results:
# Nessun ulteriore utilizzo di strumenti, attività completata
break
# Continua la conversazione con i risultati degli strumenti
messages.append({"role": "user", "content": tool_results})Scopri di più sull'utilizzo degli strumenti e sulla creazione di strumenti personalizzati