CodeAct

Med CodeAct kan en agent lösa en uppgift genom att skriva kod och köra den via ett execute_code verktyg. I stället för att be modellen att avge ett verktygsanrop i taget ger CodeAct den en plats i begränsat läge för att kombinera kontrollflöde, datatransformering och verktygsorkestrering i ett enda körningssteg.

I Agent Framework exponeras CodeAct via serverdelsspecifika paket i stället för en enda inbyggd kärntyp. En anslutningsapp kan lägga till execute_code verktyget, mata in körningsvägledning och eventuellt exponera providerägda verktyg som kan anropas inifrån sandbox-miljön.

Varför CodeAct

Moderna AI-agenter är ofta inte begränsade av modellens kvalitet, utan av orkestreringsöverhuvud. När en agent kedjar ihop många små verktygsanrop kräver varje steg vanligtvis en annan modellsväng, vilket ökar både svarstiden och tokenanvändningen.

CodeAct döljer modellen –> verktyget –> modellloopen. I stället för att be modellen att välja ett verktyg i taget kan Agent Framework exponera ett enda execute_code verktyg och låta modellen uttrycka hela planen som ett kort program. Verktygen förblir desamma, modellen förblir densamma och den viktigaste ändringen är att planen körs en gång i en sandbox-miljö i stället för att vara utspridda över flera verktygsanropssvängar.

För verktygsintensiva arbetsbelastningar kan det avsevärt minska svarstiden från slutpunkt till slutpunkt och tokenanvändning samtidigt som planen hålls kompakt och granskningsbar i ett kodblock. Hyperlight-benchmarkexemplet jämför den formen direkt.

När CodeAct passar bra

Använd CodeAct när en uppgift drar nytta av:

  • kombinera flera verktygsanrop med loopar, förgrening, filtrering eller aggregering
  • transformera verktygsresultat innan du returnerar ett slutligt svar
  • generera större strukturerade utdata eller artefakter som en del av en körning
  • hålla vissa verktyg tillgängliga endast i en kontrollerad körningsmiljö
  • komprimera många små, länkbara sökningar eller enkla beräkningar i ett körningssteg

Håll dig till direktverktygsanrop när:

  • uppgiften behöver bara ett eller två verktygsanrop, så det finns lite orkestreringskostnader att ta bort
  • varje anrop har biverkningar som bör vara individuellt synliga för modellen och användaren
  • du behöver frågor om godkännande per samtal i stället för ett godkännandebeslut runt hela execute_code körningen

Så här passar CodeAct in i Agent Framework

En CodeAct-anslutning gör vanligtvis fyra saker under en körning:

  1. Lägger till ett execute_code verktyg på en verktygsyta som vetter mot modellen.
  2. Tillhandahåller instruktioner för den konfigurerade sandbox-körningen.
  3. Det är valfritt att exponera providerägda verktyg via call_tool(...).
  4. Tillämpar kapacitetsbegränsningar som filsystemåtkomst eller listor över tillåtna utgående nätverk.

Eftersom anslutningen äger körkonfigurationen beror de exakta konfigurationsinställningarna på vilken bakända du väljer.

Aktuella begränsningar

CodeAct passar bra för verktygsintensiva arbetsflöden, men det finns några aktuella begränsningar att tänka på:

  • Den dokumenterade Agent Framework-kontakten är idag främst avsedd för Python via Hyperlight CodeAct. .NET-dokumentationen kommer fortfarande snart.
  • Godkännanden gäller för närvarande för anropet execute_code som helhet. Om du behöver enskilda åtgärder för att godkännas en i taget behåller du dessa åtgärder som direkta agentverktyg i stället för att förlita dig på call_tool(...).
  • Verktyg som nås via call_tool(...) körs fortfarande i värdprocessen. Använd smala, granskade värdverktyg för känslig I/O i stället för att bredda sandbox-åtkomsten i onödan.
  • CodeAct fungerar bäst när orkestreringens överkostnader är övervägande. För små uppgifter med bara ett eller två verktygsanrop kanske den tillagda abstraktionen inte köper dig mycket.
  • Verktygsnamn, parametermetadata och returformer betyder mer här eftersom modellen skriver kod mot kontraktet i stället för att välja från ett direkt verktygsanrop i taget.

Get started

Kommer snart.

Get started

För Python är den dokumenterade anslutningsappen i dag Hyperlight CodeAct.

Hyperlight-paketet innehåller:

  • HyperlightCodeActProvider för kontextproviderbaserade körningar
  • HyperlightExecuteCodeTool när du vill kabelansluta execute_code direkt
  • providerhanterade verktyg som fortfarande är tillgängliga i sandbox-miljön via call_tool(...)
  • valfritt filsystem och utgående nätverkskonfiguration för sandbox-körningen

Se Hyperlight CodeAct för installation, exempel, körningsspecifik vägledning, till exempel när du ska använda print(...) och /output/, och de aktuella Hyperlight-specifika begränsningarna.

Nästa steg