Passa al contenuto principale

Ruoli System, User e Assistant

Principiante
What you'll learn
  • I tre ruoli su cui è costruita ogni conversazione con l'AI — e a cosa serve ciascuno
  • Perché il system prompt è il punto a massima leva per orientare il comportamento
  • Come la stessa idea si presenta nelle app di chat, in Claude Code e nell'API
  • Una trappola comune: seppellire le regole in un turno user invece che nel messaggio system

Ogni conversazione con l'AI è costruita a partire da messaggi, e ogni messaggio ha un ruolo. Comprendere i tre ruoli spiega come orientare il modello — e perché alcune istruzioni attecchiscono mentre altre no.

I tre ruoli

Guided walkthrough1 of 3
  1. Configurazione di alto livello per l'intera conversazione: chi deve essere il modello, le regole, il formato dell'output. Impostato una volta, vale per ogni turno che segue.

Perché il system prompt è la tua leva più potente

Il messaggio system inquadra tutto ciò che segue. È dove imposti il ruolo del modello, gli standard, il tono e le regole ferree — e il modello gli dà molto peso. Se vuoi un comportamento coerente lungo un'intera conversazione (o app), mettilo qui, non sepolto in un turno user.

Stessa idea, tre superfici:

SuperficieCosa svolge il ruolo di system prompt
App di chat (Claude.ai, ChatGPT, Gemini)Le istruzioni personalizzate del tuo account
Claude CodeCLAUDE.md alla radice del progetto
L'APIIl parametro system nella richiesta (prima chiamata)

Un before/after concreto

L'errore più comune è mettere le regole permanenti in ogni turno user invece che nel messaggio system. Guarda cosa cambia.

Prima — regole ficcate in un turno user, ripetute ogni volta:

Regole nel turno user (fragile)

user: You are a precise financial analyst. Always show your assumptions.
Never invent numbers. Now: summarize this 10-K.
[10-K text]

Dopo — regole sollevate nel messaggio system, i turni user restano puliti:

Regole nel messaggio system (durevoli)

system: You are a precise financial analyst. Always show your assumptions.
Never invent numbers. Cite the section of the filing for each claim.

user: Summarize this 10-K.
[10-K text]

user: Now flag the risks.

La versione "dopo" tiene il comportamento stabile lungo i turni, dimezza i token che rispedisci a ogni turno e rende l'app più facile da cambiare — modifichi il brief permanente in un solo posto.

Mettere parole in bocca all'assistant

Una mossa sottoutilizzata: puoi anteporre un turno assistant come esempio few-shot o primer di formato, e il modello continuerà in quello stile. È così che template e rubriche vengono imposti senza un prompt enorme.

Primare l'assistant a seguire un formato

system: You are a code reviewer. Return only the sections below.

user: Review this pull request. [diff]

assistant: ## Summary
- 
## Risks
- 
## Suggested changes
-

Il modello tratta il turno assistant che hai seminato come una risposta precedente e completa nella stessa forma.

Errori comuni

Pro tip
  • Regole in ogni turno user — metti le regole permanenti una volta nel messaggio system; usa i turni user per il task effettivo.
  • Contraddirsi lungo i turni — un'istruzione user successiva ed esplicita può prevalere su una system vaga. Sii coerente.
  • Trattare il ruolo assistant come sola lettura — puoi seminarlo per primare formato, tono o un pattern few-shot.
  • Sovraccaricare il system prompt con fatti che cambiano — metti i fatti volatili (documenti, dati, stato attuale) nel turno user o nel contesto di retrieval, non nel messaggio system.

Verifica

Verifica

0/4
  1. Dove dovrebbero vivere le regole permanenti come tono, formato e ruolo?
  2. In Claude Code, quale file svolge lo stesso ruolo del parametro system dell'API?
  3. Puoi scrivere tu del testo in un turno assistant prima che il modello risponda?
  4. Un turno user ora dice qualcosa che contraddice il system prompt. Cosa tende ad accadere?
Key takeaways
  • Tre ruoli: system imposta il brief, user chiede a ogni turno, assistant risponde (o viene seminato).
  • Il system prompt è la leva a massimo effetto — metti lì le regole permanenti, una sola volta.
  • Le istruzioni personalizzate delle chat, CLAUDE.md e il campo `system` dell'API sono la stessa idea su tre superfici.
  • I fatti volatili vanno nei turni user o nel retrieval, non nel messaggio system.

Prossimi passi