Aula 12 — Content Engine com RAG
Módulo: Mastery
Aula: 12 / 22
Módulo 4 · Plataforma Zabbix: Desenvolvimento Core Duração: 5-6 horas Agentes praticados:
@dev,@zabbix-expert,@qaProjeto: Plataforma Zabbix Learning
🏆 Vitória desta aula
Content Engine gerando aulas sobre Zabbix a partir da documentação oficial via RAG pipeline, com o @zabbix-expert participando da geração e renderização de Markdown em componentes React.
Critério binário: Documentação Zabbix ingerida → query sobre conceito → aula gerada em Markdown com qualidade validada → renderizada na UI.
Conceito
RAG Pipeline: a fábrica de conteúdo educacional
O Content Engine é o subsistema mais impactante da plataforma — é ele que gera as centenas de aulas que os alunos consomem. O pipeline RAG transforma documentação técnica densa em conteúdo educacional acessível:
Documentação oficial Zabbix
→ Chunk (dividir por conceito)
→ Embed (gerar vetores)
→ Store (vector database)
↓
Query ("Explique LLD", nível intermediário)
→ Retrieve (chunks relevantes)
→ Generate (@zabbix-expert + contexto)
→ Output (Markdown estruturado)
↓
Renderização (Markdown → React components)
Cada decisão do pipeline afeta a qualidade final:
| Decisão | Impacto na qualidade |
|---|---|
| Chunk size pequeno | Mais preciso, mas pode perder contexto |
| Chunk size grande | Mais contexto, mas pode incluir ruído |
| Chunk overlap | Evita cortar conceitos no meio |
| Embedding model | Qualidade da busca por similaridade |
| Retrieval top-k | Quantos chunks alimentam a geração |
| Prompt de geração | Tom, formato, profundidade da aula |
@zabbix-expert no pipeline
O @zabbix-expert (criado na Aula 02) não é apenas validador — ele participa da geração. O pipeline usa o agente como gerador com contexto RAG: os chunks relevantes são o conhecimento, o @zabbix-expert é a voz que transforma documentação em aula acessível.
Contexto
Auth e multi-tenancy estão prontos (Aula 11). O Content Engine é o segundo subsistema — e o que mais define o valor da plataforma. A spec do Content Engine foi aprovada após 3 iterações na Aula 05. A taxonomia de conteúdo foi definida na Aula 08. Agora implementamos.
Prática
Passo 1 — Ingestão da documentação Zabbix
cd ~/aiox-mastery/zabbix-platform
cd feature/content-engine # worktree da Aula 04
claude
@dev
Dex, implemente o pipeline de ingestão da documentação
Zabbix. Consulte docs/specs/content-engine.md (spec
aprovada na Aula 05).
Pipeline de ingestão:
1. Carregar documentação (markdown/HTML da doc oficial)
2. Preprocessing: limpar formatação, extrair texto útil
3. Chunking: dividir por conceito — NÃO por tamanho fixo.
Cada chunk deve cobrir um conceito coeso.
Use overlap de 10-15% para evitar cortes no meio
de explicações
4. Embedding: gerar embeddings dos chunks
5. Storage: armazenar no vector store configurado
Decisões do Architecture Doc:
- Chunk size e overlap conforme spec
- Embedding model conforme decisão da Aula 08
- Vector store conforme infra da Aula 10
Como verificar:
# Rodar ingestão
npm run content:ingest -- --source=docs/zabbix-docs/
# Verificar chunks no vector store
curl http://localhost:3000/api/content/chunks/stats | jq
# Deve mostrar: total de chunks, distribuição por conceito
# Testar busca por similaridade
curl -X POST http://localhost:3000/api/content/search \
-d '{"query":"Low-Level Discovery"}' | jq
# Deve retornar chunks relevantes sobre LLD
Checklist de ingestão
- Documentação carregada e parseada sem erros?
- Chunking respeita limites semânticos?
- Overlap evita cortes no meio de conceitos?
- Embeddings gerados e armazenados?
- Busca por similaridade retorna chunks relevantes?
- Chunks irrelevantes não poluem resultados?
Se a busca retornar chunks irrelevantes:
Dex, a busca por "trigger expressions" retorna chunks
sobre instalação do Zabbix. O chunking provavelmente
está quebrando por tamanho fixo sem respeitar fronteiras
de conceito. Revise: cada chunk deve ser sobre UM
conceito. Se o documento muda de assunto, é um novo chunk.
🏆 Checkpoint 1: Documentação ingerida com busca funcional.
Passo 2 — Geração de aulas via RAG
Dex, implemente a geração de aulas via RAG.
Fluxo:
1. Input: tema, nível (da taxonomia da Aula 08), formato
2. Retrieve: buscar top-k chunks relevantes no vector store
3. Augment: montar prompt com chunks + instruções + Voice Profile
4. Generate: @zabbix-expert gera aula usando contexto
5. Validate: verificar contra checklist zabbix-lesson-quality.md
6. Output: aula em Markdown estruturado
Use o workflow generate-zabbix-lesson criado na Aula 03.
O prompt de geração deve instruir o @zabbix-expert a:
- Usar linguagem acessível (não copiar documentação)
- Incluir exemplos práticos de configuração
- Mencionar armadilhas comuns
- Adaptar profundidade ao nível solicitado
- Referenciar conceitos pré-requisitos
Teste com conceito real:
curl -X POST http://localhost:3000/api/content/generate \
-H "Content-Type: application/json" \
-d '{"topic":"Zabbix LLD","level":"intermediate","format":"text"}' | jq
Checklist de geração
- Aula gerada é tecnicamente correta? (validar manualmente)
- Usa linguagem acessível (não é doc copiada)?
- Inclui exemplos práticos de configuração?
- Menciona armadilhas comuns?
- Nível adequado ao solicitado?
- Passa no checklist zabbix-lesson-quality.md?
Se o conteúdo for documentação copiada:
Dex, a aula gerada é basicamente a documentação oficial
reformatada. O @zabbix-expert deve TRANSFORMAR a
documentação em conteúdo educacional: começar com
contexto ("por que LLD existe"), explicar com analogia,
dar exemplo prático, alertar sobre erros comuns.
Ajuste o prompt de geração.
Se o RAG retornar contexto insuficiente:
Dex, a aula sobre triggers está superficial porque o
RAG retornou poucos chunks relevantes. Aumente o top-k
ou revise o chunking — conceitos complexos precisam de
mais contexto para gerar aulas com profundidade.
🏆 Checkpoint 2: Geração de aulas via RAG com qualidade validada.
Passo 3 — Renderização Markdown → React
Dex, implemente a renderização de conteúdo:
1. Markdown → componentes React
2. Syntax highlighting para configurações Zabbix
(trigger expressions, item keys, API calls)
3. Blocos de código com copy button
4. Imagens e diagramas inline
5. Navegação entre seções da aula
6. Feature gating: conteúdo premium mostra preview
com overlay "Upgrade para acessar"
Checklist de renderização
- Markdown renderiza corretamente (headings, lists, code)?
- Syntax highlighting funciona para configs Zabbix?
- Code blocks têm copy button?
- Navegação entre seções funciona?
- Feature gating mostra preview para conteúdo premium?
🏆 Checkpoint 3: Renderização completa e gatada por plano.
Passo 4 — QA review do Content Engine
*exit
@qa
Quinn, review do Content Engine completo.
Foco:
- Qualidade das aulas geradas (precisão técnica,
acessibilidade, exemplos práticos)
- Performance do RAG (tempo de resposta aceitável?)
- Feature gating funciona (free vs premium)?
- Edge cases: query sobre conceito que não existe na doc?
Query muito ampla ("Zabbix")? Query em outro idioma?
*review-build
Ciclo de correções.
🏆 Checkpoint 4 — VITÓRIA DA AULA: Content Engine gerando e renderizando aulas.
Passo 5 — Commit
*exit
git add .
git commit -m "feat: Content Engine with RAG pipeline for Zabbix educational content
- Documentation ingestion: semantic chunking + embedding + vector storage
- RAG-powered lesson generation with @zabbix-expert
- Quality validation against zabbix-lesson-quality checklist
- Markdown rendering to React with syntax highlighting
- Feature gating: free preview with upgrade overlay
- QA review approved"
Reflexão
O conceito-chave
O Content Engine é a prova de que RAG não é buzzword — é arquitetura. Cada decisão (chunk size, embedding model, retrieval strategy, generation prompt) impacta diretamente a qualidade do conteúdo. O @zabbix-expert como agente especialista no pipeline garante que a IA não inventa — ela explica com base na documentação oficial, traduzindo complexidade técnica em aprendizado acessível.
Conexão com a próxima aula
Na Aula 13, o Quiz Engine se integra com o Content Engine: quizzes são gerados a partir do conteúdo das aulas, e o Learning Path usa resultados de quiz para adaptar a jornada do aluno.
Anterior: Aula 11 — Auth, Multi-Tenant e Billing Próxima: Aula 13 — Quiz Engine Gamificado + Learning Path
Pratique o que você aprendeu
Implemente os conceitos desta aula em seus próprios projetos. Consulte a página de projetos para desafios práticos e exemplos de código.