Architecture Pi : minimalisme vs intégration
System prompt de 200 tokens, 4 outils core, extensions npm/git — pourquoi Pi fait le pari inverse de Claude Code et quels trade-offs cela impose.
Le pari minimaliste
Pi (pi.dev) fait un choix architectural radical : donner au modèle le strict minimum d’outils et laisser l’extensibilité combler le reste. Là où Claude Code intègre 15+ outils, des hooks, un système de permissions, MCP natif et un system prompt de ~10 000 tokens, Pi propose 4 outils core et ~200 tokens d’instructions système.
Les 4 outils core
| Outil | Rôle |
|---|---|
read | Lire un fichier |
write | Écrire un fichier |
edit | Modifier un fichier existant |
bash | Exécuter une commande shell |
Point clé : Pas de Glob, pas de Grep, pas de WebFetch intégrés. Si l’agent veut chercher dans la codebase, il passe par
bashet lancegrep,findourglui-même.
System prompt : court vs long
La fenêtre de contexte d’un LLM est fixe. Chaque token occupé par le system prompt est un token en moins pour le code du projet. C’est un jeu à somme nulle.
| Critère | Pi (~200 tokens) | Claude Code (~10 000 tokens) |
|---|---|---|
| Contexte libre pour le code | Quasi-total | Réduit |
| Gestion des cas limites | Non couverte par défaut | Intégrée |
| Cohérence d’équipe | À configurer (skills, templates) | Imposée par le system prompt |
| Comportement prévisible | Dépend de la configuration | Stable par défaut |
Attention : Un system prompt court n’est pas un avantage absolu. Il libère du contexte, mais il déporte la responsabilité de la cohérence sur l’utilisateur. Sur un projet d’équipe, cela peut créer des divergences si les configurations ne sont pas partagées.
Extensibilité comme stratégie
Ce que Claude Code intègre en dur, Pi le propose via des extensions. C’est la différence entre un monolithe intégré et une architecture à plugins.
Mécanismes d’extension
Les extensions s’installent via pi install npm:@foo/bar ou pi install git:github.com/user/repo. Elles ajoutent des outils, des hooks et des commandes. Les skills sont des fichiers Markdown qui encapsulent des workflows (comme les slash commands de Claude Code). Les prompt templates sont des templates réutilisables pour des tâches récurrentes.
Ce qui manque par défaut
| Fonctionnalité | Claude Code | Pi |
|---|---|---|
| Sub-agents | Intégré (Task tool) | Non (extensible) |
| Plan mode | Intégré | Non (extensible via skill) |
| MCP | Natif | Non |
| Permissions (allow/deny) | Intégré | Non |
| Hooks pre/post | Intégré (JSON) | Extensible |
Point clé : Le trade-off central — Pi demande plus de configuration initiale, mais offre plus de contrôle. Claude Code fonctionne bien dès l’installation, mais impose ses choix. C’est le même arbitrage que framework opiniâtré vs bibliothèque composable.
Quand le minimalisme paie et quand il coûte
Le minimalisme paie quand le développeur veut un contrôle total, quand le projet utilise des outils spécifiques que des extensions couvrent mieux, et quand la fenêtre de contexte est précieuse (grande codebase, sessions longues).
Le minimalisme coûte quand l’équipe a besoin de cohérence sans effort de configuration, quand le projet a des conventions strictes que le system prompt de Claude Code peut encoder nativement, et quand la sécurité des actions de l’agent est critique (pas de permissions par défaut dans Pi).
Règle pragmatique : Ce n’est pas l’outil qui compte, c’est l’empilement des leverage points. Un Pi bien configuré (extensions + skills + tests) peut être aussi efficace qu’un Claude Code bien configuré (CLAUDE.md + hooks + MCP).