Crea team di agenti guidati da supervisori con intelligenza artificiale selezionata

Crea un team agente Select AI guidato dal supervisore che instrada le richieste in più fasi ad agenti lavoratori specializzati e restituisce una risposta coordinata.

Un agente supervisore Select AI è l'oggetto Select AI agent che controlla un team agente guidato dal supervisore in runtime. L'oggetto agente supervisore riceve il prompt utente, seleziona la coppia agente-task lavoratore che deve gestire ogni task secondario, passa il contesto richiesto, attende il risultato del lavoratore e continua a selezionare la coppia agente-task successiva fino a quando non può restituire una risposta finale.

L'immagine seguente illustra il pattern Seleziona agente supervisore AI. Descrizione di select-ai-supervisor-agent-pattern.png

Quando utilizzare un agente supervisore

Utilizzare il pattern supervisore quando il team deve determinare i lavoratori o l'ordine di esecuzione appropriati in fase di esecuzione. Un team guidato dal supervisore può aiutare quando una richiesta richiede lavoratori diversi, in ordini diversi, a seconda dell'intento dell'utente e dei risultati intermedi. Il supervisore decide quale coppia agente-task lavoratore chiamare successivamente, passa un subtask autonomo, attende il risultato e continua fino a quando non può produrre una risposta finale coordinata.

Un agente supervisore è adatto per:

Informazioni su Seleziona team agente supervisore AI

Scopri come un team agente supervisore Select AI coordina gli agenti dei lavoratori, controlla l'instradamento dei task, conserva il contesto e restituisce una risposta finale.

Un team agente supervisore è un pattern di orchestrazione per un team agente Select AI. In tale team, un oggetto agente Select AI viene identificato come supervisore impostando il relativo attributo supervisor su true e i nomi del team che l'oggetto nell'attributo supervisor_agent. Gli agenti dei lavoratori mantengono responsabilità specifiche, come la ricerca dei conti, il recupero dei pagamenti, la generazione di report o la consegna delle notifiche. L'oggetto agente supervisore decide quale lavoratore chiamare, prepara una richiesta autonoma per tale lavoratore e aggiunge il risultato del lavoratore al contesto del supervisore.

L'elaborazione del task secondario è sequenziale: un task secondario del lavoratore deve terminare prima che il supervisore deleghi il task secondario successivo. Il supervisore attende il risultato del lavoratore, aggiunge il risultato al contesto del supervisore, quindi decide se chiamare un altro lavoratore, richiedere ulteriori informazioni, spiegare un errore del lavoratore o restituire la risposta finale. Gli agenti dei lavoratori utilizzano thread di conversazione separati, pertanto il supervisore deve includere un contesto sufficiente in ogni richiesta delegata.

La funzione aggiunge attributi correlati al supervisore alle API DBMS_CLOUD_AI_AGENT esistenti. Utilizzare l'attributo agente supervisor per contrassegnare un oggetto agente Select AI come supervisore. Utilizzare l'attributo team supervisor_agent per assegnare un nome all'oggetto agente supervisore per un team. Un team supervisionato contiene un oggetto agente supervisore e una o più coppie agente-task lavoratore. L'attributo team agents elenca le coppie agente-task lavoratore disponibili per la delega. Ogni task lavoratore può utilizzare i propri strumenti configurati. L'oggetto agente supervisore delega alle coppie agente-task lavoratore; lo strumento delega gestito da Oracle non è configurabile dall'utente.

Per un esempio end-to-end relativo all'utilizzo di un agente supervisore, vedere Esempio: creazione ed esecuzione di un team supervisore supporto clienti.

Seleziona architettura agente supervisore AI

Un team agente Select AI supervisionato viene eseguito come un singolo team con un oggetto agente supervisore e una o più coppie agente-task lavoratore. La definizione del team assegna un nome all'oggetto agente supervisore in supervisor_agent; l'elenco dei lavoratori assegna un nome alle coppie agente-task a cui il supervisore può delegare. Gli strumenti vengono configurati nei task dei lavoratori e non nel team.

In un team guidato dal supervisore, il processo è ancora impostato su sequenziale, ma l'ordine del lavoratore configurato non è il piano del flusso di lavoro. Il supervisore seleziona dinamicamente una coppia agente-task lavoratore alla volta, attende il risultato e decide se è necessario un altro lavoratore.

