Nella lezione precedente su Cursor abbiamo visto come collaborare direttamente con l'intelligenza artificiale tramite la Chat e la modalità "Chiedi". Abbiamo scoperto quanto può essere utile avere un assistente virtuale sempre pronto ad aiutarci nel comprendere, migliorare e rifattorizzare il codice. Ma ora siamo pronti per fare un passo in più ed entrare nel mondo degli Agenti AI di Cursor.
Gli Agenti rappresentano una delle funzioni più avanzate e trasformative della piattaforma. Non si limitano a rispondere alle nostre domande o suggerirci modifiche isolate ma sono capaci di eseguire task complessi, prendere decisioni contestuali e agire direttamente all'interno del nostro progetto, come se fossero dei veri e propri membri del team di sviluppo. In questa lezione esploreremo in quali scenari possiamo sfruttarli per risparmiare tempo, automatizzare processi e migliorare la qualità del nostro lavoro.
Cosa sono gli Agenti AI in Cursor
Un Agente AI, nel contesto di Cursor, è un'entità intelligente che può essere incaricata di svolgere compiti multi-step, analizzare file, modificare codice in più punti, e gestire attività in modo più articolato rispetto a una semplice risposta nella chat.A differenza della modalità "Chiedi", dove forniamo una singola istruzione e riceviamo un singolo suggerimento, con gli Agenti possiamo dire:
Aggiungi l'autenticazione JWT all'intero backend.
Riscrivi tutto il modulo di routing per usare FastAPI invece di Flask.
Trova i punti vulnerabili in questo progetto e proponi miglioramenti.
E l'Agente AI inizia a lavorare, analizza l'intero contesto, esegue modifiche, e spesso ci presenta un piano di azione con preview, spiegazioni e possibilità di revisione. In breve: gli Agenti agiscono, non solo rispondono.
Come accediamo agli Agenti
Accedere agli Agenti in Cursor è semplice:
- Apriamo un progetto, come abbiamo fatto nelle lezioni precedenti.
- Premiamo Cmd+Shift+P (o Ctrl+Shift+P su Windows) per aprire il comando rapido.
- Scriviamo "Agent".
- Clicchiamo su "Open New Agent Chat".

A destra del nostro editor ci apparirà una chat in cui potremo interloquire con il nostro Agente. Gli Agenti lavorano basandosi sul modo in cui formuliamo i prompt: sono più uno stile di interazione che un insieme di bot configurati. Possiamo considerarli assistenti dinamici, attivati da comandi precisi e intelligenti che Cursor interpreta e mette in atto nel contesto del nostro progetto.
Ad esempio, se scriviamo nella barra dei comandi o nella chat:
Analizza tutti i file del progetto e proponi modifiche per migliorare la leggibilità.
Aggiungi i test per questa funzione.
Identifica codice duplicato e ristrutturalo.
Riscrivi questo file usando le best practice moderne di React.
Cursor interpreta queste istruzioni come richieste ad alto livello e agisce di conseguenza, leggendo il progetto, generando codice o modificando file in modo mirato. Non si tratta di attivare moduli fissi ma di delegare task complessi tramite linguaggio naturale.
L'Agente AI di Cursor in azione
Prendendo la funzione hello() in Python che abbiamo scritto nella lezione precedente, possiamo chiedere all'Agente, per esempio, di scrivere dei test per la funzione.

