Kõigi Agent API pingutustasemete täiustused

Perplexity Agent API pingutustasemed maksavad nüüd vähem, pakkudes sama head või paremat uurimistöö kvaliteeti, ning sügavama uurimistöö jaoks on lisandunud uus ultra-tase.

Ascending glass panels reflecting a landscape and warm light.

Perplexity Agent API pingutustasemed võimaldavad arendajatel valida iga ülesande jaoks tasakaalu kulu, kiiruse ja uurimistöö sügavuse vahel. Nüüdsest maksab iga pingutustase päringu kohta vähem ning uurimistöö kvaliteet on kõrgem või sama. Kõige laiaulatuslikuma ja põhjalikuma uurimistöö jaoks on saadaval uus tase ultra. Iga päring, mis valib taseme nime järgi, näiteks effort="fast", saab uuendatud konfiguratsiooni automaatselt.

Uurimisagendi loomine tähendab iga ülesande jaoks õige tasakaalu leidmist kulu, kiiruse ja sügavuse vahel. Agent API pingutustasemed teevad selle otsuse kasutaja eest. Iga tase on komplekteeritud konfiguratsioon, mis määrab konkreetse ülesandetüübi jaoks mudeli, sammueelarve, otsingusätted ja tööriistad. Perplexity hindab ja uuendab iga taset aja jooksul, et pakkuda parimat uurimistööd taseme praeguse kuluga või sellest odavamalt.

Need edusammud tulenesid kahte tüüpi muudatustest. Eelarved, kontekstihaldus ja väljavõtmine vähendasid iga käivituse kulu, samas kui Skillid, mudelivalik ja paralleelsed agendid tõstsid või säilitasid vastuse kvaliteeti.

Taseme medium jõudlus paranes BrowseCompis ja DSQA-s 55%-lt 77%-le, samal ajal kui kulud vähenesid ligi 90%. BrowseComp ja DSQA on avalikud uurimistöö võrdlustestid; WANDR on Perplexity võrdlustest pikkade, mitut olemit hõlmavate uurimisülesannete jaoks. Tase xhigh teeb agentset tööd, näiteks käivitab koodi liivakastis, hoiab käigus pikki tööriistakasutuse tsükleid ja töötab korraga paljude allikatega. Tase xhigh hoidis oma WANDR-i tulemust 76,5% juures, töötades umbes 25%-ga 2026. aasta augusti konfiguratsiooni kulust.

Uurimistöö hind

Põhjaliku uuringu päring võib enne vastamist teha kümneid otsinguid, lugeda sadu lehti ja kontrollida tõendeid. Iga selline toiming lisab kontekstile tokeneid ja arvele dollareid. Piiranguteta jätkab agent toimingute tegemist, mis tõstavad kulu ja koormavad konteksti, vastust parandamata. Suurema osa sellest kulust tingivad viis tegurit:

  • Eelarve jaotamine. Kindla eelarvega agentidel võivad sammud otsa saada, mistõttu nad lõpetavad käivituse enneaegselt, enne kui ülesanne on viimistletud. Seevastu kindla eelarveta agendid võivad jätkata tööd, tekitades kulusid ilma lõppvastust parandamata.
  • Konteksti lisakoormus. Otsingutulemused ja hangitud lehed sisaldavad tõendeid, kuid kontrollimata jättes võib kontekstiaken kiiresti täituda ebaolulise teabega. Kontekstiaknad kannavad kulusid sammult sammule edasi ja ülekoormatud aknad võivad agendi jõudlust vähendada.
  • Töövoo valik. Erinevad ülesanded vajavad erinevaid lähenemisi. Ühe fakti otsing, mitmeastmeline küsimus ja lai allikate ülevaade nõuavad igaüks erinevat töövoogu. Kui mudel saab ise valida, valib ta sageli ebatõhusa töövoo. Iga saadaoleva strateegia kirjeldamine agendi viibas seda probleemi ei lahenda. Lisajuhised kantakse tokenitena kaasa igal sammul ja aja jooksul järgib mudel igaüht neist üha vähem usaldusväärselt.
  • Mudelivalik. Suuremale mudelile üleminek ei pruugi anda lisakuluga vastavat jõudluse paranemist. Uued mudelid saabuvad kõlavate pealkirjade ja avaldatud võrdlustestide tulemustega. Võrdlustestide edu võib aga olla saastunud või peegeldada mudeli ülesobitamist. Ilma reaalsete ülesannete põhjal hindamiseta võib mudeli vahetus kulusid tõsta ilma kvaliteeti tõstmata.
  • Mitme agendi skaleerimine. Üks agent suudab ühe käivituse jooksul otsida, lugeda ja arutleda piiratud arvu allikate põhjal. Mitme agendi paralleelne käitamine parandab kvaliteeti kõige nõudlikumates ülesannetes, kuid suurendab ka kulusid ja tekitab keerukust, kui seda õigesti ei hallata.

