
Kit de ferramentas de pesquisa para analisar padrões comportamentais de agentes de IA por meio de análise de corpus multidisciplinar. Analisa registros de sessão, executa 23 técnicas analíticas e gera relatórios narrativos impulsionados por LLM.
Um projeto de pesquisa da Lightless Labs que estuda o comportamento de agentes de IA em escala através de análise multidisciplinar de corpus (basicamente, jogar coisas na parede e ver o que cola).
Nomeado a partir do conceito de Tiffany Aching no Discworld: primeiros pensamentos (agentes pensando), segundos pensamentos (agentes analisando seu pensamento), terceiros pensamentos (este projeto analisando isso).
Third Thoughts tem duas metades que compartilham um corpus e uma metodologia:
middens/ — uma CLI em Rust para extrair padrões comportamentais de logs de sessão de agentes de IA. Analisa transcrições de sessões de agentes de programação do Claude Code, Codex, OpenClaw e Pi (stub do Gemini), classifica mensagens e sessões, e executa uma bateria de 23 técnicas analíticas (6 nativas em Rust + 17 em Python, empacotadas via uma ponte Python incorporada). A CLI tem três comandos principais: analyze (executar técnicas → armazenamento Parquet), interpret (narrativa transversal com técnicas baseadas em LLM) e export (notebook Jupyter). Veja middens/README.md.docs/. É aqui que residem as alegações científicas.O corpus em si (corpus/, experiments/) está no gitignore — as sessões contêm dados privados e não podem ser redistribuídas. As ferramentas e a metodologia são abertas; os dados brutos não.
Regra composta de escopo: qualquer descoberta principal sobre comportamento de pensamento ou texto deve sobreviver a quatro eixos — session_type, thinking_visibility, language e uma janela temporal. Uma descoberta que não sobreviver a todos os quatro não é uma descoberta. Mais contexto em CLAUDE.md e docs/HANDOFF.md.
middens/ CLI em Rust — parser, classificadores, técnicas, ponte Python
docs/
HANDOFF.md Documento de continuidade de sessão, leia primeiro
methods-catalog.md 20 famílias de métodos, mais de 80 referências
examples/ Exemplos práticos para o fluxo de trabalho da tríade da CLI
nlspecs/ Especificações em linguagem natural (Porquê / O quê / Como / Feito)
reports/ Relatórios de pesquisa
reviews/ Revisões por pares multimodelo
brainstorms/ Documentos de requisitos
plans/ Planos de implementação
solutions/ Conhecimento institucional — aprendizados documentados
scripts/ Bateria analítica Python (26 scripts, majoritariamente substituídos por middens)
todos/ Arquivos de tarefas individuais com frontmatter YAML
No gitignore: corpus/, corpus-full/, corpus-split/, corpus-frozen/, experiments/, data/labeled-messages.json.
Instale a CLI com Homebrew no macOS ou Linux:
brew install lightless-labs/tap/middens
middens --help
No Linux sem Homebrew, baixe o tarball de lançamento diretamente:
# 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
Atualmente, o middens distribui binários para macOS Apple Silicon, Linux x86_64 e Linux arm64. Homebrew é o caminho mais fácil se você já o utiliza; tarballs de lançamento e compilações a partir do código fonte estão documentados em middens/README.md.
Se você deseja executar a CLI em seus próprios logs de sessão, vá para middens/. Se você quiser ler sobre a metodologia e descobertas, comece com docs/methods-catalog.md e os relatórios em docs/reports/.
O comando middens archive copia logs JSONL locais de agentes para um arquivo privado, endereçado por conteúdo, antes que fornecedores, políticas de retenção ou seus próprios impulsos de limpeza noturna os façam desaparecer. Ele armazena transcrições brutas, portanto, trate a raiz do arquivo como dados privados:
middens archive --to ~/agent-session-archive --dry-run
middens archive --to ~/agent-session-archive --yes
Plugins de automação autocontidos estão em integrations/ e não exigem o binário middens no PATH:
integrations/pi/middens-archive/ — Extensão Pi com /middens-archive-now e /middens-archive-status.integrations/claude-code/middens-archive/ — Hooks do Claude Code mais /middens-archive-now.integrations/codex/middens-archive/ — Hooks do Codex mais habilidades de arquivamento.Todos os três exigem um MIDDENS_ARCHIVE_ROOT explícito; nenhum caminho de arquivo padrão é escolhido para você, porque pastas surpresa de transcrições brutas são rudes.
AGPL-3.0-or-later. Veja LICENSE.
| Descoberta | Status | Escopo |
|---|
| Supressão de 99,99% de tokens de risco em sessões de pensamento visível | Fortalecido | language=en ∧ thinking_visibility=Visible. N=4.518 sessões, 31.679 tokens de risco, 2 vazamentos. |
| Estado pré-falha/pré-correção HSMM | Provisório — direção replicada, magnitude instável | Reexecução pública fixa do HF: current middens 5,61× com exclusão Boucle; script legado 41,32× sob seus próprios filtros/amostragem. Não cite uma manchete no estilo 24,6×. |
| MVT violado — agentes subexploram | Robusto | Veja experiments/full-corpus/information-foraging.md. |
| Degradação da sessão (agentes pioram com o tempo) | Válido apenas para interativo | Veja experiments/interactive/survival_analysis.txt. |
| Contaminação Boucle W10–W12 no balde "interativo" | Confirmado | 1.820/1.826 sessões possuem marcadores de loop autônomo. |