Dopo aver ricevuto la richiesta "Aggiungi i test per questa funzione", Cursor ha creato un file di test chiamato test_hello.py utilizzando il modulo unittest che è integrato in Python.
All'interno di questo file troviamo una classe di test, TestHello, che eredita da unittest.TestCase, ovvero lo standard per definire casi di test in Python. Per verificare il comportamento della funzione hello(), Cursor utilizza il decoratore @patch('builtins.print') con cui simulare la funzione print() durante il test, sostituendola con una versione "finta" (mock) chiamata mock_print. In questo modo, è possibile intercettare e analizzare cosa viene stampato dalla funzione.
Il metodo test_hello chiama quindi la funzione hello() e successivamente verifica che print() sia stata invocata esattamente una volta con l'argomento "Hello, Cursor!", usando l'istruzione mock_print.assert_called_once_with(...). Questo test garantisce che la funzione hello() si comporti come previsto.
Cursor, infine, suggerisce anche come eseguire il test dalla riga di comando con il comando python test_hello.py che lancerà il test e mostrerà se passa o fallisce.
In sintesi, l'AI di Cursor ha analizzato il codice, identificato l'intento, scritto il test completo e fornito all'utente tutte le istruzioni per verificarne il corretto funzionamento. Dimostra così il suo valore come assistente proattivo nello sviluppo del software.
Collaborazione tra più Agenti
Un aspetto interessante riguarda la collaborazione tra più Agenti. Possiamo attivare un Agente per riscrivere il codice, poi un altro per generare i test e infine un altro ancora per analizzare la copertura. In pratica, stiamo creando una pipeline intelligente dove ogni Agente lavora su uno specifico layer del progetto.
Questo approccio apre scenari estremamente potenti, soprattutto nei team distribuiti o nei progetti legacy. Immaginiamo di ereditare un'app scritta anni fa: con gli Agenti possiamo trasformarla progressivamente in qualcosa di moderno e robusto senza dover fare tutto a mano.
Agenti e documentazione automatica
Uno dei task più noiosi (e spesso trascurati) è la scrittura della documentazione. Gli Agenti possono automatizzarla per noi. Attiviamo l'Agente per la documentazione e chiediamo:
Crea una documentazione Markdown per tutti i moduli e le API presenti nel progetto.
Cursor scandaglia i file, estrae le firme delle funzioni, i commenti inline, i parametri e i tipi restituiti e genera file .md ordinati, leggibili e pronti da includere nel repository o da pubblicare su un portale come Docusaurus.
Best practice per usare gli Agenti con efficacia
Dopo averli provati su diversi progetti, abbiamo raccolto alcune buone abitudini che ci aiutano a ottenere il massimo:
- Prepariamo il terreno: prima di avviare un Agente, sistemiamo i nomi dei file e delle funzioni per rendere il contesto più comprensibile.
- Usiamo Git: prima di eseguire modifiche con un Agente, facciamo un commit. In questo modo possiamo sempre tornare indietro se qualcosa va storto.
- Un passo alla volta: evitiamo task troppo generici. Meglio dividere in compiti più piccoli e specifici.
- Rivediamo tutto con calma: ogni modifica proposta dagli Agenti può (e deve) essere verificata. Anche l'AI può sbagliare.
- Documentiamo le istruzioni efficaci: se una certa frase funziona bene, salviamola. Possiamo riutilizzarla in progetti futuri.
Agenti su misura: il nostro laboratorio di automazione
Cursor ci permette anche di scrivere istruzioni complesse che fungono da script personalizzati. Possiamo crearci una vera e propria libreria di prompt intelligenti, ad esempio:
Per ogni funzione che ha più di 30 righe, crea una versione rifattorizzata.
Aggiungi tipizzazione esplicita a tutte le funzioni che ne sono prive.
Trova tutte le dipendenze non utilizzate e rimuovile da package.json.
Con il tempo, possiamo costruirci un arsenale di prompt intelligenti, su misura per il nostro modo di lavorare.
Conclusioni
Gli Agenti AI di Cursor rappresentano un'evoluzione naturale della collaborazione con l'intelligenza artificiale. Se nella lezione precedente abbiamo imparato a conversare con l'AI, qui impariamo a delegare compiti complessi. Non si tratta più solo di "chiedere" ma di collaborare in modo strategico con un assistente che sa leggere, comprendere e modificare codice su larga scala.
Sfruttando gli Agenti, possiamo potenziare il nostro workflow. Risparmiamo tempo, riduciamo gli errori, aumentiamo la qualità del codice e possiamo concentrarci su ciò che conta davvero: la logica, l'architettura, la visione d'insieme.
Se vuoi aggiornamenti su Agenti AI: potenziare il nostro workflow con Cursor inserisci la tua email nel box qui sotto: