Sistema multi-agente de IA pessoal construído com LangGraph e GPT-4o para gerenciar múltiplos objetivos de estudo em paralelo. Um Supervisor roteia cada mensagem para o agente especialista correto, cada um com suas próprias tools, memória isolada e contexto específico.
multi-agent/
├── main.py # Ponto de entrada — menu + loop principal
├── agents/
│ ├── supervisor.py # Roteamento por intenção + menu de seleção
│ ├── estatistica_agent.py # Agente de Estatística e Probabilidade
│ ├── ingles_agent.py # Agente de Inglês (imersão total)
│ ├── computacao_agent.py # Agente de Computação / IA / LeetCode
│ └── aws_agent.py # Agente de AWS SAA + Datacamp
├── tools/
│ ├── estatistica_tool.py # RAG + revisões + Google Calendar + Gmail
│ ├── ingles_tool.py # Exercícios, correção, vocabulário, sugestões
│ ├── computacao_tool.py # CS roadmap, agentes, dúvidas técnicas
│ ├── aws_tool.py # Tracking AWS SAA + Datacamp
│ ├── gamification_tool.py # XP, níveis, streaks (AWS + Computação)
│ ├── leetcode_tool.py # LeetCode 75 + exercícios livres
│ ├── calendar_tool.py # Google Calendar (OAuth2)
│ ├── articles_tool.py # Acervo de artigos científicos
│ └── rag_tool.py # Busca semântica via ChromaDB
├── data/
│ └── articles/ # PDFs dos artigos e aulas
├── storage/
│ ├── estatistica.json # Progresso das 8 aulas
│ ├── ingles.json # Sessões, vocabulário
│ ├── computacao.json # Estudos de CS e Agentes
│ ├── aws.json # Módulos AWS + Datacamp
│ ├── gamification.json # XP, nível, streak
│ ├── leetcode75.json # LeetCode 75 oficial
│ └── memory.db # Memória SQLite (LangGraph)
├── chroma_db/ # Índice vetorial — artigos
├── chroma_db_estatistica/ # Índice vetorial — aulas de estatística
├── credentials/ # OAuth2 Google (não versionado)
├── .env # Chaves de API (não versionado)
└── ingest.py # Pipeline de indexação de PDFs
Usuário
│
▼
Menu de seleção (1–4)
│
▼
Supervisor Agent ──── GPT-4o · roteamento por intenção
│
├──▶ Estatística Agent ── RAG · Calendar · Gmail MCP
├──▶ Inglês Agent ── imersão total · correção · vocabulário
├──▶ Computação Agent ── CS · LangGraph · LeetCode · gamificação
└──▶ AWS Agent ── AWS SAA · Datacamp · gamificação
Cada agente tem thread_id isolado no SQLite — memória separada por domínio.
- Responde dúvidas com base nos PDFs das aulas via RAG
- Registra as 8 aulas e calcula automaticamente as 3 datas de revisão (D+0 quarta, D+3 sábado, D+5 segunda)
- Cria eventos no Google Calendar para cada revisão
- Envia emails de lembrete via Gmail MCP no dia da revisão
- Tracking de progresso das 8 aulas
- Imersão total — responde apenas em inglês
- Gera exercícios estruturados: email, essay, LinkedIn post, diálogo
- Corrige textos com metodologia: positivo → erros com explicação → texto corrigido → score 4 dimensões
- Salva vocabulário novo automaticamente durante a conversa
- Sugere canais do YouTube e podcasts por tema (tech, AI, business, daily)
- Tracking de horas de estudo por tipo de prática
- Cobre CS fundamentals e padrões de design de agentes (LangGraph, ReAct, Supervisor, MCP)
- Roadmap estruturado: 18 tópicos de CS + 14 de Agentes em ordem pedagógica
- LeetCode 75 integrado: marca exercícios, sugere o próximo, consulta progresso por tópico
- Explica soluções: naive → otimizada → complexidade
- Registra dúvidas técnicas para revisão futura
- Gamificação: XP por tópico e exercício · níveis · streaks com multiplicadores
- Tracking do curso AWS Solutions Architect Associate (SAA-C03) — roadmap de 32 tópicos
- Tracking de 4 trilhas Datacamp: Python, Machine Learning, Data Engineering, AI & LLMs
- Explica serviços AWS com foco no exame: o que é → quando usar → pegadinhas do SAA-C03
- Agenda sessões no Google Calendar
- Gamificação: XP por módulo concluído · níveis · streaks com multiplicadores
| Título | XP |
|---|---|
| Noob | 0 – 300 |
| Aprendiz | 300 – 800 |
| Witcher | 800 – 1.800 |
| Black Witcher | 1.800 – 3.500 |
| The Lich King | 3.500+ |
Tabela de XP:
| Ação | XP |
|---|---|
| Tópico AWS concluído | +30 |
| Sessão de estudo AWS | +20 |
| Módulo Datacamp | +25 |
| Tópico CS / Agentes | +20 |
| LeetCode easy | +10 |
| LeetCode medium | +20 |
| LeetCode hard | +40 |
| Bônus streak 7 dias | +50 |
Multiplicadores de streak: ×1.5 (14d) · ×2.0 (30d) · ×3.0 (60d) Freeze day: 1 pausa por semana sem quebrar o streak.
| Camada | Tecnologia |
|---|---|
| Orquestração | LangGraph 1.0 + LangChain 0.3 |
| LLM | GPT-4o (OpenAI) |
| Embedding | BAAI/bge-large-en-v1.5 (HuggingFace) |
| Vector Store | ChromaDB |
| Memória | AsyncSqliteSaver (LangGraph) |
| MCP | mcp-google-calendar · mcp-gmail |
| Calendário | Google Calendar API (OAuth2) |
| Gmail MCP | |
| Extração de PDF | PyMuPDF (fitz) |
- Python 3.11+
- Node.js 18+ (para os MCP Servers)
- Conta Google com Calendar API e Gmail API habilitadas
git clone https://github.com/Alebeiruth/multi-agent.git
cd multi-agentpython -m virtualenv venv
# Windows
venv\Scripts\activate
# Linux/Mac
source venv/bin/activate
pip install -r requirements.txt
pip install langchain-openai langchain-mcp-adapters langgraph-checkpoint-sqliteCrie .env na raiz do projeto:
OPENAI_API_KEY=sua_chave_aqui
ALEXANDRE_EMAIL=seu@email.com
# Opcional — monitoramento com LangSmith
# LANGCHAIN_TRACING_V2=true
# LANGCHAIN_API_KEY=sua_chave_aqui
# LANGCHAIN_PROJECT=multi-agent-coach- Acesse console.cloud.google.com
- Crie um projeto e ative Google Calendar API e Gmail API
- Crie credenciais OAuth2 — tipo Desktop App
- Salve em
credentials/google_credentials.json - Gere o token:
python -c "
from google_auth_oauthlib.flow import InstalledAppFlow
SCOPES = [
'https://www.googleapis.com/auth/calendar',
'https://www.googleapis.com/auth/gmail.send',
]
flow = InstalledAppFlow.from_client_secrets_file('credentials/google_credentials.json', SCOPES)
creds = flow.run_local_server(port=0)
with open('credentials/token_python.json', 'w') as f:
f.write(creds.to_json())
"Coloque os PDFs em data/articles/ e rode:
python ingest.pyPara os PDFs das aulas de estatística, crie data/estatistica/ e adapte o ingest.py apontando para chroma_db_estatistica.
python main.py- Supervisor com menu de seleção e roteamento por intenção
- Agente de Estatística — RAG + revisões + Calendar + Gmail
- Agente de Inglês — imersão total + correção + vocabulário
- Agente de Computação — CS + Agentes + LeetCode
- Agente AWS — SAA tracking + Datacamp + Calendar
- Sistema de gamificação — XP + níveis + streaks (AWS + Computação)
- Pydantic — validação de inputs/outputs em todas as tools
- LangSmith — tracing de todas as chamadas de agente
- Pytest — testes unitários por tool e por agente
- Ruff — lint e formatação de código
- GitHub Actions — CI: roda pytest + ruff em todo push
- Pasta
specs/— contrato de cada agente (inputs, outputs, tools)
- RAGAS — avaliação de qualidade do RAG de Estatística
- E2B via MCP — execução de código LeetCode em sandbox isolado
- Dashboard web — visualização de XP, streaks e progresso (FastAPI + React)
- Notificações proativas — agente verifica agenda e manda lembretes sem ser perguntado
MIT