Vylepšenia všetkých úrovní úsilia v Agent API

Úrovne úsilia v Perplexity Agent API teraz stoja menej pri rovnakej alebo lepšej kvalite výskumu a pribudla nová úroveň ultra pre maximálnu hĺbku.

Ascending glass panels reflecting a landscape and warm light.

Úrovne úsilia v Perplexity Agent API umožňujú vývojárom zvoliť pre každú úlohu rovnováhu medzi nákladmi, rýchlosťou a hĺbkou výskumu. Odteraz každá úroveň úsilia stojí menej na dopyt, pričom kvalita výskumu je vyššia alebo nezmenená. Pre najrozsiahlejší a najkomplexnejší výskum je k dispozícii nová úroveň ultra. Každá požiadavka, ktorá zvolí úroveň podľa názvu, napríklad effort="fast", automaticky dostane aktualizovanú konfiguráciu.

Vytvorenie výskumného agenta znamená nájsť pre každú úlohu správnu rovnováhu medzi nákladmi, rýchlosťou a hĺbkou. Úrovne úsilia v Agent API toto rozhodnutie urobia za používateľa. Každá úroveň je ucelená konfigurácia, ktorá definuje model, rozpočet krokov, nastavenia vyhľadávania a nástroje pre konkrétny typ úlohy. Perplexity každú úroveň priebežne vyhodnocuje a aktualizuje, aby poskytovala najlepší výskum za súčasnú cenu alebo nižšiu.

Tieto zlepšenia priniesli dva druhy zmien. Rozpočty, práca s kontextom a extrakcia znížili náklady na každý beh a skilly, výber modelu a paralelní agenti zvýšili alebo zachovali kvalitu odpovede.

Výkon úrovne medium sa na BrowseComp a DSQA zlepšil z 55 % na 77 %, pričom náklady klesli takmer o 90 %. BrowseComp a DSQA sú verejné výskumné benchmarky; WANDR je benchmark spoločnosti Perplexity zameraný na dlhé výskumné úlohy s viacerými entitami. Úroveň xhigh vykonáva agentickú prácu, ako je spúšťanie kódu v sandboxe, udržiavanie dlhých slučiek používania nástrojov a práca s mnohými zdrojmi naraz. Úroveň xhigh si udržala skóre WANDR na úrovni 76,5 % pri nákladoch približne 25 % oproti konfigurácii z augusta 2026.

Náklady na výskum

Požiadavka na hĺbkový výskum môže spustiť desiatky vyhľadávaní, prečítať stovky stránok a overiť dôkazy, kým odpovie. Každá z týchto akcií pridáva tokeny do kontextu a doláre na účet. Bez obmedzení agent pokračuje v akciách, ktoré zvyšujú náklady a zahlcujú kontext bez toho, aby zlepšili odpoveď. Väčšinu týchto nákladov ovplyvňuje päť faktorov:

  • Rozdelenie rozpočtu. Agentom s pevne stanoveným rozpočtom sa môžu minúť kroky a ich beh sa môže skončiť predčasne, ešte pred dokončením úlohy. Naopak, agenti bez pevného rozpočtu môžu pokračovať v behu a vytvárať náklady bez toho, aby zlepšili výslednú odpoveď.
  • Réžia kontextu. Výsledky vyhľadávania a načítané stránky obsahujú dôkazy, no bez kontroly sa kontextové okno môže rýchlo zaplniť nepodstatnými informáciami. Kontextové okná prenášajú náklady z kroku na krok a preťažené okná môžu znížiť výkon agenta.
  • Výber pracovného postupu. Rôzne úlohy si vyžadujú rôzne prístupy. Vyhľadanie jediného faktu, otázka vyžadujúca viacero krokov a široký prieskum zdrojov si každá vyžaduje iný pracovný postup. Ak si model vyberá sám, často zvolí neefektívny. Podrobný opis všetkých dostupných stratégií v prompte agenta to nerieši. Dodatočné pokyny sa prenášajú ako tokeny v každom kroku a model ich časom dodržiava čoraz menej spoľahlivo.
  • Výber modelu. Prechod na väčší model nemusí priniesť zlepšenie výkonu úmerné dodatočným nákladom. Nové modely prichádzajú s mediálnymi titulkami a zverejnenými výsledkami v benchmarkoch. Zlepšenia v benchmarkoch však môžu byť skreslené kontamináciou alebo odrážať preučenie modelu. Bez hodnotenia na reálnych úlohách môže zmena modelu zvýšiť náklady bez zvýšenia kvality.
  • Škálovanie pomocou viacerých agentov. Jeden agent dokáže počas jedného behu prehľadať, prečítať a vyhodnotiť len obmedzený počet zdrojov. Paralelné spustenie viacerých agentov zlepšuje kvalitu pri najnáročnejších úlohách, no zároveň zvyšuje náklady a pri nesprávnom riadení prináša zložitosť.

