Un vincolo è una decisione presa in anticipo

Prima di far costruire qualcosa a qualcuno, l’architetto scrive due cose distinte: le regole, cioè che cosa la soluzione deve fare e in quale ordine, e i vincoli, cioè che cosa non può fare in nessuna circostanza. La guidance di Copilot Studio formalizza questa separazione in tre strati di controllo: un deterministic layer per le azioni critiche o irreversibili, un hybrid (intercept) layer dove l’AI lavora ma un umano o una regola possono intercettare, e un AI orchestrator layer dove il planner è libero entro i guardrail. Il compito dell’architetto non è scrivere il topic: è collocare ogni azione in uno dei tre strati e definire le decision boundaries, cioè quali azioni si eseguono senza conferma, quali richiedono conferma in conversazione e quali un’approvazione offline.

Un caso tipico: una compagnia assicurativa vuole un agente che istruisca le pratiche di rimborso, con il vincolo che nessun pagamento parta senza approvazione umana. La risposta architetturale non è “istruisco il modello a non pagare”: è non esporre affatto quell’azione al planner, oppure incapsularla in un topic deterministico con nodo di conferma.

Tool, knowledge e action: le stesse parole su tre superfici

Qui si concentra la confusione più costosa dell’esame. In Microsoft Copilot Studio i tool sono di tre categorie principali — AI prompts, Model Context Protocol (MCP) e computer use tool — a cui si aggiungono i Power Platform connector. Ognuna porta vincoli propri: per usare MCP la Generative Orchestration deve essere attiva, i topic non possono chiamare direttamente un MCP server e non si possono arricchire le descrizioni dei tool con contesto su quando invocarli; per il computer use, le hosted machine sono Cloud PC di un pool condiviso non Entra-joined, indicate solo per prototipare, mentre in produzione servono bring-your-own machine.

In Microsoft Foundry le stesse parole indicano altro. I Foundry Tools si configurano nel Foundry tool catalog (in preview) e il controllo deterministico sull’invocazione passa dal parametro tool_choice, con valori auto, required e none. La disponibilità di un tool dipende sia dal modello sia dalla regione: se una delle due tabelle dice No, il tool non parte comunque. La knowledge, in Foundry, non è una lista di sorgenti sull’agente ma Foundry IQ, dove una knowledge base raccoglie più knowledge source e le interroga con agentic retrieval, applicando ACL e sensitivity label di Microsoft Purview a query time; alcune funzionalità sono GA, altre restano in preview. La terza superficie, l’estensibilità di Microsoft 365 Copilot con declarative agent, API plugin e connector, ha un perimetro ancora diverso. Quando una domanda d’esame dice “aggiungi un tool”, la prima cosa da determinare è su quale superficie.

Quando la generative AI e le knowledge source servono davvero

La doc è esplicita sul perimetro di RAG in Copilot Studio: è adatto a risposte fattuali, sintesi di policy e FAQ; non è pensato per il confronto integrale di documenti, per la valutazione di conformità di una policy o per ragionamenti complessi su documenti lunghi e non strutturati. Un vincolo del genere si scrive prima, perché decide se il progetto è un agente con knowledge source o è tutt’altro.

Le knowledge source supportate sono Public website, Documents, SharePoint, Dataverse ed enterprise data via connector, e differiscono per autenticazione: SharePoint, Dataverse e i connector usano l’identità Microsoft Entra ID dell’utente, quindi l’agente restituisce solo ciò che quell’utente può leggere. Azure AI Search, invece, non è delegata: nessun security trimming. Se il vincolo è “una filiale non deve vedere le policy HR di un’altra”, è quella differenza a decidere la sorgente.

Sulle impostazioni: Allow ungrounded responses, nella sezione Knowledge della pagina Generative AI, richiede la generative orchestration; spegnendola, l’agente blocca ogni risposta prodotta in un turno in cui non ha usato né knowledge source né tool, e scatta il fallback topic. Non è però una garanzia assoluta, perché il modello può comunque combinare conoscenza generale con ciò che recupera. Use information from the web (la stessa impostazione compare come Web Search nella pagina Overview) apre a tutti i siti pubblici indicizzati da Bing, in parallelo ai siti configurati. Due incompatibilità da ricordare: Official sources non è compatibile con la generative orchestration attiva, e Tenant graph grounding with semantic search richiede che l’autenticazione utente sia impostata su Authenticate with Microsoft.

Il livello in cui il vincolo diventa esigibile

Un vincolo che vive solo nelle istruzioni dell’agente non è un vincolo. In Power Platform le data policy classificano i connector in Business, Non-business e Blocked e includono connector dedicati come Knowledge source with SharePoint and OneDrive in Copilot Studio e Chat without Microsoft Entra ID authentication in Copilot Studio; per allow list più fini si usa l’endpoint filtering. La regola Preview and experimental AI models, pubblicata su un environment group, blocca l’impostazione a livello di ambiente e impedisce ai system administrator dei singoli ambienti di modificarla. In Foundry lo stesso mestiere lo fanno le policy built-in Foundry model deployments should only use approved models e Foundry model deployments should meet eligibility requirements, valutate al momento del deployment.

L’esame verifica soprattutto che non si confondano piani diversi. Un guardrail di Foundry è una collezione di control con punti di intervento — User input, Tool call e Tool response (in preview, solo agenti) e Output — e azioni Annotate oppure Annotate and block; il guardrail dell’agente sovrascrive integralmente quello del modello sottostante. L’abuse monitoring è un’altra cosa ancora, e la doc segnala che la generative AI di Copilot Studio lo disattiva perché già coperta da altri livelli. Guardrail, abuse monitoring, DLP e Azure Policy rispondono a domande diverse: la risposta giusta nomina il livello dove il vincolo viene davvero applicato.