Vue d’ensemble

01Projet 01 sur 3

Un harnais de développement agentique autour de Claude Code

Claude Code est le développeur principal. Tout ce qui l’entoure répond à deux besoins : réserver son contexte, sa mémoire de travail, au jugement et transformer ma méthode de travail en étapes qu’il ne peut pas sauter.

A

Vue d’ensemble

Session Claude CodePlugin mrs-toolkit · une quarantaine de skills + hooks de gardeClaude Code · Opusdc (dev-conductor), un outil maison en ligne de commande · donne à chaque session sa propre copie du code, fusionne, déploieSous-agents Claude (cloud) · Sonnet collecte, Opus juge
Outils branchés par MCPMémoireDocumentationWorkers locauxCapteursNotificationsNavigateur
Serveur localMoteur de mémoire · vault du projet (notes dans Git) + docsPasserelle d’inférence · un modèle à la fois par GPU · journal des appelsGPU 0 · MoE · gros volumesGPU 1 · dense · jugementPont de messagerie
Chaque outil est branché sur Claude Code par MCP, le protocole standard pour brancher un outil sur un agent IA. Le savoir vient de la mémoire, les grosses lectures partent sur des workers locaux (de petits agents sur des modèles Qwen locaux), l’état du matériel est mesuré par des capteurs, et un canal de messagerie me joint quand je ne suis pas devant l’écran.
B

La méthode en skills

Un skill est une procédure écrite que Claude Code charge quand une tâche l’appelle, comme /analyze.

/analyze
145 lancements

cherche dans la mémoire du projet, relève les contraintes, écrit le plan

/dev
285 lancements

implémente dans sa worktree, en consultant la mémoire avant chaque fichier

/critic
41 lancements

un juge local compare les changements de code au plan

dc land

fusionne dans une worktree jetable, jamais dans la copie de travail partagée

dc deploy

build, démarrage, test de santé

/vault-sync
89 lancements

enregistre décisions, erreurs et pièges

Les deux verrous : pas d’édition de code avant que le plan soit écrit, pas de fusion avant le verdict du critic. Lancements sur les 30 jours au 14 octobre 2026.

Décider et tester

/decision met à l’épreuve un choix coûteux : il vérifie ce que le projet a déjà, fait l’état de l’art, attaque la meilleure version du choix, puis rend un go ou un no-go. /test-ui pilote l’app comme un vrai utilisateur, dans un navigateur, pour prouver un changement de bout en bout. /prompt-work se charge avant d’éditer tout texte qu’un modèle lit.

Sessions et discipline

/session-start ouvre via dc une worktree git isolée, une copie de travail séparée du dépôt : des sessions en parallèle ne se marchent pas dessus. /track enregistre une règle enfreinte pour qu’elle revienne à la session suivante.

C

Hooks : des portes qui refusent, des rappels qui avertissent

Un hook est un script que Claude Code lance de lui-même à des moments précis : au démarrage de session, avant une édition, avant une commande.

Portes · elles refusent

Pas d’édition de code avant un plan écrit, ni hors de /dev. Pas d’édition dans la copie de travail partagée : ouvrir une worktree. Pas de fusion avant le verdict du critic. Pas d’édition d’un prompt avant que /prompt-work soit chargé. Pas de grosse lecture sans la déléguer ou dire pourquoi.

Rappels · ils avertissent au bon moment

Au démarrage, les trois règles que Claude enfreint le plus. Quand il va lancer un sous-agent cloud : un worker local, gratuit, ferait-il l’affaire ? Avant une commande shell risquée, comme tuer tous les processus d’un même nom : la règle qu’elle enfreindrait. Après compaction du contexte : réinterroger le vault, car ce qu’il y avait trouvé a disparu.

Intendance · ils tiennent les comptes

Les lancements de skills et de sous-agents sont journalisés, la version du plugin est vérifiée au démarrage, et les longues réponses se terminent par un court TL;DR.

D

Workers locaux et découpage des tâches

Claude CodeOpus · orchestrateur
  • une question par tâche
  • prompt complet
run_agentsserveur MCP
  • lance les workers en parallèle
  • relit chaque ligne citée
  • relance implement jusqu’au vert (5 tours max)
  • rend le vrai diff git
worker pi 1session neuve
worker pi 2read · grep · find
worker pi Nun rôle chacun
Passerelle2 × RTX 5090
  • MoE : résumer, inventorier
  • dense : citer, juger

Chaque worker est pi, un agent de code open source, sur l’un des deux modèles Qwen locaux : le MoE (mélange d’experts, rapide, pour le volume) ou le dense (plus lent, il cite et juge). Seule la réponse courte revient dans le contexte de Claude · zéro coût d’API.

  1. Une question par tâcheDans un seul prompt, une liste de six vérifications n’a reçu qu’une réponse générique, 3 fois sur 3 ; en six tâches séparées, les 6 ont reçu leur réponse.
  2. Des prompts completsChaque worker démarre sans mémoire de la conversation : dossier de travail, question exacte et format de sortie sont tous dans le prompt.
  3. Un rôle par tâcheinvestigate, digest, review, challenge, implement, research, chacun avec ses outils ; review et challenge lisent aussi la mémoire du projet.
  4. Le modèle adapté à la tâcheLe MoE résume et inventorie ; seul le modèle dense cite fichier et numéro de ligne. Sur 8 cas difficiles, chacun passé deux fois, le MoE a inventé 23 de ses 41 citations, le dense aucune sur 31.
  5. Citations revérifiéesLe serveur relit chaque ligne citée et marque tout écart ; Claude n’agit que sur une citation confirmée.
  6. Les écritures sont isoléesimplement tourne dans une worktree jetable avec une commande de vérification, relancé jusqu’au vert, cinq tours au plus ; ce qui revient est le diff que git a constaté, pas le récit du worker.