Vyriešenie každej z týchto výziev znížilo náklady na každú úroveň úsilia bez zníženia výkonu.

Riadenie rozpočtu na výskum

Každá úroveň úsilia má pevný rozpočet na výskum s tromi zložkami:

  • Limity krokov: počet kôl, ktoré môže agent vykonať
  • Volania nástrojov: limit celkového počtu volaní nástrojov v rámci požiadavky. Jeden krok môže naraz vydať viacero volaní naprieč viacerými nástrojmi, takže samotný limit krokov neurčuje, koľko akcií sa v rámci kroku uskutoční.
  • Pripomienky rozpočtu: pravidelné upozornenia na to, koľko krokov zostáva, aby agent mohol určiť priority a ponechať si priestor na napísanie odpovede namiesto toho, aby sa mu rozpočet minul uprostred úlohy.

Rozpočet je hlavný kompromis: viac krokov znamená lepšie odpovede a každý krok niečo stojí. Pri modeli openai/gpt-6-luna zvýšenie limitu krokov z 1 na 15 zvýši presnosť na BrowseComp + DSQA zo 41 % na 80 %, pričom náklady na dopyt vzrastú z 0,0017 USD na 0,0152 USD – teda približne 9-násobné náklady za približne 2-násobné skóre.

Samotný limit krokov náklady na výskum neurčuje. Pri rovnakom rozpočte piatich krokov uskutoční openai/gpt-6.1-terra viac volaní nástrojov než openai/gpt-6-luna, pretože schopnejšie modely zvyčajne vydávajú niekoľko volaní v jednom kroku. Úrovne úsilia obmedzujú volania nástrojov aj kroky. Pri týchto modeloch je limit volaní nástrojov rovnako dôležitý ako limit krokov.

Každá úroveň úsilia tieto limity ladí, no agent musí tiež vedieť, koľko krokov a akcií mu zostáva na splnenie požiadavky. Bez tejto informácie sa mu môžu kroky alebo akcie minúť a bude nútený odpovedať skôr, než je výskum dokončený. Rozpočet sa uvádza na začiatku behu a pripomienky prichádzajú, keď sa agent blíži k svojim limitom, takže zostáva priestor na overenie a doručenie výsledkov. Pri úrovni high pokrývajú pripomienky rozpočet krokov aj rozpočet volaní nástrojov.

Dvaja agenti – jeden s pripomienkou rozpočtu a druhý bez nej – boli otestovaní na úlohe z BrowseComp, v ktorej mali na základe troch životopisov hercov identifikovať televízny seriál z 90. rokov. Agent s pripomienkou našiel správnu odpoveď za 13 zo 40 krokov v rozpočte. Agent bez pripomienky rozpočtu využil všetkých 40 krokov a správnu odpoveď nenašiel. Jeho slučka sa neočakávane skončila a model nevedel o zostávajúcom rozpočte na výskum. Pripomienky udržiavajú agentov sústredených a pomáhajú im efektívne určovať priority pri využívaní zostávajúcich zdrojov.

Správa kontextu

Kompakcia

Dlhotrvajúce výskumné úlohy zapĺňajú kontextové okno modelu výsledkami vyhľadávania, načítanými stránkami a priebežnými poznámkami. Keď sa okno zaplní, agent musí prestať pracovať.

Kompakcia umožňuje dlhým behom pokračovať bez zaplnenia kontextového okna. Keď kontext prekročí prahovú hodnotu, agent nahradí doterajšiu prácu kratším zhrnutím toho, čo zistil a čo ešte zostáva, a potom pokračuje.

