Glavna navigacija

Učenje sistemskih upita: nova paradigma za sustave umjetne inteligencije

Učenje sistemskih upita pomaže timovima poboljšati ponašanje umjetne inteligencije bez ponovne obuke modela te olakšava razumijevanje ograničenja.

Je li vam se ikada dogodilo da određeni upit dobro funkcionira, a zatim iznenada prestane?

Jeste li ikada zapeli u krugu neprestanog dorađivanja sistemskog upita kako biste poboljšali rezultate, ali ništa nije pomoglo?

Učenje sistemskih upita moglo bi biti upravo ono što vam treba.

Učenje sistemskih upita (SPL) novo je područje interesa u zajednici umjetne inteligencije, a u svibnju ga je na platformi X uvelike popularizirao Andrej Karpathy.

Učenje sistemskih upita rješava ograničenja nefleksibilnih i krhkih sustava umjetne inteligencije koji se oslanjaju na statične sistemske upite ili nespretne postupke finog podešavanja. Nudi još jedan način podrške kontinuiranom učenju u sustavima umjetne inteligencije.

Prije nego što krenemo, ukratko ćemo ponoviti neke osnove izrade upita.

Pri razvoju agenta ili prilagođenog modela najprije moramo osmisliti dvije ključne komponente:

  1. Sistemski upit

  2. Korisnički upit

Sistemski upiti utvrđuju osnovna pravila ponašanja modela. Kada se pišu za prilagođena rješenja umjetne inteligencije, često počinju ovako:

“You are an intelligent assistant. Your role is to perform <insert task here>.

You must not do (A), (B), or (C).”

Nasuprot tome, korisnički upiti obično sadržavaju korisnikov upit i druge relevantne podatke, poput vremenske zone i preferencija. Korisnički upit mogao bi izgledati ovako:

Snimka zaslona koja prikazuje uvod.

I’m in the capital city of Portugal. Can you suggest some things I can do tonight?

Curenje sistemskih upita postalo je uobičajeno nakon objave novih modela velikih laboratorija za umjetnu inteligenciju jer korisnici probijaju zaštite chatbotova kako bi otkrili njihove temeljne upute. Popularni repozitorij na GitHubu sada okuplja mnoge od tih sistemskih upita na jednom mjestu. Otkrivaju „tajni sastojak” koji su laboratoriji za umjetnu inteligenciju razvijali kako bi potaknuli primjereno ponašanje modela. Primjerice, nedavno procurjeli sistemski upit za GPT-5 (otkriven unutar ChatGPT-a) sadržava oko 6000 riječi, što pokazuje koliko znanja i smjernica treba kodirati kako bi se oblikovalo ponašanje sustava.

Takvi opsežni sistemski upiti obično obuhvaćaju nekoliko ključnih područja, kao što su:

  • Upute za pretraživanje

  • Definicije alata

  • Korisničke preferencije

  • Upute za citiranje

  • Brzi popravci poznatih problema

U praksi razvojni programeri prilagođenih sustava umjetne inteligencije ručno i iterativno dorađuju sistemske upite dok testiraju i usavršavaju aplikacije, pri čemu se ponajprije služe evaluacijama za usmjeravanje poboljšanja.

Drugi načini usmjeravanja ponašanja modela uključuju:

  • Inženjering upita, uključujući generiranje prošireno dohvaćanjem (RAG), kojim se kontrolira sadržaj dostavljen modelu

  • Fino podešavanje (izravna promjena temeljnih težina modela)

Što ako postoji još jedan način utjecanja na ponašanje modela? Zamislite sustav koji dinamički uči i usavršava vlastiti sistemski upit služeći se prethodno generiranim mislima, planovima i strategijama. Za procjenu svojih rezultata mogao bi se osloniti i na povratne informacije korisnika i na evaluacije LLM-a u ulozi suca.

Što je učenje sistemskih upita?

