# Chatbot di assistenza: quando aiuta e quando costa

Un chatbot aiuta quando risponde da un corpus chiuso e passa la pratica a una persona con un tool. Se indovina, ogni risposta risparmiata ne costa tre da correggere.

> Pagina: https://ui.eneawork.it/blog/ai-chatbot-assistenza
> Markdown: https://ui.eneawork.it/blog/ai-chatbot-assistenza.md

*2026-11-01*

Un chatbot di assistenza aiuta quando risponde da un corpus chiuso e sa passare la pratica a una persona; danneggia quando indovina.

L'endpoint MCP di EneUI ha risposto a tools/list con 3.655 byte in 162 ms il 1 novembre 2026, misurati con un client HTTP. Lo stesso giorno /api/stats leggeva 111.985 componenti, 1.556 blocchi e 12.808 icone da 1.472 librerie. La pagina prezzi di Anthropic, letta il 1 novembre 2026, quota Claude Haiku 5.5 a 0,10 $ in ingresso e 0,50 $ in uscita sotto i 100.000 token di prompt, e a 0,50 $ e 2,50 $ sopra. La guida Next.js App Router dell'AI SDK, letta lo stesso giorno, indica stopWhen a isStepCount(1) per default.

## Tre confini prima del codice

import { streamText, isStepCount, tool } from 'ai'; import { z } from 'zod'; const result = streamText({ model: 'anthropic/claude-haiku-5.5', system: 'Answer only from the documentation corpus. Escalate when unsure.', messages, tools: { searchDocs: tool({ description: 'Search the documentation corpus', inputSchema: z.object({ query: z.string() }), execute: async ({ query }) => searchDocs(query), }), handoff: tool({ description: 'Hand the conversation to a human queue', inputSchema: z.object({ reason: z.string() }), execute: async ({ reason }) => openTicket(reason), }), }, stopWhen: isStepCount(3), });

## Il costo per conversazione

Il conto è token in ingresso per prezzo, più token in uscita per prezzo, con il contesto che ricresce a ogni turno. Con Haiku 5.5 a 0,10 $ e 0,50 $ per milione, mille conversazioni da 2.000 token in ingresso e 300 in uscita costano 0,20 $ più 0,15 $, cioè 0,35 $.

## Il test che decide

Prendi trenta domande reali, con la risposta attesa scritta accanto. Conta quante risposte il bot prende dal corpus, quante sono sbagliate e quante finiscono in escalation. Se le sbagliate non sono zero, il corpus o il prompt non sono pronti.

Il limite dei passi va alzato di proposito: con isStepCount(1) la generazione si ferma alla prima tool call e il modello non usa il risultato. Tre passi coprono cerca, leggi e rispondi; ogni passo in più costa un prompt intero.

## La limitazione

Ogni turno paga lo schema dei tool: 3.655 byte di elenco sono token in ingresso a ogni richiesta, anche quando il bot non usa nessun tool. E un bot corretto su trenta domande non è un bot corretto su trecento.

## Dove continuare

Le parti pronte per una chat sono in blocchi chat 2026, la forma dei tool in disegnare un tool MCP, il confronto di trasporto in MCP o REST. I record: 1.556 blocchi, 111.985 componenti, sidebar di 21st.dev.

## FAQ

### Un chatbot riduce i ticket o li sposta?

Li riduce solo se il corpus copre le domande ricorrenti e il bot chiude il caso, non se rimanda alla documentazione. Misura le conversazioni chiuse senza operatore, non i messaggi scambiati.

### Come impedisco al bot di inventare risposte?

Vincolandolo a un corpus recuperato e chiedendo l'escalation quando il contesto non contiene la risposta. Un prompt che vieta l'invenzione non basta: serve un ramo di codice che apre il ticket.

### Quanto costa una conversazione?

Dipende dai token. Con Haiku 5.5 a 0,10 $ in ingresso e 0,50 $ in uscita per milione, una conversazione da 2.000 token in ingresso e 300 in uscita costa 0,00035 $. Sopra i 100.000 token di prompt il prezzo del modello sale di cinque volte.

### Perché il bot non risponde dopo la tool call?

Perché stopWhen vale isStepCount(1) per default nell'AI SDK: la generazione finisce alla prima chiamata. Alza il limite a tre passi se vuoi che il modello usi il risultato del tool.

### Serve un LLM per un chatbot di assistenza?

Non sempre. Se le risposte sono dieci e cambiano di rado, un albero di scelte con link funziona meglio e non costa nulla. Il modello serve quando le domande sono formulate in modi imprevedibili.
