Automazione dei sistemi elettrici di trasporto · Politecnico di Milano
I PC sono pronti. Oggi si fa quello che la volta scorsa l’installazione non ci ha lasciato fare: il repository del gruppo, le regole per l’agente, i passi del progetto. Poi si comincia a scrivere la relazione, salvata su GitHub insieme a tutto il resto.
Frecce della tastiera per andare avanti e indietro. Materiali del corso: danielemartini.eu/automazione
Dove eravamo rimasti
La teoria sull’agente e git sono nella lezione 1, sezioni 1 e 2: se vi siete persi qualcosa, rileggetele a casa. Le schermate che seguono sono le sue, dalla sezione 3 in poi, e la numerazione continua da lì.
3 · VS Code pronto, e la cartella del progetto
Uno per gruppo lo scarica, lo scompatta dove tiene i progetti e apre la cartella in VS Code (File → Apri cartella). Gli altri la riceveranno da GitHub nella sezione 5. Il file delle regole si chiama CLAUDE.md per Claude Code e AGENTS.md per Codex, Gemini CLI e opencode: nel kit ci sono entrambi, stesso testo. La relazione (LaTeX e Word, stesse sezioni: scegliete uno dei due) e il diario del progetto sono già lì.
4 · CLAUDE.md e AGENTS.md, scritti insieme
CLAUDE.md e AGENTS.md sono lo stesso file di testo con due nomi: Claude Code legge il primo, Codex, Gemini CLI e opencode il secondo. L’agente lo legge da solo, all’inizio di ogni sessione, senza che glielo chiediate, a patto che sia aperto dentro la cartella del progetto. Dentro ci va quello che un collega nuovo avrebbe bisogno di sapere il primo giorno: cosa stiamo facendo, com’è fatta la cartella, e cosa non deve fare.
Nelle parole della sezione 1: è il contesto che il modello ha sotto gli occhi a ogni giro, e i limiti che gli mettete prima che parta. È del gruppo: sta in git, ed è lo stesso sui tre PC.
4 · CLAUDE.md e AGENTS.md, scritti insieme
La sezione più utile è quella delle regole negative: cosa non deve fare. Sono quelle che vi risparmiano i disastri. E niente commit da parte dell’agente: li fate voi, dopo aver letto.
4 · CLAUDE.md e AGENTS.md, scritti insieme
CLAUDE.md e AGENTS.md del kit, stesso testo (scorre dentro il riquadro)
# CLAUDE.md - Nome del progetto
## Cos'è questo progetto
Due o tre frasi: cosa vogliamo ottenere e per chi. Esempio: "Studio di un sistema di
ricarica condominiale con load balancing: normativa, requisiti, modello di ripartizione
dei costi fra i condomini."
Progetto del corso di Automazione dei sistemi elettrici di trasporto, Politecnico di
Milano, gruppo NN.
## Chi ci lavora
Nome Cognome, Nome Cognome, Nome Cognome. Nessuno di noi programma di mestiere: spiega le
scelte in italiano semplice e non dare per scontato niente.
## Preferenze personali
Se nella radice del progetto esiste `miePersonalizzazioni.md`, leggilo prima di iniziare e
segui le sue indicazioni: sono le preferenze di chi sta lavorando in questa sessione.
Non modificarlo e non metterlo mai in un commit.
Ogni componente del gruppo lo crea sul proprio PC (è nel `.gitignore`, non va su GitHub)
con questa struttura:
# Le mie personalizzazioni
## Chi sono
Nome, sistema operativo, editor, agente che uso.
## Come voglio che mi parli
Lingua, lunghezza delle spiegazioni, quando chiedermi conferma.
## Cosa so fare e cosa no
Terminale, git, programmazione: sì / no / un po'.
## Note di lavoro
Comandi che uso spesso, errori già visti, cose che ho capito.
## Com'è fatta la cartella
- `docs/` - documenti di lavoro: `flussi.md` e `flussi.drawio.png` (i passi del progetto, in parole e in un diagramma; il diagramma lo disegniamo noi), appunti, note sulle fonti.
- `relazione/` - la relazione del corso, in LaTeX e in Word. Non toccarla mai senza che te lo chieda esplicitamente.
- `dati/` - i dati raccolti. Ogni file è registrato nella tabella di `dati/README.md` con la sua provenienza.
- `codice/` - il codice: script, modello, grafici. Ogni script dice in testa cosa fa, cosa legge e cosa produce.
- `presentazione/` - le slide finali. `sito/` - la pagina di presentazione.
- `diario.md` - il diario del progetto: avanzamento e decisioni. Lo scriviamo noi, non tu.
- `README.md` - cos'è il progetto, per chi arriva da fuori.
- Ogni cartella ha un README.md che dice cosa ci va: leggilo prima di scriverci. Nuove cartelle solo dopo averlo proposto e avuto l'ok.
## Regole di lavoro
- Un passo alla volta. Fai quello che ti ho chiesto, poi fermati e dimmi cosa hai fatto.
- Prima di creare un file nuovo, dimmi quale e perché.
- Se non ti riesce qualcosa, dillo. Non inventare numeri, fonti, nomi di pacchetti o risultati.
- Codice semplice e commentato in italiano: lo dobbiamo leggere noi.
- Niente librerie in più senza chiedermelo prima.
- Non modificare `relazione/` e `diario.md`.
- Niente commit e niente push da solo: li facciamo noi, dopo aver letto le modifiche.
## Come si scrive
Italiano. I numeri hanno sempre l'unità di misura. Ogni affermazione non ovvia ha una
fonte. Niente emoji.
4 · CLAUDE.md e AGENTS.md, scritti insieme
Dentro CLAUDE.md e AGENTS.md c’è anche la struttura di miePersonalizzazioni.md: come vuoi che ti parli, cosa sai fare, il tuo sistema operativo. Ognuno lo crea sul proprio PC, e non finisce su GitHub perché il .gitignore lo esclude. L’agente lo legge perché le regole gli dicono di farlo. Lo fate nella sezione 5, quando ognuno avrà la sua copia del repository.
4 · CLAUDE.md e AGENTS.md, scritti insieme
1Tu chiedi
Una cosa sola, detta bene.
2Lui legge le regole
CLAUDE.md o AGENTS.md, da solo, se è aperto nella cartella del progetto.
3Propone e scrive
File creati o modificati.
4Tu leggi
Cosa ha cambiato, prima di dire sì.
5Lo fai girare
Il test vero: funziona o no.
6Aggiorna il diario
Cosa è stato fatto, cosa è stato deciso, da dove si riparte.
Poi si ricomincia. Il giro è corto di proposito: più è lungo, meno capisci cosa è successo.
5 · Il repository del gruppo e le preferenze di ognuno
Tutto dal pannello Controllo del codice sorgente di VS Code (l’icona dei rami nella barra a sinistra). Lo fa la persona che ha la cartella aperta.
5 · Il repository del gruppo e le preferenze di ognuno
Da qui in poi, ogni volta che qualcuno cambia un file: Commit con un messaggio che dice cosa è cambiato, poi Sincronizza (pull e push insieme). Prima di iniziare a lavorare: Sincronizza.
6 · I flussi logici del progetto
Non il codice: i passi. Cosa entra, cosa succede, cosa esce, in che ordine. Un agente ottimizza il percorso verso l’obiettivo che gli date, e a ogni giro controlla se l’ha raggiunto: se non è chiaro cos’è “fatto”, o si ferma troppo presto o non si ferma. La domanda è vostra.
Si fa su carta, poi si disegna con draw.io nel browser e si mette nel repository. In aula si inizia; si finisce a casa, con calma, perché questi passi diventano la sezione Metodo della relazione.
6 · I flussi logici del progetto
6 · I flussi logici del progetto
Da VS Code: Terminale → Nuovo terminale si apre già nella cartella del progetto. Poi il comando del tuo agente (uno solo)
claude
codex
gemini
opencode
grokCursor, TraeCode e Copilot in VS Code: l’agente è già dentro l’editor. Vale la stessa regola: la cartella aperta è quella in cui cerca le regole.
fammi lo schema del progettoCosa succede: inventa lui i passi del vostro progetto, e sembrano pure sensati. È il modo più veloce per ritrovarsi a lavorare sul progetto di qualcun altro.
6 · I flussi logici del progetto
Con i vostri passi al posto dei segnaposto
Abbiamo disegnato i passi del nostro progetto: il diagramma è in docs/flussi.drawio.png.
Eccoli, in ordine:
1. <primo passo: cosa entra, cosa succede, cosa esce>
2. <secondo passo>
3. <terzo passo>
Scrivi docs/flussi.md con: una riga di introduzione, l'immagine del diagramma
(), e per ogni passo una frase che dice cosa
entra, cosa succede, cosa esce.
Se un passo ti sembra mancare o essere ambiguo, segnalalo in fondo al file con una
domanda: non inventarlo. Non creare altri file, non toccare il diagramma e non
modificare CLAUDE.md e AGENTS.md.
Quando hai finito, fermati e dimmi cosa hai scritto.Quattro cose lo rendono diverso: gli date voi il contenuto, dite esattamente cosa scrivere e dove, dite cosa non fare, e gli chiedete le domande invece delle risposte. Non dice “leggi le regole”: quello lo fa da solo, se è nella cartella giusta. E il diagramma non glielo fate fare: il disegno è il vostro ragionamento, lui ci mette le parole intorno.
7 · Bonus: la pagina di presentazione
Un solo file in sito/, si apre con un doppio clic, niente server. Serve a vedere l’agente costruire qualcosa di visibile partendo solo da quello che avete scritto: se lì c’è poco, la pagina viene vuota, ed è giusto così.
Il prompt
Crea sito/index.html: una sola pagina statica, HTML e CSS nello stesso file, niente
JavaScript e niente librerie, che presenta il progetto a chi non lo conosce: titolo, una
frase che dice cosa facciamo, chi siamo, i passi del progetto presi da flussi.md, come
contattarci.
Testo in italiano, preso da CLAUDE.md (o AGENTS.md) e docs/flussi.md: non inventare niente. Deve aprirsi con
un doppio clic sul file. Non creare altri file.
Quando hai finito, fermati e dimmi come la apro.Aprite sito/index.html con un doppio clic, leggete cosa c’è scritto, e cercate la frase che non avete mai detto: c’è quasi sempre. Poi commit e Sincronizza.
10 · La relazione, su GitHub
Un posto solo per il progetto: chi apre il repository trova i passi, i dati, il codice e la relazione, con la storia di chi ha cambiato cosa. Consigliamo LaTeX; Word è permesso.
È testo
Un file .tex si apre con qualsiasi editor. Git vede riga per riga cosa è cambiato e chi l’ha cambiato; se due persone toccano paragrafi diversi, unisce da solo.
L’agente lo legge
Aperto nella cartella del progetto, l’agente legge la relazione insieme a flussi.md e ai dati, e vi dice dove non tornano. Un .docx per lui è una scatola chiusa.
Le fonti si gestiscono da sole
Ogni fonte una volta sola in bibliografia.bib, citata con \cite{chiave}: numeri e elenco finale li fa LaTeX.
Nel kit ci sono tutti e due, con le stesse sezioni: relazione.tex e relazione.docx. Oggi il gruppo sceglie, e cancella l’altro.
10 · La relazione, su GitHub
Niente da installare: si scrive nel browser, insieme, e il PDF si vede subito.
10 · La relazione, su GitHub
Una regola sola: la relazione si scrive solo in Overleaf, tutto il resto (CLAUDE.md, AGENTS.md, docs/, dati/, codice/) solo in VS Code. Se lo stesso file cambia nei due posti, Overleaf non unisce: crea un ramo nuovo su GitHub, e rimettere insieme i pezzi è un lavoro.
10 · La relazione, su GitHub
Un .docx per git è un file chiuso: GitHub non mostra cosa è cambiato, e se due persone lo modificano insieme non si possono unire le due versioni, se ne tiene una e l’altra si perde. Quindi si scrive altrove, e nel repository va la versione di fine sessione.
10 · La relazione, su GitHub
Il testo lo scrivete voi. In fondo al template c’è la sezione Uso di strumenti di intelligenza artificiale: da oggi ci annotate come usate l’agente.
10 · La relazione, su GitHub
Dopo il Push da Overleaf e Sincronizza in VS Code, la relazione è sul vostro PC: l’agente, aperto nella cartella, la legge insieme a flussi.md. Gli chiedete di trovare i problemi, non di scrivere.
Il prompt
Leggi relazione/relazione.tex, relazione/bibliografia.bib e docs/flussi.md.
Non modificare nessun file.
Fammi un elenco di:
- frasi che affermano qualcosa di non ovvio senza una citazione;
- numeri senza unità di misura;
- passi di flussi.md che mancano nella sezione Metodo, o che lì sono descritti in modo diverso;
- \cite{} che non trovano una voce in bibliografia.bib.
Per ogni punto: sezione, frase, cosa manca. Non riscrivere il testo: lo correggiamo noi.Ogni punto dell’elenco lo verificate: qualche volta ha ragione, qualche volta no. Le correzioni le fate voi, in Overleaf. Con Word questo passo non funziona bene: è uno dei motivi per cui consigliamo LaTeX.
10 · La relazione, su GitHub
8 · Come ti accorgi che sta sbagliando
Inventa
Numeri, fonti, passi del progetto che non gli avete detto. Non lo fa per ingannarti: completa il testo nel modo che sembra più plausibile. Si smaschera controllando.
Fa troppo
Hai chiesto un file, ti ritrovi quindici file e una cartella di codice. Più cose fa, meno le controlli.
Dice "fatto" senza aver controllato
Dichiara il lavoro finito senza averlo verificato. Il test vero lo fai tu: apri il file, leggi, prova.
Sono i tre “non può” della sezione 1 visti da vicino: inventa perché produce testo plausibile, fa troppo perché il ciclo non sa dove fermarsi, dice “fatto” perché non ha un passaggio di verifica. Il passaggio di verifica siete voi.
8 · Come ti accorgi che sta sbagliando
La domanda
Un agente ottimizza il percorso verso l’obiettivo che gli date. Se l’obiettivo è mediocre, arriva benissimo a un risultato mediocre. I flussi di oggi sono la domanda.
Il giudizio sul metodo
Vi dirà che il calcolo è tornato. Non vi dirà che quel calcolo, sul vostro problema, non aveva senso.
La responsabilità
Sulla relazione c’è il vostro nome. La firma non si delega.
Quello che si sposta, invece, è enorme: tutto il lavoro intermedio. Il codice per l’analisi, il grafico rifatto sei volte, il ritrovare fra sei mesi come si era fatta una cosa. È la parte del mestiere che non vi ha mai insegnato niente, e adesso costa poco.
9 · Se si rompe
11 · Per la prossima volta
Questa pagina resta qui: danielemartini.eu/automazione/lezione-2. Tutti i materiali: danielemartini.eu/automazione
We use cookies to analyze site traffic and enhance your experience. By clicking "Accept", you consent to our use of cookies.