Sviluppo con agenti
Come è fatto MediFlow.
MediFlow è progettato e diretto da Leonardo Pegollo. Il codice è scritto in gran parte da agenti di coding, Codex e Claude Code, che lavorano su sue istruzioni. Intento, pianificazione e scelte sono suoi, mentre agli agenti spetta la scrittura.
Nessun passaggio di decisione è delegato in modo implicito. Quando Leonardo autorizza per una sessione di lavoro un agente coordinatore ad eseguire il merge, lo fa a condizioni scritte: controlli obbligatori verdi, nessun commento di review aperto e verifica locale eseguita. Fuori da queste condizioni il merge resta suo.
01 · Responsabilità
Chi fa che cosa.
| Passaggio | Chi lo compie | Dove si vede |
|---|---|---|
| Intento: quale problema risolvere e per chi | Leonardo | Issue, PRODUCT.md ↗ |
| Pianificazione ed architettura: confini, dati, sicurezza, contratti | Leonardo, con agenti che propongono alternative | ADR ↗, ARCHITECTURE.md ↗ |
| Scrittura del codice e dei test | Agenti di coding | Commit con riga Co-Authored-By, PR con modello e strumento |
| Prove richieste per accettare la modifica | Leonardo le stabilisce, agenti e CI le eseguono | Sezioni «Prove» e «Non verificato» di ogni PR, workflow CI |
| Accettazione e merge | Leonardo | Storia delle PR su GitHub |
| Release e comunicazione | Leonardo | Note di versione ↗, sito |
“Assistito” non significa che una persona abbia letto ogni riga. Significa che una persona ha deciso che cosa costruire, come doveva funzionare e con quali prove accettarlo.
Principi dell’autore ed attribuzione
- Prima l’intento, poi il codice.
- Prove sul comportamento osservabile. Ciò che non è verificato si dichiara.
- Un problema per PR, con uno scopo riconoscibile.
- Locale prima di tutto, senza dati reali di pazienti nel repository.
- Il medico deve capire azioni e conseguenze.
- Fra due soluzioni corrette si sceglie la più semplice.
Dal 6 novembre 2026 i commit scritti con agenti indicano il modello in Co-Authored-By, mentre le PR indicano modello e strumento. I commit precedenti non lo fanno sempre. Idee e codice altrui hanno fonte e licenza. Test e review automatiche non sostituiscono le decisioni di Leonardo e non dimostrano validazione clinica.
02 · Consumi dello sviluppo
Il contesto elaborato dai modelli.
Snapshot 2026-11-06
39.835.292.569token registrati
Contesto elaborato per sviluppare MediFlow, con la cache inclusa. Copertura parziale in entrambi gli ambienti.
Valori esatti per mese e provider
| Mese | OpenAI | Anthropic |
|---|---|---|
| 2026-02 | 392.724.553 | 0 |
| 2026-03 | 1.143.437.723 | 0 |
| 2026-04 | 1.300.702.147 | 0 |
| 2026-05 | 1.650.113.993 | 0 |
| 2026-06 | 327.263.594 | 0 |
| 2026-07 | 4.848.219.908 | 713.927.967 |
| 2026-08 | 10.701.770.867 | 15.445.581 |
| 2026-09 | 8.317.602.702 | 0 |
| 2026-10 | 4.706.851.250 | 2.435.537.918 |
| 2026-11 | 1.208.873.422 | 2.072.820.944 |
Sono registrazioni associate alle checkout verificate di MediFlow: altri progetti ed attribuzioni incerte sono esclusi. Una conversazione mista può comprendere attività accessorie. Le registrazioni non sono ripartite per release, PR o commit.
I token non misurano spesa, quota dell’abbonamento, codice prodotto o qualità. Il contesto riutilizzato può essere contato più volte. Il provider è dedotto dall’identificatore: non verifica endpoint, fatturazione o modello effettivo dietro un alias.
Fonti, copertura e modelli
| Ambiente e fonte | Periodo | Token | Cache letta, inclusa |
|---|---|---|---|
| CodexCodex local token records + historical CodexBar 0.60.3 | 2026-02-02 → 2026-11-06Copertura parziale | 34.535.287.187 | 33.279.168.239 |
| Claude CodeClaude Code local response records | 2026-07-02 → 2026-11-06Copertura parziale | 5.300.005.382 | 5.193.631.015 |
Raccolta ferma al 27 settembre 2026, 14:38:12 UTC. Le somme riconciliano, ma non provano completezza storica. Giorni senza record non provano assenza di attività. L’esclusività contabile fra ambienti che delegano non è attestata: il totale descrive registrazioni, non consumo fatturato.
| Modello registrato | Token |
|---|---|
gpt-5.6-sol | 12.211.328.660 |
gpt-6.1-sol | 4.855.747.622 |
gpt-5.6-luna | 4.619.511.014 |
claude-opus-5-5 | 4.486.046.993 |
gpt-6-astra | 3.717.615.402 |
gpt-5.6-terra | 2.795.376.702 |
gpt-5.5 | 2.633.091.591 |
gpt-5.4 | 2.216.054.201 |
claude-fable-5 | 682.998.672 |
gpt-6-sol | 537.845.199 |
gpt-5.3-codex | 364.611.684 |
gpt-daybreak-blue-latest | 218.213.893 |
gpt-6.1-terra | 212.047.937 |
gpt-6-luna | 126.448.014 |
gpt-5.2-codex | 78.566.024 |
claude-sonnet-5-5 | 21.384.143 |
claude-opus-4-8 | 21.305.602 |
claude-sonnet-5 | 18.485.147 |
gpt-5.2 | 10.892.125 |
claude-opus-5 | 6.584.127 |
claude-haiku-5-5 | 927.726 |
gpt-5.3-codex-spark | 210.091 |
Effort registrato: serie separata e parziale
Dal 2026-09-03 al 2026-11-06: 9.822.318.975 token in 67.091 risposte Codex. 130 file indicizzati mancanti. Questa serie non si somma allo storico e non lo suddivide.
Effort indica il livello di ragionamento registrato nel contesto della risposta, non lo sforzo effettivo o la qualità. Livelli di modelli diversi non sono equivalenti. “Non registrato” indica un dato mancante. Non viene ricostruito l’effort di Claude Code o delle altre registrazioni.
| Provider | Modello | Effort | Token |
|---|---|---|---|
| OpenAI | gpt-6-astra | ultra | 2.191.566.524 |
| OpenAI | gpt-6.1-sol | high | 1.301.952.626 |
| OpenAI | gpt-6.1-sol | xhigh | 1.129.553.499 |
| OpenAI | gpt-5.6-sol | ultra | 982.521.161 |
| OpenAI | gpt-6-astra | medium | 771.521.299 |
| OpenAI | gpt-5.6-sol | medium | 611.967.864 |
| OpenAI | gpt-6-sol | medium | 558.849.533 |
| OpenAI | gpt-6-astra | max | 484.405.483 |
| OpenAI | gpt-5.6-terra | medium | 436.645.403 |
| OpenAI | gpt-5.6-luna | max | 175.251.858 |
| OpenAI | gpt-6-astra | low | 175.076.068 |
| OpenAI | gpt-5.6-sol | xhigh | 162.693.375 |
| OpenAI | gpt-6-astra | xhigh | 143.338.807 |
| OpenAI | gpt-6-luna | medium | 136.135.783 |
| OpenAI | gpt-6.1-sol | max | 124.015.193 |
| Non determinato | chatgpt-web/pro | ultra | 106.373.221 |
| OpenAI | gpt-daybreak-blue-latest | xhigh | 90.476.076 |
| OpenAI | gpt-6.1-terra | xhigh | 79.001.283 |
| OpenAI | gpt-daybreak-blue-latest | high | 48.609.639 |
| OpenAI | gpt-5.6-luna | medium | 38.184.213 |
| OpenAI | gpt-6.1-sol | medium | 23.980.438 |
| OpenAI | gpt-6.1-terra | high | 18.897.014 |
| OpenAI | gpt-6-astra | high | 15.802.168 |
| OpenAI | codex-auto-review | low | 12.512.044 |
| Non determinato | unknown | Non registrato | 1.647.964 |
| OpenAI | gpt-5.6-sol | low | 1.340.439 |
Dataset pubblico JSON ↗ · Metodo, tabelle e limiti nel repository ↗
03 · Dentro il codice
Una mappa per orientarsi.
Leggi che cosa fa una struttura, entra nei suoi passaggi e confronta le descrizioni con i sorgenti e i limiti documentati.
Il percorso dei dati12 / 12
Passa su una struttura per leggere. Fai clic per entrare.
Percorso concettuale: estrazione → proposta → revisione → operazione esplicita di scrittura. La proposta da sola non registra diagnosi o terapie. Disponibilità e permessi dipendono dal singolo percorso.
Tastiera: Tab per le strutture, Invio per entrare, ← o Esc per tornare. Le schede si cambiano con le frecce. Su telefono usa l’indice e i passaggi.
Descrizioni scritte da un agente (GPT-6.1 Sol). Approvate da Leonardo Pegollo il 2026-11-06. Dati della mappa (JSON) ↗
04 · Crediti
Crediti e fonti.
T3 Code ha ispirato la dichiarazione dello sviluppo con agenti, il modello di PR e la regola di valutare le prove. T3 Code ↗ · Crediti canonici di MediFlow ↗
La grammatica visiva della mappa riprende “Rivers of Empire” di FleetingBits e System Atlas di Harshyt Goel. Geometria isometrica e strutture adattate da System Atlas (MIT). Licenza e copyright ↗