Indice delle guide06 / 20

Capire il lavoro06 / 20

Leggere le modifiche per intento

In questa pagina

Quando un Agent modifica decine di file in un turno, scorrere i diff file per file rende difficile rispondere a “a che cosa servivano queste modifiche?” In Noea, le modifiche di un turno si possono raggruppare per l’intento a cui rispondono, così vedi a quale tua frase serve ciascuna modifica. Le modifiche che non rispondono a nessun intento sono elencate a parte alla fine, non mescolate.

Parti dalla scheda delle modifiche

Quando un turno lascia modifiche ai file, la risposta termina con una scheda delle modifiche. Se è cambiato un solo file, il titolo è del tipo “Edited grace.ts”; se ne sono cambiati diversi, è del tipo “Changed 9 files”, con accanto le righe aggiunte e rimosse. Contano anche i file che l’Agent ha modificato dalla riga di comando.

Quando Explain ha elaborato il turno, la seconda riga della scheda è del tipo “2 intents · 1 unmatched”: a quante parti del tuo intento rispondono le modifiche e quante modifiche non rispondono a nessuna. Fino ad allora, la seconda riga offre “Run Explain to group them”.

Clicca in un punto qualsiasi della scheda e il pannello del codice si apre nella barra ausiliaria all’estrema destra dell’area principale, mostrando ogni modifica del turno. La chat stessa non ripete il diff del turno.

Il pannello del codice

In alto il pannello mostra il titolo della chat e il numero del turno, per esempio “Email per il periodo di grazia · Turn 2”, e permette di passare ad altri turni con modifiche nella stessa chat. Il pulsante in alto a destra mostra o nasconde l’elenco dei file, che può essere piatto o raggruppato per cartella; ogni file mostra le righe aggiunte e rimosse, e cliccandone uno ci si sposta lì. L’intestazione di ogni file ha “Open with default app”.

Il diff ha un’unica colonna di numeri di riga: le righe aggiunte e quelle invariate mostrano i numeri nuovi, e le righe rimosse mostrano i numeri vecchi, attenuati. Le righe invariate tra le modifiche si comprimono in una riga che puoi aprire, fino a mostrare l’intero file. Se un file è cambiato di nuovo dopo il turno, il pannello mostra solo le modifiche di questo turno e offre “Show current file”.

Trascina il bordo sinistro della barra ausiliaria per allargare il pannello. Chiuderla richiude soltanto la barra ausiliaria; il documento e la chat alla sua sinistra restano come sono.

Raggruppate per intento

Il pannello ha due disposizioni, “By file” e “By intent”. Per intento:

  • Ogni gruppo è una parte del tuo intento. La sua intestazione è il testo di quel paragrafo, con il documento e la sezione in cui si trova indicati in piccolo sopra. I gruppi seguono l’ordine dei paragrafi nei tuoi documenti di intento.
  • Dentro un gruppo, le modifiche sono disposte per punto chiave, poi per file. Ogni punto chiave è un sottotitolo con il suo nome, seguito in piccolo dalla prima frase della sua realizzazione.
  • Ogni modifica compare una sola volta. Se risponde a più punti chiave, va sotto quello principale, e gli altri le sono agganciati come chip.
  • L’ultimo gruppo è sempre “Other changes”, per le modifiche che non rispondono a nessun intento.
Il turno “Estendi la prova a 21 giorni” ha modificato 12 file. Raggruppate per intento, ogni modifica sta sotto la frase a cui risponde: la costante TRIAL_DAYS che passa da 14 a 21 sta sotto “Durata della prova” in Prova.

La disposizione con cui il pannello si apre dipende da quanto Explain è arrivato con il turno:

ExplainSi apre con
Non ha ancora elaborato il turnoBy file
In corso, con spiegazioni già collegate a questo turnoPassa a By intent quando viene pubblicata la prima spiegazione; i paragrafi ancora in indagine tengono un posto nel loro gruppo
Terminato normalmenteBy intent
Non ha trovato nessun paragrafo da indagareBy file, con una nota che dice “This turn didn't touch any explained intent.”

Puoi tornare a By file in qualsiasi momento.

A che cosa risponde ogni modifica

Su ogni modifica, il tuo intento compare su tre livelli, dal più leggero al più dettagliato:

  • Segni accanto alle righe: le righe che una spiegazione cita esplicitamente hanno un segno neutro sottile alla loro sinistra. Puntalo per evidenziare le altre righe citate dalla stessa spiegazione e vedere il nome dell’intento.
  • Chip dell’intento: i punti chiave a cui risponde una modifica sono agganciati alla sua intestazione, al massimo due, con gli altri raccolti in “+N intents”. Punta un chip per vedere un’anteprima del paragrafo e della prima frase della sua spiegazione; cliccalo per aprire il documento nel riquadro accanto, con quella spiegazione aperta.
  • Blocco dell’intento: sotto ogni modifica c’è una riga di riepilogo chiusa, del tipo “2 intents · 1 gap”. Aprila per vedere il testo di ogni paragrafo a cui risponde la modifica, con le voci di attenzione della sua ultima spiegazione.

Una modifica è collegata al tuo intento in uno di tre modi: “Cited by Explain” significa che una spiegazione cita esplicitamente queste righe; “Matched by lines” significa che la modifica cade dentro le righe citate da una spiegazione; “Judged unaffected” significa che Explain ha controllato la modifica e ha ritenuto che non tocchi quel paragrafo. Una modifica che copre gran parte di un file, o il cui contenuto precedente è stato riferito dall’Agent invece che letto da Noea, non viene associata per righe; il pannello la segna “Not grouped by lines”.

Filtra su una parte del tuo intento

“Filter by intent” in cima all’elenco dei file mostra solo le modifiche per un paragrafo o per un punto chiave. Scegli “No matching intent” per vedere solo le modifiche che non rispondono a nessuno.

Puoi anche andare nell’altro verso, dall’intento alle modifiche. Apri la spiegazione di un paragrafo in un documento di intento: “Recent implementation” in fondo alla nota elenca i turni che lo hanno modificato di recente. Aprine uno, e il pannello del codice si apre su quel turno, già filtrato su questo paragrafo.

Dopo la lettura

“Other changes” non sono necessariamente un problema; spesso sono helper dei test, formattazione o aggiornamenti delle dipendenze. Ma se una modifica alla logica di business non risponde a nessun intento, vale la pena chiedersi perché sia cambiata e se appartenga al tuo intento.

Chiedi all’Agent nella chat, oppure clicca “Ask about this” alla sinistra del paragrafo. Per le decisioni che vuoi conservare, vedi Scrivere nell’intento ciò che hai stabilito.

Il raggruppamento dipende dai risultati di Explain. Se la scheda continua a mostrare “Run Explain to group them”, controlla “Explain automatically after implementing” e “Explain code-only turns” in Settings → Automation, oppure clicca semplicemente la scheda; vedi Quando il codice cambia.