Razmislite o trajnom poslovnom izazovu koji želite automatizirati pomoću agentskog sustava. Učinkovita rješenja zahtijevaju sposobnosti rasuđivanja koje nadilaze osnovnu automatizaciju radnih procesa. U takvim je slučajevima ključno u sustav umjetne inteligencije ugraditi komponentu za generiranje planova. To sustavu omogućuje da, ovisno o zadatku, na različite načine surađuje s više agenata. Pojedini koraci mogu uključivati upute za pristup drugim agentima radi izvršavanja podzadataka ili upotrebu alata.

Snimka zaslona koja objašnjava što je učenje sistemskih upita.

Napomena: Alat agenta svaka je vanjska funkcija, API ili resurs koji agent umjetne inteligencije može pozvati kako bi nadišao obradu teksta i izvršio stvarne radnje.

Sistemski upit modela možete odlučiti „inicijalizirati” planom koji prati logične korake koje bi poduzeo čovjek, iako LLM-ovi obično trebaju konkretnije smjernice o upotrebi alata, oblikovanju rezultata i povezanim zahtjevima. Ponekad optimalna strategija nije jasna ili se možda bavite problemom koji nije ponovno procijenjen jer se prije smatrao riješenim. Tu na scenu stupa učenje sistemskih upita (SPL).

SPL iterativno poboljšava sistemski upit uključivanjem prethodno generiranih strategija. Kako se pojavljuju novi problemi, sustav postupno prikuplja znanje i postaje otporniji. Zamislite to kao izradu priručnika za rješavanje problema u svojem području.

SPL postupno ugrađuje uvide iz povratnih informacija korisnika u sistemski upit. Kako sustav sazrijeva, možete otkriti probleme koji se ponavljaju i sažeti ih u općenitija načela više razine.

Detaljan vodič

Pogledajmo detaljnije kako postupak funkcionira, korak po korak:

  1. Počnite s korisničkim upitom kojim od sustava tražite da izvrši određeni zadatak.

    1. Ako sustav rješava samo jedan problem, možete primijeniti „pohlepan” pristup i odabrati najbolje ocijenjene strategije iz prethodnih izvođenja. Istraživanje možete potaknuti i uzorkovanjem iz distribucije koja daje prednost visoko ocijenjenim strategijama, ali povremeno uključuje i slabije ocijenjene. To je osobito korisno kada tek počinjete prikupljati strategije.

    2. Za sustave namijenjene rješavanju različitih skupova problema razmotrite dodavanje klasifikacijskog sloja ili upotrebu ugradnji i kosinusne sličnosti (istih tehnika koje se obično upotrebljavaju u RAG-u) radi prepoznavanja relevantnih pristupa. To vam pomaže odabrati strategije prikladne za konkretan problem, primjerice one prilagođene programskim zadacima.

Napomena: Ugradnje u kombinaciji s kosinusnom sličnošću omogućuju mjerenje povezanosti dvaju podataka, što olakšava uparivanje dokumenata, upita ili ideja čak i kada se njihov točan tekst razlikuje.

Primjer početne točke pojednostavnjenog spremišta strategija za rješavanje programskih problema.

Napomena: Ovdje prikazane „početne strategije” služe samo kao primjer. U stvarnim programskim scenarijima dodatno bismo ih usavršili. Za specifične poslovne probleme trebalo bi s vremenom prikupiti dodatne uvide.

Generation_id (obrnuti redoslijed)

Predmet

Ocjena

Strategy_text

Objašnjenje

4

programiranje

1

Shvatite problem, ograničenja i rubne slučajeve. Osmislite algoritam s odgovarajućim podatkovnim strukturama. Provjerite plan na primjerima i invarijantama. Implementirajte čist i čitljiv kôd. Doradite ga refaktoriranjem, optimizacijom i završnim oblikovanjem. Upotreba alata: Pri upotrebi alata ukratko objasnite zašto je bio potreban.

Uključuje i spaja najbolje elemente triju strategija u nastavku.

3

programiranje

1

Shvatite problem, ograničenja i rubne slučajeve. Osmislite algoritam s odgovarajućim podatkovnim strukturama. Provjerite plan na primjerima i invarijantama. Implementirajte čist i čitljiv kôd. Doradite ga refaktoriranjem, optimizacijom i završnim oblikovanjem.

