Introdução a Agentes
Projeto Final — Agente para Site
Entrega completa — frontend, backend, LLM, histórico e uma tool externa (FAQ, pedidos ou produtos).
Nesta aula você vai
- Integrar todos os módulos em sistema entregável
- Escolher um caso de negócio e implementar uma tool
- Publicar assistente em página web acessível
Projeto Final — Agente para Site
Objetivos
- Consolidar o curso em produto demonstrável
- Entregar sistema completo sem frameworks complexos
Da teoria ao portfólio
Você percorreu um caminho longo: entender LLM, consumir API, escrever prompts, montar chatbot, persistir memória e expor tools.
Este projeto final é a prova de que domina a stack — não no slides, no código que roda. Um repositório que você mostra em entrevista, entrega para cliente ou usa como base real.
Não precisa ser perfeito. Precisa ser completo, seguro e documentado.
Escolha UM caso de negócio
| Opção | Tool principal | Dados mock |
|---|---|---|
| A — FAQ empresa | buscar_faq(query) |
JSON com 30 perguntas |
| B — Consulta pedidos | buscar_pedido(id) |
JSON orders.json |
| C — Catálogo produtos | buscar_produto(q) |
JSON products.json |
Todos exigem a mesma arquitetura — muda só executor da tool.
Como escolher:
Tem dados de pedido no trabalho? Opção B.
Site institucional com dúvidas repetidas? Opção A.
E-commerce pequeno? Opção C.
Uma opção bem feita vale mais que três pela metade.
Entregáveis obrigatórios
/agente-final
├── public/
│ ├── index.html # chat UI
│ └── style.css
├── src/
│ ├── server.js # Express/Fastify/PHP router
│ ├── llmClient.js # wrapper API
│ ├── agent.js # loop tools
│ ├── tools/
│ │ └── buscarPedido.js
│ ├── db.js # SQLite ou memória
│ └── prompts/
│ └── agent.system.txt
├── .env.example # OPENAI_API_KEY=
└── README.md # como rodar
Checklist funcional
- Frontend envia mensagem, exibe resposta
- Backend nunca expõe API key
- System prompt versionado em arquivo
- Histórico: mínimo últimas 10 mensagens por sessão
- Rate limit: 20 msg/hora/IP (memória ok para demo)
- 1 tool funcionando com dados reais ou mock
- Tratamento de erro 503 amigável
- README com
npm install && npm start
Teste de aceitação antes de considerar pronto:
Abra em aba anônima. Pergunte algo que exige tool. Veja dado real/mock na resposta.
Feche o navegador, reabra — histórico da sessão deve persistir (cookie + DB).
Envie 25 mensagens rápido — rate limit deve bloquear com mensagem clara.
Fluxo de implementação (ordem sugerida)
- Dia 1: llmClient + POST /api/chat texto puro (matérias 2–4)
- Dia 2: histórico em SQLite (matéria 5)
- Dia 3: define tool schema + executor mock
- Dia 4: agent loop com function calling
- Dia 5: polish UI + rate limit + README
Se travar, volte uma matéria — quase sempre o bloqueio está em prompt, histórico ou executor da tool, não em "falta de framework".
Exemplo mock — pedidos
data/orders.json:
{
"8842": { "status": "shipped", "tracking": "BR123456789", "customer": "demo" },
"9011": { "status": "processing", "tracking": null, "customer": "demo" }
}
export function buscarPedido(id) {
const order = orders[id];
if (!order) return { found: false };
return { found: true, ...order };
}
Mock JSON é válido — foco na arquitetura, não em integrar ERP no fim de semana.
Critérios de avaliação (autoavaliação)
| Critério | Peso |
|---|---|
| Fluxo chat funciona | 25% |
| Histórico persiste na sessão | 20% |
| Tool retorna dado real/mock correto | 25% |
| Segurança básica (key, rate limit) | 20% |
| README claro | 10% |
Deploy mínimo
- Frontend estático: Cloudflare Pages, Netlify, Vercel
- Backend: Railway, Render, Fly.io, Cloudflare Workers
- Variáveis de ambiente no painel do host
README mínimo que impressiona:
Como rodar localmente
Variáveis necessárias
Como testar a tool
Limitações conhecidas
Próximos passos (RAG, mais tools)
Próximo nível (fora deste curso)
Depois de entregar este projeto, você está pronto para:
- RAG com documentação PDF
- MCP para tools padronizadas
- Multiagentes especializados
- Observabilidade (LangSmith, Helicone — opcional)
Resumo
- Projeto = frontend + backend + LLM + histórico + 1 tool
- Mock JSON é válido — foco na arquitetura
- Documente como rodar — isso é entrega profissional
- Você saiu do ChatGPT para produto com IA
Parabéns por chegar até aqui. O certificado deste módulo reconhece não só teoria — reconhece que você sabe construir. Agora é mão na massa.