Iga sellise väljakutse lahendamine vähendas kõigi pingutustasemete kulusid ilma jõudlust vähendamata.

Uurimiseelarve kontrollimine

Igal pingutustasemel on kindel uurimiseelarve, mis koosneb kolmest osast:

  • Sammupiirangud: käikude arv, mida agent saab teha
  • Tööriistakutsed: päringu tööriistakutsete koguarvu ülempiir. Üks samm võib korraga teha mitu kutset mitmele tööriistale, seega sammupiirang üksi ei kontrolli, kui palju toiminguid ühe sammu jooksul toimub.
  • Eelarve meeldetuletused: perioodilised teated selle kohta, mitu sammu on jäänud, et agent saaks prioriseerida ja jätta ruumi vastuse kirjutamiseks, selle asemel et eelarve ülesande keskel ammendada.

Eelarve on keskne kompromiss: rohkem samme tähendab paremaid vastuseid, kuid iga samm tekitab kulusid. Mudeli openai/gpt-6-luna puhul tõstab sammupiirangu suurendamine 1-lt 15-le täpsust BrowseComp + DSQA-s 41%-lt 80%-le, samal ajal kui kulu päringu kohta tõuseb 0,0017 dollarilt 0,0152 dollarile – umbes 9 korda suurem kulu umbes 2 korda parema tulemuse eest.

Sammupiirang üksi ei kontrolli uurimistöö kulu. Sama viiesammulise eelarve juures teeb openai/gpt-6.1-terra rohkem tööriistakutseid kui openai/gpt-6-luna, sest võimekamad mudelid kipuvad ühe sammu jooksul tegema mitu kutset. Pingutustasemed piiravad nii tööriistakutseid kui ka samme. Nende mudelite puhul on tööriistakutsete ülempiir sama oluline kui sammupiirang.

Iga pingutustase häälestab neid piiranguid, kuid agent peab ka teadma, mitu sammu ja toimingut tal päringu täitmiseks alles on. Ilma selle teabeta võivad tal sammud või toimingud otsa saada ja ta on sunnitud vastama enne, kui uurimistöö on lõpetatud. Eelarve teatatakse käivituse alguses ja meeldetuletused saabuvad, kui agent oma piirangutele läheneb, nii et tulemuste kontrollimiseks ja edastamiseks jääb ruumi. Taseme high puhul hõlmavad meeldetuletused nii sammueelarvet kui ka tööriistakutsete eelarvet.

BrowseCompi ülesandes testiti kahte agenti – üht eelarve meeldetuletusega ja teist ilma –, kes pidid kolme näitleja elulugude põhjal tuvastama 1990. aastate telesarja. Meeldetuletusega agent leidis õige vastuse, kasutades eelarve 40 sammust 13. Eelarve meeldetuletuseta agent kasutas kõik 40 sammu ega leidnud õiget vastust. Selle agendi tsükkel lõppes ootamatult ja mudel ei teadnud järelejäänud uurimiseelarvest. Meeldetuletused hoiavad agendid fookuses ja aitavad neil järelejäänud ressursse tõhusalt prioriseerida.

