Pi vs. Claude Code: due framework agent a confronto operativo
TL;DR: Pi e Claude Code non sono concorrenti per lo stesso posto, ma due architetture: un loop agent minimal e model-agnostic contro un sistema agent integrato. Non li abbiamo confrontati su una checklist di funzionalità ma nel nostro esercizio: negli ultimi 30 giorni abbiamo eseguito 3041 cron job con un tasso di successo dell'87 per cento, 393 esecuzioni fallite e una durata mediana di 149 secondi. Questi numeri mostrano dove uno stack agent si rompe in Continuous Operation e quanto costa davvero un loop minimal rispetto a un harness pesante.
I framework agent si vendono di solito come liste di funzionalità: chi ha più strumenti, chi è più autonomo, chi ha l'integrazione IDE più bella. Quella lista non risponde alla domanda che conta in esercizio: cosa succede allo stack quando gira 24/7, elabora migliaia di job e prima o poi produce errori che nessuno vede?
Questo è ciò che abbiamo misurato. Gestiamo un'operazione agent su OpenClaw con 84 cron job configurati, 51 attivi, tutti sul modello gx10/qwen3.8-flash-next-nvfp4. Gli ultimi 30 giorni di quell'attività sono disponibili come base dati e permettono uno sguardo su entrambe le classi di framework che non arriva da slide di marketing.
Cosa sono davvero i due framework
Pi è un coding agent minimale: quattro strumenti (read, write, edit, bash) in un loop ristretto, model-agnostic, collegato al modello che scegli con una semplice configurazione. La filosofia: l'agent è uno strumento che lo sviluppatore controlla interamente. Niente dashboard, niente vendor lock-in, niente modello proprietario alle spalle.
Claude Code è l'opposto: un agent integrato che si assume gran parte dell'orchestrazione. Review flow, permessi, limiti di costo, trust boundary multi-agent: tutto integrato e preconfigurato. La domanda non è quante cose sa fare l'agent, ma quante se ne assume al posto tuo.
I due approcci vengono raccontati come una contesa per lo stesso posto. Non lo sono. Sono due risposte a due domande: vuoi tenere il controllo dell'agent o vuoi che l'agent si faccia carico del lavoro? I nostri dati operativi permettono di rispondere con numeri invece che con opinioni.
La nostra misurazione
La tabella seguente viene dalla nostra attività. Leggiamo ~/.openclaw/cron/jobs.json (read-only), ~/.openclaw/cron/runs/*.jsonl e ~/.openclaw/healer-metrics.sqlite, valutati il 19/10/2026 alle 10:00 CEST.
| ultimi 30 giorni | 30 giorni prima | |
|---|---|---|
| Esecuzioni cron | 3041 | 3533 |
| Tasso di successo | 0.871 | 0.82 |
| Esecuzioni fallite | 393 | 635 |
| Durata mediana | 149 s | 138 s |
Tre osservazioni rilevanti per il confronto:
Il tasso di errore cala, ma non arriva a zero. 393 esecuzioni fallite in 30 giorni sono circa 13 al giorno. Le classi di errore più frequenti: FallbackSummaryError (70), Agent couldn't generate a response (61), litellm.APIConnectionError (55) e FailoverError (49). Temi operativi classici: logica di fallback, errori di connessione, cascate di failover. Esattamente gli errori da cui un loop minimal non ti protegge e che un harness pesante gestisce in parte.
L'auto-healer è obbligatorio, non opzionale. In 30 giorni: 365 errori di classe PATTERN, 268 FATAL, 56 CLUSTER, 55 TIMEOUT. L'healer ha inviato 206 restart, emesso 56 advisory di cluster, applicato 27 aumenti di timeout. 29 interventi riusciti o applicati. Senza quell'automazione il tasso di successo sarebbe molto più basso.
I job diminuiscono, non migliorano. 3533 esecuzioni prima, 3041 ora. Il calo correla con la consolidazione e disattivazione di job (51 attivi su 84). Uno stack agent minimal richiede più cura attiva per job; uno stack pesante gestisce più job ma con overhead più alto per esecuzione.
Dove si rompe un loop minimal in esercizio
Un agent minimale come Pi ha un vantaggio insuperabile: vedi tutto. Ogni read, ogni write, ogni chiamata bash è ricostruibile. Il prezzo: tutto ciò che va oltre il loop puro devi costruirlo o gestirlo da solo.
Nel nostro stack lo si vede nelle classi di errore. FallbackSummaryError e FailoverError sono sintomi di una catena di failover che abbiamo costruito noi. litellm.APIConnectionError mostra quanto è fragile il livello di connessione quando lo assembli da solo. Non sono problemi specifici di Pi: sono il costo del controllo. Chi costruisce lo stack lo ripara anche.
L'auto-healer è la nostra risposta. 365 errori PATTERN in 30 giorni, rilevati e in gran parte risolti automaticamente, sarebbero lavoro manuale in un setup minimale. I 268 errori FATAL sarebbero escalation al team. I 206 restart automatici li avrebbe fatti a mano qualcuno del team.
Dove un harness pesante produce overhead
Dall'altra parte c'è il modello integrato. Claude Code e simili portano orchestrazione, review flow e permessi. Il prezzo è il system prompt: secondo le segnalazioni i system prompt dei principali coding agent stanno tra 7000 e 10000 token prima della prima richiesta utente. Quel costo ricorre a ogni chiamata API, non è una tantum.
Nel nostro esercizio la differenza si vede nella durata mediana: 149 secondi per esecuzione. Una parte è overhead puro: chiamate al modello che servono solo a mantenere il contesto dell'agent, descrivere i tool, riassumere lo storico. Un loop minimal con quattro strumenti ha meno contesto da mantenere e meno modi per confondersi da solo.
Il trade-off è onesto: l'harness pesante gestisce più job in parallelo e toglie lavoro al team. Il loop minimal è più veloce per esecuzione ma richiede più cura. I nostri numeri suggeriscono che l'enfasi debba andare alla cura al crescere dei job.
Cosa ne deriviamo per la scelta
La scelta tra Pi e Claude Code non è una dichiarazione d'amore a un framework. È una domanda di modello operativo:
- Vuoi controllo e portabilità: prendi l'agent minimal. Porti il tuo modello, vedi ogni passaggio, lo stack è tuo. Il prezzo: failover, retry logica e monitoring li costruisci tu. Il nostro auto-healer è esattamente quell'investimento.
- Vuoi throughput e comodità: prendi l'agent integrato. Orchestrazione, review e permessi sono integrati, l'agent gestisce più job in parallelo. Il prezzo: overhead di token a ogni chiamata e meno granularità nel debug.
Un numero crescente di team farà entrambe le cose: l'agent minimal per workload sensibili o critici per i costi, quello integrato per il resto. La vera competenza non è la fedeltà a un framework ma sapere quale job appartiene a quale stack.
Domande frequenti
Qual è la differenza pratica tra Pi e Claude Code?
Pi è un loop agent minimale con quattro strumenti che controlli interamente e colleghi al modello che vuoi. Claude Code è un agent integrato che porta orchestrazione, review e permessi e si assume più lavoro. In esercizio la differenza si vede nelle classi di errore e nell'overhead, non nella lista di funzionalità.
Quanto costano davvero i system prompt dei principali coding agent?
Secondo le segnalazioni tra 7000 e 10000 token prima della prima richiesta utente. Quel costo non è una tantum: ricorre a ogni chiamata API e riduce il contesto disponibile. Un loop minimal come Pi riduce quell'overhead al minimo.
Com'è la realtà degli errori in un esercizio agent?
Nel nostro stack: 3041 esecuzioni in 30 giorni, 393 fallite, classi principali FallbackSummaryError, errori di connessione e problemi di failover. Un esercizio agent senza auto-healing e monitoring produce questi errori in modo invisibile. Il tasso di successo è 87 per cento, non 100.
Serve un auto-healer per uno stack agent minimal?
Se lo stack gira giorno e notte: sì. In 30 giorni abbiamo avuto 365 errori PATTERN, 268 FATAL e 55 timeout rilevati automaticamente dall'healer. 206 restart inviati. Senza quell'automazione sarebbe stato lavoro manuale o downtime.
Quando conviene avere entrambi i framework in parallelo?
Quando workload diversi hanno requisiti diversi: job sensibili o critici per i costi sull'agent minimal, job ad alta frequenza o orchestrati su quello integrato. La decisione è per job, non per team. I nostri dati operativi suggeriscono che la forma mista è più comune della forma pura.
Fonti
- earendil-works/pi, repository GitHub: https://github.com/earendil-works/pi
- Sito ufficiale di Pi: https://pi.dev
- Owain Lewis, Is Pi better than Claude Code?: https://newsletter.owainlewis.com/p/is-pi-better-than-claude-code
- Pawel Jozefiak, AI coding harness agents 2026: https://thoughts.jock.pl/p/ai-coding-harness-agents-2026
- byteiota, Pi coding agent minimal harness: https://byteiota.com/pi-coding-agent-minimal-harness
- MCPlato, Pi Hermes Codex Claude Code: https://mcplato.com/en/blog/pi-agent-hermes-codex-claude-code-mcplato
- Dati operativi propri: ~/.openclaw/cron/jobs.json, ~/.openclaw/cron/runs/*.jsonl, ~/.openclaw/healer-metrics.sqlite, valutati il 19/10/2026 alle 10:00 CEST.