Abbiamo assunto una brigata di cucina AI.
7 agenti LLM + 2 componenti deterministici, zero intervento umano.
La tentazione era dare tutto in mano a un LLM. Noi abbiamo fatto il contrario: ruoli specializzati, message bus asyncio, e le decisioni critiche le prende il codice.
Niente HTTP tra agenti, niente polling. Un bus asyncio con code dedicate per ogni agente: 33 righe di codice che tengono insieme tutto il sistema.
Ogni agente ha una coda dedicata. Zero contesa, zero lock, ordine FIFO garantito.
Messaggi punto-a-punto o broadcast a tutti. Il sender non si blocca mai in attesa.
Gli eventi esterni vengono smistati all'agente giusto da una tabella di routing. game_started → Patron, client_spawned → Maitre.
Dataclass tipizzata: sender, type, content dict, timestamp. Ogni messaggio e' tracciabile e loggato.
Le cose di cui siamo piu' orgogliosi. Spoiler: la prima non usa neanche un token.
La strategia non la decide l'LLM. La decide il codice.
Dal blog del gioco al menu del ristorante, in tre strati.
Apprendimento su 2 livelli: l'LLM impara dalle note, il codice impara dai numeri.
4 dev dalla Valle Camonica. ~8.300 righe di Python in un hackathon. Siamo ancora vivi.
22 ore, 107 commit, 4 dev. La storia del nostro hackathon, commit dopo commit.
Per chi vuole andare in profondita'. Tutto quello che abbiamo scritto (oltre al codice).
Lo script del pitch da 2 minuti. I personaggi, le innovazioni, la chiusura ad effetto.
Diagrammi, flusso dei turni, comunicazione tra agenti, schema DB. Il cuore tecnico.
Dettaglio di ogni agente: modello, tool MCP, input/output, auto-regolazione. Chi fa cosa.
Cosa fa concretamente ogni agente, fase per fase. Il manuale operativo della brigata.
Product Requirements Document. Vision, strategia di gioco, ruoli agenti, resilienza e flusso turno completo.
Specifiche tecniche: project structure, data model, schema DB, componenti infrastrutturali, sequenze di flusso.
Endpoint HTTP, SSE events, MCP tools. Schema reali testati con differenze dalla doc ufficiale.
Quick start, setup, architettura in breve. La guida per partire in 30 secondi.
Proxy SSE, dashboard, galaxy monitor, dry run. Il pannello di controllo della brigata.
Il brief dell'hackathon: regole, fasi, clienti, criteri di valutazione e premi.
I criteri di valutazione e come li abbiamo affrontati.
✓Long-term planning: Strategy Engine deterministico con auto-tuning tra turni.
✓Memory: MessageBus asyncio con code dedicate, zero overhead.
✓Tool call: MCP corretto, errori gestiti con retry e fallback.
✓Token usage: LLM solo dove serve, decisioni critiche in codice puro.
✓Eventi asincroni: SSE routing table + priority inbox per fase.
✓datapizza-ai: Agent, OpenAILikeClient, tracing integrato.
✓Menu che copre tutti gli archetipi di clienti.
✓Pricing dinamico basato su dati competitivi reali.
✓Competitive intelligence: scraping aste e mercato degli altri team.
✓Surplus selling automatico per minimizzare spreco ingredienti.
✓Stagista Nerd: agente che scrapa blog e profila clienti con LLM.
✓Strategy Engine: zero token, puro Python, auto-calibrante.
✓Architettura ibrida LLM + deterministico, non "tutto-LLM".
✓Zero human-in-the-loop nella Golden Run.