Kompakcia v kontexte vždy zachováva tri veci: systémový prompt, pôvodnú požiadavku a všetky skilly, ktoré agent už načítal. Po každej kompakcii agent dostane dva krátke pokyny. Prvý pokyn znie: „Pokračuj v práci, kým nebude úloha hotová.“ Vďaka tomu agent nepovažuje zhrnutie za bod, v ktorom sa má zastaviť. Druhý pokyn agentovi oznámi, koľko kompakcií už prebehlo, aby si mohol naplánovať zostávajúce výskumné úlohy. Dlhé behy tak majú stále na očiach pôvodný cieľ a plán a náklady na dlhé slučky klesajú bez zníženia kvality.

Načítanie len toho, na čom záleží

Každá stránka, ktorú agent prečíta, sa pridá do jeho kontextu a agent ju nesie v každom ďalšom kroku. Webová stránka obsahuje informácie nesúvisiace s otázkou, napríklad navigáciu, šablónový text a ďalší obsah.

Namiesto odovzdania celej stránky agentovi fetch_url najprv spustí extrakčný prechod. Text stránky sa spolu s aktuálnou úlohou agenta odošle menšiemu modelu. Model vráti iba relevantné pasáže v presnom znení, aby ich agent mohol citovať. Počas jedného hodnotenia sa stránka s 5 561 tokenmi zredukovala na 293 tokenov, čím sa uvoľnilo miesto pre ďalší relevantný kontext.

Použitie fetch_url s extrakciou na úrovni úsilia high znížilo počet vstupných tokenov na dopyt približne o 50 %. Extrakcia zlepšila aj výsledky v benchmarkoch – dosiahla 88,0 % pri cene 0,073 USD za dopyt v porovnaní s 83,5 % pri cene 0,094 USD bez extrakcie.

Cielené vyhľadávanie na webe

Vyhľadávanie na webe je ústrednou súčasťou každej výskumnej požiadavky agenta. V spôsobe, akým agenti vyhľadávajú, sa urobili tri zmeny:

  • Viac kontextu na jedno vyhľadávanie: Každé vyhľadávanie teraz vracia výsledky s rozsahom až 4K tokenov namiesto 2K. Agent nájde to, čo potrebuje, skôr, čo znamená menej vyhľadávaní a nižšie náklady.
  • Nový modul na generovanie úryvkov: Výsledky vyhľadávania dostávajú úryvky, ktoré lepšie zodpovedajú dopytu, takže agent nie je zahltený nepodstatným textom.
  • Rýchle vyhľadávanie: Za 1,00 USD za 1 000 požiadaviek Fast Search znižuje náklady aj latenciu každého volania vyhľadávania.

Tím Perplexity Search neustále zlepšuje kvalitu vyhľadávania pri širokej škále úloh. Nedávne aktualizácie priniesli zlepšenia v oblasti kódu, dokumentácie pre vývojárov, referenčných stránok, právneho a regulačného obsahu.

Výber správneho pracovného postupu

Niektoré úlohy vyžadujú paralelné spustenie mnohých vyhľadávaní, iné si vyžadujú dôkladné prečítanie niekoľkých dlhých dokumentov.

Načítanie všetkých pracovných postupov do systémového promptu agenta však zvyšuje réžiu kontextu a môže spôsobiť, že model bude pri jednoduchých úlohách podávať slabší výkon. Skilly sú preto usporiadané do stromu s postupným odhaľovaním. Model počas práce načítava relevantné skilly a pokyny a nesúvisiace informácie ponecháva mimo svojho kontextu. Každý skill stojí len svoj názov a opis, kým model nerozhodne, že sa na úlohu hodí, a nenačíta ho – vtedy sa do kontextu pridajú úplné pokyny a model postupuje podľa predpísaného pracovného postupu.

Na meranie prínosu jednotlivých skillov sa každý skill postupne odstráni a porovná sa kvalita a náklady pri úlohách, v ktorých východiskový agent daný skill načítal. Tieto ablácie ukazujú, ktoré pracovné postupy agentovi pomáhajú a ako ovplyvňujú efektivitu výskumu.

Behy benchmarku WANDR nižšie ukazujú, ako agenti vyberajú správne pracovné postupy pre konkrétne úlohy. Pokyny wide-search a fanout sa načítali pri každej úlohe, čo odráža potrebu skúmať viacero entít. Skill people-search sa načítal len pri 6 % úloh, a to iba vtedy, keď sa otázky týkali ľudí.

