惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
Y
Y Combinator Blog
F
Fortinet All Blogs
H
Hackread – Cybersecurity News, Data Breaches, AI and More
N
Netflix TechBlog - Medium
T
Tailwind CSS Blog
aimingoo的专栏
aimingoo的专栏
博客园 - Franky
T
The Blog of Author Tim Ferriss
D
DataBreaches.Net
量子位
博客园 - 三生石上(FineUI控件)
I
InfoQ
Engineering at Meta
Engineering at Meta
WordPress大学
WordPress大学
阮一峰的网络日志
阮一峰的网络日志
爱范儿
爱范儿
D
Docker
美团技术团队
雷峰网
雷峰网
U
Unit 42
Stack Overflow Blog
Stack Overflow Blog
Recent Announcements
Recent Announcements
人人都是产品经理
人人都是产品经理

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
Quick Win Card #03 — Ton sub-agent n'a jamais lu ton MEMO...
Michel Faure · 2026-06-15 · via DEV Community

Quick Win Card #03 strip — Michel rédige un brief à son sub-agent, sub-agent code, Niran lit git log : commit sur main, Michel rajoute une section Load-bearing feedbacks en tête du brief.

L'accroche

QW-01 disait : ton fichier d'état ment. QW-02 disait : ton compteur ment. Voici la troisième couche : ton sub-agent ignore ce que toi tu sais. Pas par malice, par construction. Le contexte qu'il reçoit, c'est ton brief, point. Pas ton MEMORY.md, pas tes feedbacks user-scope, pas la doctrine que tu as accumulée en 70 jours. Tu lui parles comme à un collègue qui a relu le wiki, alors qu'il vient d'arriver et n'a jamais ouvert la page.

Ce qui a cassé

18 mai, fin d'après-midi. Je délègue six fichiers à mon sub-agent ERP — autosend premier contact, ADR-0072. Brief en trois paragraphes : contexte, livrables, phase 0 grep d'audit avant tout INSERT. Court, propre, ce que je donnerais à un humain qui connaît le projet.

Quarante-cinq minutes plus tard, le rapport arrive. Je grep mon git log par réflexe : commit 3756e63 parti sur main, six fichiers, sept cent trente insertions, sans branche feature, sans pull request. Trente minutes de cherry-pick pour rattraper. Et la règle qui aurait dû empêcher ça — feedback_git_branch_check_avant_commit — était bien dans ~/.claude/agent-memory/, scope user, indexée dans mon MEMORY.md. Je la consulte mécaniquement avant chaque commit non-trivial depuis l'incident du 14 mai. Elle ne m'a pas trahi. Elle n'a juste jamais atteint le délégué.

La leçon est plus inconfortable que les deux premières cartes. Tu peux construire la doctrine la plus rigoureuse du monde, l'indexer, la versionner, la backporter entre projets — si le brief que tu envoies au sub-agent ne la cite pas explicitement, elle est effectivement absente. La mémoire user-scope ne se transmet pas par filiation. Le sub-agent n'est pas un héritier, c'est un sous-traitant qui n'a pas lu ton wiki.

Une objection légitime ici : la protection de branche côté repo GitHub aurait aussi attrapé le commit sur main. C'est vrai pour cet exemple-là. Mais la doctrine doit tenir même dans les repos où tu n'as pas câblé la protection, et surtout, les deux autres feedbacks de l'exemple ci-dessous (probe DB avant DELETE, audit inscriptions.source) n'ont pas d'équivalent en garde-fou serveur. C'est précisément la catégorie qu'il faut couvrir par le brief, parce qu'aucune autre couche ne le fera.

L'en-tête de brief qui ferme la classe

À coller en tête de tout brief sub-agent qui touche du code applicatif, dure plus de trente minutes, ou délègue une décision qui pourrait casser une règle silencieuse. Trois à cinq feedbacks load-bearing (dans le vocabulaire Counterpart, un feedback = une règle codifiée à partir d'un incident passé, stockée dans MEMORY.md, nommée par un slug stable).

# Brief sub-agent — <task name>

## Load-bearing feedbacks (apply BEFORE any code)
- `feedback_git_branch_check_avant_commit``git branch --show-current`
  before every non-trivial commit; feature branch + PR for any new feature.
- `feedback_audit_db_pre_flight_canonique``SELECT … GROUP BY` probe
  before any bulk DELETE/UPDATE.
- `feedback_source_audit_inscriptions` — never touch `inscriptions.source`
  rows where source ∉ {NULL, 'migration_notes'}.

## Context
<the brief itself>

Trois feedbacks nommés en tête de brief. Pas le contenu — juste le slug + une phrase opérante. Si le sub-agent veut le détail, il ouvre le fichier. Mais l'invocation explicite suffit à ramener la règle dans son contexte actif. Une règle citée par son nom est une règle considérée. Une règle qui vit dans ton MEMORY.md et nulle part ailleurs est une règle qui n'existe pas pour ton délégué.

ROI

Pas du temps économisé sur la délégation elle-même — le brief grandit de quelques lignes, c'est neutre. Le gain est en aval. Trente minutes de cherry-pick évitées par commit-sur-main raté. Une demi-journée d'audit DB évitée par bulk-DELETE-sans-probe évité. Une catégorie entière de fail-modes silencieux qui sort du périmètre d'incident parce qu'elle est nommée dans le brief avant que le code soit écrit. L'en-tête ne remplace pas la doctrine — il la rend opérante pour le délégué qui n'y a pas accès en lecture directe.

À appliquer maintenant

Ouvre le prochain brief que tu vas envoyer à un sub-agent. En tête du fichier, avant le contexte, colle le bloc ## Load-bearing feedbacks avec trois feedbacks pertinents pour la tâche. Le choix des trois est l'exercice — c'est lui qui rend visible quelle partie de ta mémoire est load-bearing pour cette délégation précise. Si tu ne sais pas lesquels citer, c'est probablement que le brief est trop vague pour être délégué. Auquel cas le bénéfice du pattern arrive avant même que le sub-agent commence à travailler : il t'a fait re-clarifier ton intention.

Ton quick win tient en cinq minutes — celles qu'il faut pour identifier les trois feedbacks à inliner. La doctrine ne te suit pas dans la délégation toute seule. Tu dois la porter.


Quick Win Card series, épisode 03. Counterpart Toolkit v0.7, amendement R9 promu 20/05/2026. Repo doctrine : github.com/michelfaure/doctrine-counterpart. Triptyque QW-01 → QW-02 → QW-03 : fichier ment, compteur ment, contexte du délégué ment. Trois couches d'observabilité qui mentent par défaut, trois hooks qui les forcent à parler.