# 22.5 Assistente Kitt

La sezione **Assistente** permette di definire come deve rispondere l'**assistente Kitt** di vtenext. In pratica, qui scegli **quale motore usare** per le risposte: un LLM diretto, un agente già configurato oppure un Webservice REST personalizzato.

<p class="callout info">**In sintesi:** l'assistente è il punto di accesso con cui l'utente interagisce. A seconda della configurazione, può rispondere direttamente con un modello, usare strumenti avanzati tramite un agente oppure delegare la risposta a un servizio esterno.</p>

### **Prerequisiti**

- Per usare un **LLM**, devi prima configurare almeno un modello nella sezione LLM.
- Per usare un **Agente**, devi prima configurare almeno un agente nella sezione Agenti.
- Per usare un **Webservice REST**, devi prima configurare il servizio nella relativa sezione.
- Per il funzionamento dell'assistente è necessario attivare il **worker per le attività in background**.

### **Creare o modificare l'assistente**

[![image.png](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/scaled-1680-/uxoimage.png)](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/uxoimage.png)

1. Apri la sezione **Assistente**.
2. Attiva o disattiva la configurazione.
3. Seleziona il **Tipo** di assistente.
4. Compila il campo mostrato in base al tipo scelto.
5. Salva la configurazione.

### **Tipo: Agente**

Se scegli **Agente**, l'assistente userà uno degli agenti già configurati in vtenext.

[![image.png](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/scaled-1680-/9OHimage.png)](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/9OHimage.png)

- Selezioni un agente dall'elenco disponibile.
- L'assistente eredita le capacità dell'agente scelto.
- Questo include, se configurati nell'agente, tool MCP, documenti RAG, prompt specifici e guardrail.

<p class="callout info">**Quando conviene usare un agente:** è la scelta giusta quando vuoi che l'assistente faccia più di una semplice risposta testuale, per esempio usare tool, consultare documenti o seguire controlli più avanzati.</p>

### **Tipo: LLM**

Se scegli **LLM**, l'assistente userà direttamente un modello linguistico configurato nella sezione LLM.

[![image.png](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/scaled-1680-/EIVimage.png)](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/EIVimage.png)

- Selezioni il modello LLM da usare.
- Puoi visualizzare il **system prompt dell'LLM** attualmente configurato.
- Puoi attivare l'opzione **Sovrascrivi system prompt** per usare un prompt specifico solo per l'assistente.

Questa modalità è più semplice rispetto all'uso di un agente, perché non coinvolge tool MCP o documenti RAG.

#### Sovrascrivere il system prompt

Quando l'assistente è configurato in modalità LLM, puoi decidere se mantenere il system prompt del modello oppure sostituirlo.

[![image.png](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/scaled-1680-/Yvyimage.png)](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/Yvyimage.png)

- **System prompt dell'LLM**: mostra il prompt standard già presente sul modello selezionato.
- **Sovrascrivi system prompt**: se attivato, l'assistente usa il testo specificato nella configurazione dell'assistente.
- **System prompt**: campo in cui definisci istruzioni dedicate all'assistente.

<p class="callout info">**Quando è utile:** la sovrascrittura del system prompt serve quando vuoi mantenere lo stesso modello ma cambiare tono, obiettivo o comportamento dell'assistente rispetto ad altre configurazioni che usano lo stesso LLM.</p>

### **Tipo: Webservice REST**

Se scegli **Webservice REST**, l'assistente delega la risposta a un servizio REST esterno già configurato.

[![image.png](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/scaled-1680-/s9ximage.png)](https://usermanual.vtenext.com/uploads/images/gallery/2026-07/s9ximage.png)

- Selezioni un webservice REST custom dall'elenco.
- Il messaggio dell'utente deve essere passato nel corpo grezzo usando il tag **$content**.
- La risposta attesa deve essere mappata nel campo restituito **message**.

<p class="callout warning">**Limite da considerare:** in questa modalità non sono supportate la modalità stream e la memoria conversazionale.</p>

Questa opzione è utile quando vuoi collegare l'assistente a un sistema esterno già esistente o a un servizio AI personalizzato non gestito direttamente come LLM o agente in vtenext.