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. 
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:
- Workflow che si estendono su domini aziendali o tecnici distinti.
- Richieste che richiedono agenti, strumenti o origini dati diverse.
- Team di agenti che richiedono un unico punto di accesso per l'instradamento e il coordinamento delle richieste.
- Flussi di lavoro in cui il supervisore deve gestire la sequenza di interazione e consolidare le risposte del subagente.
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.

| 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.
- Rispondi a una richiesta di supporto clienti che richiede i dettagli del conto, la cronologia dei pagamenti e una risposta combinata finale.
- Instrada un prompt di analisi dei dati al lavoratore giusto in base all'origine dati, quindi combina i risultati del lavoratore in un'unica risposta.
- Chiedere a un lavoratore di sospendere la conferma umana prima di inviare una notifica o completare un'azione aziendale.
- Utilizzare un team supervisore per le richieste che a volte richiedono un lavoratore e a volte richiedono più lavoratori in sequenza.
- Tieni traccia delle consegne dei lavoratori e dei risultati restituiti per audit, test e risoluzione dei problemi.
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.
- Instradamento dinamico dei task: il supervisore seleziona il lavoratore successivo in base alla richiesta corrente e al contesto restituito.
- Progettazione dei lavoratori focalizzati: ogni lavoratore gestisce un'area di task delimitata, che consente di gestire più facilmente prompt e mapping di strumenti.
- Controllo contesto: il supervisore passa solo il contesto necessario per ogni task secondario del lavoratore.
- Tracciabilità: le viste Team e Cronologia task possono mostrare il percorso della delega e i risultati dei lavoratori restituiti.
- Crescita incrementale del team: aggiungere nuovi agenti lavoratore per nuovi task senza riprogettare ogni lavoratore esistente.
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.
- Concedere i privilegi richiesti. L'utente del database deve disporre del privilegio
EXECUTEsuDBMS_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. - 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.
- 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.
- Creare un agente supervisore con l'attributo
supervisorimpostato sutrue. Vedere CREATE_AGENT Attributi. - Creare il team con
supervisor_agentimpostato sul nome dell'agente supervisore eagentsimpostato sulle coppie agente-task lavoratore. Vedere CREATE_TEAM Procedura. - Impostare il team per la sessione e sottomettere i prompt in linguaggio naturale con il framework Seleziona agente AI. Vedere SET_TEAM Function.
- 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:
- Il framework non applica un numero massimo di turni di conversazione. Per l'esecuzione di un task, il framework limita i tentativi per le chiamate agli strumenti non riuscite a 10 tentativi per task.
- Il quadro non introduce nuovi punti di vista per il monitoraggio. È possibile rivedere la cronologia dell'esecuzione di team, task e strumenti utilizzando le viste della cronologia del framework Seleziona agente AI esistenti. Per ulteriori informazioni, vedere DBMS_CLOUD_AI_AGENT Viste cronologia.
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.
- Definire un chiaro limite di dominio per ogni lavoratore.
- Utilizzare nomi di task specifici, ad esempio
ACCOUNT_MANAGEMENT_TASKoPAYMENT_LOOKUP_TASK. - Evitare la sovrapposizione di istruzioni tra i lavoratori.
- Includere i parametri di input previsti nell'istruzione task.
- Specificare quando il lavoratore deve richiedere l'input umano.
- Definire il formato del risultato restituito al supervisore.
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 |