Naukowcy z Alibaba opracowali SkillWeaver, framework mający na celu poprawę routingu podzadań w korporacyjnych systemach AI. SkillWeaver tworzy wykresy wykonania zadań i wybiera odpowiednie umiejętności dla każdego węzła. W ramach tej platformy zastosowano dekompozycję uwzględniającą umiejętności (SAD), technikę wykorzystującą pętlę sprzężenia zwrotnego do iteracyjnego wyboru narzędzi, co odróżnia ją od platform, które wybierają narzędzia jednorazowo.
SkillWeaver został zaprojektowany specjalnie z myślą o zastosowaniach sztucznej inteligencji w świecie rzeczywistym, takich jak koordynacja wielu narzędzi za pośrednictwem protokołu Model Context Protocol (MCP) na potrzeby różnych operacji biznesowych, w tym obsługi danych i raportowania. Testy pokazują, że podejście SkillWeaver zwiększa dokładność, jednocześnie zmniejszając zużycie tokenów o ponad 99% w porównaniu z udostępnianiem agentom całej biblioteki narzędzi.
Głównym wyzwaniem stojącym przed systemami sztucznej inteligencji jest szczegółowość rozkładu zadań, ponieważ zapytania praktyczne często obejmują żądania kompozycji wymagające wielu umiejętności. Umiejętności definiuje się jako modułowe specyfikacje wielokrotnego użytku, wykorzystujące ustrukturyzowaną dokumentację w języku naturalnym. Obecne struktury sztucznej inteligencji często borykają się z problemem traktowania routingu narzędzi jako zadania polegającego na wyborze jednej umiejętności, co jest niewystarczające w przypadku złożonych przepływów pracy.
Działanie SkillWeaver składa się z trzech etapów: Decompose, Retrieve i Compose. Na etapie rozkładania LLM rozkłada złożone zapytania użytkowników na możliwe do wykonania podzadania. Następnie etap pobierania wykorzystuje model osadzania w celu zidentyfikowania narzędzi kandydujących do każdego podzadania z biblioteki umiejętności. Na koniec etap tworzenia ocenia zgodność tych narzędzi i formułuje ukierunkowany graf acykliczny (DAG), który przedstawia plan wykonania.
SkillWeaver rozwiązuje również problem generowania przez LLM opisów ogólnych poprzez wdrożenie pętli sprzężenia zwrotnego SAD. Dzięki temu mechanizmowi LLM przygotowuje wstępny plan, odzyskuje pasujące umiejętności i udoskonala jego rozkład w oparciu o odzyskane narzędzia, zapewniając zgodność z określonymi słownikami technicznymi.
Aby ocenić skuteczność, badacze stworzyli CompSkillBench, test porównawczy obejmujący 300 wieloetapowych zapytań opartych na 2209 umiejętnościach ze świata rzeczywistego. W podstawowym silniku zastosowano model zawierający 7 miliardów parametrów (Qwen2.5-7B-Instruct) do procesu dekompozycji i moduł wyszukiwania semantycznego. Testy wykazały, że pętla sprzężenia zwrotnego SAD zwiększyła dokładność rozkładu z 51,0% do 67,7%, przy czym wyższe modele osiągnęły dokładność 92%.
Wyniki podkreśliły, że mniej wskazówek może prowadzić do zmniejszenia wydajności większych modeli. Podstawowa konfiguracja wykorzystująca większy model działała gorzej niż mniejszy model ze względu na niepotrzebne podziały zadań. Badanie wykazało, że właściwe dopasowanie do słownictwa narzędziowego często ma większy wpływ niż samo użycie większego modelu.
Odnotowano znaczne oszczędności tokenów, ponieważ SkillWeaver zmniejszył zużycie okna kontekstowego z około 884 000 tokenów do około 1160 tokenów na zapytanie, co doprowadziło do obniżenia kosztów interfejsu API i skrócenia czasu odpowiedzi. Natomiast metoda LLM-Direct zapewniła jedynie 21,1% dokładności w odzyskiwaniu narzędzi, podczas gdy agenci typu ReAct osiągnęli dokładność 0%.
Chociaż kod źródłowy SkillWeaver nie został jeszcze opublikowany, badacze udostępnili szablony, które programiści mogą wdrożyć, korzystając z istniejących bibliotek, takich jak LangChain i LlamaIndex. Framework wymaga wstępnej wektoryzacji biblioteki narzędzi i zbudowania indeksu FAISS, który można ukończyć w krótkim czasie, minimalizując opóźnienia podczas pobierania.
Ograniczeniem SkillWeaver jest brak odzyskiwania błędów w wieloetapowych łańcuchach narzędzi. Badanie wykazało, że jeśli jeden krok się nie powiedzie, zagraża to całemu łańcuchowi, co podkreśla potrzebę udoskonalenia mechanizmów obsługi błędów w ramach.





