Ogni attività in AITM inizia come Task. Questa pagina descrive ogni campo della finestra New Task e come scrivere prompt che producano un buon risultato al primo tentativo.

Creare un Task

La finestra New Task

Selezionare un progetto e fare clic su + New Task (oppure su + Task nella scheda del progetto). La finestra ha tre tab — Task (il modulo vero e proprio), AI Models e Translate — e un pulsante Save. Una volta salvato, il Task compare come scheda nella coda con stato pending e parte automaticamente non appena si libera uno slot. Anche Ctrl+Enter salva il Task.

Finestra New Task, tab Task
La finestra New Task — tab Task con titolo, prompt, modalità di esecuzione, priorità, intent e gli interruttori.

Tab Task

  • Title — un nome breve per il Task. Obbligatorio. È ciò che compare negli elenchi e nelle notifiche, quindi conviene renderlo specifico.
  • Prompt — ciò che l'AI deve fare. Obbligatorio. Descrivere l'obiettivo, eventuali vincoli e come si presenta il lavoro "finito". Sopra il campo si trovano il pulsante Optimize e un selettore della lingua di scrittura (Auto per impostazione predefinita) con un badge che indica la lingua in uso.
  • Solution e Project — la tab (solution) e il progetto a cui appartiene la modifica. Entrambi sono obbligatori per un nuovo Task.
  • Execution Mode — Pipeline (l'intera Pipeline step per step) oppure Agent (un singolo Agent autonomo). In modalità Agent compare un Agent Test Gate con due caselle: Run unit tests e Run E2E tests.
  • Skill — accanto all'interruttore della modalità ci sono due piccoli pulsanti per l'uso automatico o manuale delle Skills; in modalità automatica le Skills vengono associate in base al testo del prompt. L'elenco Skill (optional) permette di scegliere una Skill che viene sempre inclusa.
  • Priority — Low, Medium (predefinita) o High. I Task con priorità più alta vengono prelevati per primi dalla coda.
  • Intent — Bug, Feature, Enhancement o Other. Obbligatorio; Save rifiuta il modulo se manca.
  • Use Worktree, Use Pipeline, Auto-merge → dev — lasciarli attivi, salvo motivi precisi. Il Worktree isola il Task dagli altri lavori in corso; Auto-merge unisce automaticamente il branch completato in dev.
  • Lite mode — salta lo step di pianificazione Architect quando il modello di coding è abbastanza forte da pianificare da solo; con modelli più deboli viene comunque usata la Pipeline completa.
  • Pipeline Steps — interruttori per singolo Task per Architect, Review + Fix, Unit Tests ed E2E Tests. Docs è sempre attivo e non può essere saltato.
  • Dependencies — altri Task che devono essere completati prima dell'avvio di questo.

Tab AI Models

Qui è possibile sovrascrivere provider e modello per ogni step AI (architect, code, compliance-check, review, fix, test, e2e, docs) per questo solo Task, insieme ai relativi limiti di turni e di tempo di esecuzione. Compliance-check salta i Task più semplici. Tutto ciò che resta vuoto viene ereditato dalle impostazioni del progetto o globali. Apply provider to all steps compila l'intera colonna in una volta.

Finestra New Task, tab AI Models
La tab AI Models — provider, modello e limiti per step, per questo solo Task.

Tab Translate

Mostra la traduzione del prompt, che può essere modificata.

Optimize — migliorare il prompt

Optimize chiede a un'AI di riscrivere un prompt approssimativo in uno preciso. In seguito è possibile passare da Original prompt a Optimized prompt, aprire Changes per vedere cosa è stato modificato, mentre l'originale resta visibile sotto il modulo come Original prompt (before optimization). La finestra di dettaglio del Task mostra poi entrambe le versioni, l'originale sopra l'ottimizzata.

Dettaglio del Task con il prompt originale e quello ottimizzato
Dettaglio del Task: il prompt originale sopra quello ottimizzato.

Modificare un Task

L'icona Edit (matita) sulla scheda di un Task — disponibile finché il Task non è in esecuzione — apre la stessa finestra, intitolata Edit Task, compilata con i valori attuali del Task. Modificare ciò che serve e fare clic su Save.

Modifica di un Task esistente
La finestra Edit Task compilata con i valori di un Task esistente.

Catene di Task dipendenti

Se il lavoro di un Task deve avvenire prima che un altro possa iniziare (ad esempio "aggiungere la colonna al database" prima di "usare la colonna nell'API"), elencare il primo Task in Dependencies. Il Task dipendente attende che il predecessore sia stato unito in dev prima di cominciare, così parte sempre da una codebase che contiene già la modifica precedente.

Scorciatoie durante la digitazione (IntelliSense)

Il campo del prompt (così come i campi di messaggio di Chat e Brainstorm) offre il completamento automatico quando si digita uno di questi caratteri:

DigitarePer inserire
@keyworduna keyword
@@keyworduna keyword con tutto il suo contenuto
#taskun riferimento a un altro Task
##bugun riferimento a un bug
$skilluna Skill
_variableun codice variabile — il nome esatto di una parte dell'applicazione
~hintuna voce del Hint Dictionary

Iniziando a digitare il carattere di attivazione compare un menu a tendina con i suggerimenti corrispondenti — sceglierne uno per inserirlo nel prompt.

Menu a tendina IntelliSense
Il menu a tendina IntelliSense che suggerisce corrispondenze mentre si digita un carattere di attivazione.
Vista a pagina intera di IntelliSense
Una vista a pagina intera dei suggerimenti IntelliSense aperti nell'editor del prompt.
Pulsante di inserimento variabile nella finestra New Task
Il pulsante Var nella finestra New Task per inserire un riferimento a una variabile senza digitarlo.

Suggerimenti

  • Usare riferimenti _variable invece di descrivere in prosa la posizione del codice — è più rapido e privo di ambiguità per l'AI.
  • Suddividere una modifica in Task dipendenti invece di scrivere un unico prompt gigantesco quando si divide naturalmente in step ordinati.
  • Non dimenticare l'Intent — senza di esso il Task non viene salvato.
  • Un Task failed conserva l'intero output della console e il motivo del fallimento; leggerli, correggere il prompt e riprovare.