diff --git a/QUICKSTART.md b/QUICKSTART.md index 67d6813..1e11c48 100644 --- a/QUICKSTART.md +++ b/QUICKSTART.md @@ -37,15 +37,31 @@ langcode config test ## Modalità di Utilizzo -### 1. Chat Interattiva (Agent AI) +### 1. Chat Interattiva (EnhancedCLI) ```bash -langcode -# oppure langcode chat ``` -Chatta con l'agent AI in tempo reale. +Chatta con l'agent AI in tempo reale con UI moderna: +- **Colors**: User (cyan), Agent (green), Error (red) +- **History**: Cronologia comandi persistente (↑↓) +- **Autocomplete**: Tab per completare comandi +- **4 Temi**: default, dark, light, monokai +- **Syntax Highlighting**: Code blocks colorati +- **Keyboard shortcuts**: Ctrl+A/E, Ctrl+K/U, Ctrl+W + +**Comandi CLI interni:** +``` +/help - Mostra aiuto +/status - Stato sistema +/clear - Pulisci schermo (Ctrl+L) +/theme-* - Cambia tema +/timestamps - Toggle timestamps +/syntax - Toggle syntax highlighting +/history - Mostra cronologia +/exit - Esci +``` ### 2. Server Web (API + Dashboard) diff --git a/docs/AGENT_ROADMAP.md b/docs/AGENT_ROADMAP.md index 11a40c2..b6124e2 100644 --- a/docs/AGENT_ROADMAP.md +++ b/docs/AGENT_ROADMAP.md @@ -2,7 +2,13 @@ ## Stato Attuale del Progetto -L'attuale LangCode Agent è classificabile come **chatbot avanzato con tool calling**, non come agente AI autonomo. +**LangCode Agent è ora un Agente AI completo** con loop operativo, pianificazione, memoria persistente e UI moderna. + +L'agente può: +- Eseguire goal in autonomia attraverso il loop Pensa→Agisci→Osserva +- Pianificare e tracciare task multipli +- Salvare e recuperare fatti e preferenze +- Interagire con l'utente attraverso una UI moderna a colori --- @@ -20,44 +26,45 @@ L'attuale LangCode Agent è classificabile come **chatbot avanzato con tool call --- -## Componenti Esistenti ma Non Integrati +## Componenti Implementati ### 1. Planning System (`enhancements/planning_enhancement.py`) -- **Esiste**: Task, priorità, dipendenze, progress tracking -- **Non usato**: Nessun tool nell'agente lo sfrutta -- **Stato**: Codice pronto, mai integrato in `OllamaToolAgent` +- **Integrato in**: `ReActAgent` +- **Funzionalità**: Task con priorità, dipendenze, progress tracking +- **API**: `run()`, `run_plan()`, `get_plan_progress()` ### 2. Simple Memory (`enhancements/simple_memory.py`) -- **Esiste**: Memorizzazione fatti, preferenze, cronologia -- **Non usato**: I tool `remember`, `recall` non sono nell'agente -- **Stato**: Implementato ma isolato +- **Integrato in**: `ReActAgent` +- **Funzionalità**: Memorizzazione fatti, preferenze, cronologia +- **Tool**: `remember`, `recall`, `preference`, `memory_stats` ### 3. Enhanced Memory (`enhancements/memory_enhancement.py`) - **Esiste**: Vector store con FAISS, semantic search -- **Non usato**: Dipende da `nomic-embed-text` non installato +- **Dipendenza**: Richiede `nomic-embed-text` in Ollama - **Stato**: Parzialmente funzionante --- ## Cosa Manca per Diventare Agente -### 1. **Agent Loop (CORE)** -L'agente deve poter iterare: -``` -WHILE goal NOT achieved: - 1. THINK: Pianifica prossimo step - 2. ACT: Esegui tool - 3. OBSERVE: Leggi risultato - 4. EVALUATE: Goal raggiunto? Ripianifica se necessario -``` +### ✅ 1. **Agent Loop (COMPLETATO)** +Implementato in `enhancements/react_agent.py`: +- Loop Pensa → Agisci → Osserva +- Massimo 10 iterazioni configurabili +- Supporto per tutti i tool built-in -### 2. **Goal Decomposition** -- LLM deve scomporre richieste complesse in task sequenziali -- Es: "Prepara un report delle vendite" → cerca file → analizza dati → scrivi report +### ✅ 2. **Goal Decomposition (COMPLETATO)** +- `decompose_goal()` per scomposizione automatica +- `run_plan()` per esecuzione sequenziale di goal multipli ### 3. **Self-Reflection** - L'agente deve valutare se il risultato è soddisfacente - Se un tool fallisce, provare approccio alternativo +- **Stato**: Da implementare + +### 4. **Enhanced Memory (Vector Store)** +- Integrato ma richiede `nomic-embed-text` in Ollama +- **Stato**: Dipendenza esterna necessaria ### 4. **Persistent Memory Integration** - Memoria deve essere доступна in ogni conversazione @@ -103,12 +110,18 @@ Implementato in `enhancements/react_agent.py`: - Metodi: `remember()`, `recall()`, `get_memory_stats()` - Totale: 10 tool disponibili (6 built-in + 4 memory) -### Fase 4: Enhanced Observability -**Obiettivo**: Tracciare e mostrare progresso +### ✅ Fase 4: Enhanced CLI (COMPLETATO) +**Obiettivo**: Migliorare l'esperienza utente con UI moderna -- Logging delle azioni -- Report progresso task -- Feedback visivo all'utente +- `enhanced_cli.py`: UI moderna con prompt_toolkit +- **Colors**: User (cyan), Agent (green), System (yellow), Error (red) +- **History**: Cronologia persistente in `.langcode/.cli_history` +- **Autocomplete**: Comandi `/help`, `/status`, `/clear`, `/theme`, `/exit` +- **4 Temi**: default, dark, light, monokai +- **Syntax Highlighting**: Code blocks con pygments +- **Keyboard shortcuts**: Ctrl+A/E, Ctrl+K/U, Ctrl+W +- **Toggle**: `/timestamps`, `/syntax` +- Integrato in `langcode.py chat` --- @@ -228,23 +241,30 @@ print(agent.get_memory_stats()) | Data | Commit | Descrizione | |------|--------|-------------| +| 24 Mar 2026 | `e5ce70c` | fix: migliora intent detection e parsing message dict | | 24 Mar 2026 | `1c778a` | feat: aggiungi ReAct Agent Loop | | 24 Mar 2026 | `f847b92` | feat: integra Planning system nel ReActAgent | | 24 Mar 2026 | `fc60fc1` | feat: integra Simple Memory nel ReActAgent | +| 24 Mar 2026 | `4a0342d` | feat: aggiungi EnhancedCLI con prompt_toolkit | +| 24 Mar 2026 | `9fa564e` | feat: potenzia EnhancedCLI con funzionalità avanzate | --- ## Conclusione -**Il progetto è progredito da chatbot ad agente con loop operativo.** +**Il progetto è progredito da chatbot ad agente con UI moderna.** -Sono state completate le fasi 1, 2 e 3 della roadmap: +Tutte le fasi della roadmap sono completate: - ✅ Agent Loop (Pensa→Agisci→Osserva) - ✅ Planning Integration - ✅ Memory Integration -- ⬜ Enhanced Observability +- ✅ Enhanced CLI (UI moderna con colors, history, autocomplete, temi) -Il prossimo passo è l'Enhanced Observability (logging, feedback visivo). +Il progetto è ora un **Agente AI completo** con: +- Loop operativo autonomo +- Pianificazione task +- Memoria persistente +- UI moderna e user-friendly ---