Questa guida illustra come sfruttare le capacità conversazionali avanzate di Claude per gestire le richieste dei clienti in tempo reale, fornendo supporto 24/7, riducendo i tempi di attesa e gestendo volumi elevati di supporto con risposte accurate e interazioni positive.
Decidere se utilizzare Claude per la chat di supporto
Ecco alcuni indicatori chiave che suggeriscono di utilizzare un LLM come Claude per automatizzare parti del processo di supporto clienti:
Alto volume di query ripetitive
Claude eccelle nella gestione di un gran numero di domande simili in modo efficiente, liberando gli agenti umani per questioni più complesse.
Necessità di sintesi rapida delle informazioni
Claude può rapidamente recuperare, elaborare e combinare informazioni da vaste basi di conoscenza, mentre gli agenti umani potrebbero aver bisogno di tempo per ricercare o consultare più fonti.
Requisito di disponibilità 24/7
Claude può fornire supporto continuo senza affaticamento, mentre dotare di personale agenti umani per una copertura continua può essere costoso e impegnativo.
Scalabilità rapida durante i periodi di picco
Claude può gestire improvvisi aumenti del volume di query senza la necessità di assumere e formare personale aggiuntivo.
Voce del brand coerente
Puoi istruire Claude a rappresentare costantemente il tono e i valori del tuo brand, mentre gli agenti umani potrebbero variare nei loro stili di comunicazione.
Alcune considerazioni per scegliere Claude rispetto ad altri LLM:
Dai priorità a conversazioni naturali e sfumate: La sofisticata comprensione del linguaggio di Claude consente conversazioni più naturali e consapevoli del contesto che sembrano più umane rispetto alle chat con altri LLM.
Ricevi spesso query complesse e aperte: Claude può gestire un’ampia gamma di argomenti e richieste senza generare risposte preconfezionate o richiedere una programmazione estensiva di permutazioni di espressioni dell’utente.
Hai bisogno di supporto multilingue scalabile: Le capacità multilingue di Claude gli permettono di impegnarsi in conversazioni in oltre 200 lingue senza la necessità di chatbot separati o processi di traduzione estensivi per ogni lingua supportata.
Delinea un’interazione cliente ideale per definire come e quando ti aspetti che il cliente interagisca con Claude. Questo schema aiuterà a determinare i requisiti tecnici della tua soluzione.Ecco un esempio di interazione di chat per il supporto clienti di assicurazione auto:
Cliente: Avvia l’esperienza di chat di supporto
Claude: Saluta calorosamente il cliente e avvia la conversazione
Cliente: Chiede informazioni sull’assicurazione per la sua nuova auto elettrica
Claude: Fornisce informazioni pertinenti sulla copertura per veicoli elettrici
Cliente: Fa domande relative alle esigenze uniche per le assicurazioni di veicoli elettrici
Claude: Risponde con risposte accurate e informative e fornisce link alle fonti
Cliente: Fa domande fuori tema non correlate ad assicurazioni o auto
Claude: Chiarisce che non discute argomenti non correlati e riporta l’utente all’assicurazione auto
Cliente: Esprime interesse per un preventivo assicurativo
Claude: Fa una serie di domande per determinare il preventivo appropriato, adattandosi alle loro risposte
Claude: Invia una richiesta per utilizzare lo strumento API di generazione preventivi insieme alle informazioni necessarie raccolte dall’utente
Claude: Riceve le informazioni di risposta dall’uso dello strumento API, sintetizza le informazioni in una risposta naturale e presenta il preventivo fornito all’utente
Cliente: Fa domande di follow-up
Claude: Risponde alle domande di follow-up secondo necessità
Claude: Guida il cliente ai prossimi passi nel processo assicurativo e chiude la conversazione
Nell’esempio reale che scrivi per il tuo caso d’uso, potresti trovare utile scrivere le parole effettive in questa interazione in modo da poter anche avere un senso del tono ideale, della lunghezza della risposta e del livello di dettaglio che vuoi che Claude abbia.
La chat di supporto clienti è una raccolta di più compiti diversi, dalla risposta alle domande al recupero di informazioni all’azione su richieste, racchiusi in una singola interazione cliente. Prima di iniziare a costruire, suddividi la tua interazione cliente ideale in ogni compito che vuoi che Claude sia in grado di eseguire. Questo assicura che tu possa istruire e valutare Claude per ogni compito, e ti dà un buon senso della gamma di interazioni che devi considerare quando scrivi casi di test.
I clienti a volte trovano utile visualizzare questo come un diagramma di flusso di interazione dei possibili punti di inflessione della conversazione a seconda delle richieste dell’utente.
Ecco i compiti chiave associati all’esempio di interazione assicurativa sopra:
Saluto e guida generale
Salutare calorosamente il cliente e avviare la conversazione
Fornire informazioni generali sull’azienda e l’interazione
Informazioni sui prodotti
Fornire informazioni sulla copertura per veicoli elettrici
Questo richiederà che Claude abbia le informazioni necessarie nel suo contesto, e potrebbe implicare che sia necessaria un’integrazione RAG.
Rispondere a domande relative alle esigenze uniche di assicurazione per veicoli elettrici
Rispondere a domande di follow-up sul preventivo o sui dettagli dell’assicurazione
Offrire link alle fonti quando appropriato
Gestione della conversazione
Rimanere in tema (assicurazione auto)
Reindirizzare domande fuori tema verso argomenti pertinenti
Generazione di preventivi
Fare domande appropriate per determinare l’idoneità al preventivo
Adattare le domande in base alle risposte del cliente
Inviare informazioni raccolte all’API di generazione preventivi
Lavora con il tuo team di supporto per definire criteri di successo chiari e scrivere valutazioni dettagliate con benchmark e obiettivi misurabili.Ecco i criteri e benchmark che possono essere utilizzati per valutare quanto con successo Claude esegue i compiti definiti:
Accuratezza della comprensione delle query
Questa metrica valuta quanto accuratamente Claude comprende le richieste dei clienti su vari argomenti. Misura questo rivedendo un campione di conversazioni e valutando se Claude ha l’interpretazione corretta dell’intento del cliente, dei prossimi passi critici, di come appare una risoluzione di successo, e altro. Punta a un’accuratezza di comprensione del 95% o superiore.
Pertinenza della risposta
Questo valuta quanto bene la risposta di Claude affronta la domanda o il problema specifico del cliente. Valuta un set di conversazioni e valuta la pertinenza di ogni risposta (usando valutazione basata su LLM per scala). Punta a un punteggio di pertinenza del 90% o superiore.
Accuratezza della risposta
Valuta la correttezza delle informazioni generali sull’azienda e sui prodotti fornite all’utente, basate sulle informazioni fornite a Claude nel contesto. Punta al 100% di accuratezza in queste informazioni introduttive.
Pertinenza della fornitura di citazioni
Traccia la frequenza e pertinenza di link o fonti offerti. Punta a fornire fonti pertinenti nell’80% delle interazioni dove informazioni aggiuntive potrebbero essere benefiche.
Aderenza al tema
Misura quanto bene Claude rimane in tema, come il tema dell’assicurazione auto nel nostro esempio di implementazione. Punta al 95% delle risposte direttamente correlate all’assicurazione auto o alla query specifica del cliente.
Efficacia della generazione di contenuti
Misura quanto con successo Claude determina quando generare contenuto informativo e quanto pertinente è quel contenuto. Ad esempio, nella nostra implementazione, staremmo determinando quanto bene Claude comprende quando generare un preventivo e quanto accurato è quel preventivo. Punta al 100% di accuratezza, poiché questa è informazione vitale per un’interazione cliente di successo.
Efficienza dell'escalation
Questo misura la capacità di Claude di riconoscere quando una query necessita intervento umano e di escalare appropriatamente. Traccia la percentuale di conversazioni correttamente escalate versus quelle che avrebbero dovuto essere escalate ma non lo sono state. Punta a un’accuratezza di escalation del 95% o superiore.
Ecco i criteri e benchmark che possono essere utilizzati per valutare l’impatto aziendale dell’impiego di Claude per il supporto:
Mantenimento del sentiment
Questo valuta la capacità di Claude di mantenere o migliorare il sentiment del cliente durante la conversazione. Usa strumenti di analisi del sentiment per misurare il sentiment all’inizio e alla fine di ogni conversazione. Punta a sentiment mantenuto o migliorato nel 90% delle interazioni.
Tasso di deflection
La percentuale di richieste clienti gestite con successo dal chatbot senza intervento umano. Tipicamente punta a un tasso di deflection del 70-80%, a seconda della complessità delle richieste.
Punteggio di soddisfazione del cliente
Una misura di quanto soddisfatti sono i clienti della loro interazione con il chatbot. Solitamente fatto attraverso sondaggi post-interazione. Punta a un punteggio CSAT di 4 su 5 o superiore.
Tempo medio di gestione
Il tempo medio che il chatbot impiega per risolvere una richiesta. Questo varia ampiamente in base alla complessità dei problemi, ma generalmente, punta a un AHT inferiore rispetto agli agenti umani.
La scelta del modello dipende dai compromessi tra costo, accuratezza e tempo di risposta.Per la chat di supporto clienti, claude-opus-4-1-20250805 è adatto per bilanciare intelligenza, latenza e costo. Tuttavia, per istanze dove hai un flusso di conversazione con più prompt inclusi RAG, uso di strumenti e/o prompt di contesto lungo, claude-3-haiku-20240307 potrebbe essere più adatto per ottimizzare la latenza.
Utilizzare Claude per il supporto clienti richiede che Claude abbia abbastanza direzione e contesto per rispondere appropriatamente, pur avendo abbastanza flessibilità per gestire un’ampia gamma di richieste clienti.Iniziamo scrivendo gli elementi di un prompt forte, iniziando con un prompt di sistema:
Copy
IDENTITY = """Sei Eva, un assistente AI amichevole e competente per Acme Insurance Company. Il tuo ruolo è accogliere calorosamente i clienti e fornire informazioni sulle offerte assicurative di Acme, che includono assicurazione auto e assicurazione auto elettrica. Puoi anche aiutare i clienti a ottenere preventivi per le loro esigenze assicurative."""
Mentre potresti essere tentato di mettere tutte le tue informazioni all’interno di un prompt di sistema come modo per separare le istruzioni dalla conversazione dell’utente, Claude funziona effettivamente meglio con la maggior parte del contenuto del prompt scritto all’interno del primo turno User (con l’unica eccezione del role prompting). Leggi di più su Dare a Claude un ruolo con un prompt di sistema.
È meglio suddividere prompt complessi in sottosezioni e scrivere una parte alla volta. Per ogni compito, potresti trovare maggiore successo seguendo un processo passo dopo passo per definire le parti del prompt che Claude avrebbe bisogno per fare bene il compito. Per questo esempio di supporto clienti assicurazione auto, scriveremo pezzo per pezzo tutte le parti per un prompt iniziando con il compito “Saluto e guida generale”. Questo rende anche il debug del tuo prompt più facile poiché puoi più rapidamente aggiustare parti individuali del prompt complessivo.Metteremo tutti questi pezzi in un file chiamato config.py.
Copy
STATIC_GREETINGS_AND_GENERAL = """<static_context>Acme Auto Insurance: Il Tuo Compagno di Fiducia sulla StradaInformazioni:Ad Acme Insurance, comprendiamo che il tuo veicolo è più di un semplice mezzo di trasporto—è il tuo biglietto per le avventure della vita. Dal 1985, abbiamo creato polizze di assicurazione auto che danno ai conducenti la fiducia di esplorare, fare il pendolare e viaggiare con tranquillità.Che tu stia navigando per le strade della città o intraprendendo viaggi attraverso il paese, Acme è lì per proteggere te e il tuo veicolo. Le nostre innovative polizze di assicurazione auto sono progettate per adattarsi alle tue esigenze uniche, coprendo tutto dai piccoli incidenti alle collisioni maggiori.Con il servizio clienti pluripremiato di Acme e la risoluzione rapida dei sinistri, puoi concentrarti sulla gioia di guidare mentre noi ci occupiamo del resto. Non siamo solo un fornitore di assicurazioni—siamo il tuo co-pilota nei viaggi della vita.Scegli Acme Auto Insurance e sperimenta la sicurezza che deriva da una copertura superiore e una cura genuina. Perché ad Acme, non assicuriamo solo la tua auto—alimentiamo le tue avventure sulla strada aperta.Nota: Offriamo anche copertura specializzata per veicoli elettrici, assicurando che i conducenti di tutti i tipi di auto possano beneficiare della nostra protezione.Acme Insurance offre i seguenti prodotti:- Assicurazione auto- Assicurazione auto elettrica- Assicurazione per due ruoteOrari di lavoro: Lunedì-Venerdì, 9:00 - 17:00 ESTNumero servizio clienti: 1-800-123-4567</static_context>"""
Faremo poi lo stesso per le nostre informazioni sull’assicurazione auto e sull’assicurazione auto elettrica.
Copy
STATIC_CAR_INSURANCE="""<static_context>Copertura Assicurazione Auto:Le polizze di assicurazione auto di Acme tipicamente coprono:1. Copertura responsabilità civile: Paga per lesioni corporali e danni alla proprietà che causi ad altri.2. Copertura collisione: Paga per danni alla tua auto in un incidente.3. Copertura comprensiva: Paga per danni alla tua auto da incidenti non di collisione.4. Copertura pagamenti medici: Paga per spese mediche dopo un incidente.5. Copertura automobilista non assicurato/sottoassicurato: Ti protegge se sei colpito da un conducente con assicurazione insufficiente.Le coperture opzionali includono:- Rimborso auto a noleggio- Assistenza stradale- Sostituzione auto nuova</static_context>"""STATIC_ELECTRIC_CAR_INSURANCE="""<static_context>Assicurazione Auto Elettrica:La nostra assicurazione auto elettrica specializzata va oltre la copertura auto tradizionale, offrendo protezione su misura per il tuo investimento high-tech. Oltre alle coperture standard, offriamo:- Protezione di costosi sistemi di batterie- Copertura per attrezzature di ricarica domestica- Adattamento al mondo in rapida evoluzione dei veicoli elettriciChe tu stia guidando una Rivian, Nissan Leaf, Chevrolet Bolt, o qualsiasi altro veicolo elettrico, i nostri agenti competenti sono pronti a creare una polizza che ti dia la fiducia di goderti ogni miglio alimentato da elettroni.</static_context>"""
Ora che abbiamo il nostro contenuto statico, aggiungiamo almeno 4-5 interazioni “buone” di esempio per guidare le risposte di Claude. Questi esempi dovrebbero essere rappresentativi della tua interazione cliente ideale e possono includere guardrail, chiamate di strumenti, ecc.
Copy
EXAMPLES="""Ecco alcuni esempi di come puoi interagire con i clienti:<example 1>H: Ciao, offrite assicurazione commerciale per piccole imprese?A: Ah! Sfortunatamente, non offriamo assicurazione commerciale al momento. Tuttavia, forniamo una gamma di prodotti assicurativi personali inclusi assicurazione auto e assicurazione auto elettrica. Vorresti saperne di più su queste offerte?</example 1><example 2>H: Ciao, quali sono i vostri orari di lavoro?A: I nostri orari di lavoro sono dal lunedì al venerdì, dalle 9:00 alle 17:00 EST. Se hai domande o hai bisogno di assistenza, sentiti libero di contattarci durante quegli orari. Come posso aiutarti oggi?</example 2><example 3>H: Sto cercando un'assicurazione auto. Cosa offre Acme?A: Ottima scelta! Le polizze di assicurazione auto di Acme tipicamente includono:- Copertura responsabilità civile: Ti protegge se sei colpevole in un incidente- Copertura collisione: Paga per danni alla tua auto in un incidente- Copertura comprensiva: Copre incidenti non di collisione come furto o vandalismo- Copertura pagamenti medici: Paga per spese mediche dopo un incidente- Copertura automobilista non assicurato/sottoassicurato: Ti protegge da conducenti con assicurazione insufficienteOffriamo anche coperture opzionali come rimborso auto a noleggio, assistenza stradale e sostituzione auto nuova. Vorresti più dettagli su qualcuna di queste coperture, o hai domande specifiche sull'assicurazione del tuo veicolo?</example 3><example 4>H: Vorrei sentire della vostra assicurazione auto elettrica.A: Certamente! La nostra assicurazione auto elettrica è appositamente progettata per soddisfare le esigenze uniche dei proprietari di veicoli elettrici. Oltre a tutte le coperture standard che offriamo per le auto normali, le nostre polizze per auto elettriche includono:- Copertura batteria: Protezione contro danni o degrado del costoso sistema di batterie del tuo veicolo- Pacchetto tecnologico: Copre riparazioni o sostituzione di elettronica avanzata e sistemi informatici di bordo- Copertura stazione di ricarica: Protegge sia le attrezzature di ricarica domestiche che portatili- Protezione cybersecurity: Copertura contro hacking o minacce digitali- Assistenza stradale specializzata: Include traino con pianale per proteggere il sottoscocca del veicoloCopriamo un'ampia gamma di veicoli elettrici, inclusi modelli popolari di Tesla, Rivian, Nissan, Chevrolet e altri. C'è un veicolo elettrico specifico che stai cercando di assicurare, o vorresti più dettagli su qualcuna di queste coperture?</example 4><example 5>H: Vorrei ottenere un preventivo per la mia assicurazione auto.A: Certamente! Sarò felice di aiutarti a ottenere un preventivo per la tua assicurazione auto. Per fornirti un preventivo accurato, dovrò raccogliere alcune informazioni sul tuo veicolo e il conducente principale. Iniziamo con le basi:1. Qual è la marca e il modello del tuo veicolo?2. In che anno è stato prodotto?3. Approssimativamente quanti chilometri hai guidato?4. Qual è l'età del conducente principale?Una volta che fornisci queste informazioni, userò il nostro strumento di preventivazione per generare un preventivo assicurativo personalizz</example 5>"""
Vorrai anche includere eventuali istruzioni importanti che delineano cosa fare e cosa non fare per come Claude dovrebbe interagire con il cliente.
Questo può derivare da guardrail del brand o politiche di supporto.
Copy
ADDITIONAL_GUARDRAILS = """Ti prego di aderire ai seguenti guardrail:1. Fornisci solo informazioni sui tipi di assicurazione elencati nelle nostre offerte.2. Se viene chiesto di un tipo di assicurazione che non offriamo, dichiara educatamente che non forniamo quel servizio.3. Non speculare su future offerte di prodotti o piani aziendali.4. Non fare promesse o entrare in accordi che non sei autorizzato a fare.Fornisci solo informazioni e guida.5. Non menzionare prodotti o servizi di alcun concorrente."""
Ora combiniamo tutte queste sezioni in una singola stringa da usare come nostro prompt.
Aggiungere capacità dinamiche e agentiche con l’uso di strumenti
Claude è capace di intraprendere azioni e recuperare informazioni dinamicamente usando la funzionalità di uso di strumenti lato client. Inizia elencando eventuali strumenti esterni o API che il prompt dovrebbe utilizzare.Per questo esempio, inizieremo con uno strumento per calcolare il preventivo.
Come promemoria, questo strumento non eseguirà il calcolo effettivo, segnalerà solo all’applicazione che uno strumento dovrebbe essere usato con qualsiasi argomento specificato.
Esempio calcolatore preventivo assicurazione:
Copy
TOOLS = [{ "name": "get_quote", "description": "Calcola il preventivo assicurativo basato sull'input dell'utente. Il valore restituito è il premio mensile.", "input_schema": { "type": "object", "properties": { "make": {"type": "string", "description": "La marca del veicolo."}, "model": {"type": "string", "description": "Il modello del veicolo."}, "year": {"type": "integer", "description": "L'anno in cui il veicolo è stato prodotto."}, "mileage": {"type": "integer", "description": "Il chilometraggio del veicolo."}, "driver_age": {"type": "integer", "description": "L'età del conducente principale."} }, "required": ["make", "model", "year", "mileage", "driver_age"] }}]def get_quote(make, model, year, mileage, driver_age): """Restituisce il premio mensile in USD""" # Puoi chiamare un endpoint http o un database per ottenere il preventivo. # Qui, simuliamo un ritardo di 1 secondo e restituiamo un preventivo fisso di 100. time.sleep(1) return 100
È difficile sapere quanto bene funziona il tuo prompt senza distribuirlo in un ambiente di produzione di test e eseguire valutazioni quindi costruiamo una piccola applicazione usando il nostro prompt, l’SDK Anthropic e streamlit per un’interfaccia utente.In un file chiamato chatbot.py, inizia configurando la classe ChatBot, che incapsulerà le interazioni con l’SDK Anthropic.La classe dovrebbe avere due metodi principali: generate_message e process_user_input.
Copy
from anthropic import Anthropicfrom config import IDENTITY, TOOLS, MODEL, get_quotefrom dotenv import load_dotenvload_dotenv()class ChatBot: def __init__(self, session_state): self.anthropic = Anthropic() self.session_state = session_state def generate_message( self, messages, max_tokens, ): try: response = self.anthropic.messages.create( model=MODEL, system=IDENTITY, max_tokens=max_tokens, messages=messages, tools=TOOLS, ) return response except Exception as e: return {"error": str(e)} def process_user_input(self, user_input): self.session_state.messages.append({"role": "user", "content": user_input}) response_message = self.generate_message( messages=self.session_state.messages, max_tokens=2048, ) if "error" in response_message: return f"Si è verificato un errore: {response_message['error']}" if response_message.content[-1].type == "tool_use": tool_use = response_message.content[-1] func_name = tool_use.name func_params = tool_use.input tool_use_id = tool_use.id result = self.handle_tool_use(func_name, func_params) self.session_state.messages.append( {"role": "assistant", "content": response_message.content} ) self.session_state.messages.append({ "role": "user", "content": [{ "type": "tool_result", "tool_use_id": tool_use_id, "content": f"{result}", }], }) follow_up_response = self.generate_message( messages=self.session_state.messages, max_tokens=2048, ) if "error" in follow_up_response: return f"Si è verificato un errore: {follow_up_response['error']}" response_text = follow_up_response.content[0].text self.session_state.messages.append( {"role": "assistant", "content": response_text} ) return response_text elif response_message.content[0].type == "text": response_text = response_message.content[0].text self.session_state.messages.append( {"role": "assistant", "content": response_text} ) return response_text else: raise Exception("Si è verificato un errore: Tipo di risposta inaspettato") def handle_tool_use(self, func_name, func_params): if func_name == "get_quote": premium = get_quote(**func_params) return f"Preventivo generato: ${premium:.2f} al mese" raise Exception("È stato utilizzato uno strumento inaspettato")
Testa la distribuzione di questo codice con Streamlit usando un metodo main. Questa funzione main() configura un’interfaccia di chat basata su Streamlit.Lo faremo in un file chiamato app.py
Copy
import streamlit as stfrom chatbot import ChatBotfrom config import TASK_SPECIFIC_INSTRUCTIONSdef main(): st.title("Chatta con Eva, l'Assistente di Acme Insurance Company🤖") if "messages" not in st.session_state: st.session_state.messages = [ {'role': "user", "content": TASK_SPECIFIC_INSTRUCTIONS}, {'role': "assistant", "content": "Capito"}, ] chatbot = ChatBot(st.session_state) # Visualizza messaggi utente e assistente saltando i primi due for message in st.session_state.messages[2:]: # ignora blocchi di uso strumenti if isinstance(message["content"], str): with st.chat_message(message["role"]): st.markdown(message["content"]) if user_msg := st.chat_input("Digita il tuo messaggio qui..."): st.chat_message("user").markdown(user_msg) with st.chat_message("assistant"): with st.spinner("Eva sta pensando..."): response_placeholder = st.empty() full_response = chatbot.process_user_input(user_msg) response_placeholder.markdown(full_response)if __name__ == "__main__": main()
Il prompting spesso richiede test e ottimizzazione per essere pronto per la produzione. Per determinare la prontezza della tua soluzione, valuta le prestazioni del chatbot usando un processo sistematico che combina metodi quantitativi e qualitativi. Creare una forte valutazione empirica basata sui tuoi criteri di successo definiti ti permetterà di ottimizzare i tuoi prompt.
La Console Claude ora presenta uno strumento di Valutazione che ti permette di testare i tuoi prompt sotto vari scenari.
Quando si tratta di grandi quantità di contesto statico e dinamico, includere tutte le informazioni nel prompt può portare a costi elevati, tempi di risposta più lenti e raggiungimento dei limiti della finestra di contesto. In questo scenario, implementare tecniche di Retrieval Augmented Generation (RAG) può migliorare significativamente le prestazioni e l’efficienza.Utilizzando modelli di embedding come Voyage per convertire le informazioni in rappresentazioni vettoriali, puoi creare un sistema più scalabile e reattivo. Questo approccio consente il recupero dinamico di informazioni pertinenti basate sulla query corrente, piuttosto che includere tutto il possibile contesto in ogni prompt.Implementare RAG per casi d’uso di supporto ricetta RAG ha dimostrato di aumentare l’accuratezza, ridurre i tempi di risposta e ridurre i costi API in sistemi con requisiti di contesto estensivi.
Integrare dati in tempo reale con l’uso di strumenti
Quando si tratta di query che richiedono informazioni in tempo reale, come saldi di conto o dettagli di polizza, gli approcci RAG basati su embedding non sono sufficienti. Invece, puoi sfruttare l’uso di strumenti per migliorare significativamente la capacità del tuo chatbot di fornire risposte accurate e in tempo reale. Ad esempio, puoi usare l’uso di strumenti per cercare informazioni sui clienti, recuperare dettagli degli ordini e cancellare ordini per conto del cliente.Questo approccio, delineato nella nostra ricetta uso di strumenti: agente di servizio clienti, ti permette di integrare senza problemi dati live nelle risposte di Claude e fornire un’esperienza cliente più personalizzata ed efficiente.
Quando si distribuisce un chatbot, specialmente in scenari di servizio clienti, è cruciale prevenire rischi associati a uso improprio, query fuori ambito e risposte inappropriate. Mentre Claude è intrinsecamente resiliente a tali scenari, ecco passi aggiuntivi per rafforzare i guardrail del tuo chatbot:
Verificare incrociando le informazioni: Verifica che le risposte dell’agente si allineino con le politiche della tua azienda e fatti noti.
Evitare impegni contrattuali: Assicurati che l’agente non faccia promesse o entri in accordi che non è autorizzato a fare.
Mitigare i jailbreak: Usa metodi come schermate di innocuità e validazione dell’input per prevenire che gli utenti sfruttino vulnerabilità del modello, mirando a generare contenuto inappropriato.
Evitare di menzionare concorrenti: Implementa un filtro per menzioni di concorrenti per mantenere il focus del brand e non menzionare prodotti o servizi di alcun concorrente.
Mantenere Claude nel personaggio: Previeni che Claude cambi il loro stile di contesto, anche durante interazioni lunghe e complesse.
Rimuovere Informazioni Personalmente Identificabili (PII): A meno che non sia esplicitamente richiesto e autorizzato, rimuovi qualsiasi PII dalle risposte.
Ridurre il tempo di risposta percepito con lo streaming
Quando si tratta di risposte potenzialmente lunghe, implementare lo streaming può migliorare significativamente l’engagement e la soddisfazione dell’utente. In questo scenario, gli utenti ricevono la risposta progressivamente invece di aspettare che l’intera risposta sia generata.Ecco come implementare lo streaming:
Configura il tuo frontend per gestire chunk di testo in arrivo.
Visualizza ogni chunk mentre arriva, simulando digitazione in tempo reale.
Implementa un meccanismo per salvare la risposta completa, permettendo agli utenti di visualizzarla se navigano via e ritornano.
In alcuni casi, lo streaming abilita l’uso di modelli più avanzati con latenze di base più elevate, poiché la visualizzazione progressiva mitiga l’impatto di tempi di elaborazione più lunghi.
Man mano che la complessità del tuo Chatbot cresce, la tua architettura applicativa può evolversi per adattarsi. Prima di aggiungere ulteriori livelli alla tua architettura, considera le seguenti opzioni meno esaustive:
Assicurati di sfruttare al massimo i tuoi prompt e ottimizzare attraverso l’ingegneria dei prompt. Usa le nostre guide di ingegneria dei prompt per scrivere i prompt più efficaci.
Aggiungi strumenti aggiuntivi al prompt (che possono includere catene di prompt) e vedi se puoi raggiungere la funzionalità richiesta.
Se il tuo Chatbot gestisce compiti incredibilmente vari, potresti voler considerare l’aggiunta di un classificatore di intenti separato per instradare la query iniziale del cliente. Per l’applicazione esistente, questo comporterebbe creare un albero decisionale che instraderebbe le query dei clienti attraverso il classificatore e poi a conversazioni specializzate (con il loro proprio set di strumenti e prompt di sistema). Nota, questo metodo richiede una chiamata aggiuntiva a Claude che può aumentare la latenza.
Integrare Claude nel tuo flusso di lavoro di supporto
Mentre i nostri esempi si sono concentrati su funzioni Python richiamabili all’interno di un ambiente Streamlit, distribuire Claude per un chatbot di supporto in tempo reale richiede un servizio API.Ecco come puoi approcciare questo:
Creare un wrapper API: Sviluppa un semplice wrapper API attorno alla tua funzione di classificazione. Ad esempio, puoi usare Flask API o Fast API per avvolgere il tuo codice in un Servizio HTTP. Il tuo servizio HTTP potrebbe accettare l’input dell’utente e restituire la risposta dell’Assistente nella sua interezza. Così, il tuo servizio potrebbe avere le seguenti caratteristiche:
Server-Sent Events (SSE): SSE consente lo streaming in tempo reale delle risposte dal server al client. Questo è cruciale per fornire un’esperienza fluida e interattiva quando si lavora con LLM.
Caching: Implementare il caching può migliorare significativamente i tempi di risposta e ridurre chiamate API non necessarie.
Ritenzione del contesto: Mantenere il contesto quando un utente naviga via e ritorna è importante per la continuità nelle conversazioni.
Costruire un’interfaccia web: Implementa un’interfaccia web user-friendly per interagire con l’agente alimentato da Claude.