> ## Documentation Index
> Fetch the complete documentation index at: https://docs.innochat.ch/llms.txt
> Use this file to discover all available pages before exploring further.

# Fine-tuning degli Intents degli agenti

> Scopri come affinare gli intents dei tuoi agenti IA per ottenere un routing più preciso nei chatbot multi-agente.

Quando il tuo chatbot dispone di più agenti IA, il supervisore IA assegna automaticamente l’agente più adatto per gestire gli input dell’utente.\
Per farlo, determina prima **l’intenzione dell’utente**, quindi cerca l’agente corrispondente basandosi sul **nome dell’agente** e sulla **descrizione dell’agente**.

Nel nostro articolo [Multi-Agent Chatbot](multi-agents-chatbot) abbiamo presentato alcune best practice per scrivere le descrizioni degli agenti e fornito degli esempi.\
Tuttavia esistono sempre scenari in cui le descrizioni degli agenti non coprono adeguatamente tutti i casi.

Quando vengono creati o modificati agenti IA, INNOCHAT genera automaticamente diversi **intents** insieme a esempi di richieste che servono come riferimento al supervisore IA.\
Questi intents possono essere visualizzati, modificati o eliminati tramite le **impostazioni del supervisore IA**.\
Il supervisore IA utilizza direttamente questi intents per classificare la specializzazione di ciascun agente.

Per affinare gli intents degli agenti, vai alla scheda **AI Agents** nella navigazione a sinistra e clicca su **AI Supervisor Settings**:

<Frame>
  <img src="https://mintcdn.com/innoq/Kfwv40RbqRH1R9h2/images/fine-tuning-agent-intents-5.png?fit=max&auto=format&n=Kfwv40RbqRH1R9h2&q=85&s=f9b157202d2db847dd1682b8c63c8afa" width="921" height="864" data-path="images/fine-tuning-agent-intents-5.png" />
</Frame>

Passa poi alla scheda **Intents**:

<Frame>
  <img src="https://mintcdn.com/innoq/Kfwv40RbqRH1R9h2/images/fine-tuning-agent-intents-6.png?fit=max&auto=format&n=Kfwv40RbqRH1R9h2&q=85&s=55ff7988e76eeaae7f6339a8c44521ff" width="1122" height="654" data-path="images/fine-tuning-agent-intents-6.png" />
</Frame>

Qui vedrai gli intents che il supervisore IA ha creato automaticamente in base alla sua interpretazione della funzione di ciascun agente.\
Quando un utente pone una domanda e più agenti IA sono attivi, il supervisore IA estrae l’intent e ricerca **l’agente più adatto**.

Per aggiungere nuovi intents, seleziona l’agente che desideri affinare e clicca su **Add intent**.

<Frame>
  <img src="https://mintcdn.com/innoq/Kfwv40RbqRH1R9h2/images/fine-tuning-agent-intents-7.png?fit=max&auto=format&n=Kfwv40RbqRH1R9h2&q=85&s=4f29b616b48739e068417093408b2034" width="783" height="451" data-path="images/fine-tuning-agent-intents-7.png" />
</Frame>

Inserisci quindi il nuovo intent e aggiungi alcuni esempi di richieste che mostrano come un utente potrebbe esprimere quell’intent.

<Frame>
  <img src="https://mintcdn.com/innoq/Kfwv40RbqRH1R9h2/images/fine-tuning-agent-intents-8.png?fit=max&auto=format&n=Kfwv40RbqRH1R9h2&q=85&s=107a3a485b2e128f24eec9bf40c3d016" width="580" height="596" data-path="images/fine-tuning-agent-intents-8.png" />
</Frame>

Clicca su **Create**.\
Il nuovo intent appare ora nella sezione **Fixed Intents**.\
Per vedere l’elenco completo potrebbe essere necessario scorrere verso il basso.

Puoi anche modificare gli **AI-Generated Intents**.\
Apri il menu a tre puntini accanto all’intent e seleziona **Edit**.\
Dopo il salvataggio, l’intent viene spostato nella sezione **Fixed Intents**.

<Frame>
  <img src="https://mintcdn.com/innoq/Kfwv40RbqRH1R9h2/images/fine-tuning-agent-intents-9.png?fit=max&auto=format&n=Kfwv40RbqRH1R9h2&q=85&s=ada6f12cf96e2f27a9a6a78d869e45b9" width="584" height="595" data-path="images/fine-tuning-agent-intents-9.png" />
</Frame>

<Note>
  Nota: gli intents generati dall’IA vengono sovrascritti ogni volta che modifichi il nome dell’agente, la descrizione o il prompt.\
  Gli Fixed Intents invece rimangono permanenti finché non li elimini manualmente.
</Note>

## Quando dovrei affinare gli intents degli agenti?

Nella maggior parte dei casi d’uso con funzione Q\&A generica, non è necessario un affinamento manuale.\
I test interni mostrano che gli intents generati dall’IA consentono generalmente un routing sufficientemente efficace.

La possibilità di controllare in modo granulare la classificazione degli intents è particolarmente utile:

* quando sono coinvolti molti agenti IA
* quando il chatbot richiede un’altissima precisione
* quando determinate intenzioni utente devono essere chiaramente distinte

Durante la progettazione di un sistema multi-agente consigliamo il metodo **MECE**:\
**M**utually **E**xclusive, **C**ollectively **E**xhaustive.\
Significa: **nessuna sovrapposizione, nessuna lacuna**.

Una struttura ideale è del tipo:

> **L’agente A (visibile all’utente) gestisce:**
>
> * classe di intent 1
> * classe di intent 2
> * classe di intent 3
> * ecc.

> **L’agente B (visibile all’utente) gestisce:**
>
> * classe di intent 10
> * classe di intent 11
> * classe di intent 12
> * ecc.

La sovrapposizione tra agenti dovrebbe essere **minima**.\
Insieme, tutti gli agenti dovrebbero **coprire tutte le possibili intenzioni utente**.

Tuttavia, poiché nessuna lista può coprire tutti gli intents immaginabili e il linguaggio naturale consente molte variazioni,\
non esiste un modo deterministico per raggiungere il 100% di coerenza.\
Con una buona configurazione ci si può comunque avvicinare molto.

Mentre il tuo chatbot è in uso, osserva le conversazioni in arrivo e identifica i casi\
in cui è stato assegnato un **agente sbagliato**.\
In queste situazioni consigliamo di utilizzare la **modalità debug**.\
Quando sono presenti più agenti visibili all’utente, la modalità debug mostra **Intent** e **Active Agent** per ogni richiesta.

<Frame>
  <img src="https://mintcdn.com/innoq/-rzRPawWGCb-PHDN/images/fine-tuning-agent-intents-10.png?fit=max&auto=format&n=-rzRPawWGCb-PHDN&q=85&s=ad3c0020c204455e407d1ac7375a7182" width="657" height="773" data-path="images/fine-tuning-agent-intents-10.png" />
</Frame>

Quando è stato assegnato un agente sbagliato, puoi effettuare una correzione rapida ed efficace associando:

* l’intent e
* la richiesta utente corrispondente

all’**agente corretto** in *AI Supervisor Settings → Intents*.

In questo modo si garantisce che per richieste simili future venga scelto l’agente corretto.\
Più esempi fornisci per quell’intent, più affidabile sarà la classificazione del supervisore IA per casi analoghi.
