AURIGA, assistente AI per Formula Student
Assistente a quattro agenti per strategia, regolamento, telemetria e memoria; in team, mia parte design e strategia.
- Python
- OpenAI API
- ChromaDB
- BM25
- DuckDB
- Telegram bot
- HTML/CSS
- 4agenti specialisti dietro un orchestratore, costruiti dal mio compagno di team
- ~250pagine di regolamento da cui risponde l'agente Rules, citando sempre la sezione
Un orchestratore, quattro specialisti
Tocca un blocco per vedere cosa fa.
- Ingresso
- Dati
- Logica
- AI
- Uscita
Il cuore del sistema
Orchestratore
Un supervisore GPT che chiama gli agenti specialisti come tool e può concatenarli tra loro; costruito dal mio compagno di team (OpenAI API, agentkit).
Collegato a Agente Strategy, Agente Rules, Agente Telemetry, Domande del team, Memoria del team
Ingresso
Domande del team
Il team chiede da chat nel terminale, su Telegram o a voce: quanta benzina, quale piano piloti, questo componente è regolare.
- Typer CLI
- Telegram
- Whisper
Passa a Orchestratore
Dati
Memoria del team
Decisioni di progetto e lezioni passate in una collezione Chroma, deduplicate con hash e iniettate a ogni esecuzione, così la conoscenza sopravvive alla laurea.
- ChromaDB
Passa a Orchestratore
Logica
Agente Strategy
Monte Carlo vettorizzato dell'endurance con il punteggio FSAE in vigore e tempi reali di cambio pilota; il modello si limita a raccontare il risultato.
- numpy
Riceve da OrchestratorePassa a Hook di controllo
AI
Agente Rules
Ricerca ibrida sul regolamento, vettori più BM25 uniti con RRF, e un validatore che scarta ogni risposta senza la sezione esatta citata.
- ChromaDB
- BM25
- OpenAI embeddings
Riceve da OrchestratorePassa a Hook di controllo
Logica
Hook di controllo
Gli hook registrano ogni chiamata, controllano le citazioni e sommano il costo di ogni catena di agenti in un solo totale.
- OpenTelemetry
Riceve da Agente Strategy, Agente Rules, Agente TelemetryPassa a Risposta con fonte
Uscita
Risposta con fonte
Una risposta in italiano con la sezione del regolamento, le probabilità simulate di finire la gara o l'anomalia di telemetria che la giustifica.
Riceve da Hook di controllo
Logica
Agente Telemetry
DuckDB lavora direttamente sui CSV CAN-bus e segnala limiti fisici, come freni oltre 400 °C o liquido di raffreddamento oltre 105 °C, curva per curva.
- DuckDB
Riceve da OrchestratorePassa a Hook di controllo
Il problema
Nella Formula Student le decisioni dell'endurance su carburante, cambio pilota e ritmo si prendono a sensazione, sotto pressione, da studenti che hanno dormito poco. Il regolamento è di circa 250 pagine in inglese tecnico, la telemetria CAN-bus produce più dati di quanti il team riesca a leggere e ogni anno chi si laurea porta via ciò che ha imparato.
Cosa ho costruito
- Ho scritto il README di prodotto: quattro problemi del team, un agente specialista per ciascuno, i pattern di design dietro e i ruoli del team.
- Ho reso in parole semplici l'idea chiave per il pitch: i numeri li produce un simulatore deterministico, il modello linguistico si limita a spiegarli.
- Ho disegnato l'identità di AURIGA e una pagina link-in-bio con le risorse del progetto: nero e rosso segnale, Space Mono e DM Sans, un logo ASCII.
- Ho creato l'organizzazione GitHub e corretto il mio ruolo nel README da architettura AI a Design · Strategy, attribuendo backend e agenti al compagno di team.
La parte difficile
Spiegare un sistema multi-agente che non ho programmato io. Il pitch doveva rendere chiari quattro agenti e i loro compromessi a chi non è ingegnere, mentre ogni riga tecnica restava difendibile a livello di design: perché l'agente del regolamento non risponde senza citazione, e perché i numeri di gara vengono da un simulatore Monte Carlo e non dal modello.
Risultato
Un repository di presentazione con README, pagina delle risorse e pagina link-in-bio; slide, demo e video erano ancora indicati come 'coming soon' alla chiusura. Il codice degli agenti sta nel repository del mio compagno di team, quindi qui non riporto i numeri di prestazione del README.
Il mio ruolo
Team di due persone, per un hackathon di Formula Student. La mia parte è stata design e strategia di prodotto: il README, l'impostazione del pitch, l'identità visiva e l'organizzazione GitHub. Il mio compagno ha progettato e costruito il backend e i quattro agenti su modelli OpenAI.