CodeAct

Mit CodeAct kann ein Agent eine Aufgabe lösen, indem Code geschrieben und über ein execute_code Tool ausgeführt wird. Anstatt das Modell aufzufordern, jeweils einen Toolaufruf auszuführen, bietet CodeAct eine Sandbox, um den Kontrollfluss, die Datentransformation und die Tool-Orchestrierung innerhalb eines einzelnen Ausführungsschritts zu kombinieren.

Im Agent Framework wird CodeAct über back-end-spezifische Pakete und nicht über einen einzelnen integrierten Kerntyp verfügbar gemacht. Ein Connector kann das execute_code Tool hinzufügen, Laufzeitunterstützung einfügen und optional Werkzeuge bereitstellen, die innerhalb der Sandbox aufrufbar sind.

Warum CodeAct

Moderne KI-Agenten sind oft nicht durch die Modellqualität eingeschränkt, sondern durch den Orchestrierungsaufwand. Wenn ein Agent viele kleine Toolaufrufe miteinander verkettet, erfordert jeder Schritt in der Regel eine weitere Modelldrehung, was sowohl die Latenz als auch die Tokennutzung erhöht.

CodeAct reduziert das Modell -> Tool -> Modellschleife. Anstatt das Modell aufzufordern, jeweils ein Tool zu wählen, kann Das Agent Framework ein einzelnes execute_code Tool verfügbar machen und das Modell den vollständigen Plan als kurzes Programm ausdrücken lassen. Die Tools bleiben gleich, das Modell bleibt gleich, und die Hauptänderung besteht darin, dass der Plan einmal innerhalb einer Sandbox ausgeführt wird, anstatt über mehrere Toolaufrufe verteilt zu werden.

Bei toollastigen Workloads kann die End-to-End-Latenz und Tokennutzung erheblich reduziert werden, während der Plan kompakt und auditierbar in einem einzigen Codeblock gehalten wird. Das Hyperlight-Benchmarkbeispiel vergleicht diese Form direkt.

Wenn CodeAct gut passt

Verwenden Sie CodeAct, wenn eine Aufgabe von folgenden Vorteilen profitiert:

  • Kombinieren mehrerer Toolaufrufe mit Schleifen, Verzweigungen, Filtern oder Aggregationen
  • Transformieren von Toolergebnissen vor dem Zurückgeben einer endgültigen Antwort
  • Generieren größerer strukturierter Ausgaben oder Artefakte als Teil einer Ausführung
  • Einige Tools nur in einer kontrollierten Ausführungsumgebung verfügbar halten
  • Reduzieren vieler kleiner, verkettebarer Nachschlagevorgänge oder einfacher Berechnungen in einen Ausführungsschritt

Verwenden Sie direkte Werkzeugaufrufe, wenn:

  • Der Vorgang benötigt nur einen oder zwei Toolaufrufe, sodass wenig Orchestrierungsaufwand anfällt.
  • Jeder Aufruf verfügt über Nebenwirkungen, die für das Modell und den Benutzer individuell sichtbar bleiben sollen.
  • Sie benötigen Genehmigungsaufforderungen pro Anruf anstelle einer einzigen Genehmigungsentscheidung für den gesamten execute_code-Lauf.

Wie CodeAct in Das Agent Framework passt

Ein CodeAct-Connector führt in der Regel vier Dinge für eine Ausführung aus:

  1. Fügt der modellseitigen Werkzeugoberfläche ein execute_code Werkzeug hinzu.
  2. Liefert Anweisungen für die konfigurierte Sandkastenlaufzeit.
  3. Tools des Anbieters können optional über call_tool(...) bereitgestellt werden.
  4. Wendet Funktionsbeschränkungen wie Dateisystemzugriff oder Zulassungslisten für ausgehende Netzwerke an.

Da der Connector die Laufzeitkonfiguration besitzt, sind die genauen Setupdetails vom ausgewählten Back-End abhängig.

Aktuelle Einschränkungen

CodeAct ist ein starker Fit für toolintensive Workflows, aber es gibt einige aktuelle Einschränkungen, die Sie berücksichtigen sollten:

  • Der dokumentierte Agent Framework-Connector basiert heute auf Python über Hyperlight CodeAct. Die .NET-Dokumentation wird in Kürze noch verfügbar sein.
  • Genehmigungen gelten derzeit für den execute_code Anruf als Ganzes. Wenn Sie Vorgänge einzeln genehmigen müssen, sollten Sie diese als direkte Werkzeuge der Agenten beibehalten, anstatt sich auf call_tool(...) zu verlassen.
  • Werkzeuge, die über call_tool(...) erreicht werden, werden weiterhin im Hostprozess ausgeführt. Verwenden Sie schmale, überprüfte Hosttools für vertrauliche E/A, anstatt den Sandkastenzugriff unnötig zu erweitern.
  • CodeAct funktioniert am besten, wenn der Orchestrierungsaufwand dominiert. Bei kleinen Aufgaben mit nur einem oder zwei Toolaufrufen bringt die hinzugefügte Abstraktion möglicherweise nicht viel Nutzen.
  • Toolnamen, Parametermetadaten und Rückgabeformen sind hier wichtiger, da das Modell Code entsprechend diesem Vertrag schreibt, anstatt sich bei jedem Schritt für einen direkten Toolaufruf zu entscheiden.

Get started

Bald verfügbar.

Get started

Für Python ist der dokumentierte Connector heute Hyperlight CodeAct.

Das Hyperlight-Paket bietet Folgendes:

  • HyperlightCodeActProvider für kontextanbieter-basierte Durchläufe
  • HyperlightExecuteCodeTool wenn Sie execute_code direkt verkabeln möchten
  • vom Anbieter verwaltete Tools, die im Sandkasten verfügbar bleiben call_tool(...)
  • optionale Dateisystem- und ausgehende Netzwerkkonfiguration für die Sandkastenlaufzeit

Unter Hyperlight CodeAct finden Sie Installationsanleitungen, Beispiele, laufzeitspezifische Hinweise, wie die jeweilige Verwendung von print(...) und /output/, sowie die aktuellen Hyperlight-spezifischen Einschränkungen.

Nächste Schritte