CodeAct

CodeAct umožňuje agentu vyřešit úlohu napsáním kódu a jeho spuštěním pomocí execute_code nástroje. Místo aby model požádal o vygenerování jednoho volání nástroje najednou, umožňuje CodeAct kombinování toku řízení, transformace dat a orchestrace nástrojů v rámci jednoho kroku provádění v izolovaném prostředí (sandbox).

V rozhraní Agent Framework se CodeAct vystavuje prostřednictvím back-endových balíčků, nikoli jednoho integrovaného základního typu. Konektor může přidat execute_code nástroj, vložit pokyny k modulu runtime a volitelně zpřístupnit nástroje vlastněné poskytovatelem, které se dají volat z sandboxu.

Proč CodeAct

Moderní agenti umělé inteligence často nejsou omezováni kvalitou modelu, ale provozní režií orchestrace. Když agent zřetězí mnoho malých volání nástrojů, každý krok obvykle vyžaduje další spuštění modelu, což zvyšuje latenci i využití tokenů.

CodeAct sbalí tento model –> nástroj –> smyčku modelu. Místo toho, aby model vybral jeden nástroj najednou, může agent Framework vystavit jeden execute_code nástroj a nechat model vyjádřit celý plán jako krátký program. Nástroje zůstanou stejné, model zůstane stejný a hlavní změnou je, že se plán spouští jednou uvnitř sandboxu, místo aby byl rozložen mezi několika sekvencemi volání nástrojů.

U úloh náročných na nástroje, které můžou výrazně snížit celkové latence a využití tokenů a zároveň udržovat plán kompaktní a auditovatelný v jednom bloku kódu. Ukázka benchmarku Hyperlight porovnává tento tvar přímo.

Kdy je CodeAct vhodným řešením

CodeAct použijte, pokud má úkol výhody:

  • kombinování více volání nástroje se smyčkami, větvením, filtrováním nebo agregací
  • transformace výsledků nástroje před vrácením konečné odpovědi
  • generování větších strukturovaných výstupů nebo artefaktů v rámci běhu
  • udržování některých nástrojů dostupných pouze v řízeném spouštěcím prostředí
  • sbalení mnoha malých, řetězitelných vyhledávání nebo jednoduchých výpočtů do jednoho kroku provádění

Dodržujte přímé volání nástrojů v případě, že:

  • úloha potřebuje pouze jedno nebo dvě volání nástroje, takže je režijní náklad orchestrace zanedbatelný.
  • každé volání má vedlejší účinky, které by měly zůstat jednotlivě viditelné pro model a uživatele.
  • Potřebujete výzvy ke schválení při každém volání namísto jednotlivého rozhodnutí o schválení běhu execute_code procesu.

Jak CodeAct zapadá do Agent Framework

Konektor CodeAct obvykle provádí pro spuštění čtyři věci:

  1. Přidá nástroj určený pro plochu modelu execute_code.
  2. Poskytuje pokyny pro nakonfigurované runtime prostředí sandboxu.
  3. Volitelně zpřístupňuje nástroje vlastněné poskytovatelem prostřednictvím call_tool(...).
  4. Platí omezení schopností, jako je přístup k systému souborů nebo seznamy povolených odchozích sítí.

Jelikož konektor vlastní konfiguraci běhového prostředí, přesné podrobnosti nastavení závisí na zvoleném backendu.

Aktuální omezení

CodeAct je silná volba pro pracovní postupy náročné na nástroje, ale existuje několik aktuálních omezení, která je potřeba mít na paměti:

  • Dokumentovaný konektor agenta Framework je dnes primárně zaměřený na Python prostřednictvím Hyperlight CodeAct. Dokumentace k .NET se stále připravuje.
  • Schválení se aktuálně vztahují na execute_code hovor jako celek. Pokud potřebujete jednotlivé operace schválit jeden po druhém, ponechte tyto operace jako nástroje přímého agenta místo toho, abyste se museli spoléhat na call_tool(...).
  • Nástroje přístupné skrze call_tool(...) se stále spouštějí v hostitelském procesu. Používejte úzké a kontrolované hostitelské nástroje pro citlivé vstupně-výstupní operace místo zbytečného rozšíření přístupu k sandboxu.
  • CodeAct funguje nejlépe, když zatížení orchestrace převládá. U malých úloh, které zahrnují pouze jedno nebo dvě volání nástrojů, vám přidaná abstrakce nemusí přinést velký užitek.
  • Názvy nástrojů, metadata parametrů a návratové struktury jsou zde důležitější, protože model píše kód na základě daného kontraktu, než aby si vybíral z jednoho přímého volání nástroje najednou.

Začínáme

Již brzy.

Začínáme

V Pythonu je dnes zdokumentovaný konektor Hyperlight CodeAct.

Balíček Hyperlight poskytuje:

  • HyperlightCodeActProvider pro běhy založené na kontextových zprostředkovatelích
  • HyperlightExecuteCodeTool když chcete zapojit execute_code přímo
  • nástroje spravované poskytovatelem, které zůstávají dostupné v rámci sandboxu prostřednictvím call_tool(...)
  • volitelný systém souborů a konfigurace odchozí sítě pro modul runtime sandboxu

Viz Hyperlight CodeAct pro instalaci, příklady, pokyny specifické pro modul runtime, například kdy použít print(...) , /output/a aktuální omezení specifická pro Hyperlight.

Další kroky