3.9 KiB
Progetto di Esame: Agente di Pianificazione Corsi Intelligente
Obiettivo del Progetto
Creare un sistema basato su LLM Agents capace di generare un piano didattico completo e personalizzato per un corso, a partire da input dell'utente. Il sistema dovrà dimostrare capacità di ragionamento , pianificazione adattiva e collaborazione tra agenti per produrre output strutturati e coerenti.
1. Architettura del Sistema
Il sistema è basato su un'architettura a due livelli : una UI per l'input e un sistema multi-agente lato server per l'elaborazione.
- Interfaccia Utente (UI) : Frontend semplice e intuitivo che raccoglie i parametri del corso.
- Input obbligatori : Argomento del corso, ore totali, numero di lezioni.
- Input opzionali : Descrizione aggiuntiva, livello degli studenti (basso, medio, alto), generazione esercizi (toggle), parte pratica (toggle), upload di file (per libri, dispense, ecc.).
- Motore di Ragionamento (Server) : Core del sistema, dove agenti autonomi collaborano per produrre i materiali didattici.
2. Flusso di Lavoro e Ruolo degli Agenti
Il processo si svolge in una sequenza di passaggi orchestrati dall' Agente Principale .
-
Agente
PianificatoreCorso(Orchestratore)- Funzione : Riceve tutti gli input dalla UI. È responsabile della coerenza e della coesione del progetto.
- Validazione : Valuta la coerenza degli input (es. se le ore totali corrispondono a
lezioni * ore_per_lezione). - Ragionamento e Pianificazione : Genera una bozza di piano del corso, suddividendo l'argomento principale in lezioni e argomenti secondari, bilanciando teoria e pratica in base alle richieste.
- Orchestrazione Agenti : Delega la creazione dei contenuti specifici (presentazioni, dispense, esercizi) agli agenti specializzati, fornendo loro gli input necessari.
-
Agente
GeneratoreContenuti(Collaboratore)- Funzione : Crea i documenti testuali per le dispense e le note del relatore per ogni lezione.
- Input : Argomenti specifici per la lezione, livello degli studenti.
- Tool : Utilizza un LLM (es.
Ollamao APIOpenAI) per la generazione di testo dettagliato. - Output : Un file
.mdo.txtper ogni lezione.
-
Agente
GeneratorePresentazioni(Collaboratore)- Funzione : Realizza le presentazioni
.pptxper ogni lezione, basandosi sul contenuto generato e su un tema predefinito. - Input : Punti chiave e testo delle slide per ogni argomento, tema grafico.
- Tool : Combina un LLM per la generazione del testo delle slide con la libreria
python-pptxper la creazione del file. - Output : Un file
.pptxper ogni lezione.
- Funzione : Realizza le presentazioni
-
Agente
GeneratoreEsercizi(Collaboratore, Opzionale)- Funzione : Crea esercizi pratici a partire dagli argomenti teorici, in base al livello degli studenti.
- Input : Argomenti specifici, tipo di corso (pratico/teorico), livello.
- Tool : Utilizza un LLM per descrivere gli esercizi in formato testuale.
- Output : Un file di testo con la descrizione degli esercizi per ogni lezione.
-
Agente
RicercatoreWeb(Collaboratore, Opzionale)- Funzione : Convalida e arricchisce il piano del corso con informazioni aggiornate o conferme sugli argomenti.
- Input : Argomenti del corso.
- Tool : Utilizza uno strumento di ricerca web (ad esempio, un'API di ricerca) per trovare riferimenti o dati aggiuntivi.
- Output : Dati di supporto da passare agli altri agenti.
3. Output Finale
Una volta che tutti gli agenti hanno completato i loro compiti, il programma finale raccoglie i documenti prodotti (.md, .txt, .pptx). L'output sarà una cartella compressa (.zip) che conterrà tutti i materiali, organizzati per lezione (es. Lezione_1_Intro_Python/, Lezione_2_Variabili/). Questa struttura permette all'utente di avere subito un pacchetto pronto all'uso.