Pi Coding Agent (spesso chiamato semplicemente Pi o Pi Harness, creato da Mario Zechner) è un’interfaccia a riga di comando (CLI) e un framework open-source per lo sviluppo guidato dall’intelligenza artificiale.
A differenza di altri assistenti più rigidi o commerciali (come Cursor, Claude Code o Devin), Pi si distingue per una filosofia minimalista, trasparente e focalizzata sul controllo totale dello sviluppatore.
Ecco i punti chiave per capire che cos’è e come funziona:
1. La Filosofia: Un Core Minimalista
Molti agenti di coding moderni creano enormi “black box” (scatole nere): inviano prompt di sistema giganteschi, consumano migliaia di token solo per inizializzarsi e creano sotto-agenti automatici che lavorano nell’ombra consumando risorse.
Pi fa l’esatto opposto. Fornisce al modello di intelligenza artificiale solo 4 strumenti base (tool):
- Read: Leggere i file.
- Write: Creare o sovrascrivere file.
- Edit: Applicare patch mirate ai file esistenti.
- Bash: Eseguire comandi nel terminale.
Mantenendo il prompt di sistema ridotto al minimo, lascia la maggior parte della context window (la memoria a breve termine del modello) libera per il tuo codice e per il ragionamento logico. Meno rumore di fondo significa più memoria (context window) dedicata a ciò che conta davvero: il tuo codice e la logica di business.
2. Massima Flessibilità (Multi-Provider)
Non sei legato a un singolo brand. Pi supporta più di 15 provider diversi (Anthropic, OpenAI, Google Gemini, DeepSeek, Ollama per i modelli locali, ecc.).
Una delle sue funzioni più apprezzate è la capacità di cambiare modello a metà sessione (es. con il comando /model o la scorciatoia Ctrl+L). Puoi iniziare a esplorare il codice con un modello veloce ed economico e passare a uno più potente quando devi fare un refactoring complesso. Puoi fare il lavoro di routine con un modello veloce ed economico, e passare a quello top di gamma solo quando c’è da fare un refactoring complesso.
3. Controllo Totale e Modalità “YOLO”
Di default, Pi opera in quella che la community chiama YOLO mode: non ti chiederà continuamente conferme o permessi per modificare un file o lanciare un comando bash. Assume che tu sappia cosa stai facendo.
Tuttavia, puoi configurarlo e personalizzarlo istantaneamente:
- Puoi dirgli tramite file di configurazione (
SYSTEM.mdoAGENTS.mddel progetto) di chiederti sempre conferma prima di sovrascrivere qualcosa. - Puoi avviarlo in modalità “sola lettura” limitando i tool a disposizione (es.
pi --tools read,grep,find).
4. Sessioni Non Lineari (Ad Albero)
Mentre programmi con un’AI, capita spesso che l’agente prenda una strada sbagliata. Con i normali assistenti sei costretto a cancellare i messaggi o a ricominciare da capo. Pi gestisce le sessioni con una struttura ad albero: puoi tornare indietro nel tempo, fare il fork di una sessione, esplorare una soluzione alternativa e riprendere da un punto precedente se l’esperimento fallisce.
5. Estendibile e Programmabile
Pi non è solo un software da usare, è un’impalcatura (harness) su cui puoi costruire. È scritto in TypeScript ed è “aggressivamente estendibile”: se ti serve una funzione specifica, puoi chiedere a Pi stesso di scriverti un’estensione per aggiungere nuovi comandi o tool personalizzati, ricaricarlo al volo con /reload e continuare a lavorare. Offre quattro modalità d’uso: interattiva da terminale, JSON, RPC e tramite SDK.
In sintesi, a chi si rivolge?
È lo strumento ideale per gli sviluppatori che amano il terminale, che non vogliono interfacce grafiche pesanti e che pretendono di sapere esattamente cosa l’AI sta leggendo ed eseguendo sulla propria macchina, mantenendo l’approccio classico del “Docs-as-Code” e dell’automazione sartoriale.
Pi non prova a sostituirsi a te, ma si comporta come un’impalcatura (harness) flessibile. Opera di default in “YOLO mode” (esegue senza chiedere continue conferme, assumendo che tu sappia cosa stai facendo), ma basta un file SYSTEM.md nel progetto per plasmare il suo comportamento e i suoi limiti come preferisci.
Se cerchi un assistente AI leggero, trasparente, che non consumi token inutili e che si integri perfettamente nei tuoi flussi di automazione, Pi merita assolutamente un test.