CodeAct

Funkcja CodeAct umożliwia agentowi rozwiązanie zadania przez napisanie kodu i wykonanie go za pomocą execute_code narzędzia. Zamiast prosić model o emitowanie jednego wywołania narzędzia w danym momencie, funkcja CodeAct udostępnia mu miejsce w trybie piaskownicy, aby połączyć przepływ sterowania, transformację danych i aranżację narzędzi w ramach jednego kroku wykonywania.

W środowisku Agent Framework funkcja CodeAct jest uwidaczniana za pośrednictwem pakietów specyficznych dla zaplecza, a nie jednego wbudowanego typu podstawowego. Łącznik może dodawać narzędzie execute_code, wdrażać wskazówki dotyczące czasu wykonywania i opcjonalnie udostępniać narzędzia należące do dostawcy, które można wywołać z poziomu piaskownicy.

Dlaczego CodeAct

Nowoczesne agenty sztucznej inteligencji często nie są ograniczane przez jakość modelu, ale przez koszty związane z orkiestracją. Gdy agent łączy ze sobą wiele małych wywołań narzędzi, każdy krok zwykle wymaga kolejnego obrotu modelu, co zwiększa opóźnienie i zużycie tokenów.

Funkcja CodeAct zwija ten model —> narzędzie —> pętlę modelu. Zamiast prosić model o wybranie jednego narzędzia naraz, platforma Agent Framework może uwidocznić pojedyncze execute_code narzędzie i pozwolić modelowi wyrazić pełny plan jako krótki program. Narzędzia pozostają takie same, model pozostaje taki sam, a główną zmianą jest to, że plan jest uruchamiany raz w piaskownicy zamiast być rozproszonym na kilka wywołań narzędzi.

W przypadku prac z intensywnym użyciem narzędzi, które mogą znacznie zmniejszyć opóźnienia od początku do końca i zużycie tokenów, zachowując jednocześnie plan kompaktowy i audytowalny w jednym bloku kodu. Przykładowy test porównawczy funkcji Hyperlight porównuje ten kształt bezpośrednio.

Gdy funkcja CodeAct jest dobrym rozwiązaniem

Użyj funkcji CodeAct, gdy zadanie korzysta z:

  • łączenie wielu wywołań narzędzi z pętlami, warunkowaniem, filtrowaniem lub agregacją
  • przekształcanie wyników narzędzi przed zwróceniem ostatecznej odpowiedzi
  • generowanie większych danych wyjściowych lub artefaktów strukturalnych podczas przebiegu
  • utrzymywanie niektórych narzędzi dostępnych tylko w kontrolowanym środowisku wykonywania
  • Unoszenie wielu małych, łańcuchowych zapytań lub lekkich obliczeń w jednym kroku wykonawczym

Korzystaj z bezpośredniego użycia narzędzi, gdy:

  • zadanie wymaga tylko jednego lub dwóch wywołań narzędzia, więc zmniejsza to potrzebę usuwania obciążenia orkiestracji
  • każde wywołanie ma skutki uboczne, które powinny pozostać indywidualnie widoczne dla modelu i użytkownika
  • potrzebujesz monitów o zatwierdzenie poszczególnych wywołań zamiast jednej decyzji o zatwierdzeniu całego execute_code procesu

Jak funkcja CodeAct pasuje do struktury agentów

Łącznik CodeAct zwykle wykonuje cztery czynności w trakcie uruchamiania:

  1. execute_code Dodaje narzędzie do powierzchni narzędzi skierowanych do modelu.
  2. Dostarcza instrukcje dotyczące skonfigurowanego piaskownicowego środowiska uruchomieniowego.
  3. Opcjonalnie uwidacznia narzędzia należące do dostawcy za pomocą polecenia call_tool(...).
  4. Stosuje limity możliwości, takie jak dostęp do systemu plików lub listy dozwolonego dostępu do wychodzących sieci.

Ponieważ łącznik jest właścicielem konfiguracji środowiska uruchomieniowego, dokładne szczegóły konfiguracji zależą od wybranego zaplecza.

Bieżące ograniczenia

CodeAct to silne dopasowanie do przepływów pracy z dużym obciążeniem narzędziami, ale należy pamiętać o kilku bieżących ograniczeniach:

  • Udokumentowany łącznik Agent Framework obecnie priorytetyzuje język Python poprzez Hyperlight CodeAct. Dokumentacja platformy .NET wkrótce będzie dostępna.
  • Zatwierdzenia mają obecnie zastosowanie do wywołania execute_code jako całości. Jeśli chcesz zatwierdzać poszczególne operacje pojedynczo, używaj tych operacji jako bezpośrednich narzędzi agenta, zamiast polegać na call_tool(...).
  • Narzędzia dostępne przez call_tool(...) nadal wykonują się w procesie hosta. Użyj wąskich, sprawdzonych narzędzi hosta dla poufnych operacji wejścia/wyjścia zamiast niepotrzebnie poszerzać dostęp do piaskownicy.
  • Funkcja CodeAct działa najlepiej, gdy dominuje nakład pracy orkiestracji. W przypadku małych zadań z tylko jednym lub dwoma wywołaniami narzędzi dodana abstrakcja może niewiele dać.
  • Nazwy narzędzi, metadane parametrów i kształty zwracanych wartości mają większe znaczenie, ponieważ model pisze kod zgodnie z tym kontraktem, zamiast wybierać jedno bezpośrednie wywołanie narzędzia naraz.

Wprowadzenie

Wkrótce.

Wprowadzenie

W przypadku języka Python udokumentowany łącznik jest obecnie Hyperlight CodeAct.

Pakiet funkcji Hyperlight zapewnia:

  • HyperlightCodeActProvider dla przebiegów opartych na dostarczaniu kontekstu
  • HyperlightExecuteCodeTool gdy chcesz połączyć execute_code bezpośrednio
  • narzędzia zarządzane przez dostawcę, które pozostają dostępne w piaskownicy za pośrednictwem call_tool(...)
  • opcjonalna konfiguracja systemu plików i sieci wychodzącej dla środowiska uruchomieniowego typu piaskownica

Zobacz Funkcję Hyperlight CodeAct , aby zapoznać się z instalacją, przykładami, wskazówkami specyficznymi dla środowiska uruchomieniowego, takimi jak kiedy używać print(...) i /output/, oraz bieżącymi ograniczeniami specyficznymi dla funkcji Hyperlight.

Następne kroki