Condividi tramite


Componenti di runtime dell'agente

I componenti di runtime dell'agente sono gli oggetti principali, ovvero agenti, conversazioni e risposte, che supportano interazioni con stato e a più turni nel servizio Microsoft Foundry Agent. Insieme, questi componenti consentono di generare output, rendere persistente lo stato tra turni e compilare applicazioni conversazionali.

Questo articolo illustra i ruoli di un agente, una conversazione e una risposta e spiega come interagiscono durante la generazione della risposta.

Prerequisiti

Come interagiscono i componenti di runtime

Quando si lavora con un agente, si segue un modello coerente:

  • Creare un agente: definire un agente per iniziare a inviare messaggi e ricevere risposte.
  • Creare una conversazione (facoltativa): usare una conversazione per mantenere la cronologia tra turni. Se non si usa una conversazione, portare avanti il contesto usando l'output di una risposta precedente.
  • Generare una risposta: l'agente elabora gli elementi di input nella conversazione ed eventuali istruzioni fornite nella richiesta. L'agente potrebbe aggiungere elementi alla conversazione.
  • Controllare lo stato della risposta: monitorare la risposta fino al termine(in particolare in modalità streaming o in background).
  • Recuperare la risposta: visualizzare la risposta generata all'utente.

Il diagramma seguente illustra come questi componenti interagiscono in un ciclo tipico dell'agente.

Diagramma che mostra il ciclo di runtime dell'agente: una definizione dell'agente e la generazione della risposta del feed della cronologia delle conversazioni facoltativa, che può chiamare gli strumenti, accodare gli elementi nella conversazione e produrre elementi di output visualizzati all'utente.

Si specifica l'input dell'utente (e facoltativamente la cronologia delle conversazioni), il servizio genera una risposta (incluse le chiamate degli strumenti quando configurate) e gli elementi risultanti possono essere riutilizzati come contesto per il turno successivo.

Che cos'è un agente?

Un agente è una definizione di orchestrazione persistente che combina modelli di intelligenza artificiale, istruzioni, codice, strumenti, parametri e controlli facoltativi di sicurezza o governance.

Archiviare gli agenti come asset nominati e versionati in Microsoft Foundry. Durante la generazione della risposta, la definizione dell'agente funziona con la cronologia di interazione (conversazione o risposta precedente) per elaborare e rispondere all'input dell'utente.

Che cos'è una conversazione?

Una conversazione gestisce automaticamente lo stato, quindi non è necessario passare manualmente gli input per ogni turno.

Le conversazioni sono oggetti durevoli con identificatori univoci. Dopo la creazione, è possibile riutilizzarli tra le sessioni.

Gli elementi delle conversazioni archiviate possono includere messaggi, chiamate agli strumenti, output degli strumenti e altri dati.

Quando usare una conversazione

Utilizza una conversazione quando vuoi:

  • Continuità a più turni: mantenere una cronologia stabile tra turni senza ricompilare manualmente il contesto.
  • Continuità tra sessioni: riutilizzare la stessa conversazione per un utente che torna in un secondo momento.
  • Debug più semplice: controllare cosa è successo nel tempo (ad esempio, chiamate e output degli strumenti).

Se non si crea una conversazione, è comunque possibile creare flussi a più turni usando l'output di una risposta precedente come punto di partenza per la richiesta successiva. Questo approccio offre maggiore flessibilità rispetto al modello basato su thread precedente, in cui lo stato è strettamente associato agli oggetti thread. Per indicazioni sulla migrazione, vedere Eseguire la migrazione ad Agents SDK.

Elementi della conversazione

Conversazioni archivia elementi anziché solo messaggi di chat. Gli elementi acquisiscono ciò che è successo durante la generazione della risposta, in modo che il turno successivo possa riutilizzare tale contesto.

I tipi di elementi comuni includono:

  • Elementi del messaggio: messaggi utente o assistente.
  • Elementi di chiamata dello strumento: record di chiamate dello strumento tentate dall'agente.
  • Elementi di output dello strumento: output restituiti dagli strumenti (ad esempio, risultati di recupero).
  • Elementi di output: il contenuto della risposta visualizzato all'utente.

Per esempi che illustrano il funzionamento delle conversazioni e delle risposte nel codice, vedere Creare e usare la memoria nel servizio foundry Agent.

Funzionamento delle risposte

La generazione della risposta richiama l'agente. L'agente usa la configurazione e la cronologia fornita (conversazione o risposta precedente) per eseguire attività chiamando modelli e strumenti. Nell'ambito della generazione della risposta, l'agente aggiunge elementi alla conversazione.

È anche possibile generare una risposta senza definire un agente. In questo caso, è possibile specificare tutte le configurazioni direttamente nella richiesta e usarle solo per tale risposta. Questo approccio è utile per scenari semplici con strumenti minimi.

Streaming e risposte in background

Alcune modalità di generazione della risposta restituiscono risultati in modo incrementale (streaming) o completano in modo asincrono (in background). In questi casi, in genere si monitora la risposta fino al termine e quindi si utilizzano gli elementi di output finali.

Per informazioni dettagliate sulle modalità di risposta e su come usare gli output, vedere API delle risposte.

Sicurezza e gestione dei dati

Poiché le conversazioni e le risposte possono rendere persistenti i contenuti e gli output degli strumenti forniti dall'utente, trattare i dati di runtime come i dati dell'applicazione:

  • Evitare di archiviare i segreti nelle richieste o nella cronologia delle conversazioni. Usare invece connessioni e archivi segreti gestiti, ad esempio Configurare una connessione key vault.
  • Usare privilegi minimi per l'accesso agli strumenti. Quando uno strumento accede a sistemi esterni, l'agente può potenzialmente leggere o inviare dati tramite tale strumento.
  • Prestare attenzione ai servizi non Microsoft. Se l'agente chiama strumenti supportati da servizi non Microsoft, alcuni dati potrebbero essere trasmessi a tali servizi. Per considerazioni correlate, vedere Scoprire gli strumenti nei Foundry Tools.

Limiti e vincoli

I limiti possono dipendere dal modello, dall'area geografica e dagli strumenti collegati( ad esempio, la disponibilità di streaming e il supporto degli strumenti). Per la disponibilità e i vincoli correnti per le risposte, vedere API Risposte.