Trabalhos Práticos: A Fábrica de Pesquisa WOKDEX
Estrutura dos Trabalhos Práticos (TPs)
Nesta disciplina, os Trabalhos Práticos não são exercícios isolados. Eles compõem um único grande ecossistema: o WOKDEX AI Pipeline.
Para garantir que o trabalho seja balanceado e impulsione a publicação científica final, cada equipe de 4 alunos será dividida em 2 Duplas Operacionais.
- A Dupla atua em um Eixo Maior: (Ex: “Dupla dos Dados” vs “Dupla do Backend”).
- O Aluno atua de forma Individual: Dentro da dupla, o código (commit) é estritamente separado, garantindo auditoria individual de notas.
🗺️ O Mapa de Integração do Semestre
O diagrama abaixo ilustra como as tarefas individuais de código (Engenharia) convergem para formar os microsserviços do grupo (Ecosistema), que por sua vez se integram arquiteturalmente no TP3. Paralelo a isso, ocorre a síntese científica, culminando no artigo final.
🧬 Variações Experimentais (O Segredo para o Artigo)
Se os 10 grupos da sala fizerem exatamente a mesma coisa, teremos plágio estrutural e pouca validade científica para um artigo. A grande sacada é transformar os 10 grupos em Grupos de Teste Empírico (Testes A/B). Todos resolvem o problema do WOKDEX, mas usando ferramentas diferentes. Ao final, o Mega-Artigo comparará as abordagens:
- Variação no TP1: O Grupo 1 tenta classificar a dificuldade usando TF-IDF. O Grupo 2 usa Word2Vec. O Grupo 3 faz Fine-Tuning de BERT. (Qual rede acerta mais?)
- Variação no TP2: O Grupo 1 utiliza ChromaDB. O Grupo 2 utiliza PGVector. O Grupo 3 utiliza Neo4j. (Qual Banco Vetorial tem menor latência?)
- Variação no TP3: O Grupo 1 usa o orquestrador LangChain com Gemini API. O Grupo 2 usa LlamaIndex com OpenAI. (Quem alucina menos no Schema?)
🎯 TP1: Classificador de Dificuldade (Redes Neurais e FastAPI)
Data de Entrega: 31/08 (Segunda-feira)
A primeira etapa do WOKDEX é entender o problema de programação. Precisamos de uma IA clássica que leia o enunciado cru (texto) e faça previsões sobre quais skills ele exige.
🌐 Responsabilidade Global (O Grupo)
- Integração: Garantir que o repositório do GitLab tenha um único Dockerfile funcional que suba a API.
- Artigo Científico (Draft 1): Escrever em conjunto de 2 a 3 páginas focado em Trabalhos Relacionados e Metodologia Preditiva.
👥 Dinâmica das Duplas e Avaliação Individual
- Dupla 1 (Ciência e Dados): Foca exclusivamente no dado cru e na matemática preditiva.
- Trabalho Individual Aluno A: Web Scraping dos enunciados (Beecrowd/Codeforces), limpeza (NLP básica, remoção de stopwords/HTML) e vetorização inicial.
- Trabalho Individual Aluno B: Design da arquitetura da Rede Neural (MLP/CNN), definição das camadas ocultas e treinamento, validando a matriz de confusão.
- Dupla 2 (Engenharia de Software): Foca em envelopar a IA em um produto robusto.
- Trabalho Individual Aluno C: MLOps. Pega o modelo
.h5criado pela Dupla 1 e escreve a API FastAPI REST, blindando as entradas via Pydantic. - Trabalho Individual Aluno D: Containerização e Cloud. Constrói o
Dockerfileisolado e faz o deploy da API, gerando os testes unitários (pytest) do endpoint.
- Trabalho Individual Aluno C: MLOps. Pega o modelo
📚 TP2: Oráculo RAG Corporativo (Spring AI)
Data de Entrega: 26/10 (Segunda-feira)
Para não alucinar na hora de gerar um problema novo, o LLM precisará de exemplos validados. O TP2 é a construção da memória vetorial (RAG) da nossa arquitetura utilizando o ecossistema Java/Spring.
🌐 Responsabilidade Global (O Grupo)
- Integração: Orquestrar o ambiente via
docker-compose.yml(subindo a API Java e o Vector Database juntos). - Artigo Científico (Draft 2): Escrever a seção de Arquitetura de Recuperação de Informação, avaliando as métricas de tempo de resposta e fidelidade da busca vetorial.
👥 Dinâmica das Duplas e Avaliação Individual
- Dupla 1 (Dados Vetoriais e Buscas): Focam no fluxo do RAG (Retrieval).
- Trabalho Individual Aluno A: Pipeline de Ingestão (ETL). Lê PDFs educacionais do WOKDEX, faz o algoritmo inteligente de Chunking (fatiamento).
- Trabalho Individual Aluno B: Operação do Vector Database. Sobe o banco, configura a indexação por Similaridade de Cosseno e salva as embeddings geradas.
- Dupla 2 (Backend Java e Geração): Focam no Spring Boot (Augment & Generate).
- Trabalho Individual Aluno C: Arquitetura Java Spring MVC. Cria Injeção de Dependência, rotas de controle e tratamento de exceções web (Controller Advice).
- Trabalho Individual Aluno D: Integra o Spring AI. Bate no banco do Aluno B, junta o contexto, envia ao LLM via prompt estrito (Few-Shot) e formata a resposta.
🤖 TP3 / Capstone: O Agente Autônomo WOKDEX
Data de Entrega: 25/11 (Rascunho) | 30/11 (Demoday e Defesa)
O ápice. O sistema que interliga tudo. Um Agente de IA (Multi-Agent System) que recebe uma URL crua de problema, toma decisões e executa o pipeline de 5 fases de Ancoragem de Dados do artigo oficial.
🌐 Responsabilidade Global (O Grupo)
- Integração e Orquestração: Garantir que o TP3 chama ativamente e processa os JSONs vindos das APIs do TP1 e TP2 (via HTTP local).
- Artigo Científico (Draft 3 Final): Foco na avaliação empírica das alucinações. O Agente conseguiu gerar um pacote JSON WOKDEX válido? Qual foi a taxa de falha (JSON Schema validation)?
- Demoday: Preparo do Pitch (oradores) e execução ao vivo perante a banca/turma.
👥 Dinâmica das Duplas e Avaliação Individual
- Dupla 1 (Orquestração e Cognição): Focam na conexão do Agente com o mundo e como ele “pensa”.
- Trabalho Individual Aluno A (Tool Calling): Escreve o código que mapeia e ensina o LLM a chamar as APIs do TP1 e TP2 de forma autônoma e segura.
- Trabalho Individual Aluno B (Prompt Engineering): Desenha os prompts de sistema (System Prompts) do Agente usando a lógica Chain-of-Thought (obrigando a IA a refletir sobre os erros do aluno novato).
- Dupla 2 (Conformidade e Qualidade): Focam na segurança do JSON Schema oficial do WOKDEX.
- Trabalho Individual Aluno C (Data Anchoring): Cuida da estruturação do Output. Seu código recebe a reflexão da IA e força a serialização num JSON rigoroso, protegendo contra alucinações.
- Trabalho Individual Aluno D (Script QA e Self-Healing): Constrói o juiz determinístico externo. Ele valida o JSON gerado contra o Schema oficial. Se quebrar, ele automatiza a rotina de Fallback mandando a IA se corrigir.