31 points par GN⁺ 2026-04-02 | 1 commentaires | Partager sur WhatsApp
  • Projet non officiel proposant une analyse visuelle de l’architecture complète et du fonctionnement interne de Claude Code, avec exploration de la boucle d’agent et d’un système de plus de 50 outils, du traitement d’entrée jusqu’au rendu de la réponse
  • Composé de 804 fichiers, de plus de 220 000 lignes de code, de plus de 40 commandes et de plus de 22 outils ; il s’agit d’un travail d’analyse indépendant sans lien avec Anthropic
  • La boucle d’agent se compose de 11 étapes de traitement — entrée, message, système, API, appel d’outils, rendu, etc. — permettant de suivre le processus de génération de réponse de Claude Code
  • Le système d’outils et le catalogue de commandes classent en détail les fonctions liées aux opérations sur fichiers, à l’exécution, à la recherche, à la planification et à l’administration du système, avec aussi de nombreuses fonctions privées ou expérimentales
  • Des fonctions cachées comme Buddy, Kairos, UltraPlan, Coordinator Mode prennent en charge des comportements étendus tels que la planification à long terme, le travail en parallèle, le contrôle à distance et les sessions persistantes

Architecture et fonctionnement interne de Claude Code

  • Projet permettant d’explorer visuellement l’ensemble de la boucle d’agent (agent loop) de Claude Code, depuis le traitement de l’entrée jusqu’au rendu de la réponse, ainsi que plus de 50 outils, l’orchestration multi-agents et des fonctions privées
  • L’ensemble comprend 804 fichiers, plus de 220 000 lignes de code, plus de 40 commandes et plus de 22 outils
  • L’analyse repose sur le code source rendu public et constitue un projet non officiel sans lien avec Anthropic
  • L’état de l’analyse date du 31 mars 2026, avec une curation assurée par zackautocracy avec l’aide de DeepWiki
  • Boucle d’agent

    • Lorsqu’un utilisateur saisit un message, Claude Code suit 11 étapes : entrée → message → historique → système → API → jetons → outils → boucle → rendu → hooks → attente
    • L’entrée est traitée via le composant TextInput d’Ink et, en mode non interactif, utilise l’entrée standard (stdin)
    • Chaque étape est conçue pour permettre de suivre en détail le processus par lequel Claude Code reçoit un message et génère une réponse
  • Explorateur d’architecture

    • Il est possible d’explorer l’arborescence complète du code source en cliquant, avec les sections principales suivantes
      • Tools & Commands : outils intégrés et commandes
      • Core Processing : logique centrale de traitement
      • UI Layer : composition de l’interface utilisateur
      • Infrastructure : infrastructure et environnement d’exécution
      • Support & Utilities : utilitaires de support
      • Personality & UX : éléments liés à l’expérience utilisateur

Système d’outils et de commandes

  • Système d’outils

    • Classement par fonction de plus de 22 outils intégrés que Claude Code peut appeler
    • Opérations sur fichiers

      • FileRead, FileEdit, FileWrite, Glob, Grep, NotebookEdit, soit 6 outils
      Publicité
    • Exécution

      • Bash, PowerShell, REPL, soit 3 outils
    • Recherche et récupération

      • WebBrowser🔒, WebFetch, WebSearch, ToolSearch, soit 4 outils
    • Agents et tâches

      • Agent, SendMessage, TaskCreate, TaskList, TeamCreate, soit 11 outils
    • Planification

      • EnterPlanMode, ExitPlanMode, VerifyPlanExecution🔒, soit 5 outils
    • Lié à MCP

      • ListMcpResources, ReadMcpResource, McpAuth, soit 4 outils
    • Système

      • AskUserQuestion, TodoWrite, Config, Workflow🔒, TerminalCapture🔒, soit 11 outils
      Publicité
    • Fonctions expérimentales

      • Sleep, SendUserMessage, LSP🔒, PushNotification🔒, soit 8 outils
  • Catalogue des commandes

    • Classement par fonction de toutes les commandes slash disponibles dans Claude Code
    • Paramètres et configuration

      • /init, /login, /logout, /config, /permissions, /model, /theme, soit 12 commandes
    • Workflow quotidien

      • /compact, /memory, /context, /plan, /resume, /files, /summary, soit 24 commandes
    • Revue de code et Git

      • /review, /commit, /diff, /branch, /issue, /autofix-pr🔒, soit 13 commandes
    • Débogage et diagnostic

      • /status, /stats, /usage, /think-back, /debug-tool-call, /heapdump, soit 23 commandes
    • Fonctions avancées et expérimentales

      • /advisor, /remote-control🔒, /teleport, /plugin, /web-setup, /help, /exit, soit 23 commandes
      Publicité