Konteksti haldamine

Tihendamine

Pikaajalised uurimisülesanded täidavad mudeli kontekstiakna otsingutulemuste, hangitud lehtede ja vahemärkmetega. Kui aken on täis, peab agent töö lõpetama.

Tihendamine hoiab pikad käivitused töös ilma kontekstiakent täitmata. Kui kontekst ületab läve, asendab agent senise töö lühema kokkuvõttega sellest, mida ta on leidnud ja mis on veel teha, ning jätkab seejärel.

Tihendamine säilitab kontekstis alati kolm asja: süsteemiviiba, algse päringu ja kõik Skillid, mille agent on juba laadinud. Pärast iga tihendamist saab agent kaks lühikest juhist. Esimene juhis on „Jätka tööd, kuni ülesanne on tehtud.“ See takistab agendil kokkuvõtet peatumiskohana käsitlemast. Teine juhis ütleb agendile, mitu tihendamist on toimunud, et ta saaks oma järelejäänud uurimisülesandeid planeerida. Pikkade käivituste puhul püsivad algne eesmärk ja plaan silme ees ning pikkade tsüklite kulu väheneb ilma kvaliteeti langetamata.

Ainult olulise hankimine

Iga leht, mida agent loeb, lisandub tema konteksti ja agent kannab seda kaasa igal järgneval sammul. Veebileht sisaldab küsimusega mitteseotud teavet, näiteks navigatsiooni, standardteksti ja muud sisu.

Selle asemel, et anda agendile terve leht, käivitab fetch_url esmalt väljavõtmise etapi. Lehe tekst saadetakse koos agendi praeguse ülesandega väiksemale mudelile. Mudel tagastab ainult asjakohased lõigud, tsiteerituna täpselt, et agent saaks neile viidata. Ühe hindamise käigus vähendati 5561 tokeniga lehte 293 tokenini, mis vabastas ruumi täiendava asjakohase konteksti jaoks.

Tööriista fetch_url kasutamine väljavõtmisega pingutustasemel high vähendas sisendtokenite arvu päringu kohta ligikaudu 50%. Väljavõtmine parandas ka võrdlustesti tulemust, saavutades 88,0% hinnaga 0,073 $ päringu kohta, võrreldes 83,5%-ga hinnaga 0,094 $ ilma väljavõtmiseta.

Fokusseeritud veebiotsing

Veebiotsing on iga agendi uurimispäringu keskmes. Agentide otsimisviisis tehti kolm muudatust:

  • Rohkem konteksti otsingu kohta: iga otsing tagastab nüüd senise 2K asemel kuni 4K tokenit tulemusi. Agent leiab vajaliku kiiremini, mis tähendab vähem otsinguid ja väiksemat kulu.
  • Uus katkendimootor: otsingutulemused saavad päringule paremini vastavad katkendid, nii et agenti ei koormata üle ebaolulise tekstiga.
  • Kiire otsing: hinnaga 1,00 $ 1000 päringu kohta vähendab Fast Search iga otsingukutse kulu ja latentsust.

Perplexity Searchi meeskond parandab pidevalt teabeotsingu kvaliteeti väga erinevates ülesannetes. Hiljutised uuendused tõid edusamme koodi, arendajadokumentatsiooni, viitelehtede ning õigus- ja regulatiivse sisu puhul.

Õige töövoo valimine

Mõned ülesanded nõuavad paljude otsingute paralleelset käitamist, teised aga mõne pika dokumendi hoolikat lugemist.

