Ruoli di sistema, utente e assistente a confronto
Comprenda i tre ruoli dei messaggi nelle moderne chat API e il loro effetto su ciò che il modello considera attendibile e a cui obbedisce.
Ruoli di sistema, utente e assistente a confronto è una lezione AI Agents gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento AI Agents, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso AI Agents include 4 lezioni in totale.
Tre ruoli, una conversazione
Ogni API di chat utilizza tre ruoli per i messaggi:
- system — meta-istruzioni, persona e regole
- user — input proveniente dall'utente o da un sistema upstream
- assistant — output del modello
Perché esistono i ruoli
I modelli vengono addestrati a trattare questi ruoli in modo diverso. Il ruolo di sistema riceve il livello di fiducia più alto; i messaggi dell'utente quello più basso.
È così che il modello sa che le Sue istruzioni hanno la precedenza su ciò che un attaccante inserisce nell'input dell'utente.
Lo slot di sistema è a Sua disposizione
Il messaggio di sistema è il Suo contratto con il modello. Inserisca qui:
- Identità e obiettivo
- Regole vincolanti (non rivelare mai X, fare sempre Y)
- Requisiti per il formato dell'output
- Politica di utilizzo degli strumenti
Mantenga stabile il sistema e dinamico l'utente
Il messaggio di sistema dovrebbe cambiare raramente durante una sessione. Tutto ciò che cambia a ogni turno appartiene ai messaggi dell'utente.
Questo schema consente anche il prompt caching: consulti il corso Ottimizzazione dei costi.
Esempio: un agente per l'assistenza clienti
Una configurazione tipica:
messages = [
{'role': 'system', 'content': '''
You are SupportBot, the customer-support agent for Acme Corp.
You help with order status, returns, and product info.
You never share internal pricing or roadmap info.
Answer in 2-3 sentences. Use the search_orders tool when asked about orders.
'''},
{'role': 'user', 'content': 'Where is my order #1234?'},
]
for m in messages:
print(f"[{m['role']}] {m['content'].strip()}")
Più messaggi di sistema
La maggior parte delle API supporta un solo messaggio di sistema. Se deve combinare più livelli di istruzioni, li concateni oppure utilizzi sezioni XML separate all'interno del contenuto di sistema.
Messaggi dell'assistant e memoria
I turni precedenti dell'assistant fanno parte del contesto. Il modello vede i propri output precedenti e mantiene la coerenza.
Per questo motivo, un messaggio del modello come "sì, seguirò le Sue regole" in un turno precedente lo incoraggia a seguirle effettivamente.
Precompilare il turno dell'assistant (Anthropic)
Anthropic consente di iniziare il messaggio dell'assistant con del testo che il modello continuerà:
messages = [
{'role': 'user', 'content': 'Return a JSON object with name and age.'},
{'role': 'assistant', 'content': '{'}
]
# The model continues from '{', forcing JSON output.
for m in messages:
print(f"{m['role']}: {m['content']}")
print("The model continues from '{', forcing JSON output.")
Il ruolo tool
Le API moderne aggiungono un quarto ruolo: tool (OpenAI) oppure blocchi di contenuto con tool_result (Anthropic).
Una volta eseguita una funzione richiesta dal modello, aggiunga un messaggio tool.
Errori nella combinazione dei ruoli
Bug comuni:
- Inserire i risultati degli strumenti nei messaggi dell'utente: confonde la gerarchia della fiducia
- Dimenticare di inviare tool_call_id: errori dell'API
- Due messaggi consecutivi dell'utente o dell'assistant: la maggior parte delle API li rifiuta
La gerarchia delle istruzioni
OpenAI pubblica una specifica del modello che stabilisce:
"In caso di conflitto, il modello dovrebbe seguire l'istruzione più in alto nella gerarchia: piattaforma > sviluppatore (sistema) > utente > strumento."
Anthropic fornisce indicazioni simili. Lo slot di sistema ha la precedenza.
Gli slot dei ruoli
Dove dovrebbe inserire una regola vincolante come "non rivelare mai i prezzi interni"?
Riepilogo
Tre ruoli, tre livelli di fiducia. Utilizzi il sistema per le regole, l'utente per l'input e l'assistant per riprodurre le risposte precedenti. Aggiunga messaggi tool dopo le chiamate di funzione.
Domande Frequenti
La lezione «Ruoli di sistema, utente e assistente a confronto» è gratuita?
Sì — il testo completo di «Ruoli di sistema, utente e assistente a confronto» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso AI Agents, passa a CoddyKit PRO. Il corso AI Agents include 4 lezioni in totale.
Cosa imparerò in «Ruoli di sistema, utente e assistente a confronto»?
Comprenda i tre ruoli dei messaggi nelle moderne chat API e il loro effetto su ciò che il modello considera attendibile e a cui obbedisce. Eserciti AI Agents con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare AI Agents?
Non è richiesta alcuna esperienza precedente. AI Agents su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.
Quanto tempo richiede la lezione «Ruoli di sistema, utente e assistente a confronto»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione AI Agents?
Sì. Ogni lezione AI Agents include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Zero-shot, few-shot e chain-of-thought
- Ruoli di sistema, utente e assistente a confronto
- Formattazione dell'output (JSON, XML, Markdown)
- Come evitare la prompt injection negli input