Fonctions cachées

  • Le code inclut de nombreuses fonctions privées présentes mais pas encore déployées
  • Buddy

    • Animal de compagnie virtuel présent dans le terminal, dont l’espèce et la rareté dépendent de l’identifiant du compte
  • Kairos

    • Mode persistant prenant en charge l’unification de la mémoire entre sessions et le fonctionnement autonome en arrière-plan
  • UltraPlan

    • Session de planification longue durée pouvant s’exécuter jusqu’à 30 minutes avec un modèle de niveau Opus
  • Coordinator Mode

    • Un agent principal découpe le travail, crée des workers en parallèle et collecte les résultats
    Publicité
  • Bridge

    • Fonction permettant de contrôler Claude Code à distance depuis un téléphone ou un navigateur
  • Daemon Mode

    • Exécution d’une session en arrière-plan avec l’option --bg, en utilisant tmux en interne
  • UDS Inbox

    • Prise en charge de la communication entre sessions via des sockets de domaine Unix
  • Auto-Dream

    • Entre les sessions, l’IA revient sur les activités précédentes et organise ce qu’elle a appris

Informations sur le projet

  • Projet d’analyse non officiel, sans lien direct avec Anthropic
  • Produit à partir du code source public de Claude Code, avec la possibilité que certains éléments soient inexacts ou obsolètes
  • L’analyse a été réalisée à partir du code source publié par @Fried_rice
  • Créé par zackautocracy avec le soutien de la curation IA de DeepWiki

