CodeAct

Met CodeAct kan een agent een taak oplossen door code te schrijven en uit te voeren via een execute_code hulpprogramma. In plaats van het model te vragen om één aanroep van hulpprogramma's tegelijk te verzenden, biedt CodeAct het een sandbox-locatie voor het combineren van de controlestroom, gegevenstransformatie en indeling van hulpprogramma's binnen één uitvoeringsstap.

In Agent Framework wordt CodeAct weergegeven via back-endspecifieke pakketten in plaats van één ingebouwd kerntype. Een connector kan het execute_code hulpprogramma toevoegen, runtime-richtlijnen injecteren en eventueel hulpprogramma's in eigendom van de provider beschikbaar maken die vanuit de sandbox kunnen worden aangeroepen.

Waarom CodeAct

Moderne AI-agents hebben vaak geen knelpunt bij modelkwaliteit, maar wel door overhead van orkestratie. Wanneer een agent veel kleine hulpprogrammaaanroepen aan elkaar koppelt, vereist elke stap meestal een andere modeldraai, waardoor zowel latentie als tokengebruik toeneemt.

CodeAct vouwt dat model - hulpprogramma ->> modellus samen. In plaats van het model te vragen om één hulpprogramma tegelijk te kiezen, kan Agent Framework één execute_code hulpprogramma beschikbaar maken en het model het volledige plan laten uitdrukken als een kort programma. De tools blijven hetzelfde, het model blijft hetzelfde en de belangrijkste wijziging is dat het plan eenmaal in een sandbox draait in plaats van verspreid te worden over afzonderlijke tool-oproepen.

Voor werkbelastingen met veel hulpprogramma's kan dit de end-to-end latentie en het tokengebruik aanzienlijk verminderen, terwijl het plan compact en controleerbaar blijft in één codeblok. Het Hyperlight-benchmarkvoorbeeld vergelijkt deze vorm rechtstreeks.

Wanneer CodeAct geschikt is

Gebruik CodeAct wanneer een taak profiteert van:

  • meerdere hulpprogramma-aanroepen combineren met lussen, vertakkingen, filteren of aggregatie
  • hulpprogrammaresultaten transformeren voordat een definitief antwoord wordt geretourneerd
  • grotere gestructureerde uitvoer of artefacten genereren als onderdeel van een uitvoering
  • sommige hulpprogramma's alleen beschikbaar houden in een gecontroleerde uitvoeringsomgeving
  • het samenvouwen van veel kleine, ketenbare zoekacties of lichtgewicht berekeningen in één uitvoeringsstap

Blijf bij het direct aanroepen van hulpprogramma's wanneer:

  • Aangezien voor de taak slechts één of twee aanroepen van hulpprogramma’s nodig zijn, is er weinig orchestratie-overhead om te verwijderen.
  • elke aanroep heeft bijwerkingen die afzonderlijk zichtbaar moeten blijven voor het model en de gebruiker
  • u goedkeuringsverzoeken per aanroep nodig heeft in plaats van één goedkeuringsbeslissing voor de hele execute_code sessie

Hoe CodeAct in het Agent Framework past

Een CodeAct-connector verricht doorgaans vier taken voor een run:

  1. Hiermee voegt u een execute_code hulpmiddel toe aan het modelgeoriënteerde gereedschapoppervlak.
  2. Bevat instructies voor de geconfigureerde sandbox-runtime.
  3. Maakt optioneel hulpprogramma's die eigendom zijn van de provider beschikbaar via call_tool(...).
  4. Hiermee worden mogelijkhedenlimieten toegepast, zoals toegang tot bestandssysteem of acceptatielijsten voor uitgaand netwerk.

Omdat de connector eigenaar is van de runtimeconfiguratie, zijn de exacte configuratiegegevens afhankelijk van de back-end die u kiest.

Huidige beperkingen

CodeAct is geschikt voor werkstromen met veel hulpprogramma's, maar er zijn enkele huidige beperkingen waarmee u rekening moet houden:

  • De gedocumenteerde Agent Framework-connector is momenteel Python-first via Hyperlight CodeAct. De .NET-documentatie is binnenkort beschikbaar.
  • Goedkeuringen zijn momenteel van toepassing op de execute_code aanroep als geheel. Als u afzonderlijke bewerkingen één voor één wilt goedkeuren, moet u deze bewerkingen behouden als directe agenthulpprogramma's in plaats van erop te call_tool(...)vertrouwen.
  • Hulpprogramma's die via call_tool(...) worden benaderd, worden nog steeds in het hostproces uitgevoerd. Gebruik beperkte, gecontroleerde hosthulpprogramma's voor gevoelige I/O in plaats van sandbox-toegang onnodig uit te breiden.
  • CodeAct werkt het beste wanneer orkestratie-overhead overheerst. Voor kleine taken met slechts één of twee aanroepen van hulpprogramma's levert de toegevoegde abstractie u mogelijk niet veel op.
  • Namen van hulpprogramma's, parametermetagegevens en teruggegeven structuren zijn hier belangrijker omdat het model code schrijft volgens dat contract, in plaats van te kiezen uit één directe aanroep van het hulpprogramma per keer.

Aan de slag

Binnenkort beschikbaar.

Aan de slag

Voor Python is de gedocumenteerde connector tegenwoordig Hyperlight CodeAct.

Het Hyperlight-pakket biedt:

  • HyperlightCodeActProvider voor uitvoeringen op basis van contextproviders
  • Wanneer HyperlightExecuteCodeTool u execute_code rechtstreeks wilt bedraden
  • door provider beheerde hulpprogramma's die beschikbaar blijven in de sandbox via call_tool(...)
  • optionele bestandssysteem- en uitgaande-netwerkconfiguratie voor de sandbox-runtime

Zie Hyperlight CodeAct voor installatie, voorbeelden, runtime-specifieke richtlijnen, zoals wanneer moet worden gebruikt print(...) en /output/, en de huidige beperkingen die specifiek zijn voor Hyperlight.

Volgende stappen