73 lines
4.8 KiB
Markdown
73 lines
4.8 KiB
Markdown
# Guida alla Realizzazione del Progetto
|
|
|
|
Questa guida è una lista di controllo per l'implementazione del tuo progetto. È divisa in fasi logiche, ognuna con i compiti specifici da svolgere.
|
|
|
|
## Fase 1: Preparazione e Architettura di Base
|
|
|
|
### Impostazione dell'ambiente
|
|
|
|
* Scegliere il linguaggio di programmazione (es. **Python**).
|
|
* Utilizzare la libreria `agno` per la creazione di agenti e **LangChain/LlamaIndex** per la gestione dell'LLM e dell'orchestrazione.
|
|
|
|
### Definizione dell'Architettura degli agenti
|
|
|
|
* Definire la classe base per gli agenti, con metodi comuni come `execute()` e `reason()`.
|
|
* Delineare i ruoli e le interfacce di tutti gli agenti (`RicercatoreDati`, `AnalistaSentiment`, `MotorePredittivo`, `Orchestratore`), stabilendo come comunicheranno tra loro.
|
|
|
|
---
|
|
|
|
## Fase 2: Implementazione degli Agenti Core
|
|
|
|
### Agente `RicercatoreDati`
|
|
|
|
* Implementare la logica per connettersi a un'API di exchange (es. **Binance, Coindesk, CoinMarketCap**).
|
|
* Testare la capacità di recuperare dati in tempo reale per diverse criptovalute (prezzo, volume, capitalizzazione) e **assicurarsi che la gestione degli errori sia robusta**.
|
|
|
|
### Agente `AnalistaSentiment`
|
|
|
|
* **Agente `Social`:**
|
|
* Scegliere un metodo per lo scraping di forum e social media (es. **Reddit API, librerie per Twitter/X, BeautifulSoup per web scraping**).
|
|
* Implementare un modulo di analisi del testo per classificare il sentiment (positivo, negativo, neutro) utilizzando **modelli pre-addestrati (es. VADER) o fine-tuning di modelli più avanzati**.
|
|
* **Agente `News`:**
|
|
* Ottenere una chiave API per un servizio di notizie (es. **NewsAPI**).
|
|
* Implementare la logica per cercare articoli pertinenti a una criptovaluta specifica o al mercato in generale, e **filtrare le notizie in base a parole chiave rilevanti**.
|
|
|
|
### Agente `MotorePredittivo`
|
|
|
|
* Definire la logica per integrare i dati numerici del `RicercatoreDati` con il sentiment dell'`AnalistaSentiment`.
|
|
* Creare un **prompt avanzato** per l'LLM che lo guidi a generare previsioni e strategie. Dovrai usare tecniche come la **chain-of-thought** per rendere il ragionamento trasparente. Assicurarsi che il prompt includa vincoli specifici per lo stile di investimento (aggressivo/conservativo).
|
|
|
|
---
|
|
|
|
## Fase 3: Costruzione dell'Orchestratore e Test di Integrazione
|
|
|
|
### Implementazione dell'Agente Orchestratore
|
|
|
|
* **Gestione dell'Input Utente:** Creare un metodo che riceve la richiesta dell'utente (es. `analizza_cripto('Bitcoin', 'aggressivo')`). Analizzare il tipo di richiesta e le preferenze utente.
|
|
* **Recupero della Memoria Utente:** Integrare la logica per recuperare la cronologia delle richieste passate dal database e preparare i dati come contesto aggiuntivo per l'LLM.
|
|
* **Orchestrazione e Flusso di Lavoro:** Chiamare gli agenti (`RicercatoreDati`, `AnalistaSentiment`) e passare i risultati combinati all'**Agente `MotorePredittivo`** per generare previsioni e strategie.
|
|
* **Valutazione e Selezione Strategica:** Ricevere le previsioni dal `MotorePredittivo` e applicare le regole di valutazione basate sulle preferenze dell'utente per selezionare le strategie più appropriate.
|
|
* **Presentazione e Persistenza:** Costruire il report finale e salvare la sessione completa nel database.
|
|
|
|
---
|
|
|
|
## Fase 4: Gestione della Persistenza e dell'Interfaccia Utente
|
|
|
|
* **Database per la persistenza:** Scegli un database (es. **Firestore, MongoDB, PostgreSQL**) per salvare la cronologia delle richieste degli utenti. Implementa la logica per salvare e recuperare le sessioni di consulenza passate, associandole a un ID utente, e **struttura i dati per una ricerca efficiente**.
|
|
|
|
* **Interfaccia utente (UI):** Costruisci un'interfaccia utente semplice e intuitiva che permetta di inserire i parametri di richiesta. Aggiungi una sezione per visualizzare i risultati, inclusi i grafici e le note che spiegano il ragionamento dell'agente.
|
|
|
|
---
|
|
|
|
## Fase 5: Test del Sistema
|
|
|
|
* **Test unitari:** Esegui test su ogni agente singolarmente per assicurarti che funzioni correttamente (es. l'agente `RicercatoreDati` recupera i dati, l'agente `AnalistaSentiment` classifica correttamente un testo). **Crea dei mock per le API esterne per testare la logica interna senza dipendenze esterne**.
|
|
* **Test di integrazione:** Esegui scenari di test completi per l'intero sistema. Verifica che l'orchestrazione tra gli agenti avvenga senza intoppi e che i dati vengano passati correttamente tra di essi.
|
|
|
|
---
|
|
|
|
## Fase 6: Valutazione dei Risultati
|
|
|
|
* **Valutazione della qualità:** Verifica la qualità delle raccomandazioni generate. L'output è logico e ben argomentato?
|
|
* **Trasparenza del ragionamento:** Controlla che le note (`Ragionamenti`) siano chiare e forniscano un'effettiva trasparenza del processo decisionale dell'agente.
|
|
* **Confronto e validazione:** Confronta le raccomandazioni con dati storici e scenari ipotetici per valutarne la plausibilità. |