E

Un seul moteur de mémoire pour l’agent et pour le produit

MRS Memory · deux instances
Claude Codeet les workers qui jugent
Instance devvault + docs du projet
Vault1 880 notes dans Git (482 décisions)
Assistant de MRS Studioprojet 03
Instance produitsouvenirs utilisateur et workflows
Conversations, mailsextraits et consolidés par l’assistant

Hors de MRS Memory · carnet de Claude Code · environ 460 fiches

Même pipelineEmbeddingGemma-300MBM25RRFCross-encoder+ notes liées (liens wiki)
Un seul moteur de recherche, deux mémoires séparées. La première contient le savoir du projet (vault et documentation) et sert Claude Code. La seconde, dans MRS Studio (mon application d’assistant IA, projet 03), contient ce que l’assistant apprend sur ses utilisateurs ; Claude Code n’y a pas accès. Par ailleurs, Claude Code tient son propre carnet de fiches courtes, dont il relit l’index à chaque début de session.

Quand Claude s’en sert

Avant de modifier un fichier, pour voir ce qui a été décidé à son sujet. Après une compaction du contexte, quand un hook lui dit de chercher à nouveau. En fin de lot, quand un skill écrit les décisions et les corrections puis les pousse, retrouvables en quelques secondes. Sur trois mois jusqu’en juillet, 73 % des sessions de code ont consulté les notes d’un fichier avant la première modification.

Comment elle cherche

D’abord les questions exactes (ce fichier, ce tag, ces liens), puis par le sens : mots-clés et embeddings fusionnés, réordonnés par un cross-encoder, avec les notes liées jusqu’à deux liens de distance. Sur 35 questions de test en mai, une note pertinente figurait dans les cinq premiers résultats pour 76 % d’entre elles, contre 64 % avec une seule méthode.

Comment elle reste fiable

Un contrôle de doublon passe avant toute nouvelle note. Une note qui pose une contrainte doit porter une preuve qu’on peut rejouer (une sortie de commande, un fichier et une ligne, un commit), et un linter le vérifie. Chaque note liste le code qu’elle décrit et sa date de dernière vérification : une note ancienne remonte signalée. La note pointe, le code confirme.

F

Choix de conception, et les mesures derrière

Comment savoir qu’un changement marche ?

Les hooks et les workers locaux tiennent un journal, et un compteur relève combien de fois Claude enfreint chaque règle qu’il peut observer. Deux versions se comparent en les faisant tourner en alternance dans la même plage horaire, pour que l’heure ne puisse pas expliquer l’écart, et un résultat tiré de quelques essais se vérifie sur un échantillon plus large. Exemple : un premier test de 8 essais laissait croire que les agents ne délèguent jamais d’eux-mêmes. Un test plus large, sur une seule tâche, a donné 6 sur 12 sans rappel et 12 sur 12 avec. Le test exact de Fisher donne p = 0,014 : si le rappel ne servait à rien, un écart aussi grand n’apparaîtrait par hasard qu’environ une fois sur 70. Dans les sessions de tous les jours, la règle était bien moins suivie (voir Limites) : un hook l’impose donc désormais.

Pourquoi des hooks plutôt que des consignes ?

Une consigne en prose se perd quand le contexte se remplit ; un hook agit au moment du geste, et il est efficace parce qu’il bloque. Mesuré sur deux mois, sur les mêmes sessions : quand un hook bloquait une modification dans la copie de travail partagée, la commande qu’il indiquait a suivi dans les dix minutes 72 fois sur 103 ; quand un modèle local ajoutait seulement un avertissement à une action qui partait quand même, aucun de ses 33 avertissements n’a été pris en compte. Une porte qui bloque doit offrir une sortie peu coûteuse : ouvrir une worktree prend quatre secondes, et la porte du plan se lève dès que la liste du plan est écrite.

72 sur 103 (70 %) · 0 sur 33 · juin à août 2026

Les workers locaux inventent-ils des citations ?

Mesuré : sur 1 669 citations vérifiables, 129 (7,7 %) avaient un numéro de ligne inventé, d’où la relecture décrite en section D. Dans la configuration la plus sûre, la recherche d’une seule cible avec le modèle dense, 398 citations vérifiables sur 398 étaient justes (312 essais).

129 sur 1 669 (7,7 %) · 398 sur 398 · août 2026

Worker local ou sous-agent cloud : qui fait quoi ?

Le contexte de l’orchestrateur est la ressource rare, donc je répartis selon qu’un échec se verrait. Les grosses lectures vérifiables vont aux workers Qwen locaux, gratuits ; la collecte web à un modèle cloud moins cher (Sonnet), où une réponse fausse se filtre après coup ; le jugement qu’on ne peut pas revérifier reste sur le modèle le plus fort (Opus), parce qu’un jugement faible ne se voit pas.

Comment plusieurs sessions travaillent-elles sans se marcher dessus ?

Chaque session a sa branche et sa worktree git. dc land fusionne dans une worktree jetable, jamais dans la copie de travail partagée. dc deploy refuse d’écraser un travail local divergent sur le serveur et déclare l’échec si le test de santé est rouge.

G

Limites