Pri testovaní ďalšej úlohy WANDR agent načítal skill people-search so vzorom fanout, aby našiel inžinierov pre inferenciu v Londýne. Rozšíril 39 pomenovaní pozícií na 117 dopytov a potom zlúčil výsledky prvého prechodu do 43 jedinečných profilov na ďalšie preverenie. Skill people-search agenta týmto rozšírením previedol bez pridania nepodstatného kontextu. Ukážka nižšie je upravená zo skriptu agenta; názvy pomocných funkcií sú ilustračné.

code1
text
Python # roles contains the 39 role variants selected by the agent. queries = [] for role in roles: queries.extend([ {"query": f"Google DeepMind {role} London"}, {"query": f"Google {role} London"}, {"query": role, "company": "Google", "location": "London"}, ]) results = pplx_sdk.search.people_many( queries, limit_per_query=50, concurrency=8 ) profiles = {} for result in results: if not result.ok: continue for profile in result.result: if "linkedin.com/in/" not in profile.url: continue url = profile.url.split("?")[0].rstrip("/") previous = profiles.get(url, {}) if url not in profiles or len(profile.summary or "") > len( previous.get("summary") or "" ): profiles[url] = { "url": url, "title": profile.title, "summary": profile.summary, }

Kontrolné body sú ďalším pracovným postupom, ktorý pomáha agentom pri dlhotrvajúcich úlohách. Vzor kontrolných bodov pochádza z dávkového programovania. Keď skript spracúva dlhý zoznam, zapíše každý výsledok na disk hneď, ako ho má, namiesto toho, aby všetko držal v pamäti až do konca. Ak skript spadne alebo v polovici narazí na chyby, nič sa nestratí: ďalší beh načíta to, čo už bolo uložené, a pokračuje tam, kde sa skončil, pričom opakuje len položky, ktoré zlyhali.

V ďalšej úlohe WANDR musel agent preveriť profily 188 inžinierov. Načítal vzor kontrolných bodov, aby počas práce zaznamenával každý výsledok. Prvý prechod extrahoval 160 profilov, no pri 28 zlyhal. Keď agent spustil skript znova, preskočil profily, ktoré už boli zaznamenané, a zopakoval iba zvyšných 28. Bez kontrolného bodu by jediný chybný záznam znamenal načítať všetkých 188 znova.Upravená ukážka v jazyku Python; vstupné stránky, pokyn na preverovanie, schéma a importy sú vynechané; názvy pomocných funkcií sú ilustračné.

code 2
text
Python checkpoint = Checkpoint("research/profile-screening") config = instruction + json.dumps(schema) config_id = hashlib.md5(config.encode()).hexdigest()[:6] def checkpoint_key(page): url_id = hashlib.md5(page["url_in"].encode()).hexdigest()[:10] return config_id + url_id pending = [ page for page in pages if not checkpoint.has(checkpoint_key(page)) ] for offset in range(0, len(pending), 20): batch = pending[offset : offset + 20] inputs = [ json.dumps({ "url": page["url_in"], "content": page["content"][:30_000] }) for page in batch ] results = pplx_sdk.llm.extract_many( inputs, instruction=instruction, output_schema=schema, chunk_size=5, concurrency=4, ) for page, result in zip(batch, results): if not result.ok or result.result.error: continue checkpoint.record( checkpoint_key(page), [{"url": page["url_in"], **result.result.result}], )

Kontrolný bod zaznamenáva úspešné výsledky; opakované pokusy nespúšťa. Zahrnutie pokynu a schémy do kľúča zaručuje, že zmenené kritériá preverovania spustia opätovné spracovanie.

Nie každý test priniesol zlepšenie kvality a efektivity. Vyhodnotilo sa aj prednačítanie všetkých skillov do agenta ešte pred začiatkom úlohy. Na BrowseComp a DSQA prednačítanie zvýšilo náklady o 13 %. Na WANDR, kde v dôsledku dlhších výskumných trajektórií tvorí získaný obsah väčší podiel vstupných tokenov, prednačítanie navyše znižuje skóre. Tieto výsledky podporili ďalšie používanie postupného odhaľovania.

