Remove obsolete Docker configuration and documentation; add new Dockerfile, docker-compose, and update README for project setup

This commit is contained in:
2025-09-03 16:36:19 +02:00
parent d743a891ff
commit a88b2bdd60
11 changed files with 116 additions and 208 deletions

View File

@@ -1,69 +1,37 @@
## 1. Sistema di Pianificazione Domestica Intelligente Adattiva
Assolutamente. Ecco il piano di lavoro completo per il tuo progetto di esame, formattato come documento interno per una consultazione più semplice.
- **Ambito:** Domotica (si può simulare facilmente).
- **Idea:** Un sistema con diversi agenti che collaborano per pianificare le attività domestiche (pulizie, spesa, preparazione pasti) in modo adattivo in base a:
- **Preferenze dell'utente:** Apprese tramite interazione o configurazione iniziale.
- **Disponibilità di risorse:** Simulate (es. "frigorifero vuoto", "tempo libero").
- **Eventi imprevisti:** Simulati (es. "ospiti inattesi", "cambio di programma").
- **Intelligenza Dimostrata:** Gli agenti devono negoziare e ri-pianificare le attività in base alle nuove informazioni e priorità, utilizzando l'LLM per generare piani di azione coerenti e spiegazioni delle decisioni prese. Ad esempio, se arrivano ospiti, l'agente "cucina" potrebbe chiedere all'agente "spesa" di aggiungere ingredienti extra e all'agente "pulizie" di concentrarsi su determinate aree.
- **LLM Usage:**
- Generare suggerimenti per i piani di azione.
- Fornire spiegazioni in linguaggio naturale delle decisioni prese dagli agenti.
- Adattare il tono e il contenuto delle comunicazioni in base al contesto.
- **Agenti Potenziali:**
- Agente "Pianificatore": Coordina le attività.
- Agente "Cucina": Gestisce i pasti.
- Agente "Pulizie": Organizza la pulizia.
- Agente "Spesa": Si occupa degli acquisti.
- Agente "Calendario": Tiene traccia degli impegni.
- **Simulazione:** Puoi simulare lo stato della casa (frigorifero, calendario, "stanze sporche") tramite variabili o semplici file di testo che gli agenti possono leggere e modificare. Gli "eventi imprevisti" possono essere input manuali o generati casualmente.
---
### **Progetto di Esame: Agente di Pianificazione Viaggi Intelligente**
## 2. Sistema di Raccomandazione di Itinerari Turistici Adattivo
#### **Obiettivo**
Creare un sistema di pianificazione viaggi basato su **LLM Agents** che genera itinerari personalizzati e adattivi in base a vincoli e informazioni in tempo reale. L'obiettivo è dimostrare la capacità del sistema di ragionare, adattarsi a eventi esterni e comunicare in modo intelligente.
- **Ambito:** Turismo (facile da simulare con dati pubblici).
- **Idea:** Un sistema che raccomanda itinerari turistici personalizzati in base a:
- **Interessi dell'utente:** Ricavati da input diretto o (idealmente) da una breve interazione con l'LLM.
- **Vincoli:** Tempo disponibile, budget, preferenze di trasporto.
- **Condizioni esterne:** Simulate (es. "meteo avverso", "chiusura di un'attrazione").
- **Intelligenza Dimostrata:** Il sistema non si limita a presentare una lista statica di luoghi, ma adatta l'itinerario in tempo reale in base ai vincoli e agli eventi, magari suggerendo alternative o modificando l'ordine delle visite. L'LLM può essere usato per generare descrizioni coinvolgenti dei luoghi e per rispondere a domande specifiche.
- **LLM Usage:**
- Comprendere gli interessi dell'utente tramite conversazione.
- Generare descrizioni dei luoghi di interesse.
- Suggerire attività alternative in caso di imprevisti.
- Creare riepiloghi e narrazioni dell'itinerario.
- **Agenti Potenziali:**
- Agente "Profilo Utente": Gestisce gli interessi e i vincoli.
- Agente "Ricerca Luoghi": Recupera informazioni sui punti di interesse (potresti usare un piccolo database simulato o API pubbliche).
- Agente "Pianificatore Itinerari": Genera e adatta il percorso.
- Agente "Comunicazione": Interagisce con l'utente.
- **Simulazione:** Puoi simulare le "condizioni esterne" come cambiamenti meteo o chiusure tramite input manuali o eventi casuali. I dati sui luoghi turistici possono essere semplificati.
---
#### **1. Input Utente e Analisi Preliminare**
L'utente interagisce con una semplice interfaccia, fornendo una richiesta di viaggio che include:
* **Vincoli finanziari:** Budget massimo.
* **Preferenze di viaggio:** Tipologia di vacanza (es. mare, montagna, città) e mezzo di trasporto preferito (es. treno, aereo).
* **Tempistiche:** Date di viaggio e durata.
## 3. Sistema di Supporto Tecnico Adattivo
L'**Agente di Comunicazione** riceve queste informazioni e, usando un **LLM**, le interpreta e le formatta per gli agenti successivi.
- **Ambito:** Supporto clienti (si può simulare un ambiente di problemi tecnici).
- **Idea:** Un sistema che aiuta a risolvere problemi tecnici simulati per un software o un dispositivo.
- **Intelligenza Dimostrata:** Il sistema non segue un semplice albero decisionale predefinito, ma adatta la sua strategia di troubleshooting in base alle risposte dell'utente e ai risultati dei tentativi di soluzione (simulati). L'LLM può essere usato per interpretare le descrizioni dei problemi e generare suggerimenti di soluzione in linguaggio naturale.
- **LLM Usage:**
- Comprendere la descrizione del problema fornita dall'utente.
- Generare potenziali cause e soluzioni.
- Fornire spiegazioni chiare dei passaggi da seguire.
- Adattare il tono e la complessità delle spiegazioni all'utente.
- **Agenti Potenziali:**
- Agente "Diagnostico": Analizza il problema.
- Agente "Base di Conoscenza": Accede a informazioni (simulate) su problemi e soluzioni.
- Agente "Esecutore (Simulato)": Simula l'esecuzione di azioni di troubleshooting e ne riporta un "risultato" (successo/fallimento).
- Agente "Comunicazione": Interagisce con l'utente.
- **Simulazione:** Puoi simulare un ambiente software/hardware con "problemi" definiti (es. "errore di connessione", "applicazione che non si avvia"). L'agente "Esecutore" simulerebbe l'applicazione di una soluzione e restituirebbe un esito.
---
#### **2. Processo di Pianificazione e Acquisizione Dati**
Questo processo si basa sulla collaborazione di più agenti specializzati, in linea con l'approccio dei modelli di ragionamento.
* **Agente Pianificatore:** Sulla base della richiesta iniziale, questo agente genera internamente una serie di **idee di viaggio** iniziali.
* **Agente Meteo:** Per ogni destinazione, richiede le previsioni del tempo tramite un'API REST, come quella di `open-meteo.com`.
* **Agente Notizie:** Interroga un'API di notizie (`newsapi.com`) per rilevare eventuali eventi imprevisti o avvisi importanti per le località considerate.
* **Agente Ricerca:** Per ogni idea di viaggio, raccoglie informazioni essenziali sui **punti di interesse**, sfruttando un database statico o un'API semplificata, come suggerito nelle linee guida del progetto.
* **Agente Logistico:** Ottiene dati simulati su opzioni di viaggio (voli, treni) e costi per ciascuna destinazione.
## Punti Chiave per Dimostrare "Intelligenza"
---
#### **3. Valutazione e Selezione Adattiva**
L'**Agente Pianificatore** valuta le idee di viaggio in base alle informazioni raccolte dagli altri agenti.
* **Valutazione Logica:** Analizza il budget e la compatibilità dei mezzi di trasporto.
* **Adattabilità:** Scarta o modifica le proposte se le condizioni esterne lo rendono necessario. Ad esempio, non proporrà un viaggio al mare se sono previste forti piogge, o cambierà l'ordine delle tappe in base a notizie rilevanti.
- **Adattabilità:** Il sistema deve cambiare il suo comportamento o piano d'azione in risposta a nuove informazioni o eventi.
- **Ragionamento:** Gli agenti devono mostrare una logica nel loro processo decisionale, anche se semplice. L'LLM può aiutare a esplicitare questo ragionamento.
- **Collaborazione:** Se ci sono più agenti, la loro interazione e coordinazione per raggiungere un obiettivo comune è fondamentale.
- **Comunicazione Intelligente:** L'uso dell'LLM per generare un linguaggio naturale che sia informativo, adattivo al contesto e all'utente.
## Considerazioni per Sviluppo Non Eccessivo
- **Semplificare la Simulazione:** Non è necessario creare un ambiente complesso. L'uso di variabili, file di testo o semplici API può essere sufficiente.
- **Concentrarsi sull'Interazione Agente-Agente e Agente-LLM:** Il cuore del progetto dovrebbe essere come gli agenti si coordinano e come utilizzano l'LLM per prendere decisioni e comunicare.
- **Non Ambire alla Perfezione:** Un prototipo funzionante che dimostri i concetti chiave è più importante di un sistema completo e rifinito.
---
#### **4. Presentazione dei Risultati**
Infine, il sistema presenta all'utente un massimo di tre proposte di viaggio.
* **Itinerari Dettagliati:** Ogni proposta include un riepilogo del viaggio, le tappe suggerite e i costi stimati.
* **Ragionamenti (Note):** Vengono aggiunte note esplicative che descrivono il processo decisionale degli agenti, dimostrando il "perché" della scelta fatta. Ad esempio, "Abbiamo evitato la città A perché le notizie riportano un evento di traffico locale".