Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
CodeAct consente a un agente di risolvere un'attività scrivendo codice ed eseguendolo tramite uno execute_code strumento. Invece di chiedere al modello di generare una chiamata di strumento alla volta, CodeAct offre una posizione in modalità sandbox per combinare il flusso di controllo, la trasformazione dei dati e l'orchestrazione degli strumenti all'interno di un singolo passaggio di esecuzione.
In Agent Framework CodeAct viene esposto tramite pacchetti specifici del back-end anziché un singolo tipo di core predefinito. Un connettore può aggiungere lo execute_code strumento, inserire linee guida in fase di esecuzione ed esporre facoltativamente strumenti di proprietà del provider che possono essere chiamati dall'interno della sandbox.
Perché CodeAct
Gli agenti di intelligenza artificiale moderni spesso non sono limitati dalla qualità del modello, ma dai costi legati all'orchestrazione. Quando un agente concatena molte chiamate di strumenti di piccole dimensioni, ogni passaggio richiede in genere un altro turno del modello, che aumenta sia la latenza che l'utilizzo dei token.
CodeAct comprime il modello,> ovvero lo strumento ,> il ciclo del modello. Anziché chiedere al modello di scegliere uno strumento alla volta, Agent Framework può esporre un singolo execute_code strumento e consentire al modello di esprimere il piano completo come programma breve. Gli strumenti rimangono invariati, il modello rimane invariato e la modifica principale è che il piano viene eseguito una volta all'interno di una sandbox invece di essere sparsi in più turni di chiamata agli strumenti.
Per carichi di lavoro intensivi di strumenti, è possibile ridurre sensibilmente la latenza end-to-end e l'utilizzo dei token, mantenendo il piano compatto e controllabile all'interno di un unico blocco di codice. L'esempio di benchmark Hyperlight confronta direttamente quella forma.
Quando CodeAct è una scelta ottimale
Usare CodeAct quando un'attività trae vantaggio da:
- combinazione di più chiamate di strumenti con cicli, diramazione, filtro o aggregazione
- trasformazione dei risultati degli strumenti prima di restituire una risposta finale
- generazione di output strutturati o artefatti più grandi come parte di un processo
- mantenere disponibili alcuni strumenti solo all'interno di un ambiente di esecuzione controllato
- compressione di molte ricerche piccole, concatenabili o calcoli leggeri in un unico passaggio di esecuzione
Continua ad utilizzare l'invocazione diretta degli strumenti quando:
- l'attività richiede solo una o due invocazioni di strumenti, quindi il sovraccarico di orchestrazione è intrinsecamente ridotto.
- ogni chiamata ha effetti collaterali che devono rimanere visibili singolarmente al modello e all'utente
- hai bisogno di richieste di approvazione per chiamata invece di una singola decisione di approvazione per l'intera
execute_codeesecuzione
Modalità di adattamento di CodeAct in Agent Framework
Un connettore CodeAct esegue in genere quattro operazioni per un'esecuzione:
- Aggiunge uno
execute_codestrumento alla superficie degli strumenti rivolta al modello. - Fornisce istruzioni per il runtime sandbox configurato.
- Facoltativamente, espone gli strumenti di proprietà del provider tramite
call_tool(...). - Applica limiti di funzionalità, ad esempio l'accesso al file system o gli elenchi consentiti di rete in uscita.
Poiché il connettore è proprietario della configurazione di runtime, i dettagli di configurazione esatti dipendono dal back-end scelto.
Limitazioni correnti
CodeAct è una soluzione ideale per i flussi di lavoro con molti strumenti, ma esistono alcuni vincoli correnti da tenere presenti:
- Il connettore di Agent Framework documentato è attualmente Python-first tramite Hyperlight CodeAct. La documentazione di .NET sarà ancora presto disponibile.
- Le approvazioni si applicano attualmente alla
execute_codechiamata nel suo complesso. Se è necessario che le singole operazioni vengano approvate una alla volta, mantenere tali operazioni come strumenti dell'agente diretto anziché basarsi sucall_tool(...). - Gli strumenti raggiunti tramite
call_tool(...)vengono comunque eseguiti nel processo host. Usare strumenti host ristretti e esaminati per operazioni di I/O sensibili invece di ampliare inutilmente l'accesso alla sandbox. - CodeAct funziona al meglio quando il sovraccarico dell'orchestrazione domina. Per piccole attività con una o due chiamate di strumenti, l'astrazione aggiunta potrebbe non offrire molti vantaggi.
- I nomi degli strumenti, i metadati dei parametri e le forme restituite sono più importanti perché il modello sta scrivendo codice rispetto a tale contratto anziché scegliere tra una chiamata diretta allo strumento alla volta.
Inizia subito
Prossimamente.
Inizia subito
Per Python, il connettore documentato oggi è Hyperlight CodeAct.
Il pacchetto Hyperlight fornisce:
-
HyperlightCodeActProviderper le esecuzioni basate su provider di contesto -
HyperlightExecuteCodeToolquando si desidera collegareexecute_codedirettamente - strumenti gestiti dal provider che rimangono disponibili all'interno della sandbox tramite
call_tool(...) - file system facoltativo e configurazione di rete in uscita per il runtime sandbox
Vedere Hyperlight CodeAct per l'installazione, esempi, linee guida specifiche del runtime, ad esempio quando usare print(...) e /output/e le limitazioni specifiche di Hyperlight correnti.