Kuid iga töövoo laadimine agendi süsteemiviipa lisab konteksti lisakoormust ja võib panna mudeli lihtsates ülesannetes kehvemini toimima. Selle asemel on Skillid korraldatud järkjärgulise avalikustamisega puustruktuuriks. Mudel laadib töö käigus asjakohased Skillid ja juhised, jättes mitteseotud teabe oma kontekstist välja. Iga Skill maksab ainult oma nime ja kirjelduse jagu, kuni mudel otsustab, et see sobib ülesandega, ja selle laadib – sel hetkel lisatakse kontekstile täielikud juhised ning mudel järgib ettenähtud töövoogu.

Et mõõta üksikute Skillide panust, eemaldatakse Skillid ükshaaval ning võrreldakse kvaliteeti ja kulu ülesannetes, kus lähteagent selle Skilli laadis. Need ablatsioonid näitavad, millised töövood agenti aitavad ja kuidas need mõjutavad uurimistöö tõhusust.

Allolevad WANDR-i võrdlustesti käivitused näitavad, kuidas agendid valivad konkreetsete ülesannete jaoks õiged töövood. Laia otsingu ja hargnemise juhised laaditi iga ülesande jaoks, mis peegeldab vajadust uurida mitut olemit. Inimeste otsing laaditi ainult 6% ülesannete jaoks ja ainult siis, kui küsimused puudutasid inimesi.

Teise WANDR-i ülesande testimisel laadis agent inimeste otsingu Skilli koos hargnemismustriga, et leida Londonis tegutsevaid järeldusinsenere. Agent laiendas 39 rollinimetust 117 päringuks ja ühendas seejärel esimese ringi tulemused 43 unikaalseks profiiliks edasiseks sõelumiseks. Inimeste otsingu Skill juhatas agenti selle laiendamise käigus ilma ebaolulist konteksti lisamata. Allolev katkend on kohandatud agendi skriptist; abifunktsioonide nimed on näitlikud.

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, }

Kontrollpunktide kasutamine on veel üks töövoog, mis aitab agente pikaajalistes ülesannetes. Kontrollpunktide muster pärineb pakktöötlusest. Kui skript töötleb pikka loendit, kirjutab see iga tulemuse kettale kohe, kui see on olemas, selle asemel et hoida kõike lõpuni mälus. Kui skript poole pealt kokku jookseb või tekib vigu, ei lähe midagi kaduma: järgmine käivitus loeb juba salvestatu ja jätkab sealt, kus pooleli jäi, proovides uuesti ainult ebaõnnestunud üksusi.

Teises WANDR-i ülesandes pidi agent sõeluma 188 inseneri profiili. Ta laadis kontrollpunkti mustri, et iga tulemus töö käigus salvestada. Esimene läbimine eraldas 160 profiili, kuid ebaõnnestus 28 puhul. Kui agent skripti uuesti käivitas, jättis ta juba salvestatud profiilid vahele ja proovis uuesti ainult ülejäänud 28. Ilma kontrollpunktita tähendaks üksainus vigane kirje kõigi 188 profiili uuesti hankimist.Kohandatud Pythoni katkend; sisendlehed, sõelumisjuhis, skeem ja impordid on välja jäetud; abifunktsioonide nimed on illustratiivsed.

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}], )

Kontrollpunkt salvestab edukad tulemused; see ei käivita korduskatseid. Juhise ja skeemi lisamine võtmesse tagab, et muudetud sõelumiskriteeriumid käivitavad uuesti töötlemise.

Mitte iga test ei toonud kvaliteedi ja tõhususe kasvu. Hinnati kõigi Skillide eellaadimist agendile enne ülesande alustamist. BrowseCompis ja DSQA-s suurendas eellaadimine kulu 13%. WANDR-is, kus pikemate uurimistrajektooride tõttu moodustab hangitud sisu suurema osa sisendtokenitest, vähendab eellaadimine ka tulemusi. Need tulemused toetasid järkjärgulise avalikustamise kasutamise jätkamist.

Mudelivalik

Mudelite võimekuse arenedes muutub ka iga pingutustaseme jaoks parim mudel. Perplexity kasutab automatiseeritud uurimistsüklit, mis jälgib uute mudelite väljakuulutamist ja kättesaadavust. Hindamised käivitatakse kohe, kui mudel muutub kättesaadavaks.

