Poboljšanja svih razina napora u Agent API-ju
Razine napora u Perplexity Agent API-ju sada su jeftinije, uz jednaku ili bolju kvalitetu istraživanja i novu razinu ultra za dubinu.

Razine napora u Perplexity Agent API-ju omogućuju razvojnim programerima da za svaki zadatak odaberu ravnotežu troška, brzine i dubine istraživanja. Od danas svaka razina napora stoji manje po upitu, uz kvalitetu istraživanja koja je viša ili nepromijenjena. Nova razina ultra dostupna je za najopsežnija i najsveobuhvatnija istraživanja. Svaki zahtjev koji razinu odabire po nazivu, primjerice effort="fast", automatski dobiva ažuriranu konfiguraciju.
Izgradnja istraživačkog agenta znači odabir prave ravnoteže troška, brzine i dubine za svaki zadatak. Razine napora u Agent API-ju donose tu odluku umjesto korisnika. Svaka razina je paketna konfiguracija koja definira model, budžet koraka, postavke pretraživanja i alate za određenu vrstu zadatka. Perplexity s vremenom evaluira i ažurira svaku razinu kako bi pružio najbolje istraživanje uz trenutačni ili niži trošak.
Ta su poboljšanja proizašla iz dviju vrsta promjena. Budžeti, upravljanje kontekstom i ekstrakcija smanjili su trošak svakog izvođenja, a Skillovi, odabir modela i paralelni agenti povećali su ili održali kvalitetu odgovora.
Učinkovitost razine medium poboljšala se s 55 % na 77 % na benchmarkovima BrowseComp i DSQA, dok su se troškovi smanjili za gotovo 90 %. BrowseComp i DSQA javni su benchmarkovi za istraživanje; WANDR je benchmark tvrtke Perplexity za duge istraživačke zadatke s više entiteta. Razina xhigh obavlja agentske zadatke kao što su izvršavanje koda u okruženju Sandbox, održavanje dugih petlji korištenja alata i istodoban rad s mnogo izvora. Razina xhigh zadržala je rezultat od 76,5 % na benchmarku WANDR uz otprilike 25 % troška konfiguracije iz kolovoza 2026.
Trošak istraživanja
Zahtjev za Dubinsko istraživanje može pokrenuti desetke pretraživanja, pročitati stotine stranica i provjeriti dokaze prije nego što odgovori. Svaka od tih radnji dodaje tokene u kontekst i dolare na račun. Bez ograničenja agent nastavlja poduzimati radnje koje povećavaju trošak i pretrpavaju kontekst, a ne poboljšavaju odgovor. Većinu tog troška uzrokuje pet čimbenika:
- Raspodjela budžeta. Agenti s postavljenim budžetom mogu ostati bez koraka i prerano završiti izvođenje prije nego što dovrše zadatak. S druge strane, agenti bez fiksnog budžeta mogu nastaviti raditi i stvarati troškove bez poboljšanja konačnog odgovora.
- Opterećenje konteksta. Rezultati pretraživanja i dohvaćene stranice nose dokaze, ali bez kontrole kontekstni prozor može se brzo ispuniti nebitnim informacijama. Kontekstni prozori prenose troškove iz koraka u korak, a preopterećeni prozori mogu smanjiti učinkovitost agenta.
- Odabir tijeka rada. Različiti zadaci zahtijevaju različite pristupe. Traženje jedne činjenice, pitanje koje zahtijeva više koraka zaključivanja i širok pregled izvora zahtijevaju različit tijek rada. Kada ga bira sam, model često odabere neučinkovit. Detaljno opisivanje svake dostupne strategije u promptu agenta to ne rješava. Dodatne upute prenose se kao tokeni u svakom koraku, a model se s vremenom sve manje pouzdano pridržava svake od njih.
- Odabir modela. Prelazak na veći model ne mora donijeti poboljšanje učinkovitosti razmjerno dodatnom trošku. Novi modeli stižu uz velike naslove i objavljene rezultate na benchmarkovima. Međutim, poboljšanja na benchmarkovima mogu biti kontaminirana ili odražavati prenaučenost modela. Bez evaluacije na stvarnim zadacima promjena modela može povećati troškove bez povećanja kvalitete.
- Skaliranje s više agenata. Jedan agent po izvođenju može pretražiti, pročitati i analizirati ograničen broj izvora. Paralelno pokretanje više agenata poboljšava kvalitetu na najzahtjevnijim zadacima, ali povećava i troškove te unosi složenost ako se ne provodi ispravno.
Rješavanje svakog od tih izazova smanjilo je troškove za svaku razinu napora bez smanjenja učinkovitosti.
Kontrola budžeta za istraživanje
Svaka razina napora ima fiksni budžet za istraživanje s tri komponente:
- Ograničenja koraka: broj poteza koje agent može napraviti
- Pozivi alata: ograničenje ukupnog broja poziva alata u zahtjevu. Jedan korak može istodobno uputiti više poziva prema više alata, pa samo ograničenje koraka ne kontrolira koliko se radnji odvija unutar jednog koraka.
- Podsjetnici na budžet: povremene obavijesti o tome koliko je koraka preostalo kako bi agent mogao odrediti prioritete i ostaviti prostora za pisanje odgovora umjesto da ostane bez budžeta usred zadatka.
Budžet je središnji kompromis: više koraka znači bolje odgovore, a svaki korak stvara troškove. Uz model openai/gpt-6-luna povećanje ograničenja koraka s 1 na 15 podiže točnost na BrowseComp + DSQA s 41 % na 80 %, dok trošak po upitu raste s 0,0017 USD na 0,0152 USD, što je otprilike 9 puta veći trošak za otprilike 2 puta bolji rezultat.
Samo ograničenje koraka ne kontrolira trošak istraživanja. Uz isti budžet od pet koraka openai/gpt-6.1-terra upućuje više poziva alata od modela openai/gpt-6-luna jer sposobniji modeli obično upućuju nekoliko poziva u jednom koraku. Razine napora ograničavaju i pozive alata i korake. Za te modele ograničenje poziva alata jednako je važno kao i ograničenje koraka.
Svaka razina napora prilagođava ta ograničenja, ali agent mora znati i koliko mu je koraka i radnji preostalo za ispunjenje zahtjeva. Bez te informacije može ostati bez koraka ili radnji i biti prisiljen odgovoriti prije nego što je istraživanje dovršeno. Budžet se navodi na početku izvođenja, a podsjetnici stižu kako se agent približava ograničenjima, tako da ostaje prostora za provjeru i isporuku rezultata. Za razinu high podsjetnici obuhvaćaju i budžet koraka i budžet poziva alata.
Dva agenta, jedan s podsjetnikom na budžet i jedan bez njega, testirana su na zadatku benchmarka BrowseComp u kojem su na temelju triju biografija glumaca trebali prepoznati TV seriju iz 1990-ih. Agent s podsjetnikom pronašao je točan odgovor koristeći 13 od 40 koraka iz budžeta. Agent bez podsjetnika na budžet iskoristio je svih 40 koraka i nije pronašao točan odgovor. Petlja tog agenta neočekivano je završila, a model nije bio svjestan preostalog budžeta za istraživanje. Podsjetnici pomažu agentima da ostanu usredotočeni i učinkovito odrede prioritete za preostale resurse.
Upravljanje kontekstom
Sažimanje
Dugotrajni istraživački zadaci ispunjavaju kontekstni prozor modela rezultatima pretraživanja, dohvaćenim stranicama i međubilješkama. Kada se prozor napuni, agent mora prestati s radom.
Sažimanje omogućuje da dugotrajna izvođenja nastave raditi bez popunjavanja kontekstnog prozora. Kada kontekst premaši određeni prag, agent dosadašnji rad zamjenjuje kraćim sažetkom onoga što je pronašao i onoga što preostaje, a zatim nastavlja.
Sažimanje u kontekstu uvijek zadržava tri stvari: sistemski prompt, izvorni zahtjev i sve Skillove koje je agent već učitao. Nakon svakog sažimanja agent dobiva dvije kratke upute. Prva uputa glasi: „Nastavi raditi dok zadatak ne bude dovršen.” Time se sprječava da agent sažetak shvati kao točku zaustavljanja. Druga uputa govori agentu koliko je sažimanja dosad provedeno kako bi mogao planirati preostale istraživačke zadatke. Dugotrajna izvođenja zadržavaju izvorni cilj i plan na vidiku, a trošak dugih petlji smanjuje se bez smanjenja kvalitete.
Dohvaćanje samo onoga što je važno
Svaka stranica koju agent pročita dodaje se njegovu kontekstu, a agent je nosi u svakom sljedećem koraku. Web-stranica sadrži informacije nevezane uz pitanje, kao što su navigacija, standardni tekst i drugi sadržaj.
Umjesto da agentu preda cijelu stranicu, fetch_url najprije provodi prolaz ekstrakcije. Tekst stranice šalje se manjem modelu zajedno s trenutačnim zadatkom agenta. Model vraća samo relevantne odlomke, citirane doslovno kako bi ih agent mogao navesti kao izvor. Tijekom jedne evaluacije stranica od 5561 tokena smanjena je na 293 tokena, čime se oslobodio prostor za dodatni relevantni kontekst.
Korištenje alata fetch_url s ekstrakcijom na razini napora high smanjilo je broj ulaznih tokena po upitu za otprilike 50 %. Ekstrakcija je poboljšala i rezultate na benchmarku te je postigla 88,0 % uz 0,073 USD po upitu, u usporedbi s 83,5 % uz 0,094 USD bez ekstrakcije.
Usredotočeno pretraživanje weba
Pretraživanje weba ključno je za svaki istraživački zahtjev agenta. Uvedene su tri promjene u način na koji agenti pretražuju:
- Više konteksta po pretraživanju: Svako pretraživanje sada vraća do 4K tokena rezultata umjesto 2K. Agent brže pronalazi ono što mu treba, što rezultira manjim brojem pretraživanja i nižim troškom.
- Novi mehanizam za isječke: Rezultati pretraživanja dobivaju isječke koji bolje odgovaraju upitu, pa agent nije preopterećen nebitnim tekstom.
- Fast Search: Uz cijenu od 1,00 USD za 1000 zahtjeva, Fast Search smanjuje i trošak i latenciju svakog poziva pretraživanja.
Tim za Perplexity Search kontinuirano poboljšava kvalitetu dohvaćanja u širokom rasponu zadataka. Nedavna ažuriranja donijela su poboljšanja za kod, dokumentaciju za razvojne programere, referentne stranice te pravni i regulatorni sadržaj.
Odabir ispravnog tijeka rada
Neki zadaci zahtijevaju mnogo pretraživanja koja se izvode paralelno; drugi zahtijevaju pažljivo čitanje nekoliko dugih dokumenata.
Međutim, učitavanje svakog tijeka rada u sistemski prompt agenta povećava opterećenje konteksta i može dovesti do slabije izvedbe modela na jednostavnim zadacima. Umjesto toga, Skillovi su organizirani u stablo s postupnim otkrivanjem. Model tijekom rada učitava relevantne Skillove i upute, a nevezane informacije ostavlja izvan svog konteksta. Svaki Skill troši samo svoj naziv i opis sve dok model ne odluči da odgovara zadatku i ne učita ga, a tada se cjelovite upute dodaju u kontekst i model slijedi propisani tijek rada.
Kako bi se izmjerio doprinos pojedinih Skillova, oni se uklanjaju jedan po jedan, a zatim se uspoređuju kvaliteta i trošak na zadacima na kojima je osnovni agent učitao taj Skill. Te ablacije pokazuju koji tijekovi rada pomažu agentu i kako utječu na učinkovitost istraživanja.
Izvođenja benchmarka WANDR u nastavku pokazuju kako agenti odabiru ispravne tijekove rada za određene zadatke. Upute za wide-search i fanout učitane su za svaki zadatak, što odražava potrebu za istraživanjem više entiteta. Skill people-search učitan je za samo 6 % zadataka i to samo kada su se pitanja odnosila na osobe.
Tijekom testiranja drugog zadatka benchmarka WANDR agent je učitao Skill people-search s uzorkom fanout kako bi pronašao inženjere za inferenciju u Londonu. Proširio je 39 naziva uloga u 117 upita, a zatim spojio rezultate prvog prolaza u 43 jedinstvena profila za daljnji probir. Skill people-search vodio je agenta kroz to proširenje bez dodavanja nebitnog konteksta. Odlomak u nastavku prilagođen je iz agentove skripte; nazivi pomoćnih funkcija služe samo kao ilustracija.
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,
}
Spremanje kontrolnih točaka još je jedan tijek rada koji pomaže agentima u dugotrajnim zadacima. Uzorak kontrolnih točaka potječe iz programiranja skupne obrade. Kada skripta obrađuje dugačak popis, svaki rezultat zapisuje na disk čim ga dobije, umjesto da sve drži u memoriji do kraja. Ako se skripta sruši ili usred rada naiđe na pogreške, ništa se ne gubi: sljedeće izvođenje čita ono što je već spremljeno i nastavlja ondje gdje je stalo, ponovno pokušavajući samo stavke koje nisu uspjele.
U jednom drugom zadatku benchmarka WANDR agent je morao provesti probir profila 188 inženjera. Učitao je uzorak kontrolnih točaka kako bi bilježio svaki rezultat tijekom rada. Prvi prolaz izdvojio je 160 profila, ali nije uspio za njih 28. Kada je agent ponovno pokrenuo skriptu, preskočio je već zabilježene profile i ponovno pokušao samo preostalih 28. Bez kontrolne točke jedan neispravan zapis značio bi ponovno dohvaćanje svih 188.Prilagođeni odlomak u Pythonu; ulazne stranice, uputa za probir, shema i importi izostavljeni su; nazivi pomoćnih funkcija služe samo kao ilustracija.
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}],
)
Kontrolna točka bilježi uspješne rezultate; ona ne pokreće ponovne pokušaje. Uključivanje upute i sheme u ključ osigurava da promijenjeni kriteriji probira pokreću ponovnu obradu.
Nisu svi testovi donijeli poboljšanja kvalitete i učinkovitosti. Evaluirano je i unaprijedno učitavanje svih Skillova u agenta prije nego što započne zadatak. Na benchmarkovima BrowseComp i DSQA unaprijedno učitavanje povećalo je trošak za 13 %. Na benchmarku WANDR, gdje zbog duljih putanja istraživanja dohvaćeni sadržaj čini veći udio ulaznih tokena, unaprijedno učitavanje također smanjuje rezultate. Ti su rezultati poduprli daljnju primjenu postupnog otkrivanja.
Odabir modela
Kako napreduju mogućnosti modela, mijenja se i najbolji model za svaku razinu napora. Perplexity koristi automatiziranu istraživačku petlju koja prati najave i dostupnost novih modela. Evaluacije se pokreću čim model postane dostupan.
Kada se objavi novi model, automatizirani agent provodi ga kroz harness za evaluaciju. Isprobava različite razine napora rasuđivanja, budžete koraka i poziva alata te konfiguracije alata, a svako izvođenje ocjenjuje prema kvaliteti i trošku u odnosu na trenutačne razine napora. Kada izvođenje pokaže regresiju, agent istražuje zašto, prilagođava postavke i ponovno pokreće evaluaciju. Kandidat zamjenjuje trenutačni model samo kada pobijedi u kvaliteti uz isti ili niži trošak.
Javni benchmarkovi su korisni, ali se njihovi rezultati ne prenose uvijek na stvarne zadatke. Na primjer, grafikon u nastavku prikazuje kandidatski model koji je na benchmarku BrowseComp postigao 13,3 boda više od osnovnog modela, ali znatno slabije rezultate od odgovarajućih osnovnih modela na internim poslovnim, pravnim i financijskim istraživačkim zadacima.
Skaliranje s više agenata
Jedan agent u jednoj petlji može obuhvatiti samo ograničen broj izvora. Za složene zadatke nekoliko agenata radi paralelno, a svaki se, uz međusobnu koordinaciju, bavi drugim dijelom problema.
Primarni agent je orkestrator. Poziva spawn_agent kako bi stvorio podređene agente i svakome dodjeljuje određeni, usredotočeni zadatak. Svaki podređeni agent pokreće vlastitu istraživačku petlju sa zasebnim kontekstom, koristeći vlastiti model, alate i budžet koraka. Podređeni agenti izvješćuju nadređenog agenta o svojim rezultatima, a nadređeni agent može podređenom agentu poslati dodatni zadatak ili provjeriti njegov napredak. Orkestrator i podređeni agenti razmjenjuju poruke kako bi dijelili dokaze, upozoravali na prepreke i prilagođavali sljedeće korake. Kako stižu nove informacije, orkestrator precizira zadatke i, kada je posao gotov, objedinjuje rezultate u jedinstven odgovor.
Agent API podržava unaprijed definirane uloge agenata, a orkestrator može stvoriti podređene agente s prilagođenim uputama.
Razina napora ultra paralelno pokreće tri agenta na zadatku. Svaki agent samostalno istražuje cijeli zadatak, što daje različite dokaze. Četvrti agent spaja njihove nalaze, uklanja duplikate i piše konačni odgovor.
Na benchmarku WANDR razina ultra postiže 85,9 % uz 21,71 USD po zadatku. To je najviši rezultat među testiranim konfiguracijama.
Što slijedi
Razine napora kontinuirano se evaluiraju i poboljšavaju. Razina koju korisnici odaberu određuje koliko istraživanja zadatak dobiva i koliko će koštati. Budžeti koraka i poziva alata, uz podsjetnike kako se troše, drže zahtjeve unutar budžeta. Sažimanje, ekstrakcija i bolji isječci drže kontekst usredotočenim na dokaze. Skillovi prilagođavaju tijek rada zadatku, a paralelni agenti proširuju ono što jedna petlja može obuhvatiti. Automatizirana petlja evaluacije prihvaća novi model samo kada poboljšava kvalitetu istraživanja uz isti trošak.
Svaka razina napora nastavit će se razvijati kako se novi modeli i konfiguracije budu dokazivali u evaluaciji. Pozivanjem razine po nazivu automatski se preuzimaju ta poboljšanja; fiksiranjem verzije konfiguracija ostaje nepromijenjena.
Isprobajte Agent API i usporedite razine napora na vlastitim radnim opterećenjima. Pojedinosti o razinama napora potražite u našoj dokumentaciji o razinama napora za Agent API.