Frameworki agentów AI: LangGraph vs OpenAI Agents SDK

Tłumaczenie automatyczne

Ten artykuł został automatycznie przetłumaczony z angielskiego oryginału.

Te frameworki pomagają budować aplikacje, w których model wybiera narzędzia i korzysta z nich. Istotna różnica polega na tym, czym każdy framework zarządza wokół tej pętli: stanem, wyszukiwaniem, przekazywaniem sterowania, śledzeniem wykonania albo wdrożeniem. Użyj frameworka, gdy aplikacja potrzebuje tych funkcji. Jeśli kroki są już znane, zacznij od zwykłego kodu przepływu pracy.

Zacznij od agentów LangChain, jeśli potrzebujesz pętli model–narzędzia zbudowanej na LangGraph. Użyj bezpośrednio LangGraph, gdy musisz określić, jak każdy krok zapisuje stan, oczekuje na akceptację i wznawia działanie po zatrzymaniu.

Wybieraj na podstawie zapisanego stanu, odzyskiwania działania, obsługi wyszukiwania i nakładu pracy potrzebnego do wdrożenia oraz utrzymania aplikacji.

Tabela rekomendacji

PotrzebaPunkt wyjściaDlaczego
Wysokopoziomowe API agentaAgenci LangChainDokumentacja LangGraph zaleca tę warstwę, gdy niskopoziomowa orkiestracja nie jest potrzebna.
Agent produkcyjny ze stanemLangGraphJego runtime udostępnia stan grafu, persystencję, przerwania i niskopoziomową orkiestrację.
Kompaktowa pętla model–narzędziaOpenAI Agents SDKNarzędzia, guardrails, sesje, śledzenie i przekazywanie sterowania korzystają ze wspólnego API. Obsługiwani są również inni dostawcy modeli.
Agent dokumentowy intensywnie korzystający z RAGLlamaIndexŁadowanie danych, indeksy, wyszukiwanie, silniki zapytań, narzędzia i przepływy pracy agentów należą do tego samego ekosystemu.
Wieloagentowy przepływ pracy oparty na rolachCrewAIAgenci, crews, flows, wiedza, pamięć i obserwowalność pasują do automatyzacji opartej na rolach.
Agent korporacyjny MicrosoftMicrosoft Agent FrameworkTo obecny kierunek Microsoftu dla ujednoliconego SDK agentów, łączący idee z Semantic Kernel i AutoGen.
Niewielki agent oparty na kodzieSmolAgentsMinimalny interfejs, agenci wykonujący kod, agenci wywołujący narzędzia i łatwa inspekcja.

Jak wybrać

Zacznij od przepływu sterowania: od tego, jak agent przechodzi między krokami i obsługuje błędy.

Jeśli agent ma jasno określone stany, ponowienia, akceptacje, checkpointy i możliwość wznawiania działania, użyj LangGraph. Przykładowo, przebieg oczekujący na akceptację wymaga zapisanego stanu, aby można go było kontynuować po odpowiedzi użytkownika. W przypadku konwencjonalnej pętli model–narzędzia mogą wystarczyć agenci wyższego poziomu LangChain. Użyj grafu bezpośrednio, gdy musisz kontrolować sposób wznawiania zatrzymanego przebiegu.

OpenAI Agents SDK pasuje do kompaktowej pętli w Pythonie z narzędziami i przekazywaniem sterowania. Obsługuje również innych dostawców, więc model OpenAI nie jest wymagany. Sprawdź, czy wybrany model obsługuje narzędzia i ustrukturyzowane dane wyjściowe oraz dokąd trafiają dane śledzenia.

Jeśli agent zajmuje się głównie dokumentami, indeksami, wyszukiwaniem i silnikami zapytań, zacznij od LlamaIndex. Jego gotowe komponenty wyszukiwania mogą oszczędzić Ci samodzielnego implementowania tych elementów. Zanim zastąpisz pętlę agenta, sprawdź, czy wyszukiwanie znajduje właściwe dowody oraz czy testy wykrywają brakujące lub niepoparte odpowiedzi.

CrewAI jest przydatny, gdy rzeczywisty proces obejmuje role: badacza, analityka, recenzenta, autora i operatora. Jest mniej przekonujący, gdy tworzysz role wyłącznie po to, by użyć abstrakcji wieloagentowej. Nazwa roli nie określa, co się stanie, gdy dany agent zawiedzie.

Odzyskiwanie działania wymaga osobnego testu. Zatrzymaj przebieg po tym, jak narzędzie zmieni plik lub wyśle żądanie, a następnie sprawdź, co dzieje się przy wznowieniu. Sama zapisana historia czatu nie pokazuje, czy aplikacja powtórzy ten efekt uboczny. Zweryfikuj checkpointy, zachowanie podczas odtwarzania oraz obsługę zduplikowanych działań w konfiguracji, którą planujesz wdrożyć.

W przypadku każdego frameworka sprawdź, co nadal pozostaje po Twojej stronie: przechowywanie danych, dane uwierzytelniające, ponowienia, wdrażanie i ewaluacja. Funkcje wyszukiwania LlamaIndex same w sobie nie uzasadniają wyboru tego frameworka do niezwiązanej z nimi orkiestracji przepływów pracy. Role CrewAI nadal wymagają jawnego stanu i obsługi błędów. Zweryfikuj wymagania integracji Microsoftu względem reszty stosu i załóż, że wokół małego eksperymentu ze SmolAgents będziesz musieć dostarczyć większą część runtime’u.

Kiedy nie używać frameworka agentów

Nie zaczynaj od frameworka agentów, gdy problem rozwiązuje typowany przepływ pracy, endpoint wyszukiwania lub silnik reguł. Agenci pomagają wtedy, gdy system musi wybrać następny krok po przeanalizowaniu wyników pośrednich. Słabo pasują do stałych procesów ETL, deterministycznych akceptacji, przepływów rozliczeniowych i wszystkiego, w czym wszystkie gałęzie są znane z góry.

Nie buduj systemu wieloagentowego, zanim jeden agent nie będzie działał dobrze. Podział niestabilnego przepływu pracy między kilku agentów zwiększa liczbę błędów koordynacji i opóźnienia.

Ślady wykonania pokazują, które kroki zostały wykonane. Ewaluacja sprawdza, czy te kroki poprawnie zrealizowały zadanie, w granicach uprawnień i budżetu.

Kolejność implementacji

  1. Użyj zwykłego przepływu pracy dla znanych kroków. Użyj jednego agenta z wąskim zestawem narzędzi, gdy model musi wybrać następny krok.
  2. Dodaj ślady wykonania i mały zbiór regresyjny, zanim dodasz pamięć.
  3. Użyj bezpośrednio LangGraph, gdy potrzebujesz jawnej kontroli nad zapisanym stanem, akceptacjami i wznawianiem przebiegów.
  4. Przetestuj OpenAI Agents SDK, gdy pętla powinna pozostać kompaktowa; sprawdź funkcje obsługiwane przez wybranego dostawcę.
  5. Dodawaj agentów opartych na rolach tylko wtedy, gdy zakresy odpowiedzialności rzeczywiście da się rozdzielić.

Lektura uzupełniająca

Referencje