L'oggetto agente supervisore utilizza internamente uno strumento delega gestito da Oracle per delegare a una coppia agente-task lavoratore. Lo strumento delega fa parte del modello di esecuzione del supervisore e non è elencato come attributo team configurabile dall'utente.

Il supervisore è proprietario della richiesta complessiva e viene eseguito nel proprio thread di conversazione. Ogni agente operativo viene eseguito in un thread di conversazione separato. Un lavoratore non eredita il contesto completo del supervisore. Il supervisore deve creare una richiesta di task secondari autonoma per ogni lavoratore. Il lavoratore restituisce solo il risultato finale al supervisore. Il supervisore aggiunge il risultato restituito al proprio contesto e decide l'azione successiva.

Segue la descrizione dell'immagine

Fase Input Elaborazione in corso Output
Sottomissione della richiesta Richiesta in lingua naturale dell'utente sottomessa al team Il team supervisionato attiva prima l'agente supervisore. Il thread di conversazione del supervisore viene avviato per la richiesta.
Ciclo di ragionamento supervisore Richiesta utente e contesto supervisore corrente Il supervisore decide se dispone di informazioni sufficienti per rispondere o se deve delegare un task secondario. Risposta finale o richiesta di un lavoratore delegato.
Delegazione task Coppia agente-task lavoratore selezionata e contesto subtask autonomo Il supervisore chiama lo strumento di delega gestito da Oracle per la coppia agente-task lavoratore selezionata e attende. Il task del lavoratore inizia nel thread di conversazione.
Elaborazione task Configurazione task secondario e task lavoratore delegati Il lavoratore utilizza gli strumenti configurati nel task. Se richiede l'input dell'utente, il team attende la risposta dell'utente. Risultato del lavoratore, risultato dell'errore del lavoratore o richiesta di input umano.
Continuazione supervisore Risultato lavoratore restituito, risultato errore o risposta utente Il supervisore aggiunge il risultato restituito al contesto e continua il ragionamento. L'errore segue lo stesso percorso di ritorno del successo; il supervisore decide se riprovare, chiamare un altro lavoratore, richiedere ulteriori informazioni, spiegare l'errore o restituire la risposta finale.  

Funzionamento runtime nei team con supervisore

Scopri come i team guidati dai supervisori si mettono in pausa per l'input degli utenti, gestiscono i guasti dei lavoratori e passano il contesto autonomo tra le conversazioni tra supervisore e lavoratore.

Gestione input umano

Quando un lavoratore richiede l'input umano, l'intero team guidato dal supervisore viene sospeso in attesa della risposta dell'utente. L'utente continua nella stessa conversazione per fornire le informazioni richieste.

Dopo la risposta dell'utente, il lavoratore riprende, completa il task e restituisce il risultato al supervisore. Il supervisore decide quindi se delegare un altro task secondario o restituire la risposta finale.

Gestione degli errori

Gli errori del lavoratore seguono lo stesso percorso di restituzione dei risultati riusciti. Il supervisore riceve il risultato dell'errore e decide l'azione successiva, ad esempio il nuovo tentativo del task, la chiamata di un'altra coppia agente-task del lavoratore, la richiesta di input aggiuntivo o la restituzione di una risposta finale.

Modello di passaggio contesto

Ogni lavoratore opera nel proprio thread di conversazione e non eredita il contesto completo del supervisore. Il supervisore deve fornire una richiesta di task secondari autonoma che includa tutte le informazioni necessarie affinché il lavoratore possa completare il task.

Casi d'uso per agente supervisore

Selezionare i team AI guidati dal supervisore quando una richiesta può richiedere più agenti specializzati, instradamento condizionale o una risposta messa in attesa.

Vantaggi

Utilizza team guidati dai supervisori per instradare le richieste in più fasi, mantenere gli agenti dei lavoratori concentrati e registrare i percorsi di delega per l'attività del framework Seleziona agente AI.

Come utilizzare i team agente supervisore AI selezionati

