Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O CodeAct permite que um agente resolva uma tarefa escrevendo código e executando-a por meio de uma execute_code ferramenta. Em vez de solicitar que o modelo emita uma chamada de ferramenta de cada vez, o CodeAct fornece um local em área restrita para combinar fluxo de controle, transformação de dados e orquestração de ferramentas dentro de uma única etapa de execução.
No Agent Framework, CodeAct é exposto por meio de pacotes específicos de back-end em vez de um único tipo de núcleo interno. Um conector pode adicionar a ferramenta execute_code injetar orientações de tempo de execução e, opcionalmente, expor ferramentas de propriedade do provedor que podem ser chamadas de dentro do sandbox.
Por que CodeAct
Os agentes de IA modernos geralmente não são limitados pela qualidade do modelo, mas pela sobrecarga de orquestração. Quando um agente encadeia muitas chamadas de ferramentas pequenas, cada etapa geralmente requer uma nova iteração do modelo, o que aumenta a latência e o uso de tokens.
O CodeAct simplifica esse ciclo modelo -> ferramenta -> modelo. Em vez de solicitar que o modelo escolha uma ferramenta de cada vez, o Agent Framework pode expor uma única execute_code ferramenta e permitir que o modelo expresse o plano completo como um programa curto. As ferramentas permanecem as mesmas, o modelo permanece o mesmo e a principal mudança é que o plano é executado uma única vez dentro de um sandbox, em vez de ser distribuído por várias iterações de chamadas de ferramentas.
Para cargas de trabalho com muitas ferramentas, isso pode reduzir significativamente a latência de ponta a ponta e o uso de tokens, mantendo o plano compacto e auditável em um único bloco de código. Consulte a integração do Hyperlight CodeAct para uma comparação lado a lado das conexões.
Quando CodeAct é uma boa opção
Use CodeAct quando uma tarefa se beneficiar de:
- Combinando múltiplas chamadas de ferramentas com loops, ramificações, filtragem ou agregação
- transformando resultados da ferramenta antes de retornar uma resposta final
- gerando saídas estruturadas ou artefatos maiores como parte de uma execução
- mantendo algumas ferramentas disponíveis somente dentro de um ambiente de execução controlada
- Agrupar muitas consultas pequenas e encadeáveis ou cálculos leves em uma etapa de processamento
Mantenha a chamada direta de ferramentas quando:
- a tarefa precisar apenas de uma ou duas chamadas de ferramentas, portanto, houver pouca sobrecarga de orquestração a ser removida
- cada chamada tem efeitos colaterais que devem permanecer visíveis de forma individual para o modelo e o usuário
- você precisar de solicitações de aprovação por chamada em vez de uma decisão de aprovação para toda a execução de
execute_coderun
Como o CodeAct se encaixa no Agent Framework
Um conector CodeAct normalmente faz quatro coisas para uma execução:
- Adiciona uma ferramenta
execute_codeà superfície de ferramentas voltada para o modelo. - Fornece instruções para o tempo de execução do sandbox configurado.
- Opcionalmente, expõe ferramentas de propriedade do provedor por meio de
call_tool(...). - Aplica limites de funcionalidade, como acesso ao sistema de arquivos ou listas de permissões de rede de saída.
Como o conector possui a configuração de runtime, os detalhes exatos da instalação dependem do back-end escolhido.
Limitações atuais
CodeAct é ideal para fluxos de trabalho que exigem muitas ferramentas, mas há algumas restrições atuais a serem mantidas em mente.
- Atualmente, o conector documentado do Agent Framework é Hyperlight CodeAct, disponível para Python e .NET (em prévia).
- As aprovações atualmente se aplicam à chamada
execute_codecomo um todo. Se você precisar que operações individuais sejam aprovadas uma a uma, mantenha essas operações como ferramentas de agente diretas em vez de depender decall_tool(...). - As ferramentas acessadas por meio de
call_tool(...)ainda são executadas no processo host. Use ferramentas de host específicas e revisadas para E/S sensíveis em vez de ampliar o acesso ao sandbox desnecessariamente. - CodeAct funciona melhor quando a sobrecarga de orquestração domina. Para tarefas pequenas com apenas uma ou duas chamadas de ferramenta, a abstração adicionada pode não trazer muitos benefícios.
- Os nomes das ferramentas, os metadados dos parâmetros e os formatos de retorno são mais importantes aqui porque o modelo está escrevendo código com base nesse contrato, em vez de escolher uma chamada de ferramenta direta por vez.
Introdução
Para .NET, o conector documentado hoje é Hyperlight CodeAct, enviado como o pacote Microsoft.Agents.AI.Hyperlight.
O pacote fornece:
-
HyperlightCodeActProvider— umAIContextProviderque injetaexecute_codee orientações do CodeAct para cada execução -
HyperlightExecuteCodeFunction— umAIFunctionindependente para conexão estática/manual quando a configuração do sandbox é fixa - ferramentas gerenciadas pelo provedor que permanecem disponíveis dentro do sandbox por meio de
call_tool(...) - integração de
CodeActApprovalModeeApprovalRequiredAIFunctionpara aprovação - configuração opcional do sistema de arquivos (
FileMounts,HostInputDirectory) e da rede de saída (AllowedDomains) para o runtime do ambiente isolado
Importante
O pacote .NET está em versão prévia e depende do Hyperlight.HyperlightSandbox.Api NuGet, que ainda não foi publicado no nuget.org. Consulte Hyperlight CodeAct para obter as restrições de instalação atuais e os requisitos da plataforma.
Consulte o CodeAct do Hyperlight para obter instalação, exemplos e diretrizes específicas do runtime.
Introdução
Para Python, o conector documentado hoje é o CodeAct do Hyperlight.
O pacote do Hyperlight fornece:
-
HyperlightCodeActProviderpara execuções baseadas em provedor de contexto -
HyperlightExecuteCodeToolquando você deseja conectarexecute_codediretamente - ferramentas gerenciadas pelo provedor que permanecem disponíveis dentro do sandbox por meio de
call_tool(...) - configuração opcional de sistema de arquivos e rede de saída para o sandbox runtime
Consulte o CodeAct do Hyperlight para instalação, exemplos, diretrizes específicas do runtime, como quando usar print(...) e /output/e as limitações específicas do Hyperlight atuais.
Note
O suporte para Go a este recurso estará disponível em breve. Consulte o repositório Agent Framework Go para obter o status mais recente.