Kako se sustavi umjetne inteligencije u poduzećima skaliraju za upravljanje složenim tijekovima rada, praktičari se suočavaju s izazovom usmjeravanja podzadataka na prave alate i vještine. Agenti mogu imati stotine alata i vještina i biti zbunjeni oko toga koji koristiti za svaki korak tijeka rada.
Kako bi odgovorili na ovaj izazov, istraživači u Alibabi razvili su SkillWeaverokvir koji stvara graf izvršenja za određeni zadatak i odabire prave vještine za svaki od čvorova. Oni također uvode Skill-Aware Decomposition (SAD), novu tehniku koja koristi petlju povratnih informacija kako bi agentu omogućila iterativno dohvaćanje i provjeru relevantnih kandidata za alat. Ovaj kompozicijski pristup i mehanizam povratne sprege razlikuju SkillWeaver od drugih okvira za usmjeravanje alata koji alate biraju u jednom trenutku.
SkillWeaver se odnosi na aplikacije umjetne inteligencije u stvarnom svijetu gdje agenti autonomno upravljaju ekosustavima s više alata, kao što je Model Context Protocol (MCP), za izvršavanje poslovnih operacija u više koraka poput preuzimanja skupova podataka, transformiranja informacija i stvaranja vizualnih izvješća.
U praksi, eksperimenti istraživača sa SkillWeaverom pokazuju da implementacija ovog pristupa dohvaćanja i usmjeravanja značajno povećava točnost uz smanjenje potrošnje tokena za više od 99% u usporedbi s naivnim izlaganjem agenata cijeloj biblioteci alata.
Za praktičare koji izrađuju AI agente, glavni zaključak je da je granularnost dekompozicije zadatka najveće usko grlo za točno pronalaženje alata.
Sadržaj objave
Izazov usmjeravanja vještina
Vještine su ključni obrazac u modernim arhitekturama LLM agenata. Vještina je modularna specifikacija alata za višekratnu upotrebu koja koristi strukturiranu dokumentaciju prirodnog jezika.
Kako se poslovni agenti integriraju s masivnim ekosustavima alata, točno usmjeravanje korisničkih upita do pravih vještina postaje težak zadatak. Izlaganje cijele biblioteke LLM-u radi pronalaska pravog alata vrlo je neučinkovito, brzo prevazilazi ograničenja konteksta i troši stotine tisuća tokena.
Većina trenutnih okvira za korištenje alata pokušava to riješiti dohvaćanjem API-ja, usklađivanjem dokumentacije ili hijerarhijskim strukturama koje usmjeravanje tretiraju isključivo kao problem odabira jedne vještine ili koraka.
Međutim, ova paradigma jedne vještine nije dovoljna za poslovna okruženja jer su upiti u stvarnom svijetu inherentno sastavljeni. Standardni poslovni zahtjev kao npr "Preuzmite skup podataka, transformirajte ga i izradite vizualna izvješća" ne može se ispuniti jednim alatom. Zahtijeva razbijanje odzivnika i sekvenciranje API klijenta, procesora podataka i alata za vizualizaciju u kohezivni plan izvršenja u više koraka.
Kako rade SkillWeaver i SAD
Kako bi se uhvatili u koštac s tim, istraživači postavljaju problem rješavanja složenih zadataka koji zahtijevaju više vještina "kompozicijska vještina usmjeravanje." S obzirom na složen korisnički upit i ogromnu biblioteku alata, agent mora istodobno smisliti kako razbiti zahtjev u slijed atomskih podzadataka, kako preslikati svaki podzadatak na jednu najbolju dostupnu vještinu i kako sastaviti te vještine u izvršni plan.
SkillWeaver orkestrira ovaj proces kroz tri različite faze: Rastavljanje, Dohvaćanje i Sastavljanje. U prvoj fazi LLM djeluje kao dekompozitor zadataka, rastavljajući korisnikov složeni upit na niz podzadataka od kojih svaki zahtijeva jednu vještinu. Nakon što su podzadaci jasno definirani, sustav koristi model ugrađivanja za usporedbu svakog podzadatka s bibliotekom vještina kako bi izvukao uži izbor najboljih alata kandidata za svaki korak.
U završnoj fazi, planer ocjenjuje dohvaćene kandidate na temelju toga koliko dobro surađuju. Provjerava kompatibilnost između vještina kako bi se osiguralo da izlazi jednog alata prirodno teku u ulaze sljedećeg. Zatim stvara konačni plan izvršenja kao usmjereni aciklički graf (DAG) koji mapira ovisnosti tako da se neovisni zadaci potencijalno mogu izvršavati paralelno.
Na primjer, razmislite o korisniku koji traži od AI agenta da "Preuzmite skup podataka, transformirajte ga i izradite vizualna izvješća." U fazi rastavljanja, dekompozitor LLM rastavlja to u tri različita podzadatka: preuzimanje skupa podataka, transformiranje podataka i stvaranje izvješća.
U fazi dohvaćanja, sustav pretražuje biblioteku i pronalazi kandidate poput “api-client” ili “http-fetch” za zadatak jedan, “csv-parser” ili “etl-pipeline” za zadatak dva, i tako dalje. Konačno, faza sastavljanja procjenjuje ove opcije, odabire specifičnu kombinaciju “api-klijenta”, “csv-parsera” i “chart-gena” koji su najkompatibilniji i povezuje ih zajedno u konačni tijek rada spreman za izvršenje.
Ključni izazov ovog procesa je da LLM često stvaraju generičke opise koraka koji ne odgovaraju specifičnom, tehničkom vokabularu stvarnih vještina dostupnih u knjižnici. Kako bi to popravio, SkillWeaver uvodi Iterative Skill-Aware Decomposition (SAD), novu povratnu petlju. SAD funkcionira tako da LLM izradi početni plan, provede preliminarnu pretragu kako bi pronašao labavo podudarne vještine, a zatim te pronađene vještine vrati u LLM kao savjete. To omogućuje LLM-u da ponovno napiše svoju dekompoziciju tako da se granularnost i vokabular savršeno usklade sa stvarnim alatima koji postoje.
SkillWeaver na djelu
Kako bi procijenili kako SkillWeaver radi u realističnim poslovnim scenarijima, istraživači su izradili prilagođenu referentnu vrijednost pod nazivom CompSkillBench. Sastoji se od 300 upita u više koraka različitih razina težine. Kako bi preslikali okruženja iz stvarnog svijeta, koristili su biblioteku od 2209 vještina iz stvarnog svijeta koje potječu iz javnog MCP ekosustava, pokrivajući 24 funkcionalne kategorije kao što su infrastruktura u oblaku, financije i baze podataka.
Za temeljni mehanizam, istraživači su primarno koristili lagani model parametara od 7 milijardi (Qwen2.5-7B-Instruct) za dekompoziciju zadatka, uparen sa standardnim semantičkim retriverom pretraživanja (MiniLM s FAISS indeksom) za pronalaženje alata. SkillWeaver je procijenjen u odnosu na tri glavne postavke: brute-force "LLM-izravno" metodu gdje su sve nazive alata ubacili u prompt velikog modela, dekompoziciju temeljenu na LLM-u bez SAD-a i petlju agenta u stilu ReAct-a.
Eksperimenti pokazuju da je dekompozicija zadatka glavno usko grlo. Standardno ponašanje LLM-a nije dovoljno kada se radi s velikim bibliotekama alata, ali SAD povratna petlja dramatično pomiče iglu. U vanilla postavci, model 7B postigao je točnost dekompozicije (tj. predviđanje točnog broja koraka) samo 51,0% vremena. Aktiviranjem SAD povratne petlje točnost je skočila na 67,7% (kod većeg Qwen-Max modela točnost je dosegla 92%). Na "teško" zadataka koji zahtijevaju četiri do pet različitih vještina, SAD je poboljšao točnost za 50%.
Jedno fascinantno otkriće bilo je da veći modeli zapravo mogu lošije raditi kada nisu vođeni. Prilikom testiranja u vanilla postavama, veći model od 14 milijardi parametara vidio je da je njegova točnost drastično pala ispod točnosti modela 7B jer je imao tendenciju pretjeranog razlaganja zadataka na mikroskopske, nepotrebne korake. Nakon što je SAD uveden, dohvaćeni savjeti alata vratili su model u stvarnost i povećali njegovu točnost. To sugerira da je usklađivanje agenta s rječnikom određenih alata često učinkovitije od plaćanja većeg, skupljeg LLM-a.
Još jedan važan podatak je štednja u žetonima. Osnovna linija LLM-Direct, koja je koristila vrlo veliki model Qwen-Max, pokazala je da ubacivanje svih alata u prompt velikog modela ne uspijeva. Unatoč gotovo savršenim sposobnostima rastavljanja zadatka, masivni model dohvaćao je pravu kategoriju alata samo 21,1% vremena kada je bio preplavljen opcijama alata. SkillWeaverov ciljani pristup dohvaćanja i usmjeravanja uvelike je nadmašio ovaj u preciznosti dok je smanjio potrošnju kontekstnog prozora s procijenjenih 884.000 tokena na otprilike 1.160 tokena po upitu, što je smanjenje od 99,9%. Za praktičare to izravno znači drastično niže troškove API-ja i brže vrijeme odgovora.
Konačno, tradicionalna ReAct osnovna linija potpuno je zakazala, postigavši 0% točnosti razlaganja. Njegova petlja prirodno urušava planove od više koraka u izolirane radnje umjesto eksplicitnog mapiranja kohezivnog niza s više alata.
Razmatranja za programere
Iako istraživači još nisu objavili izvorni kod za SkillWeaver, njihov je rad izgrađen na gotovim alatima koji se lako mogu reproducirati.
Dekompozicija svjesna vještina (SAD), koja je ključna inovacija u srcu okvira, pametno je projektiranje brzih poruka i petlja za dohvaćanje. Autori su podijelili predloške upita u svom radu, a programeri ga mogu sami implementirati prilično jednostavno koristeći standardne orkestralne biblioteke kao što su LangChain, LlamaIndex ili čak sirove Python skripte.
Što se tiče komponente dohvaćanja, autori su izgradili temeljni okvir koristeći sve-MiniLM-L6-v2model ugradnje otvorenog koda. Utvrdili su da zamjena nešto jačeg standardnog kodera (BGE-base-en-v1.5) odmah je povećao točnost bez ikakvog finog podešavanja. Iako je standardni dvokoder izvrstan u stavljanju relevantnog alata među 10 najboljih kandidata u gotovo 70% slučajeva, muči se s dosljednim rangiranjem savršenog alata točno na prvom mjestu, postižući to samo oko 37% vremena. Kako bi premostili ovaj jaz, timovi će vjerojatno morati implementirati sekundarni unakrsni koder ili reranker temeljen na LLM-u kako bi promijenili poredak tih 10 najboljih kandidata.
Jedan zahtjev za prethodnu pripremu je vektorizacija biblioteke alata i izrada FAISS indeksa unaprijed. U praksi je to zanemariva prepreka. Ugrađivanje i indeksiranje svih 2209 vještina u mjerilu trajalo je samo 15 sekundi. Jednom izgrađeni, dohvaćanje alata iz indeksa dodaje manje od 15 milisekundi kašnjenja po upitu. Za poslovno okruženje, sinkronizacija indeksa alata je trivijalan pozadinski posao.
Trenutno ograničenje u SkillWeaveru je nedostatak oporavka od pogreške. Dok SkillWeaver uspješno mapira kompatibilni DAG za izvođenje, pilot studija autora otkrila je izazove lanaca alata u više koraka. Na primjer, ako API poziv ne uspije u drugom koraku, cijeli lanac se prekida. Temeljni doprinos rada ograničen je na fazu rutiranja i planiranja. Za istinsku produkcijsku implementaciju, praktičari moraju izgraditi vlastite mehanizme za oporavak od pogreške, zamjenu i ponovni pokušaj povrh faze sastavljanja kako bi se nosili s vremenskim ograničenjima API-ja u stvarnom svijetu ili neispravnim izlazima.
