# 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.

> Pagina: https://ui.eneawork.it/blog/prompt-engineering-per-agenti
> Markdown: https://ui.eneawork.it/blog/prompt-engineering-per-agenti.md

*2026-11-01*

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.

Il server EneUI in backend/mcp.js espone 9 strumenti e costruisce /agent-skill.md dalla lista viva TOOLS, quindi il file non può annunciare un tool inesistente; verificato il 1 novembre 2026. La risposta initialize contiene già due frasi di istruzioni: Call search_components with the UI you need, then get_component for the install command. Il catalogo servito conta 111.985 componenti e 1.556 blocchi, letti da /api/stats il 1 novembre 2026. Il dataset docs/keyword-data.json non contiene una domanda Stack Overflow con voti su prompt per agenti: i 16 tag campionati il 31 ottobre 2026 non ne includono uno.

## 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

## 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.

## FAQ

### 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.
