Domain Knowledge Builder — Gerador de Base de Conhecimento de Domínio
Me dê N artigos + nome do domínio → Produza uma skill de base de conhecimento de domínio de nível A e consultável. Estrutura da base de conhecimento: DAG (5 tipos de nós + 10 relacionamentos) + Modelos Mentais + Protocolo de Consulta + Limites de Honestidade. Portão de qualidade: Avaliação de 9 dimensões darwin 2.0, nota ≥B+ (80) para ser considerada bem-sucedida.
Modelos Mentais Centrais
1. Conhecimento ≠ Acúmulo de Definições
Uma base de conhecimento de domínio utilizável não é simplesmente transferir definições/teoremas um por um, mas sim destilar qual lente o domínio usa para ver o mundo (modelos mentais) e, em seguida, usar nós de conhecimento para sustentar essas lentes. Pergunte "meu fluxo de dados não é comutativo, como o CP pode me ajudar" — uma pilha de definições puras não responde; uma base de conhecimento orientada por modelos mentais pode inferir uma posição. Portanto, o processo de ingestão deve ter uma etapa de destilação de modelo mental (S5), não apenas extrair nós.
2. Ciclo de Vida de Karpathy × Estrutura DAG
- O LLM Wiki de Karpathy fornece o 'ciclo de vida': camadas raw (fonte imutável) → wiki (mantido por LLM) → SCHEMA (norma) + três fluxos de trabalho: Ingest/Query/Lint. A base de conhecimento é um organismo que cresce, não um snapshot extraído uma vez.
- O DAG fornece a 'estrutura': nós não são apenas categorias, são relações —
guarantees/generalizes/contradicts/depends_on. O teorema A deriva o teorema B, o método C contradiz o método D — essas relações são o núcleo do conhecimento do domínio, que um diretório plano não consegue suportar. - Fusão: Karpathy gerencia "como o conhecimento cresce" (ciclo de vida), o DAG gerencia "como o conhecimento se conecta" (estrutura).
3. O Gerador Deve Ser Controlável (D7)
A essência de um meta-skill ≠ skill comum é gerar outros skills — muitas escritas em FS, spawn de subagentes, rede. Isso deve ser controlável: cada ingestão pode ser retomada com checkpoint, darwin sem aprovação pode ser revertido com git, cada nó é rastreável (provenance), e reexecutar o mesmo artigo produz o mesmo ID de nó (determinismo). Caso contrário, torna-se insustentável após 6 meses. Esses quatro pilares (rollback/auditabilidade/determinismo/pré-verificação) são o padrão de conformidade para skills geradores (subclasse generator da 9ª dimensão darwin).
Quando Usar / Quando Não Usar
Usar:
- "Construir para um especialista uma skill que possa responder 'o que o especialista acha sobre X' + 'por quê (fundamentação)'."
- "Transformar artigos/entrevistas/blogs de especialistas em um motor duplo de mentalidade + conhecimento."
- "Transformar estes artigos em uma base de conhecimento consultável."
- "Construir uma base de conhecimento DAG para o domínio X."
- "Tenho N PDFs, quero um assistente de domínio que possa inferir posições."
Roteamento de Diferenciação:
- Base de conhecimento de domínio puro (sem perspectiva de especialista) → Modo original DKB (
examples/conformal-prediction) - Perspectiva de especialista (com julgamento + fundamentação do especialista) → Esta extensão (modo expert-advisor)
Não usar (rotear para outro skill):
- "O que é Split CP?" → Consultar a base de conhecimento CP existente (
examples/conformal-prediction) - "Resumir este livro" → Usar book-to-skill para gerar diretamente uma skill para um único livro
- "Destilar como uma pessoa pensa (sem conhecimento de domínio)" → Usar nuwa-skill
Arquitetura (5 Camadas)
domain-knowledge-skill/
├── SKILL.md # Este arquivo (entrada do meta-skill)
├── schema/schema.md # Especificação de conhecimento (5 tipos + 10 relacionamentos + Controlabilidade D7)
├── pipeline/ # Fluxos de trabalho Ingest/Query/Lint
│ ├── ingest.md # Contrato do pipeline de 7 etapas (S1-S7)
│ ├── query.md # Consulta de travessia DAG em 5 etapas
│ ├── lint.md # Verificação de estrutura + Conformidade do Gerador
│ ├── run-dag-pipeline.js # Script de orquestração do workflow
│ └── state/ # Runtime D7
│ ├── init_run.py # UUID + git + run-manifest + preflight
│ └── lint_d7.py # Lint dos quatro pilares
├── engines/ # Mecanismos reutilizáveis
│ ├── book_to_skill/ # Motor de extração virgiliojr94 (modo técnico)
│ ├── darwin-rubric.md # Avaliação de qualidade de 9 dimensões (9ª dimensão com duas subclasses)
│ └── nuwa-validation.md # Validação tripla de domínio
├── references/ # Modelos (planejados)
└── examples/
└── conformal-prediction/ # Referência ouro (88 pontos A-, carregamento preguiçoso)
Pipeline de Ingestão de 7 Etapas (Divisão por Estágio D3)
Determinístico (fan-out do workflow) Interativo/Julgamento (cadeia de subagentes)
───────────────────── ─────────────────────
S1 Extração ─┬─▶ S2×N Paralelo ──┐
└─▶ ... ├─▶ S3 Mesclagem ──▶ S4 Navegação ──▶ S5 Modelos Mentais ──▶ S6 Validação ──▶ S7 Montagem ──▶ Portão darwin
│ (contradicts (Paralelo 3) (Validação Tripla) (Fresh) (<4K) (≥B+)
│ confirmação manual)
Consulte pipeline/ingest.md para o contrato detalhado. Restrições chave:
- S1 Obrigatório: preflight docling (schema §12.4, dependência rígida do modo técnico)
- S2 ID do nó:
<type>-<source>-<canonical-term>(schema §10 Determinismo) - S3 Ao encontrar arestas
contradicts/does_not_guarantee, devecontact_supervisorpara confirmação manual - S5 Carregar
engines/nuwa-validation.mdpara validação tripla - S6/S7 Usar subagentes fresh-context (validação/avaliação independentes, proibir autoavaliação)
- Todo o percurso: escrever provenance em cada nó (generated_by_step/run_id/source_span)
Portão de Qualidade (darwin 2.0, 9 Dimensões)
Carregar engines/darwin-rubric.md, subagente fresh-context avalia:
| Dimensão | Peso | Foco |
|---|---|---|
| ① Integridade Estrutural ② Clareza ③ Integridade de Conteúdo ④ Operacionalidade | 15%×4 | frontmatter/fluxos de trabalho/cobertura/executável |
| ⑤ Precisão ⑥ Consistência | 10%×2 | Precisão textual dos teoremas/sem referências quebradas |
| ⑦ Eficiência de Execução ⑧ Robustez | 8%/7% | Orçamento de tokens/limites de honestidade |
| ⑨ Conformidade de Meta-Skill | 5% | Subclasse generator-skill: quatro pilares |
Subclasse da 9ª Dimensão (insight oracle): query-skill (tipo CP, somente leitura) vs generator-skill (este skill tipo, permite escrita controlada, mas deve satisfazer os quatro pilares: rollback/auditabilidade/determinismo/pré-verificação). Isso permite que o gerador passe pelo portão de qualidade de forma justa.
Mecanismo Catraca: darwin <B+ → git revert do último estágio → diagnosticar dimensões com baixa pontuação → corrigir e reavaliar. Se não houver melhora por 3 rodadas consecutivas → propor reescrita exploratória.
Destino das 5 Fontes de Referência
| Fonte | Destino | Modo de Reutilização |
|---|---|---|
| Karpathy LLM Wiki | schema/ + pipeline/ | Herança limpa: arquitetura de 3 camadas + ciclo de vida Ingest/Query/Lint |
| book-to-skill | engines/book_to_skill/ | Vendor limpo: motor de extração (modo técnico preserva fórmulas) |
| nuwa-skill | engines/nuwa-validation.md | Destilação metodológica: validação tripla (remove DNA de expressão) |
| darwin-skill | engines/darwin-rubric.md | Reconstrução de duas fontes: 9 dimensões do validation-report + comparação com versão antiga de 8 dimensões |
| dag-executor | Apenas referência filosófica | Paralelismo baseado em onda + bloqueio de arquivo (implementação com pi workflow/subagent) |
examples/conformal-prediction (Referência Ouro)
Carregamento preguiçoso — não participa do roteamento padrão de skills, ativado apenas quando solicitado explicitamente:
- v1.1.0 / 50 nós / 138 arestas / 0 quebras / darwin 88 pontos (A-)
- 3 fontes (Angelopoulos 2022 / Teneggi 2025 / Min 2026)
- Uso: (1) Servir como referência de qualidade durante ingestão em novo domínio; (2) Carregado quando usuário consulta explicitamente "predição conforme"
Restrições e Limites de Honestidade
Restrições rígidas:
- docling é dependência rígida do modo técnico (artigo acadêmico sem fórmulas = sem valor, não sacrificável)
- Corpo do SKILL.md <4K tokens (compactação truncada do final)
- Provenance obrigatória em todos os nós (nova ingestão)
- Caminhos gerados pela skill usam apenas caminhos relativos à raiz da skill (prevenir links quebrados)
O que não consegue fazer:
- Não consegue destilar intuição — o framework pode extrair, mas a inspiração não
- Não consegue cobrir todos os artigos do domínio — apenas as fontes fornecidas pelo usuário
- Não consegue julgar automaticamente a qualidade da fonte — garbage in garbage out (artigo de baixa qualidade → base de conhecimento de baixa qualidade)
- Não substitui o julgamento do especialista — arestas
contradictsdevem ser confirmadas manualmente
Limitações conhecidas:
- Desvios de versão do docling podem degradar silenciosamente a extração (nenhum teste captura)
- A extração de canonical-term pelo LLM não é completamente determinística (duas extrações do mesmo artigo podem diferir no hash, o Lint reportará)
- Custo de extração alto para artigos grandes (>50K tokens) (recomenda-se ingestão em lotes)
Início Rápido
Usuário: Construa uma base de conhecimento do domínio diffusion-models, artigos em ~/papers/ddpm.pdf, ~/papers/score-sde.pdf
→ Este skill:
1. Confirmar domínio + fontes + preflight docling
2. Executar pipeline de 7 etapas (pipeline/ingest.md)
3. Avaliação darwin, ≥B+ então entregar a skill gerada para ~/.pi/agent/skills/diffusion-models/
4. Usuário pode consultar a skill gerada posteriormente
Consulte pipeline/ingest.md para o contrato completo.
Este meta-skill versão: v0.1 | Reutilização de 5 fontes + Controlabilidade D7 + Portão de Qualidade darwin 2.0 | Referência Ouro: examples/conformal-prediction (88/A-)