Tópico dedicado a Engenharia de Contexto para LLMs, apresentando…
INEMA
Passo a Passo Direto⌗
- Escolha o caso de uso inicial
- Exemplo: responder dúvidas de clientes, criar relatórios resumidos, organizar FAQ.
- Defina um objetivo simples e mensurável (ex.: “acertar 80% das respostas de FAQ”).
- Defina a persona e regras fixas
- Crie um arquivo
persona.mddescrevendo como o assistente deve agir. - Crie um
regras.mdcom limites claros (ex.: não inventar fatos, sempre ser breve).
- Monte a estrutura do projeto Crie uma pasta com:
projeto/
context/ ← persona, regras, formatos
kb/ ← base de conhecimento (docs, artigos, PDFs)
prompts/ ← templates prontos
logs/ ← salvar interações
-
Crie o template de prompt Use variáveis que serão preenchidas:
``` Instruções: {{persona}}
Regras: {{regras}}
Histórico resumido: {{historico}}
Contexto recuperado: {{trechos}}
Pedido do usuário: {{input}}
5. Implemente memória de curto prazo
* Guarde os últimos turnos da conversa.
* Se ficar grande, resuma antes de enviar.
6. Adicione memória de longo prazo (opcional, mas poderoso)
* Comece simples: um arquivo .t`xt c`om buscas por palavra-chave.
* Depois evolua: embeddings + busca vetorial (Supabase, Pinecone).
7. Monte o pipeline
* Entrada (webhook, chat, API).
* Recuperação de contexto (buscar na kb).
* Montagem do prompt.
* Chamada ao LLM (OpenAI, Claude, Gemini).
* Pós-processamento (formatação, validação).
* Resposta ao usuário + log.
8. Teste com casos reais
* Simule 10 perguntas reais.
* Veja quais saem boas, quais precisam ajuste.
9. Ajuste com feedback
* Corrija o que o modelo errou (melhorar persona, chunking ou regras).
* Atualize a kb com informações faltantes.
10. Escale gradualmente
* Depois de rodar simples, adicione agentes especializados (pesquisador, sintetizador, validador).
* Integre com automações (n8n, Make, Zapier).
## Engenharia de Contexto na Prática
---
## Conceito
O que é
Engenharia de contexto é a prática de desenhar, organizar e injetar informações relevantes em um LLM (Large Language Model), de forma estratégica, para garantir respostas consistentes, seguras e alinhadas ao objetivo.
Elementos principais
1. Instruções fixas – definem persona, tom, políticas e limites.
2. Entrada imediata – pergunta ou comando atual do usuário.
3. Memória de curto prazo – histórico resumido da sessão em andamento.
4. Memória de longo prazo – repositório externo (documentos, banco vetorial, APIs).
5. Recuperação inteligente – RAG, busca vetorial, ou combinação híbrida.
6. Estrutura de prompt – template com posições claras para cada tipo de dado.
7. Orquestração de agentes – papéis especializados (pesquisador, sintetizador, validador).
8. Ciclo de feedback – métricas, logs e ajustes contínuos (chunking, embeddings, regras).
---
## Passo a Passo
1. Definir objetivo e métrica
* Exemplo: responder FAQ.
* Métrica: % de respostas corretas ou satisfação do usuário.
2. Estruturar o projeto
``` project/
context/
persona.md
regras.md
formatos.md
kb/ ← base de conhecimento
prompts/
template.txt
logs/
tests/
```
3. Criar template de prompt
``` Instruções permanentes:
{{persona}}
Regras:
{{regras}}
Histórico resumido:
{{historico_resumido}}
Contexto recuperado:
{{trechos_relevantes}}
Pedido do usuário:
{{input}}
Formato de saída esperado:
{{formatos}}
- Implementar memória de curto prazo
- Armazenar últimos turnos.
- Resumir quando o histórico crescer demais.
- Adicionar memória de longo prazo
- Pequena → busca simples por palavra-chave.
- Grande → embeddings + busca vetorial (Supabase, Pinecone, Weaviate).
- Orquestrar agentes (se necessário)
- Pesquisador busca, sintetizador resume, validador checa formato/consistência.
-
Montar pipeline (exemplo n8n) Webhook → Recuperação → Montagem do prompt → LLM → Pós-processamento → Resposta → Logs.
-
Criar ciclo de feedback
- Logar perguntas, trechos usados e respostas.
- Avaliar a cada 20 casos.
- Ajustar chunking, base ou persona.
Exemplo Prático⌗
Estrutura mínima em Python
fr```om textwrap import dedent
def montar_prompt(persona, regras, historico, trechos, formatos, pergunta): return dedent(f""" Instruções permanentes:
Regras:
{regras}
Histórico resumido:
{historico}
Contexto recuperado:
{trechos}
Pedido do usuário:
{pergunta}
Formato de saída esperado:
{formatos}
""").strip()
Simulação⌗
persona = "Você é um assistente de suporte de uma ONG de pets. Responda de forma clara." regras = "Não invente fatos. Cite a fonte quando usar um trecho." formatos = "Responda em até 5 linhas." historico = "Usuário já perguntou sobre castração de gatos comunitários." trechos = "- Guia: castração gratuita em mutirões trimestrais; agendamento via formulário." pergunta = "Quais documentos preciso para castrar um gato resgatado ontem?"
print(montar_prompt(persona, regras, historico, trechos, formatos, pergunta))
```Fluxo visual (Mermaid)
fl```owchart LR A[Input do usuário] --> B[Normalização] B --> C[Memória curta] B --> D[Recuperação RAG] C --> E[Montagem do Prompt] D --> E E --> F[LLM] F --> G[Pós-processamento] G --> H[Resposta ao usuário] G --> I[Logs/Feedback] I --> C I --> D
```---
Validação final
- ✔ Estrutura bem definida (conceito → prática → exemplo).
- ✔ Pipeline completo (memória curta/longo prazo + RAG + agentes).
- ✔ Exemplo aplicável (Python + Mermaid).
- ✔ Já pronto para virar manual interno da equipe.
Engenharia de Contexto Iniciando
1