Recherche → plan.md + fichier de sources
L'orchestrateur d'un ensemble de trois compétences :
source-triage: trouver des sources et classer l'accès, la portée, l'intégrité et la note avant la lecture.research-plan(cette compétence) : lire ce qui est accessible, puis rédiger le plan et le fichier de sources.evidence-check: un audit indépendant pour vérifier que chaque affirmation est réelle et étayée.
Si une compétence sœur manque, effectuez ses étapes en ligne à partir de ces résumés. Le vérificateur déterministe est intégré à cette compétence : python3 <dossier de cette compétence>/scripts/research_checks.py. Il s'agit d'un script Python standard qui s'exécute dans votre propre sandbox de code (le texte PDF nécessite pypdf ; exécutez pip install pypdf s'il manque). Utilisez-le partout où un contrôle déterministe est nommé. Si aucune exécution de code n'est disponible, effectuez ces contrôles manuellement et mentionnez-le.
Sorties (noms fixes)
research/<slug-du-sujet>/plan.md
research/<slug-du-sujet>/sources__<slug-du-sujet>__<AAAA-MM-JJ>.md ← vue humaine
research/<slug-du-sujet>/ledger.md ← état en cours, écrit au fur et à mesure
research/<slug-du-sujet>/notes/<citekey>.md ← notes par source
research/<slug-du-sujet>/notes/raw/<citekey>.txt ← texte intégral brut (XML API/texte PDF), capable de verbatim
research/<slug-du-sujet>/claims.json ← affirmations étayées + citations, pour vérification
<slug-du-sujet>: 3 à 6 mots spécifiques, en minuscules avec traits d'union (starch-fructan-engineering-plants).- Ne jamais écraser une exécution précédente. Même sujet : nouveau fichier de sources daté + entrée de journal des modifications. Nouvel angle : nouveau slug.
- Travailler dans le dossier connecté de l'utilisateur s'il existe, sinon dans le répertoire de travail. Envoyer les deux fichiers principaux à la fin.
Modes
- auto (par défaut) : pas de pause ; listez vos choix à la fin. step : s'arrêter à chaque ◆.
- quick : garder 8 à 15 sources. Lecture complète des 5 meilleures sources ; pour les autres,
sections:(résumé + résultats + discussion). Contre-preuve : 3 recherches maximum. Boule de neige optionnelle. - deep : 25+ sources, boule de neige, éclaireurs parallèles, lectures complètes de toutes les sources A/B.
- update : l'utilisateur a téléchargé des fichiers ou demandé une actualisation → Phase 6.
- Contraintes strictes dans la demande (une grille qui nécessite 2 chapitres de livre, une limite de mots, une base de données obligatoire) sont des exigences, pas des suggestions. Répondez-y avec des sources vérifiées, ou dites clairement laquelle n'est pas remplie.
Phase 0 — Cadrage
Un seul message :
- l'objectif du plan et à quoi il sert (agent / compétence / MCP / rapport / expérience / décision) ;
- la portée, les années, la profondeur et le mode ;
- les contraintes strictes ;
- 2 à 6 axes MECE (sous-questions non chevauchantes).
Créer une liste de tâches : Cadrage → Triage → Lecture → Synthèse → Rédaction → Vérification. S'il n'existe pas d'outil de tâches, conservez la liste en haut de research/<slug>/run-notes.md.
◆ Point de contrôle : axes + portée.
Phase 1 — Triage (exécuter source-triage)
D'abord la bibliothèque → découvrir → intégrité pour tout ce que vous nommerez → accès + portée → note / rôle / ⭐.
Le registre est écrit au fur et à mesure. Ajoutez chaque recherche et chaque source classée immédiatement ; le contexte peut être perdu en cours d'exécution, et le fichier du registre est ce qui survit.
En mode approfondi avec des sous-agents, envoyez un éclaireur par axe en parallèle. Chaque éclaireur :
- utilise ≤15 appels d'outil ;
- écrit
notes/<axe>.mdavec les sections Points clés · Résultats cités (avec liens) · Inférences · Lacunes ; - ajoute ses candidates au registre.
Sans sous-agents, exécutez les axes séquentiellement. ◆ Point de contrôle : comptes par classe d'accès + ⭐ shortlist.
Phase 2 — Lecture
- Lire les sources
readable/held, note la plus élevée en premier. Préférez les routes brutes (XML Europe PMC via shell, texte PDF) et sauvegardez le texte dansnotes/raw/<citekey>.txt. - Une lecture WebFetch est
read: full (extracted). Utilisez-la pour comprendre, mais les affirmations qui en dépendent reçoivent⚠ extractedet ne sont jamais « étayées » par une citation. - Pour les textes longs, lisez par morceaux jusqu'à atteindre la liste de références. Le mode rapide permet des lectures
sections:; étiquetez-les. - Définir
readsur chaque ligne du registre :full·sections:<quoi>·abstract·metadata. - Par source,
notes/<citekey>.mdcontient :- POURQUOI (problème) ;
- COMMENT (méthode, données) ;
- QUOI (résultats : nombres copiés exactement, avec un localisateur de section/page) ;
- LIMITES, chacune étiquetée
author-stated(avec localisateur) oumy-inference. Sans texte intégral :limits: not assessed (read: abstract).
- Lorsqu'une phrase portera une affirmation dans le plan, copiez une citation verbatim d'au moins 40 caractères à partir du texte brut dans
claims.json:{"id","claim","source":"notes/raw/<citekey>.txt","quote","locator"}. - Ne jamais remplir une note de mémoire. « Pas dans la partie que j'ai lue » est une réponse valide.
Phase 3 — Synthèse
- Matrice de preuves : sources × thèmes (soutient / contredit / silencieux). Grouper par thème, jamais source par source.
- Convergence (≥3 d'accord) · Divergence (expliquer par méthode, population ou temps) · Silence (<2 sources : une lacune).
- Compte indépendant : « 4 études (2 indépendantes) ». Un ensemble de données, une cohorte, une équipe ou un essai partagé compte une fois.
- Passage de contre-preuve : pour les résultats principaux, rechercher les nuls, les échecs de réplication et les critiques. Enregistrer les termes même si rien ne se présente. Mode rapide : 3 recherches maximum.
- Affirmations négatives (« personne n'a fait X ») portent les recherches derrière elles, limitées à ce qui a été cherché.
- Vérification de contribution : que peut faire l'utilisateur avec ce plan qu'il ne pouvait pas faire avant ? Quel téléchargement ⭐ le changerait le plus ?
- Passage avocat du diable : le contre-argument le plus fort, le cherry-picking et une prémisse incontestée. Ne rejetez pas une objection parce qu'elle est gênante.
Phase 4 — Écrire les fichiers
plan.md
- En-tête : objectif · à quoi ça sert · portée · date · lien vers le fichier de sources ·
Base de preuves : N complet (brut) · N complet (extrait) · N sections · N résumé · N métadonnées. - Corps : tout ce dont la demande a besoin.
- Citations :
<sup>[3](sources__<slug>__<date>.md#s3)</sup>, numérotées dans l'ordre de première utilisation. - Drapeaux après une citation :
⚠ abstract-only: seul le résumé a été lu ;⚠ metadata-only: seul le titre/lieu connu ;⚠ extracted: lu via WebFetch, donc aucune vérification verbatim possible ;⚠ preprint.
- Fermer avec : Questions ouvertes · Ce que les téléchargements ⭐ débloqueraient · Contraintes non satisfaites (le cas échéant) · Journal des modifications.
sources____.md
# Sources — <Titre du sujet lisible> (<date>)
Plan : [plan.md](./plan.md) · Question : <une ligne> · Mode : <quick|deep> · Recherché : <bases de données + dates>
Comptes : N total · ⭐ X · lisible R · libre-mais-bloqué B · paywall P · non-papier W · exclu E (total = chaque ligne du registre)
Base de preuves : <même décomposition que plan.md>
## ⭐ 1. Télécharger pour contexte local
| # | Source | Type | Note | Accès · Licence | Pourquoi c'est important pour <ce qui est construit> | Comment l'obtenir | Enregistrer sous | Redistribuer |
## 2. Ouvert et lisible (distillé dans le plan)
### <Thème A>
<a id="s1"></a>**[1]** Auteurs (Année). [Titre](URL). *Lieu / Titre du livre, pages*. [DOI](https://doi.org/…) — `gold · CC-BY` · `readable:europepmc-xml` · read: full · Grade A · preuve
(une prépublication ajoute une étiquette `` `preprint` `` à cette ligne ; le vérificateur exige alors `⚠ preprint` sur ses citations)
- POURQUOI … · COMMENT … · QUOI … · LIMITES …
## 3. Libre mais bloqué pour les agents IA (ouvrez-les vous-même)
Entrée + le bloc observé + lien direct + toute copie libre.
## 4. Paywall
Entrée + lien vers copie libre ou « aucun trouvé » + l'essentiel au niveau du résumé, si utilisé.
## 5. Sources non-papier
Par type, niveau T1–T5. Littérature grise : URL + date d'accès + lien de capture.
## 6. Exclu (et pourquoi)
Une puce par enregistrement exclu, commençant par **Exclu :** <raison>.
## 7. Journal de recherche et rapport de voie d'accès
Règles :
- Chaque entrée a une ancre
<a id="sN">correspondant à la numérotation du plan. - Chaque URL est un lien
[texte](url), y compris dans les lignes d'en-tête. - Les lignes ⭐ pointent vers le numéro d'entrée principal.
- Grouper par classe d'accès, puis par thème.
Phase 5 — Vérifier, puis livrer
- Vérifications déterministes : exécuter
python3 <dossier de cette compétence>/scripts/research_checks.py all research/<slug>/. Corriger chaque erreur (ancres manquantes, drapeaux ⚠ manquants, décalages de comptes, vocabulaire, citations non dans la source) et réexécuter jusqu'à réussite. - Vérification des preuves : exécuter
evidence-check.- Avec sous-agents : dans un nouveau, en ne donnant que les fichiers.
- Sans : une vérification dans la même session qui relit chaque fichier à partir du disque et n'utilise aucun souvenir de leur écriture. L'étiqueter
same-session (not independent)et suggérer à l'utilisateur d'exécuter evidence-check dans un nouveau chat avant de s'y fier.
- Ouvrir au hasard 3 liens par classe d'accès. Une 403/429 d'un éditeur ne prouve rien ; dites-le.
Livrer les deux fichiers avec une ligne sur :
- le titre du plan ;
- le nombre de ⭐ ;
- combien de sources nécessitent un téléchargement manuel ;
- les contraintes non satisfaites.
En mode auto, listez également vos choix (axes, années, bases de données, filtres, limites).
Phase 6 — Mise à jour (après le téléchargement par l'utilisateur)
- Faire correspondre les fichiers du dossier aux noms Enregistrer sous.
- Les valider (
python3 <dossier de cette compétence>/scripts/research_checks.py pdf <fichiers>). - Lire chacun, sauvegarder son texte brut et définir
held: useretread: full. - Re-noter, en supprimant les notes
?provisoires. - Transformer les drapeaux ⚠ en affirmations étayées avec citations, ou réécrire les affirmations que le nouveau texte contredit.
- Réexécuter la Phase 5 sur les sections modifiées.
- Écrire un nouveau fichier de sources daté et ajouter une entrée de journal des modifications.
Drapeaux rouges
| Pensée | Réalité |
|---|---|
| « Je vérifierai l'accès après la lecture » | Triage d'abord, sinon les résumés sous paywall façonnent furtivement le plan. |
| « C'est en accès libre, donc je peux le lire » | Testez la voie. Des articles OA ont été bloqués lors des tests. |
| « WebFetch m'a donné le texte » | Il a donné une extraction du modèle. Utilisez-le pour lire, jamais pour les citations. |
| « Je connais cet article / chapitre » | Les essais ont produit des titres erronés, des livres erronés et un article inexistant de mémoire. Vérifiez d'abord. |
| « Le DOI résout, donc le chapitre est correct » | Vérifiez aussi le titre et les pages du livre. |
| « Bloqué, je vais essayer un miroir » | Jamais. Trouvez une copie libre légitime, sinon listez-le pour l'utilisateur. |
| « J'écrirai le registre à la fin » | Une réinitialisation du contexte l'effacera. Écrivez au fur et à mesure. |
| « Trois études sont d'accord » | Comptez les études indépendantes ; cherchez celles qui ont pris le parti opposé. |