Výber modelu

S rastúcimi schopnosťami modelov sa mení aj najlepší model pre každú úroveň úsilia. Perplexity využíva automatizovanú výskumnú slučku, ktorá sleduje oznámenia nových modelov a ich dostupnosť. Hodnotenia sa spúšťajú hneď, ako je model dostupný.

Keď vyjde nový model, automatizovaný agent ho preverí v hodnotiacom harnesse. Prechádza rôzne nastavenia úsilia uvažovania, rozpočtov krokov a volaní nástrojov aj konfigurácie nástrojov a každý beh hodnotí z hľadiska kvality a nákladov v porovnaní so súčasnými úrovňami úsilia. Ak sa výsledky behu zhoršia, agent skúma príčinu, upraví nastavenia a hodnotenie spustí znova. Kandidát nahradí súčasný model iba vtedy, keď ho prekoná v kvalite pri rovnakých alebo nižších nákladoch.

Verejné benchmarky sú užitočné, no ich skóre sa nie vždy premietne do reálnych úloh. Napríklad graf nižšie zobrazuje kandidátsky model, ktorý v BrowseComp dosiahol o 13,3 bodu viac, než je východisková úroveň, no pri interných výskumných úlohách z podnikovej, právnej a finančnej oblasti zostal výrazne pod príslušnými východiskovými úrovňami.

Škálovanie pomocou viacerých agentov

Jeden agent dokáže v jednej slučke pokryť len obmedzený počet zdrojov. Pri zložitých úlohách pracuje paralelne niekoľko agentov, pričom každý sa v koordinácii s ostatnými venuje inej časti problému.

Primárny agent je orchestrátor. Volá spawn_agent, aby vytvoril podriadených agentov, a každému z nich pridelí konkrétnu, presne vymedzenú úlohu. Každý podriadený agent spúšťa vlastnú výskumnú slučku so samostatným kontextom a používa vlastný model, nástroje a rozpočet krokov. Podriadení agenti hlásia výsledky nadradenému agentovi, ktorý im môže zadať nadväzujúcu úlohu alebo skontrolovať ich postup. Orchestrátor a podriadení agenti si vymieňajú správy, aby zdieľali dôkazy, upozorňovali na prekážky a upravovali ďalšie kroky. Keď prichádzajú nové informácie, orchestrátor spresňuje zadania a po dokončení práce spojí výsledky do jedinej odpovede.

Agent API podporuje preddefinované roly agentov a orchestrátor môže vytvárať podriadených agentov s vlastnými pokynmi.

Úroveň úsilia ultra spúšťa na úlohe paralelne troch agentov. Každý agent samostatne skúma celú úlohu, takže získa odlišné dôkazy. Štvrtý agent ich zistenia zlúči, odstráni duplicity a napíše výslednú odpoveď.

Na benchmarku WANDR dosahuje ultra skóre 85,9 % pri cene 21,71 USD za úlohu. Je to najvyššie skóre spomedzi testovaných konfigurácií.

Čo bude ďalej

Úrovne úsilia sa neustále vyhodnocujú a zlepšujú. Úroveň, ktorú používateľ zvolí, určuje, koľko výskumu úloha dostane a koľko bude stáť. Rozpočty krokov a volaní nástrojov spolu s pripomienkami pri ich vyčerpávaní udržiavajú požiadavky v rámci rozpočtu. Kompakcia, extrakcia a lepšie úryvky udržiavajú kontext zameraný na dôkazy. Skilly prispôsobujú pracovný postup úlohe a paralelní agenti rozširujú rozsah toho, čo dokáže pokryť jedna slučka. Automatizovaná hodnotiaca slučka prijme nový model iba vtedy, keď zlepší kvalitu výskumu pri rovnakých nákladoch.

Každá úroveň úsilia sa bude ďalej vyvíjať, keď sa nové modely a konfigurácie osvedčia pri hodnotení. Volanie úrovne podľa názvu tieto zlepšenia automaticky preberá; pripnutie verzie zachová konfiguráciu nemennú.

Vyskúšajte Agent API a porovnajte úrovne úsilia na vlastných úlohách. Podrobnosti o úrovniach úsilia nájdete v našej dokumentácii k úrovniam úsilia v Agent API.