Creare l'agente per fungere da supervisore e designarlo come supervisore, creare agenti lavoratore, aggiungere il supervisore agli attributi del team ed eseguire prompt utente nei confronti del team.

  1. Concedere i privilegi richiesti. L'utente del database deve disporre del privilegio EXECUTE su DBMS_CLOUD_AI_AGENT, dell'accesso alle credenziali richieste e delle ACL di rete necessarie per le chiamate del provider esterno. Per ulteriori informazioni, vedere Prerequisiti per l'uso di Seleziona agente AI.
  2. Creare gli strumenti utilizzati dagli agenti operativi, ad esempio le funzioni PL/SQL per i task di ricerca, aggiornamento, notifica o generazione report. Per ulteriori informazioni, vedere DBMS_CLOUD_AI_AGENT Package ed Esempi di utilizzo di Select AI Agent.
  3. Creare agenti e task lavoratore. Mantieni ciascun ruolo lavoratore specifico in modo che il supervisore possa selezionare il lavoratore giusto per ogni task secondario. Vedere CREATE_TASK Procedura e CREATE_AGENT Procedura.
  4. Creare un agente supervisore con l'attributo supervisor impostato su true. Vedere CREATE_AGENT Attributi.
  5. Creare il team con supervisor_agent impostato sul nome dell'agente supervisore e agents impostato sulle coppie agente-task lavoratore. Vedere CREATE_TEAM Procedura.
  6. Impostare il team per la sessione e sottomettere i prompt in linguaggio naturale con il framework Seleziona agente AI. Vedere SET_TEAM Function.
  7. Esaminare le viste della cronologia per confermare l'instradamento dei lavoratori, i risultati restituiti, gli errori dei lavoratori e gli stati di attesa a input umano. Se un task del lavoratore richiede l'input umano, il team viene sospeso fino a quando l'utente non risponde. L'intero team guidato dal supervisore si ferma durante questo periodo. Continuare la stessa conversazione per fornire l'input richiesto. Dopo la risposta dell'utente, il lavoratore riprende, completa il task e restituisce il risultato al supervisore. Il supervisore decide quindi l'azione successiva. Vedere DBMS_CLOUD_AI_AGENT Views.

Non includere il supervisore selezionato dall'array del lavoratore agents. Il supervisore controlla il team, mentre l'array elenca solo le coppie agente-task lavoratore disponibili per la delega. Un task lavoratore può utilizzare i propri strumenti configurati; l'attributo team non elenca i nomi degli strumenti.

Nota: i team guidati dai supervisori elaborano i task secondari dei lavoratori in modo sequenziale. Il supervisore attende il risultato di ciascun lavoratore prima di delegare un altro task secondario. L'esecuzione del worker parallelo non fa parte di questa release.

Configurazioni team agente supervisore consentite

Rivedi le configurazioni e le linee guida supportate per la definizione di supervisori, coppie agente-task lavoratore, strumenti ed elaborazione in un team agente Select AI.

Configurazione Consentito? Linee guida
supervisor_agent nomina un agente creato con supervisor impostato su true Sì Utilizzare questo pattern per i team supervisionati.
Il supervisore selezionato è elencato anche nell'array agents del worker N. Impossibile includere un agente designato come supervisore nell'array di lavoratori. La convalida della progettazione rifiuta gli agenti abilitati per il supervisore nell'array agents.
Lo stesso agente lavoratore è assegnato a più task Sì Lo stesso agente può eseguire più task assegnando lo stesso agente a nomi di task diversi.
Gli strumenti sono elencati nell'array team agents N. Definire gli strumenti per i task con CREATE_TASK. L'attributo team elenca le coppie agente-task del lavoratore, non i nomi degli strumenti.
supervisor_agent indica un agente che non dispone di "supervisor": true N. Selezionare un agente con supervisor impostato su true. Se l'agente denominato non è un supervisore, la creazione o la convalida del team non riesce; controllare i dettagli dell'errore del database restituito.
Sono stati definiti più supervisori per un team N. Un team supporta esattamente un supervisore. Definire un singolo agente con "supervisor": true e fare riferimento a esso in supervisor_agent.
Un supervisore delega a un altro team guidato dal supervisore N. La delega supervisore-supervisore non è supportata in questa release. Un supervisore può delegare solo agli agenti lavoratori dello stesso team.
Un agente designato come supervisore in un team può essere utilizzato come lavoratore in un altro team Sì È possibile riutilizzare lo stesso agente supervisore in più team con ruoli diversi (supervisore o lavoratore). Definire il ruolo tramite la configurazione del team.

