AI & MCP
Prompt per agenti, non per chat: contratto, sequenza e stop
Un prompt per un agente è un contratto operativo: strumenti, ordine, formato e criteri di stop. Il tono di voce viene dopo, e spesso non serve.
In sintesi
- Un prompt da chat descrive un tono; un prompt da agente descrive un processo verificabile.
- La sequenza degli strumenti va scritta: senza ordine il modello improvvisa chiamate.
- Il prompt sta in un file versionato, così una modifica si legge come un diff.
Un prompt per un agente è un contratto operativo: dice quali strumenti esistono, in che ordine usarli, come si riconosce un risultato valido e quando fermarsi. Il tono di voce viene dopo, e spesso non serve affatto.
Perché una chat non basta
In una chat la risposta è il prodotto. In un agente la risposta è un passo intermedio: il modello chiama uno strumento, legge il risultato e decide. Il prompt deve quindi descrivere cosa conta come prova, non solo come suonare.
Quattro blocchi
- Perimetro: cosa l'agente può toccare e cosa deve rifiutare, con i permessi citati per nome.
- Sequenza: l'ordine degli strumenti, per esempio design system, ricerca, lettura, composizione.
- Formato: la forma dell'output atteso, inclusi i campi obbligatori come URL e comando.
- Stop: le condizioni per fermarsi e chiedere, invece di provare un'altra variante.
La sequenza è parte del prompt
EneUI pubblica la sequenza in /AGENT.md: get_design_system, poi search_components o search_blocks, poi get_component, poi compose_page, e get_page quando serve prosa. Scritta così, la scelta non dipende dall'umore del modello.
curl -s https://ui.eneawork.it/agent-skill.md | head -40
Il file si legge una volta e resta nel contesto. È preferibile a un prompt incollato nella configurazione, perché la fonte è la stessa lista di strumenti che il server espone: se un tool cambia nome, il testo cambia con lui.
Il prompt vive nel repository
Un prompt in un file versionato si può rivedere, confrontare e ripristinare. Un prompt nel pannello di un fornitore no. La differenza si vede al primo errore: con il file si legge il diff tra la versione che funzionava e quella rotta.
Misurare invece di sperare
Ogni chiamata al server EneUI scrive una riga mcp_call con nome del tool e piano, quindi il tasso di chiamate fallite per tool è un dato osservabile. Un prompt si valuta su quello, non su un'impressione dopo tre prove.
Il catalogo
Un componente che un agente può proporre è AI prompt box di Jahed; gli altri stanno tra i 111.985 componenti e i 1.556 blocchi. L'endpoint è su /mcp e il flusso lato agente su /agents.
La limitazione
Un prompt non è un permesso. Le istruzioni in initialize sono due frasi e il modello può ignorarle; il server non può imporre l'ordine delle chiamate, perché non vede la conversazione. L'unica garanzia sta nel client che limita gli strumenti e i comandi.
Dove continuare
La forma del file è in anatomia di una agent skill, il contesto è in che cos'è un agente AI e gli strumenti in progettare un tool MCP. Per i rischi di esecuzione leggi sicurezza di un agente di coding.
Domande frequenti
Qual è la differenza tra prompt per chat e prompt per agente?
Il primo descrive una risposta, il secondo un processo. Un prompt per agente elenca strumenti, ordine delle chiamate, formato dell'output e condizioni di stop, perché la risposta è solo un passo intermedio.
Serve scrivere la sequenza degli strumenti?
Sì. Senza ordine il modello prova combinazioni a caso e consuma chiamate. EneUI scrive la sequenza in /AGENT.md: design system, ricerca, lettura, composizione, poi pagina.
Dove va tenuto il prompt di sistema?
In un file versionato nel repository, così ogni modifica è un diff leggibile. Un prompt in un pannello esterno non si confronta e non si ripristina con la stessa facilità.
Come si misura se un prompt funziona?
Con il tasso di chiamate fallite per strumento e il numero di passi per completare un task. Il server EneUI registra una riga mcp_call per chiamata, con nome del tool e piano.
Un prompt può impedire un comando pericoloso?
No. Il prompt è testo e il modello può ignorarlo; l'impedimento sta nei permessi del client. Il server non vede la conversazione e non può bloccare un comando eseguito altrove.