Ieri sera, mentre sistemavo il nuovo calendario degli eventi tech del blog, mi sono fatto una domanda che sembrava banale: per tenerlo aggiornato mi serve un agente o una routine di Claude Code? Alla fine ho scelto la routine, ma per arrivarci ho dovuto chiarirmi una cosa che la documentazione dà per scontata: agenti e routine di Claude Code non sono due alternative sullo stesso scaffale. Rispondono a due domande diverse.
In questo articolo metto in fila cosa sono, dove girano, quanto costano, i pro e i contro di ciascuno e i casi d’uso tipici, con i numeri veri delle automazioni che fanno girare questo blog tutte le mattine. In fondo trovi cinque domande: ci passi sopra il tuo compito e sai cosa ti serve.
Agenti e routine di Claude Code: la risposta breve
L’agente decide chi fa il lavoro: un Claude con istruzioni, strumenti e modello suoi, che lavora in un contesto separato e ti restituisce un risultato. La routine decide quando parte il lavoro e dove gira: a un orario, su una chiamata API o su un evento di GitHub, nel cloud di Anthropic, anche con il portatile chiuso.
Quindi la domanda giusta non è “agente o routine?”, ma “quando parte questo lavoro, io ci sono?”. Se ci sei, lavori in una sessione e, se serve, ti fai aiutare dagli agenti. Se non ci sei, ti serve una routine. E spesso li usi insieme: ogni esecuzione di una routine è una sessione di Claude Code completa, quindi può a sua volta delegare pezzi di lavoro agli agenti.
Cosa sono gli agenti (subagent) in Claude Code
Prima un chiarimento sulla parola, perché ormai “agente” vuol dire tutto. Claude Code stesso è un agente: legge i file, lancia comandi e decide da solo il passo successivo. Quando però la documentazione parla di agenti come funzione, intende i subagent: assistenti specializzati che la sessione principale chiama per farsi dare una mano su un pezzo di lavoro.
Un subagent è un file Markdown con un’intestazione YAML e un prompt. Lo salvi in .claude/agents/ se vale per un solo progetto (e così finisce anche in git, a disposizione di tutto il team) oppure in ~/.claude/agents/ se lo vuoi in tutti i progetti. Questo, per esempio, è il primo che mi scriverò: un revisore delle bozze del blog.
---
name: revisore-bozze
description: Rilegge le bozze del blog e segnala errori e problemi SEO
tools: Read, Grep, Glob, WebFetch
model: sonnet
---
Sei il revisore del blog di Alberto. Leggi il file della bozza
che ti viene indicato e controlla, nell'ordine:
1. errori di battitura e di grammatica;
2. frasi che suonano scritte da un'IA;
3. trattini lunghi usati come inciso;
4. focus keyphrase nel titolo, nell'introduzione e nei sottotitoli.
Non modificare niente: restituisci un elenco di correzioni,
ognuna con la riga e la tua proposta.
Quattro righe di intestazione fanno quasi tutto il lavoro. La description è quella che Claude legge per decidere quando delegare, quindi va scritta pensando a quando usarlo, non come un titolo. tools limita gli strumenti: questo revisore può leggere ma non scrivere, quindi anche quando sbaglia non rompe niente. model permette di usare un modello diverso da quello della sessione, per esempio Haiku per le ricerche veloci, che costa molto meno (i prezzi aggiornati li tengo nel tracker dei modelli IA).
Fino a qualche versione fa si creavano con il comando /agents; oggi il comando ti ricorda soltanto di chiederlo a Claude (“creami un subagent che…”) o di scrivere il file a mano. Poi lo usi in due modi: lasci che sia Claude a delegare quando il compito corrisponde alla descrizione, oppure lo chiami tu per nome con una menzione @. Ci sono anche dei subagent già pronti, che probabilmente usi senza saperlo: Explore, che esplora il codice in sola lettura, Plan, che raccoglie il contesto in modalità pianificazione, e uno general-purpose per i compiti in più passaggi.
Il punto chiave è il contesto. Ogni subagent parte con una finestra di contesto vuota, riceve solo il compito che gli passa la sessione principale e alla fine restituisce un riassunto. Tutto quello che ha letto per arrivarci (log, risultati di ricerca, file interi) resta a lui e non intasa la tua conversazione. La guida ufficiale ai subagent ha l’elenco completo delle opzioni.
E gli altri “agenti”?
Nella documentazione trovi altre due cose con la parola agente nel nome, che non c’entrano con questa scelta ma vale la pena distinguere. Gli agenti in background (claude --bg o il comando /bg) sono sessioni intere che lasci lavorare sul tuo computer mentre fai altro: comode, ma si fermano se spegni o riavvii la macchina. Gli agent team, ancora sperimentali, sono più sessioni che si coordinano tra loro con una lista di compiti condivisa, e consumano parecchi token in più. Poi ci sono gli agenti “sempre accesi” come i dots che OpenAI ha presentato al DevDay 2026: un’altra categoria ancora, pensata per lavorare di continuo.
Cosa sono le routine di Claude Code
Una routine è una configurazione salvata di Claude Code: un prompt, uno o più repository GitHub, i connettori che può usare e un ambiente cloud. La prepari una volta e da lì parte da sola, sui server di Anthropic, anche quando il tuo computer è spento. A farla partire sono i trigger, che puoi anche combinare sulla stessa routine:
- orario: ogni ora, ogni giorno, nei giorni feriali, una volta a settimana oppure una volta sola a una data precisa (l’intervallo minimo è un’ora);
- API: un indirizzo dedicato che chiami con una POST e un token, per esempio dal sistema di monitoraggio quando scatta un allarme o dalla pipeline dopo un deploy;
- GitHub: un evento sul repository, come una pull request aperta o una release pubblicata, con filtri su autore, branch, etichette e così via.
Le crei da claude.ai/code/routines, dall’app desktop (sezione Routines, nuova routine di tipo Cloud) oppure dal terminale con /schedule, descrivendo quello che vuoi: /schedule ogni giorno alle 9:07 riassumi le PR di ieri. Ogni esecuzione diventa una sessione normale che puoi aprire per vedere cosa ha fatto Claude, rivedere le modifiche e continuare la conversazione. Le routine sono disponibili sui piani Pro, Max, Team ed Enterprise, sono ancora in research preview e consumano i limiti dell’abbonamento come una sessione qualsiasi. Tutti i dettagli sono nella documentazione delle routine.
Una cosa da sapere subito: in una routine nessuno risponde alle domande. Non c’è la scelta della modalità dei permessi: Claude esegue comandi, usa i connettori e scrive dove serve senza chiedere conferma. Per questo il prompt deve essere completo e autosufficiente, e quello che la routine può toccare va limitato fin dall’inizio.
I cugini locali: task programmati e /loop
Nell’app desktop, sotto Routines, puoi creare anche una routine di tipo Local, che in realtà è un’altra cosa: un task programmato che gira sul tuo computer. Ha accesso ai file locali e ai tuoi server MCP, ma parte solo se l’app è aperta e il computer è acceso; se la macchina dormiva, al risveglio recupera soltanto l’ultima esecuzione persa negli ultimi sette giorni. Poi c’è /loop, che ripete un prompt dentro la sessione aperta, anche ogni minuto: perfetto per controllare un deploy ogni cinque minuti, ma finisce con la sessione e comunque scade dopo sette giorni.
| Routine cloud | Task desktop | /loop | |
|---|---|---|---|
| Dove gira | Cloud di Anthropic | Il tuo computer | Il tuo computer |
| Computer acceso | Non serve | Serve | Serve |
| Sessione aperta | Non serve | Non serve | Serve |
| File locali | No, clona il repository | Sì | Sì |
| Server MCP | Connettori di claude.ai | Configurazione locale e connettori | Quelli della sessione |
| Richieste di permesso | Nessuna | Configurabili per task | Come la sessione |
| Intervallo minimo | 1 ora | 1 minuto | 1 minuto |
Agenti e routine di Claude Code a confronto
| Subagent | Routine | |
|---|---|---|
| A cosa serve | Specializzare e isolare un pezzo di lavoro | Far partire il lavoro senza di te |
| Chi lo avvia | La sessione principale, o tu con una menzione @ | Un orario, una chiamata API, un evento GitHub |
| Dove gira | Dentro la sessione da cui parte | Nel cloud di Anthropic |
| Devi esserci? | Sì, la sessione è aperta | No |
| Contesto | Finestra sua, riceve solo il compito | Sessione nuova a ogni esecuzione |
| File e MCP locali | Quelli della sessione | No: repository clonato e connettori |
| Permessi | Quelli della sessione, restringibili | Nessuna richiesta, fa tutto da sola |
| Dove si definisce | File .md in .claude/agents/ | claude.ai, app desktop o /schedule |
| Costo | Token suoi, sugli stessi limiti della sessione | Limiti dell’abbonamento a ogni esecuzione |
Messa così si vede bene perché la domanda “agente o routine” confonde: le due colonne non si escludono. La routine che scrive la rassegna di questo blog, per dire, potrebbe tranquillamente affidare la ricerca delle fonti a tre subagent in parallelo e tenere per sé solo la scrittura.
Pro e contro di agenti e routine di Claude Code
Subagent: vantaggi e svantaggi
I vantaggi
- Contesto pulito. È il motivo numero uno: ricerche e log restano nel subagent e nella tua conversazione torna solo il riassunto, così le sessioni lunghe tengono il filo più a lungo.
- Istruzioni che non ripeti. Il revisore lo scrivi una volta e lavora sempre allo stesso modo; se sta nel progetto, lo usa tutto il team.
- Permessi stretti. Un subagent in sola lettura può sbagliare un’analisi, ma non può cancellarti un file.
- Il modello giusto per ogni compito. La sessione resta su un modello grande, le ricerche semplici vanno su Haiku.
- Lavoro in parallelo. Tre ricerche indipendenti partono insieme invece che una dopo l’altra.
Gli svantaggi
- Partono da zero. Non vedono la tua conversazione né i file già letti: se la delega è scritta male rifanno il lavoro o lo fanno sul pezzo sbagliato, e intanto passa tempo.
- Consumano token propri. Il parallelismo è comodo, ma cinque subagent sono cinque conversazioni che pesano sugli stessi limiti della tua.
- Il riassunto perde dettagli. Se ti serve l’output completo di un comando, farlo girare in un subagent è controproducente.
- Non partono da soli. Serve una sessione aperta e qualcuno che la usi: un subagent da solo non automatizza niente.
- Dipendono dalla descrizione. Se è vaga, Claude non li chiama mai o li chiama a sproposito.
La documentazione stessa consiglia di restare nella conversazione principale quando il lavoro richiede tanto botta e risposta, quando le fasi condividono molto contesto, per le modifiche piccole e quando conta la velocità. Il subagent conviene quando l’output è prolisso, quando vuoi limitare gli strumenti e quando il compito sta in piedi da solo e ti basta un riassunto.
Routine: vantaggi e svantaggi
I vantaggi
- Lavorano senza di te. Il portatile può essere chiuso, la routine parte lo stesso.
- Partono da eventi veri. Oltre all’orario, un allarme del monitoraggio o una pull request possono avviarle via API o GitHub: è quanto di più vicino a un agente sempre in ascolto trovi dentro Claude Code.
- Ogni esecuzione lascia traccia. È una sessione che puoi aprire, leggere e continuare a mano.
- Ambiente pulito. Ogni volta il repository viene clonato da zero: niente modifiche locali dimenticate che falsano il risultato.
- Sono ripetibili. Stesso prompt, stesso modello, stessi strumenti: se il risultato cambia, è perché sono cambiati i dati.
Gli svantaggi
- Nessuno a cui chiedere. Il prompt deve prevedere tutto, compreso cosa fare quando qualcosa va storto. Quello della mia rassegna è lungo quasi 22.000 caratteri.
- Niente file e niente MCP locali. Arrivano solo ai connettori del tuo account claude.ai o ai server MCP dichiarati in un
.mcp.jsondentro il repository. - Rete limitata. L’ambiente predefinito lascia passare solo una lista di domini (registri dei pacchetti, API dei cloud e simili): se la routine deve chiamare il tuo sito, devi aggiungerlo.
- Agiscono a nome tuo. Commit, messaggi Slack, ticket e mail risultano fatti da te, senza che nessuno li abbia approvati.
- Il pallino verde non dice tutto. Indica solo che la sessione è partita e finita senza errori di infrastruttura, non che il compito sia riuscito.
- Minimo un’ora. Per controlli più frequenti servono il task desktop o
/loop. - Sono in anteprima. Comportamento, limiti e API possono ancora cambiare.
Come uso agenti e routine di Claude Code su questo blog
Di subagent personalizzati, lo ammetto, non ne ho ancora scritto nessuno: uso quelli integrati, che Claude chiama da solo quando deve frugare in tanti file o fare più ricerche insieme. Di automazioni programmate invece ne ho diverse, e tre in particolare spiegano bene come si sceglie.
La rassegna AI: nata in locale, spostata nel cloud in un giorno
La rassegna AI che trovi qui ogni mattina è nata il 23 settembre come task programmato dell’app desktop. È durata qualche ora: un task locale parte solo se l’app è aperta e il PC è acceso, e alle 6 di mattina non è detto che il mio PC sia acceso. L’ho spostata su una routine cloud il giorno stesso, e lì ho sbattuto contro il primo limite: il server MCP con cui gestisco il blog gira sul mio computer, quindi nel cloud non esiste. Ora la routine parla con WordPress via REST, con un utente Editor creato apposta e una password applicativa salvata nell’ambiente.
Dal 24 settembre ha girato otto mattine su otto. Il cron dice 6:00, ma la routine parte sempre tra le 6:08 e le 6:14 (la documentazione lo dice: all’ora tonda si parte con qualche minuto di ritardo, meglio scegliere un orario come le 6:07) e lavora per 5-8 minuti. Il post viene programmato per le 8:30: ho due ore abbondanti per leggerlo e fermarlo, e se non faccio niente esce da solo. È il mio compromesso tra automazione e controllo.
Il calendario eventi: perché una routine e non un agente
Questa è la domanda da cui è partito l’articolo. Il calendario va aggiornato quando escono le date di una conferenza, quando un evento viene rinviato, quando una versione di PHP si avvicina alla fine del supporto. Sono cose che cambiano lentamente: non c’è niente da intercettare in tempo reale, quindi un agente sempre acceso avrebbe consumato di più per fare la stessa cosa. Ho scelto una routine settimanale, la domenica sera, separata dalla rassegna: se una delle due va storta l’altra non ne risente, e ognuna ha il suo prompt e il suo orario. Siccome pubblica senza passare dalla bozza, il prompt le vieta di inserire una data senza una fonte ufficiale: meglio un evento in meno che uno sbagliato.
Il report SEO del lunedì: rimasto in locale apposta
Il report SEO settimanale invece è rimasto un task desktop, e non per pigrizia. Lancia uno script Python che usa le credenziali di Search Console e Analytics salvate sul mio computer e legge i dati di Yoast via SSH con la mia chiave. Portarlo nel cloud vorrebbe dire copiare credenziali e chiavi in un ambiente remoto, e per un report che leggo io il lunedì mattina non ne vale la pena. Se alle 7:30 il PC è spento, parte quando lo accendo.
Agenti o routine di Claude Code: cinque domande per scegliere
Se sei arrivato fin qui con un compito in testa, passalo per queste domande, nell’ordine.
- Quando parte il lavoro, sei davanti allo schermo? Se sì, non ti serve nessuna automazione: lavori in una sessione e salti all’ultima domanda. Se no, ti serve qualcosa di programmato.
- Deve girare anche a computer spento? Sì: routine cloud. No, e ti servono file, script o server MCP che stanno sul tuo PC: task desktop.
- Deve reagire a qualcosa che succede? Una pull request aperta, un allarme, un deploy finito: routine con trigger GitHub o API.
- Ti serve solo per un pomeriggio? Controllare la CI ogni cinque minuti mentre sistemi una PR:
/loop, che sparisce quando chiudi la sessione. - Ripeti spesso lo stesso tipo di compito, o il compito sporca il contesto? Review, test, ricerche lunghe, analisi di log: subagent, sia dentro una tua sessione sia dentro una routine.
Qualche esempio per mestiere
| Chi sei | Il compito | Cosa userei |
|---|---|---|
| Sviluppatore | Review delle PR con la checklist del team | Routine con trigger GitHub sulle pull request aperte |
| Sviluppatore | Lanciare i test e capire cosa si è rotto | Subagent che esegue i test e riporta solo i fallimenti |
| Sviluppatore | Documentazione rimasta indietro rispetto al codice | Routine settimanale che apre PR di aggiornamento |
| IT manager | Primo esame di un allarme notturno | Routine con trigger API chiamata dal monitoraggio |
| IT manager | Report da script e credenziali sul proprio PC | Task desktop |
| IT manager | Analisi di log lunghi durante un’indagine | Subagent in sola lettura |
| Chi scrive contenuti | Rassegne, calendari, controlli periodici | Routine a orario con bozza o pubblicazione programmata |
| Chi scrive contenuti | Revisione delle bozze prima di pubblicare | Subagent revisore in sola lettura |
| Chiunque | Tenere d’occhio un deploy per un’ora | /loop |
Cinque errori da evitare
- Lasciare tutti i connettori nella routine. Quando la crei sono inclusi tutti quelli collegati al tuo account, e la routine può usarli anche in scrittura senza chiedere. Tieni solo quelli che servono: alla mia rassegna ho lasciato solo Gmail, per la mail di riepilogo.
- Mettere le chiavi nelle variabili d’ambiente senza pensarci. Sono visibili a chiunque usi quell’ambiente; sui piani Pro e Max la documentazione consiglia di salvarle come credenziali API dell’ambiente. E dai alla routine un utente con i permessi minimi, mai il tuo amministratore.
- Programmare all’ora tonda e pretendere puntualità. Scegli minuti “strani”: 9:07 invece di 9:00.
- Fidarsi del pallino verde. Almeno per le prime settimane apri le sessioni e leggi cosa ha fatto davvero.
- Dare ai subagent strumenti che non servono. Un revisore non ha bisogno di scrivere file, un ricercatore non ha bisogno del terminale.
Se lavori in azienda, aggiungo un sesto punto: una routine che agisce a nome di una persona, con i suoi accessi, va censita come qualsiasi altro strumento di IA. Se state scrivendo una policy interna (ne ho parlato nell’articolo su AI Act e PMI), mettetela dentro.
Domande frequenti
Una routine di Claude Code può usare gli agenti?
Sì. Ogni esecuzione è una sessione completa di Claude Code, quindi può delegare ai subagent integrati e a quelli salvati in .claude/agents/ nel repository che clona.
Agenti e routine di Claude Code costano a parte?
No. Entrambi consumano i limiti del tuo abbonamento come una sessione normale: un subagent con le sue richieste, una routine a ogni esecuzione. Se una routine arriva al limite e hai attivato i crediti di utilizzo, continua a consumo; altrimenti le esecuzioni vengono rifiutate finché la finestra di utilizzo non si azzera. Per le routine ci sono anche dei tetti orari al numero di esecuzioni, che con un uso normale non si vedono nemmeno.
Posso usare i miei server MCP locali in una routine?
Non direttamente. Devi aggiungerli come connettori su claude.ai oppure dichiararli in un .mcp.json dentro il repository. Se il servizio è raggiungibile solo dal tuo computer, come succedeva a me con il blog, la strada più semplice è far chiamare alla routine le sue API.
Cosa ne penso
Dopo qualche settimana con entrambi, la regola che mi sono dato è semplice: la routine è un turno di lavoro, il subagent è un collega specializzato. Il turno lo programmi quando il lavoro deve succedere anche se tu non ci sei; il collega lo chiami quando un pezzo del lavoro merita istruzioni, strumenti e contesto suoi. Chiedersi “agente o routine” è un po’ come chiedersi “chi lo fa o quando lo fa”: quasi sempre la risposta è tutte e due le cose.
Se sei all’inizio, partirei da una routine piccola e a basso rischio, una che legge, riassume e ti manda una mail o prepara una bozza, senza pubblicare niente. Quando ti fidi del prompt, allarghi. I subagent arrivano dopo, quando ti accorgi che stai spiegando a Claude la stessa cosa per la terza volta.
E tu cosa automatizzeresti per primo? Se hai già una routine o un subagent che ti ha cambiato il modo di lavorare, raccontamelo nei commenti: sono curioso di vedere come li usano gli altri.


Lascia un commento