Salta el contingut

Pràctica 5 — Projecte Final Integrador

📋 Fitxa del Projecte

⏱️ Durada: 8 hores (+ treball autònom) 🎯 RA: RA2 + RA3 + RA4 📊 Pes: 10% de la nota global 🎤 Defensa: 15 min presentació + 5 min Q&A

🎯 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.txt versionat
  • 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.md amb 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.