Nota:

Risoluzione dei problemi relativi ai team guidati dal supervisore

Identifica le cause e le correzioni probabili per i problemi comuni di configurazione, delega, contesto, notifica e input umano del team guidato dal supervisore Select AI.

Creazione team non riuscita

Problema: la creazione del team non riesce.

Probabile causa: supervisor_agent non assegna un nome a un agente con "supervisor": true.

Correggi: ricreare l'agente con l'attributo del supervisore, quindi creare di nuovo il team.

Il supervisore chiama il lavoratore sbagliato

Problema: il supervisore chiama il lavoratore sbagliato.

Probabile causa: le descrizioni dei task del lavoratore sono troppo vaghe o sovrapposte.

Correggi: rendere le istruzioni dei task più specifiche e reciprocamente esclusive. Il supervisore seleziona le coppie agente-task lavoratore in base ai nomi degli agenti, ai nomi dei task, alle descrizioni e alle istruzioni dei task.

Utilizzare le linee guida riportate di seguito per definire i task dei lavoratori.

Un lavoratore non ha contesto

Problema: un lavoratore non dispone di contesto.

Probabile causa: il supervisore non ha trasmesso dettagli sufficienti nel task secondario delegato.

Correggi: aggiunge istruzioni che indicano al supervisore di inviare task secondari autonomi. Definire un ruolo supervisore chiaro per guidare il comportamento della delega.

Esempio:

{
  "profile_name": "<AI_PROFILE_NAME>",
  "supervisor": true,
  "role": "You orchestrate requests. Choose the appropriate worker agent-task pair for each subtask. Send self-contained requests with all required context. Return one concise final answer."
}

E-mail non inviata

Problema: il messaggio di posta elettronica non viene inviato.

Probabile causa: la configurazione della credenziale, dell'ACL di rete, del mittente o del destinatario è mancante o errata.

Correzione: verificare le impostazioni delle credenziali SMTP, dell'ACL, del mittente e del destinatario.

Il prompt attende l'input utente

Problema: il prompt attende l'input dell'utente.

Probabile causa: un supervisore o un lavoratore ha richiesto la conferma umana.

Correggi: continuare la stessa conversazione con le informazioni richieste.

Confronta pattern flusso di lavoro sequenziale e supervisore

Selezionare il pattern Seleziona team agente AI appropriato in base al modo in cui il team deve selezionare i lavoratori e coordinare i task.

Selezionare il pattern di flusso di lavoro sequenziale quando il team deve eseguire coppie agente-task configurate in un ordine noto. Selezionare il pattern supervisore quando il team deve selezionare i lavoratori in fase di runtime in base alla richiesta, ai risultati intermedi, agli errori o alle richieste di ulteriori informazioni.

Caratteristica Pattern flusso di lavoro sequenziale Pattern supervisore
Esegui piano Fisso. L'array agents definisce l'ordine del workflow. Variabile. Il supervisore seleziona il lavoratore successivo in fase di runtime.
Punto di accesso Prima coppia agente-task configurata. Agente supervisore.
Selezione task Il team esegue le coppie agente-task configurate in ordine. Il supervisore chiama uno o più lavoratori in base alle esigenze.
Passaggio al contesto Le dipendenze dei task passano l'output del task precedente ai task a valle. Il supervisore invia a ogni lavoratore un task secondario autonomo.
Più adatto per Pipeline prevedibili con fasi note. Richieste variabili che richiedono un instradamento condizionale o un coordinamento.
Esecuzioni parallele Non supportato. I task vengono eseguiti uno alla volta. Non supportato. I task secondari lavoratore vengono eseguiti uno alla volta.

Nella tabella seguente sono riportate le differenze tra pattern sequenziale e pattern supervisore che consentono di decidere il flusso di lavoro.

Pattern sequenziale Pattern supervisore
Flusso di lavoro fisso Orchestrazione dinamica
Ogni passo viene eseguito in ordine Vengono eseguiti solo i passi necessari
Buono per condutture lineari Ideale per le richieste aziendali diramazione
Meno logica di decisione Meno logica di routing manuale, più giudizio runtime