1 commentaires

 
GN⁺ 2026-04-02
Commentaires sur Hacker News
  • Une base de code d’agent CLI de 500k lignes montre à quel point la tentative de contrôler de façon déterministe des LLM probabilistes devient un enfer complexe de gestion d’état
    Ça fonctionne bien sur des plateformes simples, mais casse facilement sur de grands dépôts d’entreprise
    Sans machine à états externe, il faut forcer la fiabilité en brute force, si bien que 90 % du code est rempli de programmation défensive — regex, nettoyage du contexte, boucles de retry, rollback d’état, etc., pour empêcher la dérive de l’agent
    La visualisation est réussie, mais on a toujours l’impression de pousser un gros tas de code plutôt que d’avoir une gouvernance au niveau système

    • Il y a beaucoup de discussions négatives sur le code, mais presque aucune sur l’architecture elle-même, ce qui est étrange
      Le point clé est que le client ne fournit qu’un ensemble d’outils simple (read file, output rich text, etc.), conçu pour permettre au serveur d’innover rapidement
      À mon avis, la sauce secrète réside précisément dans cette structure où l’équipe serveur se demande : « jusqu’où peut-on être créatif avec cette API limitée ? »
    • Il y a eu beaucoup de recherche industrielle visant à contrôler les humains de manière déterministe, et pourtant cela restait un collectif ingouvernable
    • Toute l’économie repose déjà sur ce type de technologie
      Si elle ne tient pas ses promesses, ce ne sera pas juste « le code est instable », mais un problème capable de faire vaciller tout le système financier
    • Il est difficile de distinguer si ce code est le résultat de programmation défensive, ou s’il vient de la complexité inévitable du codage avec l’IA
    • Je ne suis pas d’accord avec l’idée que « ça casse dans les dépôts des grandes entreprises »
      Des sociétés comme Meta sont au contraire parmi celles qui exploitent le mieux CC
  • Je suis l’auteur. J’ai créé ce site de visualisation quelques heures seulement après la fuite de Claude Code
    J’utilisais déjà pi pour construire mon propre agent de codage, et je voulais étudier l’architecture d’Anthropic (système d’outils, boucle d’agent, etc.)
    Comme il était difficile d’explorer 500 000 lignes de code, j’ai créé une carte visuelle pour m’en servir comme référence
    Je continue à mettre le site à jour à partir des retours, donc si quelque chose manque, n’hésitez pas à me le signaler

    • Moi aussi, je connecte pi et cc à llama.cpp en local pour les faire tourner dans un environnement totalement hors ligne
      J’ai comparé et analysé la conception et l’implémentation des deux systèmes, et j’ai trouvé impressionnant que le site de l’auteur semble lui aussi avoir été fait avec pi
      Si possible, j’aimerais voir une visualisation pi vs cc
    • L’UX et la fonctionnalité du site sont excellentes. Je me demande s’il est prévu d’en publier le code source
    • Le ton et le rythme du texte sont très réussis
      Cela dit, ce serait bien d’ajouter des annotations ou des info-bulles à la partie « format des messages d’Anthropic » — puisque c’est en pratique aussi le format d’OpenAI
    • J’aimerais en savoir plus sur la façon dont l’auteur configure ses agents
  • Je me demande s’il existe un agent harness écrit sans IA
    On parle d’une structure où une simple TUI appelle un endpoint de modèle, alors 500 000 lignes, ça semble vraiment excessif

    • Le LoC est déjà un indicateur de productivité sans grand sens
      Cela peut venir de la réutilisation de code ou d’un effort de mise en bibliothèque, ou encore du manque de temps propre aux startups
    • Je recommande de regarder pi coding agent
    • La TUI de CC n’est pas une simple interface texte, c’est un rendu basé sur React
    • La qualité du code d’Opencode était plutôt bonne
    • Le CLI de Claude Code est en pratique une sorte de navigateur headless converti en texte, ce qui le rend très pénible à déboguer
      Les problèmes de conversion ASCII → Unicode cassent les pipes ou les parseurs, et compliquent aussi le copier-coller
      On a l’impression qu’une fonction qui devrait être simple est devenue une machine de Rube Goldberg
  • Certains se demandent : « 500k lignes, vraiment, ce n’est pas juste un REPL simple ? »

    • Les produits concurrents sont de taille comparable
      Opencode a 670k lignes, Codex 720k, Gemini 570k, donc la taille de Claude Code n’a rien d’anormal
    • La complexité des LLM a peut-être créé une incitation inconsciente à rendre les outils complexes eux aussi
    • En pratique, il y a beaucoup de corrections improvisées (vibe fix) et peu de conception cohérente
      Cela dit, certaines idées de détail, comme le suivi du TTL du cache, étaient intéressantes
    • Plutôt que la critique simpliste « c’est gonflé parce que c’est en JS/Electron », la bonne position est : allez le lire vous-même (RTFA)
    • La discussion a aussi porté sur le nombre de LoC qui serait approprié pour ce type de programme
  • En 2020, il aurait été inimaginable d’analyser visuellement du code fuitant de cette manière

    • Certains pensent que les outils d’analyse statique de l’époque auraient déjà pu le faire
    • Je suis curieux de connaître la procédure concrète utilisée et la manière dont l’IA a été mise à contribution
  • J’ai moi aussi créé un site similaire il y a 11 heures, mais il n’a pas attiré l’attention
    Cela dit, ça fait plaisir de voir une autre implémentation
    Mon essai est ici

    • De nos jours, tout le monde tente des choses similaires, donc qui attire l’attention n’a pas grande importance
  • Ce qui reste impressionnant, c’est le fait de créer un site aussi réussi en deux jours

    • Il a probablement été généré avec Claude Code
      Les sites produits par LLM peuvent souvent avoir une qualité visuelle élevée tout en étant peu fiables sur le fond
      Par exemple, nzoilwatch.com peut donner une impression d’expertise alors qu’il s’agit en réalité d’un projet personnel
      Rendre explicite l’usage d’un LLM permettrait de réduire les malentendus
    • Avec Claude, on peut générer un site web en quelques minutes si on formule bien la demande
    • J’ai parlé avec des développeurs d’outils d’agents à grande échelle, et ils m’ont dit qu’ils construisent leurs outils avec leurs outils
      Quand j’ai dit que l’UI que j’avais faite était maladroite, ils ont répondu qu’ils utilisaient leur propre bibliothèque de composants UI
      J’ai donc moi-même créé une bibliothèque appelée substrateui.dev, et je prends plaisir au processus d’apprentissage de l’UI en réorganisant un design system avec Claude Code
    • Certaines personnes jugent au contraire la lisibilité et les interactions du site peu confortables
    • Et malgré cela, il est ironique de voir HN dire que les LLM font baisser la productivité
  • Les sources fuitées sont disponibles dans le dépôt Codeberg

  • Il est intéressant qu’Anthropic développe son propre produit avec ses propres outils
    Mais pour un projet vieux d’un an, on pourrait penser qu’il devrait déjà être en phase de stabilisation

    • Un projet d’un an auquel plusieurs développeurs ont participé a de fortes chances d’avoir encore beaucoup de bugs
    • Reporter la dette technique peut aussi être un choix rationnel
      Puisque de futurs LLM assureront la maintenance, certains estiment qu’il n’est pas nécessaire que les humains nettoient cela eux-mêmes
    • Boris Cherny a lui-même déclaré qu’ils « construisent CC avec CC »
    • D’après les tweets dont ils se vantent, on voit aussi des usages de ressources excessifs, par exemple une API TUI qui exige 68 Go de RAM ou un rendu de texte qui prend 16 ms
  • Ce projet mériterait d’être ajouté à Awesome Claude Code