Pràctica 5 — Projecte Final Integrador¶
📋 Fitxa del Projecte
🎯 Objectiu¶
El projecte final és una demostració d'integració: combinar els conceptes apresos al curs (RAG, agents, eines, memòria, multi-agent) en un sistema útil per al món real.
El sistema ha d'integrar com a mínim 3 d'aquests components:
- RAG amb base de coneixement real
- Eines personalitzades rellevants per al cas d'ús
- Memòria persistent entre sessions
- Arquitectura multi-agent (supervisor + workers)
- Human-in-the-loop
- Observabilitat (LangSmith o similar)
💡 Idees de Projectes¶
Per a ASIx¶
Agent de Ciberseguretat
Agent que monitora logs en temps real, consulta CVEs, detecta anomalies i genera alertes amb recomanacions de mitigació. Usa RAG sobre documentació de seguretat.
Agent de Diagnòstic de Xarxa
Agent que diagnostica problemes de xarxa: ping, traceroute, DNS, port scanning. Busca solucions a la documentació i genera un pla de resolució pas a pas.
Agent de Monitoratge d'Infraestructura
Agent multi-agent: un recopila mètriques (CPU, RAM, disc), un analitza tendències, un genera informes. Human-in-the-loop per a alertes crítiques.
Per a DAW¶
Agent de Code Review
Agent que analitza codi JavaScript/Python, detecta bugs, suggereix millores de performance, i genera documentació automàtica.
Agent de Testing Automàtic
Agent que llegeix especificació d'API, genera tests unitaris i d'integració, els executa i reporta cobertura.
Agent de Generació d'APIs
A partir d'una descripció en llenguatge natural, genera el codi d'una API REST completa (endpoints, models, validació, documentació Swagger).
📋 Requisits Mínims¶
Tècnics¶
- Codi en Python 3.11+ amb
requirements.txtversionat - Usa LangChain 0.3+ i/o LlamaIndex 0.10+ com a framework base
- Almenys 1 LLM integrat (OpenAI, Anthropic, o model local via Ollama)
- Gestió d'errors robusta (try/except en totes les eines)
- Variables d'entorn per a les claus d'API (fitxer
.env) - Fitxer
README.mdamb instruccions d'instal·lació i ús
Documentació (Memòria Tècnica — 1000-2000 paraules)¶
- Descripció del problema que resol el sistema
- Diagrama de l'arquitectura (agents, eines, flux)
- Decisions de disseny justificades (per qué LangChain vs LlamaIndex? RAG vs fine-tuning?)
- Limitacions actuals del sistema
- Treball futur (millores possibles)
- Anàlisi de costos (tokens estimats per ús típic)
Demo (Presentació — 15 minuts)¶
- Presentació visual (slides o vídeo de demo)
- Demostració en viu (o enregistrament si no és possible)
- Explicació de com supera les limitacions dels LLM sense agents
- Casos d'ús demostrats
📐 Estructura de l'Entrega¶
projecte-final-NomCognom/
├── README.md ← Instruccions completes d'instal·lació
├── requirements.txt ← Totes les dependències versionades
├── .env.example ← Plantilla de variables d'entorn (sense valors reals!)
├── .gitignore
│
├── src/
│ ├── main.py ← Punt d'entrada principal
│ ├── agents/
│ │ ├── supervisor.py ← Agent supervisor (si multi-agent)
│ │ ├── worker_X.py ← Agents especialitzats
│ │ └── ...
│ ├── tools/
│ │ ├── tool_X.py ← Eines personalitzades
│ │ └── ...
│ ├── memory/
│ │ └── vector_store.py ← Gestió de memòria/RAG
│ └── utils/
│ └── ...
│
├── docs/
│ ├── arquitectura.png ← Diagrama de l'arquitectura
│ └── memoria_tecnica.md ← Memòria tècnica
│
├── data/
│ └── knowledge_base/ ← Documents per al RAG (o instruccions per obtenir-los)
│
└── tests/
└── test_tools.py ← Tests bàsics de les eines (opcional, bonus)
📊 Rúbrica Detallada¶
| Criteri | Excel·lent (9-10) | Notable (7-8) | Aprovat (5-6) | Pes |
|---|---|---|---|---|
| Originalitat i utilitat | Cas d'ús real, valuós, no és una còpia de tutorial | Cas d'ús útil amb alguna originalitat | Cas d'ús bàsic, funcional | 20% |
| Complexitat tècnica | ≥3 components integrats elegantment | 2 components, bona integració | 1 component principal funcional | 25% |
| Qualitat del codi | Tests, documentació completa, patrons de disseny | Codi net, comentaris adequats | Codi funcional bàsic | 20% |
| Presentació i demo | Demo fluïda, explica decisions, respon Q&A bé | Demo funcional, explicació clara | Demo funcional bàsica | 15% |
| Memòria tècnica | Reflexió profunda, anàlisi de limitacions, proposta futura | Memòria completa i adequada | Memòria bàsica | 20% |
🗓️ Calendari¶
| Moment | Activitat |
|---|---|
| Setmana 13 | Proposta de projecte (1 pàgina) — validació del professor |
| Setmana 14 | Prototip funcional demostrable |
| Setmana 15 | Codi complet + memòria tècnica |
| Setmana 16 | Defensa pública (15 min + 5 min Q&A) |
Proposta obligatòria
Cal presentar una proposta a la setmana 13. Projectes no validats no podran ser defensats.