Zaokruženija strategija, ali ne sadržava smjernice za upotrebu alata.

2

programiranje

-1

Shvatite problem, ograničenja i rubne slučajeve. Osmislite algoritam s odgovarajućim podacima. Implementirajte čist i čitljiv kôd. Upotreba alata: pri pristupu alatima napišite kratak sažetak razloga za upotrebu tog alata.

Bolja strategija koja spominje upotrebu alata, ali još se može poboljšati.

1

programiranje

-1

Površno pregledajte problem. Riješite problem. Izradite minimalne testove. Predajte bilo što što se može pokrenuti.

Spominje testove, ali općenito je riječ o slaboj strategiji.

3. Nakon uzorkovanja N strategija uključite ih u sistemski upit. Time se generiranje planova temelji na prethodnim povratnim informacijama stručnjaka, umjesto da model izrađuje planove uz minimalne smjernice. Potaknite model da „razmišlja izvan okvira” i prema potrebi dodaje korake umjesto da doslovno prepisuje ogledne strategije.

Snimka zaslona koja prikazuje detaljan vodič.

4. Pomoću dinamički izrađenog sistemskog upita generirajte novu strategiju za rješavanje korisnikova zahtjeva. Tim bi se postupkom trebali izraditi dodatni zadaci koji poboljšavaju konačni rezultat. Cilj je kreativnost: spojite najbolje elemente prethodnih strategija, objedinite korake koji se preklapaju i prema potrebi dodajte korisne nove korake.

Napomena: Imajte na umu da je temperatura parametar koji se može prilagoditi radi raznovrsnijih i manje determinističkih rezultata, što je korisno kada je poželjna kreativnost. Ako temperatura nije nula, svaki generirani plan može se razlikovati.

5. Nakon što primite rezultat modela, neka ga procijeni čovjek ili LLM u ulozi suca prema posebnim kriterijima koji određuju dobro rješenje vašeg problema. Za prethodno spomenuti primjer aktivnosti u Portugalu kriteriji procjene mogli bi uključivati:

  • Sažetost (odgovor ograničen na jednu rečenicu)

  • Relevantnost predložene aktivnosti

  • Točnost lokacije

6. Na temelju te procjene drugim modelom usavršite strategiju. Neobavezna petlja povratnih informacija može uključivati mišljenje ljudi i podržati zajednička poboljšanja. Pohranite usavršenu strategiju u bazu podataka s odgovarajućim metapodacima radi praćenja verzija i promjena.

Snimka zaslona koja prikazuje detaljan vodič.

Zašto onda prolaziti kroz sve to? Rezultate biste mogli pregledavati ručno i u skladu s njima prilagođavati sistemski upit. Međutim, moćni modeli za rasuđivanje mogu usavršiti strategije služeći se kontekstom rezultata i povratnim informacijama ljudi. Iako ljudi lako uočavaju nedostatke jednostavnih pristupa, u složenim sustavima koji rješavaju šire skupove problema njihovo prepoznavanje postaje zahtjevno i zamorno.

LLM-ovi često trebaju detaljne upute i dodatne korake kako bi prikupili kontekstualno znanje koje ljudi prirodno primjenjuju na problem. Broj potrebnih zadataka može brzo rasti kako se sustav širi radi rješavanja širih skupova problema. Primjerice, ljudi koji rješavaju programske probleme mogu intuitivno razumjeti okolnu programsku bazu, dok LLM možda prvo mora „pročitati” više datoteka.

Učinak primjene SPL-a u vašim rješenjima umjetne inteligencije

Otkrivanje novih načina rješavanja problema

  • Kada pomaže: Zamislite da vodite tim korisničke podrške, a agent umjetne inteligencije razvrstava zahtjeve. S vremenom bi SPL mogao otkriti metodu kategorizacije koju vaš tim nije razmotrio i tako smanjiti stopu eskalacija.

  • Kada ne pomaže: Ako zahtjevi usklađenosti ili propisi već određuju vaše radne procese, primjerice za financijsko izvješćivanje, SPL možda neće imati veliku vrijednost jer kreativnost postaje rizik, a ne prednost.

