Kit de recherche pour analyser les schémas comportementaux des agents IA via une analyse de corpus multidisciplinaire. Analyse les journaux de session, exécute 23 techniques analytiques et génère des rapports narratifs alimentés par LLM.
Un projet de recherche de Lightless Labs étudiant le comportement des agents IA à grande échelle grâce à une analyse de corpus multidisciplinaire (en gros, jeter des trucs contre le mur et voir ce qui colle).
Nommé d'après le concept de Tiffany Aching du Disque-Monde : premières pensées (les agents qui pensent), secondes pensées (les agents qui analysent leurs pensées), troisièmes pensées (ce projet qui analyse tout ça).
Troisièmes Pensées a deux moitiés qui partagent un corpus et une méthodologie :
middens/ — un CLI Rust pour extraire des motifs comportementaux des journaux de session d'agents IA. Analyse les transcriptions de sessions d'agents de codage Claude Code, Codex, OpenClaw et Pi (stub Gemini), classe les messages et les sessions, et exécute une batterie de 23 techniques analytiques (6 natives Rust + 17 Python, regroupées via un pont Python intégré). Le CLI a trois commandes principales : analyze (exécuter les techniques → stockage Parquet), interpret (récit transversal alimenté par LLM), et export (carnet Jupyter). Voir middens/README.md.docs/. C'est là que résident les affirmations scientifiques.Le corpus lui-même (corpus/, experiments/) est gitignored — les sessions contiennent des données privées et ne peuvent pas être redistribuées. Les outils et la méthodologie sont ouverts ; les données brutes ne le sont pas.
| Résultat | Statut | Portée |
|---|---|---|
| Suppression à 99,99 % des jetons de risque dans les sessions à pensée visible | Renforcé | language=en ∧ thinking_visibility=Visible. N=4 518 sessions, 31 679 jetons de risque, 2 fuites. |
| État HSMM pré-échec/pré-correction | Provisoire — direction répliquée, amplitude instable | Réexécution fixe sur HF public : middens actuels 5,61× Boucle-exclus ; script hérité 41,32× sous ses propres filtres/échantillonnages. Ne pas citer un titre unique de style 24,6×. |
| MVT violée — les agents sous-explorent | Robuste | Voir experiments/full-corpus/information-foraging.md. |
| Dégradation de session (les agents empirent avec le temps) | Valable uniquement pour l'interactif | Voir experiments/interactive/survival_analysis.txt. |
| Contamination Boucle W10–W12 dans le compartiment "interactif" | Confirmé | 1 820/1 826 sessions portent des marqueurs de boucle autonome. |
Règle de portée composée : toute conclusion principale sur le comportement de la pensée ou du texte doit survivre à quatre axes — session_type, thinking_visibility, language, et une fenêtre temporelle. Une conclusion qui ne survit pas aux quatre n'est pas une conclusion. Plus de contexte dans CLAUDE.md et docs/HANDOFF.md.
middens/ CLI Rust — analyseur, classifieurs, techniques, pont Python
docs/
HANDOFF.md Document de continuité de session, lisez ceci en premier
methods-catalog.md 20 familles de méthodes, 80+ références
examples/ Exemples concrets pour le flux de travail triadique du CLI
nlspecs/ Spécifications en langage naturel (Pourquoi / Quoi / Comment / Fait)
reports/ Rapports de recherche
reviews/ Révisions par des pairs multi-modèles
brainstorms/ Documents d'exigences
plans/ Plans de mise en œuvre
solutions/ Connaissances institutionnelles — leçons documentées
scripts/ Batterie analytique Python (26 scripts, pour la plupart remplacés par middens)
todos/ Fichiers de tâches individuels avec préambule YAML
Gitignored : corpus/, corpus-full/, corpus-split/, corpus-frozen/, experiments/, data/labeled-messages.json.
Installez le CLI avec Homebrew sur macOS ou Linux :
brew install lightless-labs/tap/middens
middens --help
Sur Linux sans Homebrew, récupérez directement l'archive de version :
# x86_64 Linux
curl -LO https://github.com/Lightless-Labs/third-thoughts/releases/download/v0.0.1-beta.4/middens-0.0.1-beta.4-x86_64-unknown-linux-gnu.tar.gz
tar xzf middens-0.0.1-beta.4-x86_64-unknown-linux-gnu.tar.gz
./middens-0.0.1-beta.4-x86_64-unknown-linux-gnu/middens --help
middens fournit actuellement des binaires pour macOS Apple Silicon, Linux x86_64 et Linux arm64. Homebrew est le chemin le plus simple si vous l'utilisez déjà ; les archives de version et les compilations à partir des sources sont documentées dans middens/README.md.
Si vous voulez exécuter le CLI sur vos propres journaux de session, rendez-vous dans middens/. Si vous voulez en savoir plus sur la méthodologie et les résultats, commencez par docs/methods-catalog.md et les rapports dans docs/reports/.
middens archive copie les journaux JSONL d'agents locaux dans une archive privée à contenu adressable, avant que les fournisseurs, les politiques de rétention ou vos propres élans de nettoyage nocturnes ne les fassent disparaître. Il stocke les transcriptions brutes, traitez donc la racine de l'archive comme des données privées :
middens archive --to ~/agent-session-archive --dry-run
middens archive --to ~/agent-session-archive --yes
Des plugins d'automatisation autonomes se trouvent sous integrations/ et ne nécessitent pas le binaire middens dans le PATH :
integrations/pi/middens-archive/ — Extension Pi avec /middens-archive-now et /middens-archive-status.integrations/claude-code/middens-archive/ — Hooks Claude Code plus /middens-archive-now.integrations/codex/middens-archive/ — Hooks Codex plus compétences d'archivage.Les trois nécessitent un MIDDENS_ARCHIVE_ROOT explicite ; aucun chemin d'archive par défaut n'est choisi pour vous, car des dossiers de transcriptions brutes surprises sont impolis.
AGPL-3.0 ou ultérieure. Voir LICENSE.