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 IA moderni spesso non sono limitati dalla qualità del modello, ma dall'overhead di 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 i carichi di lavoro a elevato utilizzo di strumenti, questa modifica può ridurre materialmente la latenza end-to-end e l'utilizzo dei token mantenendo il piano compatto e controllabile in un blocco di codice. Per un confronto dei collegamenti side-by-side, vedere l'integrazione di Hyperlight CodeAct .
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:
- il compito richiede solo una o due chiamate agli strumenti, quindi c'è poco sovraccarico di orchestrazione da eliminare
- 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 è adatto ai flussi di lavoro che fanno largo uso di strumenti, ma tieni presente i seguenti vincoli:
- Il connettore di Agent Framework documentato è Hyperlight CodeAct, disponibile sia per Python che per .NET (in anteprima).
- 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 le piccole attività con una o due chiamate di strumenti, l'astrazione aggiunta potrebbe non valerne la pena.
- 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.
Get started
Per .NET, il connettore attualmente documentato è Hyperlight CodeAct, distribuito come pacchetto Microsoft.Agents.AI.Hyperlight.
Il pacchetto fornisce:
-
HyperlightCodeActProvider— oggettoAIContextProviderche inserisceexecute_codee linee guida CodeAct per ogni esecuzione -
HyperlightExecuteCodeFunction— unAIFunctionindipendente per il cablaggio statico o manuale quando la configurazione della sandbox è fissa - strumenti gestiti dal provider che rimangono disponibili all'interno della sandbox tramite
call_tool(...) - integrazione di
CodeActApprovalModeeApprovalRequiredAIFunctionper le approvazioni - configurazione facoltativa del file system (
FileMounts,HostInputDirectory) e della rete in uscita (AllowedDomains) per il runtime della sandbox
Importante
Il pacchetto .NET è in anteprima e dipende da Hyperlight.HyperlightSandbox.Api NuGet, che non è ancora pubblicato in nuget.org. Vedere Hyperlight CodeAct per le avvertenze di installazione correnti e i requisiti della piattaforma.
Vedere Hyperlight CodeAct per l'installazione, gli esempi e le linee guida specifiche del runtime.
Get started
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.
Note
Il supporto per questa funzionalità sarà presto disponibile. Vedere il repository di Agent Framework Go per lo stato più aggiornato.