Unaprjeđenje suradnje ljudi i umjetne inteligencije

  • Kada pomaže: U poslovima koji zahtijevaju mnogo istraživanja, poput tržišnog obavještavanja ili strategije proizvoda, možete surađivati s umjetnom inteligencijom tako da usavršavate njezine planove, obogaćujete rezultate i uključujete poboljšanja za buduću upotrebu. Svaka interakcija povećava učinkovitost sustava.

  • Kada ne pomaže: Ako se vaš tim umjetnom inteligencijom uglavnom služi za jednostavne radne procese s minimalnim ljudskim doprinosom, primjerice obradu računa, troškovi suradnje mogu nadmašiti korist.

Prilagodba novim problemima

  • Kada pomaže: Pretpostavimo da se širite u novu regiju i umjetna inteligencija odjednom mora rješavati upite o lokalnim porezima. SPL omogućuje brzo kodiranje novih pravila i heuristika čim se pojave, čime se sprječava ponavljanje pogrešaka.

  • Kada ne pomaže: Ako je vaše okruženje statično, primjerice kada se prijepisi sastanaka pretvaraju u standardizirane sažetke, stalna prilagodba donosi vrlo malo koristi.

Izazovi i čimbenici rizika

U teoriji sve to zvuči obećavajuće, no primjena SPL-a donosi stvarne izazove. U nastavku razmatramo neke od najvažnijih:

Izostanak konvergencije

U ranim fazama generiranja strategije napredak često zastane: novi se rezultati ne nadovezuju na prethodne i zamah slabi. To obično uzrokuju dva glavna problema:

    • Rješenje: Unaprijed kodirajte sve raspoloživo poslovno znanje kako bi sustav imao dovoljno sadržaja na koji se može osloniti.

    • Rješenje: Osmislite nijansiranu ljestvicu koja ocjenjuje više aspekata odgovora, poput točnosti, jasnoće i relevantnosti, te prilagodite uzorkovanje tako da odražava te signale.

Eksplozija broja strategija

Ako sustav generira stotine strategija, ali prima malo povratnih informacija kojima bi razlikovao dobre od loših, uzorkovanje brzo postaje teško upravljivo. Rješenje je obrezivanje.

Pri usavršavanju spremišta strategija razmotrite sljedeće:

  • Životni vijek: Uklonite strategije kada premaše definirano razdoblje ili broj generacija.

  • Ocjena: Ljestvicom za evaluaciju filtrirajte strategije koje stalno ostvaruju loše rezultate. Kombiniranjem toga sa životnim vijekom zadržavate samo pristupe koji s vremenom dokažu svoju vrijednost.

  • Procjena LLM-a: Povremeno procijenite strategije kako biste utvrdili koje više ne donose jedinstvene uvide jer su njihovi korisni elementi vjerojatno već ugrađeni u novije verzije.

Rješenje: Bazu strategija smatrajte živim sustavom: redovito je obrezujte kako bi ostalo samo relevantno i vrijedno znanje.

Zaključak

Učenje sistemskih upita još je u povojima, ali njegov je potencijal golem. Poduzeća koja se oslanjaju isključivo na statične upite ili beskonačno fino podešavanje suočit će se s poznatim ograničenjima: krhkim sustavima, rastućim troškovima i uzaludnim trudom. SPL nudi izlaz iz tog kruga izgradnjom sustava koji se s vremenom poboljšavaju i kodiraju načela više razine umjesto izoliranih zakrpa.

SPL se još razvija, ali smjer je jasan: sustavi koji mogu učiti sami od sebe nadmašit će one koji to ne mogu. Sada je vrijeme za eksperimentiranje: počnite s malim koracima, bilježite naučeno i izgradite temelje sustava umjetne inteligencije koji se poboljšavaju svakom interakcijom.

Autor

George Williamson