Kui avaldatakse uus mudel, laseb automatiseeritud agent selle läbi hindamise harnessi. Agent katsetab süstemaatiliselt erinevaid arutluse pingutuse, sammu- ja tööriistakutsete eelarvete ning tööriistakonfiguratsioonide väärtusi ja hindab iga käivituse kvaliteeti ja kulu praeguste pingutustasemetega võrreldes. Kui käivituse tulemus halveneb, uurib agent põhjust, kohandab sätteid ja käivitab hindamise uuesti. Kandidaat asendab praeguse mudeli ainult siis, kui see on kvaliteedilt parem sama või väiksema kulu juures.

Avalikud võrdlustestid on kasulikud, kuid nende tulemused ei kandu alati üle reaalsetele ülesannetele. Näiteks allolev diagramm näitab kandidaatmudelit, mis sai BrowseCompis lähtetasemest 13,3 punkti rohkem, kuid jäi sisemistes ettevõtte-, õigus- ja finantsuurimisülesannetes vastavatest lähtetasemetest tublisti alla.

Mitme agendi skaleerimine

Üks agent suudab ühe tsükli jooksul katta vaid piiratud arvu allikaid. Keerukate ülesannete puhul töötavad mitu agenti paralleelselt ja igaüks tegeleb koordineeritult probleemi eri osaga.

Peaagent on orkestraator. See kutsub välja spawn_agent, et luua alamagente, ja annab igaühele konkreetse, kitsalt piiritletud ülesande. Iga alamagent käitab oma uurimistsüklit eraldi kontekstiga, kasutades oma mudelit, tööriistu ja sammueelarvet. Alamagendid annavad oma tulemustest aru vanemagendile, kes saab anda alamagendile järelülesande või kontrollida selle edenemist. Orkestraator ja selle alamagendid vahetavad sõnumeid, et jagada tõendeid, anda märku takistustest ja kohandada järgmisi samme. Uue teabe saabudes täpsustab orkestraator ülesandeid ja ühendab töö valmimisel tulemused üheks vastuseks.

Agent API toetab eelmääratud agendirolle ja orkestraator saab luua kohandatud juhistega alamagente.

Pingutustase ultra käitab ülesandel paralleelselt kolme agenti. Iga agent uurib kogu ülesannet iseseisvalt, mis annab erinevaid tõendeid. Neljas agent ühendab nende leiud, eemaldab duplikaadid ja kirjutab lõpliku vastuse.

WANDR-is saavutab ultra tulemuse 85,9% hinnaga 21,71 $ ülesande kohta. See on testitud konfiguratsioonide seas kõrgeim tulemus.

Mis edasi

Pingutustasemeid hinnatakse ja täiustatakse pidevalt. Kasutaja valitud tase määrab, kui palju uurimistööd ülesanne saab ja kui palju see maksab. Sammu- ja tööriistakutsete eelarved koos meeldetuletustega nende ammendumisel hoiavad päringud eelarve piires. Tihendamine, väljavõtmine ja paremad katkendid hoiavad konteksti keskendununa tõenditele. Skillid sobitavad töövoo ülesandega ja paralleelsed agendid laiendavad seda, mida üks tsükkel suudab katta. Automatiseeritud hindamistsükkel võtab uue mudeli kasutusele ainult siis, kui see parandab uurimistöö kvaliteeti sama kulu juures.

Iga pingutustase areneb edasi, kui uued mudelid ja konfiguratsioonid end hindamisel tõestavad. Taseme väljakutsumine nime järgi võtab need täiustused automaatselt kasutusele; versiooni fikseerimine hoiab konfiguratsiooni muutumatuna.

Proovige Agent API-t ja võrrelge pingutustasemeid oma töökoormustel. Pingutustasemete üksikasjad leiate meie Agent API pingutustasemete dokumentatsioonist.