Endurhugsun leitar sem kóðun

Þróun leitar frá einþættum þjónustni í forritanlegar frumstæður fyrir tímabil umgjörða umboðsmanna.

HöfundarPerplexity Research

Leit er grunnleggandi þáttur í gervigreindarkerfum. Framþróun landmóta líkana heldur áfram með ógnarhraða milli mánaða, en þau þurfa samt sem áður að nálgast nýjar, nákvæmar og vel unnar upplýsingar úr umheiminum. Leit er helsta leiðin fyrir gervigreindarkerfi til að nálgast þessar upplýsingar, og þar með undirstöðuatriði í öllum vörum sem þurfa að draga ályktanir, grípa til aðgerða og vinna raunveruleg verkefni.

Við teljum að hefðbundin leitarlíkan séu sífellt úreltari á tímum sjálfvirkni. Hefðbundin leit svarar fyrirspurnum, en umboðsmenn dagsins í dag klára verkefni sem geta tekið á sig margvíslegustu myndir. Þessi verkefni krefjast þess að umboðsmenn skilgreini sérhæfðar endurheimtarstefnur beint innan umgjörðar sinnar. Innan Perplexity Computer höfum sjáum við stök verkefni kalla fram hundruð eða jafnvel þúsundir endurheimtaraðgerða á örfáum mínútum: verkflæði sem er ómögulegt fyrir menn en fullkomlega eðlilegt fyrir umboðsmenn.

Í þessum heimi verður leitin sjálf að vera sjálfvirk, þar sem byggingareiningarnar eru aðgengilegar beint sem SDK í umgjörð umboðsmannsins. Við kynnum Search as Code (SaC) sem nýja viðmiðunarleitarkerfi Perplexity.

Inngangur

Leitarbunkar Perplexity þjóna þúsundum fyrirspurna á hverri sekúndu í gegnum forrit okkar og API vettvang. Í september 2025 birtum við fyrstu byggingaryfirlit leitarkerfa okkar. Stöðug nýsköpun innan þessara kerfa hefur stytt kynningu á nýjum tilboðum á borð við Search API, Agent API og Computer, þar sem sjálfsbótarlykkjur fínstilla leitarbunka til að þjóna notendum betur með hverjum deginum sem líður.

Hefðbundin gervigreindarkerfi hafa litið á leit sem eina heild: gervigreindarlíkan sendir frá sér fyrirspurn, leitarvélin keyrir forstillta pípu sína og líkanið notar niðurstöðurnar sem samhengi. Að mestu leyti virkaði þetta vel til að mæta þörfum fyrstu notenda gervigreindar. Miðað við hlutfallslega einfaldleika beiðni þeirra var engin ástæða til að hafa áhyggjur af því hvernig leitarpípan var hönnuð eða hvort arkitektúr hennar væri ákjósanlegur fyrir viðkomandi verkefni. Sjálfgefnar stillingar voru taldar duga, sem og hin sjálfgefnu viðmót (aðgerðaköll og MCP).

Hefðbundin leitararkitektúr birtir eitt fast kerfi sem líkkan kallar á í röð, en Search as Code birtir sundurliðaðar leitargrunneiningar sem umboðsmenn setja saman með búnum kóða.

Samt sem áður verður þessi nálgun úreltari með hverjum mánuðinum sem líður. Notendur krefjast miklu meira en einnar tilraunar greiningar frá gervigreind. Þeir búast við að umboðsmenn klári verkefni frá upphafi til enda á klukkutímum eða jafnvel dögum. Þessi verkefni geta verið flókin, opin og mjög breytileg eftir upplýsingaþörf, og einþættar arkitektúrar gefa sig undir þessum þrýstingi.

Aðalflöskuhálsinn snýst að lokum um stjórnun. Landmótunarleg líkan eru nú þegar nokkuð góð í að rökræða yfir föstu samhengi. Hins vegar munu öflugustu gervigreindarkerfin krefjast getu til að stýra hvernig það samhengi er sótt, unnið, safnað saman og birt fyrir líkanið.

Hefðbundin leitarakerfi voru ekki hönnuð með þetta stjórnunarstig í huga. Þegar öll er á botninn hvolft er ekki hægt að ætlast til þess að mannlegir notendur stjórni innviðum leitaraðgerða í smáatriðum, jafnvel þótt það tækist í boði. Fyrstu gervigreindarlíkön gátu stjórnað leit eingöngu í gegnum línulega braut aðgerðakalla og MCP. En núverandi landmótunarlíkön, sem knúin eru af kóðahæfum umboðsumgjörðum, geta haft nákvæma stjórn á hvaða útreikningum sem ímynda má sér með tölvukóða. Verkefni okkar verður að veita réttu grunneiningarnar.

Til að mæta þessari þörf kynnum við nýja leitararkitektúr í gegnum vörur okkar: Search as Code (SaC). Þessi nýi arkitektúr gerir líkönum kleift að ná inn í leitarbunkann sjálfan í stað þess aðeins að neyta lokaúttaks hans. Kjarnhugmyndin er einföld: við birtum hluta leitarpunkans sem grunneiningar innan SDK. Fyrir allar beiðnir sem þurfa á leit að halda setur líkan saman þessar grunneiningar eftir þörfum í leitarpípu sem sniðin er að þessari tilteknu beiðni.

Samsetning þessrar pípu fer fram með kóðun og keyrslu í öruggum sandkassi. Ólíkt öðrum kóðunartengdum nálgunum við leit, setjum við ekki bara hefðbundint leit-API inn í skel eða tungumálakeyrsluumhverfi. Þess í stað höfum við hannað Agentic Search SDK vandlega sem sýnir einstakar byggingareiningar leitarinnar á eins atómísku stigi og hægt er.

Search as Code (SaC) eykur árangur sjálfvirkrar leitar á ýmsum viðmiðunarprófum.

Vopnuð þessum byggingareiningum gefur SaC líkönum beina stjórn á hverju einstöku leitarskrefi: heimtu, röðun, síun, útsendingum, birtingu og fleiru. Það gefur líkaninu einnig skilvirkan aðgang að millistöðu eins og frambjóðendalistum og röðunarmerkjum. Saman gera þessir tveir stjórnunar- og læsileikahnappar umboðsmönnum kleift að hanna sérsniðnar leitarpípur sem ná yfir þúsundir endurheimtaraðgerða, fínstilla þær pípur á flugi og neyta aðeins gagnlegustu upplýsinganna sem samhengi líkans.

Þessi grein lýsir hvatningu, hönnun og útfærslu SaC, ásamt reynsluniðurstöðum á bæði núverandi og nýjum viðmiðunarprófum. SaC kemur á fót nýjum kostnaðar- og árangursmörkum fyrir sjálfvirka leit, og við erum spennt að deila því með notendum okkar og víðtækara gervigreindarsamfélagi.

Óbeygjanleiki hefðbundinnar leitar

Fyrstu leitarvélar heims voru byggðar fyrir mannlega notendur. Þessir notendur fóru að búast við fyrirsjáanlegri upplifun, sem venjulega samanstóð af föstum fjölda skjala sem röðuðust eftir mikilvægi. Notendur vildu ekki stjórna leitarferlinu í smáatriðum; þeir vildu slá inn fyrirspurn og finna gagnlega niðurstöðu.

Þess vegna runnu leitarvélar fyrir menn saman í sameiginlega einþætta arkitektúr, sem miðast að því að framleiða mannvænar niðurstöðusíður leitarvéla (SERP) sem innihalda efstu n niðurstöður fyrir innsláttarfyrirspurn. Þetta mynstur hefur knúið áratuga framfarir í neytendaleit. Það er hratt, kunnuglegt og mjög áhrifaríkt fyrir mannlegt vafr

Síðan komu LLM og gervigreindarkerfi urðu einnig neytendur leitar. Perplexity ruddi brautina fyrir þessa breytingu með kynningu á svörunarvél okkar árið 2022. Síðan þá hafa leitarverkfræðilegar tilraunir okkar beinst að því hvernig eigi að fínstilla gildi leitarilurðu fyrir gervigreindarlíkön. Til að byggja upp nákvæmustu og áreiðanlegustu gervigreind heims þurftum við að hanna leitarkerfi sem einbeitir sér að því að gera hvert tákn eins upplýsingaþétt og mögulegt er. Nýjungarnar í undirskjalaheimtu, samhengishagkvæmni, merkingarfræðilegum skilningi og öðrum lykilsviðum leiddu til stórkostlegra umbóta á getu gervigreindarkerfa til að sækja upplýsingar og bregðast við þeim.

Hins vegar hafa jafnvel gervigreindarbestuðu kerfin að stóru leyti erfðum sömu grundvallarsamninga og hefðbundnar leitarvélar: taka við fyrirspurn, keyra forstillta leitarpípu, skila fullunnum niðurstöðum. Fyrir einfaldar beiðnir virkar þessi nálgun vel. En fyrir flóknari beiðnir verður þetta sífellt takmarkandi flöskuháls sem dregur úr afköstum, seinkun og kostnaði.

Hefðbundin leitarakerfi neyða sjálfvirk verkflæði til að raða leit í gegnum líkanasýnilegar umferðir. Líkön verða ítrekað að kalla á sömu leitarpípur yfir mismunandi fyrirspurnarfæribreytur og kynna allar niðurstöður í samhengi líkansins.

Bilunarmátar vegna óbeygjanleika

Hefðbundnar leitarpípur eru hannaðar í kringum einn stjórnunarstað: fyrirspurnarfæribreyturnar. Leitarvélin á afganginn af pípunni í samræmi við forstillta rökfræði sína og líkanið verður að laga sig að því. Fyrir líkanið er allt sem er niðurstreymis frá fyrirspurnarfæribreytunum stíft – lögun raunverulegra útreikninga er utan stjórnar líkansins.

Þetta eru skynsamleg mörk þegar neytandinn er manneskja sem skannar tengla. Þetta eru léleg mörk þegar neytandinn er gervigreindarlíkan sem reynir að leysa þekkingarfrek verkefni í lokaðri lykkju. Að okkar reynslu skapar þessi óbeygjanleiki þrjá endurtekna bilunarmáta:

Gróft samhengi. Gervigreindarlíkön eru viðkvæm fyrir gæðum og þéttleika samhengisins. Bæði gæði og þéttleiki eru mjög háð fyrirspurninni og einþættar leitarpípur eru ekki hannaðar til að skila hámarksárangri í öllum fyrirspurnum. Til dæmis, ef líkan þarf á einni, mjög nákvæmri upplýsingu að halda en hefur aðeins aðgang að enda-til-enda leitarstöð sem setur endurheimt í fyrsta sæti, mun notkun þeirrar stöðvar kynna mikið magn óviðkomandi upplýsinga í samhengi líkansins. Á hinn bóginn, ef líkan þarf margar upplýsingar sem hver um sig krefst mismunandi leitaraðferða, gæti það neyðst til að kalla í röð á sömu undiroptimalu pípu fyrir þær allar, sem leiðir til stigmagnandi kostnaðar og hávaðasöms samhengis.

Misheppnuð nýting á þekkingarsviði. Í mörgum tilfellum gæti líkanið búið yfir þekkingarsviði (frá þjálfun sinni, umboðsmannafærni, minni eða fyrri táknum á LLM ferlinum) sem ætti að leiðbeina leitarstefnunni. Hins vegar kemur stíft leitarviðmót í veg for að líkanið geti nýtt sér þá þekkingu. Til dæmis gæti líkanið áttað sig á því fyrir tiltekna beiðni að það ætti að blanda saman orðaforða- og merkingarfræðilegum merkjum á ákveðinn hátt, setja ákveðnar heimildir í Forgang eða safna niðurstöðum saman með tilteknum lykli. Nema þessar innsýnir gerist þær að vera útfranlegar í gegnum fyrirspurnarfæribreytur getur líkanið ekki raunverulega breytt samkvæmt þeim.

Óhagkvæmt stjórnflæði og mengun samhengis. Mörg leitaraðgerðaverkflæði eru ekki eðlislægt línuleg. Þau gætu þurft útsendingu yfir afbrigði fyrirspurna, samsíða sókn, afritunarhreinsun og aðrar aðgerðir sem krefjast ólínulegs og ósamstillts stjórnflæðis. Að neyða þessum skrefum í gegnum endurteknar líkanumferðir bætir við seinkun og gerir verkflæðið erfiðara að fínstilla. Það mengar einnig samhengi líkansins með háværu millistigi sem gæti ekki verið gagnlegt fyrir rökræðu líkansins, sem skilar sér í lélegri afköstum og tíðari þjöppunum.

Ekki var hægt að gera mikið í þessum áskorunum á tímum aðgerðakalla og MCP í gervigreind. Þegar hver leitaraðgerð krefst síns eigin ferðalags að LLM ályktun kjósa hönnuðir náttúrulega að fá eins miklu lokið í þeirri ferð. Þetta þýðir leitarpípur frá upphafi til enda sem skila fullunnum niðurstöðusettum til beinna nota af líkani.

Þar af leiðandi starfa flest leitarakerfi sem snúa að gervigreind enn undir þessum einþætta samningi. Hins vegar, með áframhaldandi vexti í greind líkans og kröfum notenda, verða gallar þess samnings meira áberandi. Fullkomnustu gervigreindarkerfi dagsins í dag, sem eru byggð ofan á kóða-fyrst umgjörðum, geta sett saman verkefnasérhæfð verkflæði sem keyra þúsundir aðgerða á hverri mínútu. Leitarakerfi eiga enn eftir að átta sig að fullu á þessum möguleika.

Okkur hefur lengi grunað að réttu mörkin fyrir gervigreindaruppruna leit séu lægri í leitarstakkanum. Líkön ættu ekki aðeins að kalla á leitarvél. Þau ættu að geta stjórnað einstökum hlutum leitarstakkans eins og tiltekið verkefni krefst. Það krefst gjörólíks arkitektúrs.

Hönnun forritanlegs leitararkitektúrs

Næsta kynslóð leitararkitektúra mun velta á kjarnareglu: leit ætti að vera innbyggt forritanleg af gervigreindarumboðsmönnum. Umboðsmaður má ekki takmarkast við safn af fyrirfram ákveðnum leitarpípum. Heldur verður umboðsmaður að geta smíðað þá pípu sem tiltekið verkefni krefst, með því að nota samsetningarhæfar byggingareiningar sem eru hannaðar á mismunandi stigum abstraktunar.

Nýi Search as Code (SaC) arkitektúrinn okkar útfærir þessa reglu. Í SaC er ekki ein einasta heimildaraðgerð send í gegnum aðgerðakall eða MCP viðmót. Allar aðgerðir eru þess í stað stjórnaðar í gegnum Python kóða sem líkanið býr til. Fyrir einföldustu leitarþarfir getur þessi kóði samanstendur af handfylli beiðni til hástigs leitarstöðvar. En fyrir flóknflókin verkefni getur kóðinn verið eins flókinn og þörf krefur, þar sem skilyrt keyrsla, ósamstillt, samsíða og köll í margs konar lágstigs grunneiningar koma við sögu.

Search as Code (SaC) arkitektúrinn treystir á stakk sem samanstendur af líkönum, reiknisandkössum og Agentic Search SDK sem situr ofan á leitarinnviðum Perplexity.

SaC felur í sér þrjú þétt tengd lög:

Líkön þjóna sem stjórnborð. Þau rökræða um fyrirmæli notandans (vinnuumboðsmanns), skipta fyrirmælunum niður í verkefni, ákveða hvaða heimtu- og vinnslupípur þarf fyrir hvert verkefni og búa til kóða til að útfæra þessar pípur.

Reiknisandkassar veita ákvörðunarhæfan útreikning í gegnum örugga kóðakeyrslurkeyrslu. Þau veita striga fyrir líkön til að útfæra stjórnflæði, hópvinnslu, endurtökur, síun, tengingu, samlagningu og aðrar ákvörðunarhæfar aðgerðir.

Agentic Search SDK okkar birtir leitarstakk Perplexity sem samsetningarhæfar grunneiningar. Það býður upp á byggingareiningar frá lágstigs heimtuaðgerðum til hástigs merkingarfræðilegrar þáttunar. SDK er innbyggt í keyrslurkeyrslur sandkassanna, sem gerir líkönum kleift að stjórna allt að þúsundum aðgerða innan einnar ályktunarumferðar. Hér að neðan ræðum við hönnunarákvarðanir okkar fyrir hvert lag.

Agentic Search SDK

Agentic Search SDK skilgreinir byggingareiningarnar fyrir forritanlega leit. Það er mikilvægt að SDK okkar er ekki fyrirliggjandi leit-API pakkað sem safn. Undanfarna mánuði hefur verkfræðiteymi okkar endurhannað leitarstakk okkar í einingaskiptar, samsetningarhæfar grunneiningar. Við höfum byggt Agentic Search SDK til að veita beinan aðgang að þessum grunneiningum, sem gerir að verkum mun öflugri striga sem líkanið getur notað til að stjórna verkefnasérhæfðum leitarpípum.

Hástigs, enda-til-enda leitarpípur eru enn í boði innan SDK, en þær eru ekki lengur eini kosturinn. Þær þjóna heldur sem eins konar skammstöfun fyrir algeng leitarmynstur. Líkanið er frjálst að nota eða fara fram hjá þeim eftir því sem verkefnið krefst.

Val á keyrsluumhverfi: Við íhuðum Python, Rust, TypeScript og Bash sem SDK keyrsluumhverfi. Okkur grunaði að Python væri eðlilegasti kosturinn miðað við útbreiðslu þess og vistkerfi gagnavinnslusafna. Innri prófanir staðfestu að svo er og útgáfan af SDK sem er sett á markað í dag er Python-undirstaða. Við búumst við að endurmet reglulega valið á keyrsluumhverfi til að tryggja að það haldi áfram að veita bestu upplifun umboðsmannsins.

Stöðugar umbætur með sjálfvirkri rannsókn: Við höfum einnig fínstillt notkunarhæfni SDK fyrir landmótunar LLM í gegnum ítrekaða sjálfvirka rannsóknarlykkju. Þessi lykkja, sem keyrir stöðugt í nokkrar vikur, leggur til og staðfestir SDK-umbætur miðað við mælikvarða þar á meðal seinkun, gæði kóðunar og heildarafköst verkefna. Sjálfvirka rannsóknarlykkjan hefur nú þegar gert fjölmargar breytingar á bæði uppbyggingu og útliti SDK, með verulegum ávinningi á öllum stærðum. Við ætlum að fínstilla SDK frekar í gegnum sjálfvirka rannsókn þegar ný landmótunarlíkön og leitarhlutar koma fram.

Sandkassar

Sandkassar veita örugg umhverfi til að skilgreina og keyra SaC pípur. Þar eru keyrðir kóðar sem líkanið býr til, sem veita aðgang að Agentic Search SDK til að auðvelda samskipti við stakar leitarfrumstæður.

Við höfum lagt mikið upp úr því að fínstilla og styrkja sandkassa okkar og heildarstjórnunarhönnun þeirra verðskuldar grein út af fyrir sig. Hér einbeitum við okkur að hönnunaratriðum sem skipta mestu máli fyrir SaC: stjórnun millistöðu.

SaC gerir umboðsmönnum kleift að stjórna flóknum pípum innan einnar ályktunarumferðar. Hins vegar þarf að koma á framfæri tilteknum millistöðum milli umferða. Til dæmis gæti líkan viljað sækja nokkur skjöl í umferð 1, skoða úrtak úr þeim skjölum í umferð 2 til að ákveða hvað eigi að gera næst og síðan þróa niðurstreymisleitarpípu til að rannsaka þau skjöl frekar frá umferð 3 og áfram. Eins og rætt er um hér að ofan er það ekki áhrifarík aðferð að senda millistöður í gegnum táknrými.

Við íhuðum tvær nálganir til að stjórna millistöðum milli umferða:

Varanlegt skráarkerfi + skýr raðgreining/afraðgreining (serde): Sandkassar geta sýnt varanleg skráarkerfi sem líkön geta notað milli umferða. Líkön sem vilja varðveita millistöðu geta fellt inn raðgreiningarskref í genereraða kóðanum fyrir umferð, ásamt afraðgreiningarskrefi í síðari umferð (annaðhvort til eigin skoðunar líkana eða til notkunar í niðurstreymi). Skráarkerfisnálgunin gerir líkönum kleift að stjórna beint og skýrt hvernig millistöðu er komið á framfæri milli umferða. Hún tryggir einnig rekjanleika með því að krefjast skýrrar auðkenningar og varðveislu upplýsinga sem líkanið notar. Einn ókostur er seinkunin og samhengisálagið sem stafar af því að búa til serde-kóðann, þótt vel hannaðar hjálparaðgerðir geti dregið úr þessu álagi.

REPL: Að öðrum kosti getur sandkassi varðveitt keyrslurkeyrsluna sjálfa milli umferða í REPL-stíl umhverfi. Þetta gerir líkönum kleift að viðhalda millistöðu í minni án þess að þurfa að raðgreina hana yfir höfuð, þar sem breytur sem skilgreindar eru eða breyttar í fyrri umferðum geta einfaldlega verið vísað til með nafni í síðari umferðum. REPL-nálgunin er betri hvað varðar táknnýtingu þar sem hún kemur í veg fyrir þörfina á að búa til serde-kóða. Hins vegar gæti skortur á skýru raðgreiningarskrefi skaðað afköst í niðurstreymi af ástæðum sem eru kunnuglegar öllum sem hafa unnið með 100 hólfa Jupyter fartölvu: þegar nafnarými breyta verður ringulreið, verður erfiðara að halda utan um hvað nákvæmlega er varðveitt milli umferða og hvers vegna.

Við prófuðum báðar nálganirnar og komumst að því að þótt þær skili svipuðum árangri við venjulega notkun, veitir skráarkerfisbundin serde betri áreiðanleika á sérstaklega löngum ferlum. Við tökum því upp skráarkerfisbundna serde sem lausn okkar. Við gerum þá ágiskun að það að krefjast þess að líkön komi stöðu á framfæri með yfirlýsingum í stað þess að gera það óbeint hjálpar þeim að stjórna þeirri stöðu á skilvirkari hátt. Þetta er bráðabirgðaniðurstaða og við munum halda áfram að ítreka báðar nálganirnar.

Líkön

Líkönin sem knýja umgjörð umboðsmanna þjóna sem stjórnborð SaC: setja saman leitarpípur ávirkan hátt úr byggingareiningum Agentic Search SDK til að mæta þörfum hvers verkefnis og senda þær pípur út sem kóða til keyrslu í sandkassa.

Perplexity notar margvísleg líkön innan umgjarða umboðsmanna okkar, og við höfum komist að því að nýjustu landmótunarlíkönin eru mjög áhrifarík á öllum sviðum við almenna kóðun. Helsta áskorunin er að hvetja til árangursríkrar kóðunar sérstaklega fyrir Agentic Search SDK. Það er, hvernig getum við gert líkönum kleift að vefa saman byggingareiningar SDK okkar á árangursríkan hátt í verkefnafínstilltar pípur?

Ólíkt stöðluðu bókasafni tungumáls er ólíklegt að sérsmíðað SDK sé fulltrúa í forþjálfunargögnum. Jafnvel með umbótum á notkunarhæfni SDK frá sjálfvirkri rannsókn, eru mörg líkön enn þjálfuð til að hafa samskipti við leitarakerfi í gegnum aðgerðaköll og bein MCP köll. Þessi líkön eru ólíkleg til að beita SDK af kunnáttu með frumkóða og sjálfkóðuðum skjölum einum saman.

Til að leysa þessa áskorun höfum við þróað mjög fínstillta umboðsmannafærni til að kenna líkönum að virkja SDK okkar á áhrifaríkan hátt. Fyrstu útgáfurnar voru þróaðar í samræmi við hönnunarreglur Perplexity fyrir færni, og síðan fínstilltar í gegnum sérstaka sjálfvirka rannsóknarlykkju sem einbeitti sér að sömu mælikvarðum og notaðir voru í SDK fínstillingu. Við takmörkum einnig stærð færni til að verjast stækkun samhengis, og endanlegar útgáfur okkar hafa færri en 2000 tákn í rótarskrá sinni SKILL.md.

Fínstillta færnin gengur lengra en að skrá tiltækar byggingareiningar SDK (eitthvað sem auðvelt er að fá í gegnum speglun í keyrslurkeyrslu). Meginhluti táknanna er eytt í að veita hnitmiðaða, alhæfða leiðbeiningu og dæmi fyrir fáein dæmi til að setja þessar einingar saman í flókin mynstur. Vopnuð þessari færni sjáum við líkön nýta SDK á áhrifaríkan hátt til að stjórna leitarpípum sem skalar upp í þúsundir stakra aðgerða.

Kóði sem stjórnandi og fylliefni bils

Með því að sameina þessi lög breytir SaC sambandinu milli líkana og leitarstakkanna. Í leitarakerfum með föstum pípum situr líkanið fyrir ofan leitina og hefur samskipti við hana í gegnum þröngt línulegt kallviðmót. Í SaC verður líkanið virkur þátttakandi í að stjórna leitarferlinu sjálfu. Allir þættir leitarstakkans verða beint forritanlegir af líkaninu, þar sem sandkassinn og Agentic Search SDK veita nauðsynleg viðmót við þessa þætti.

En hvað með getu sem er ekki til til staðar? Kóði er öflugur miðill til að stjórna fyrirliggjandi getu. Samt nær kraftur kóðans lengra en stjórnun. Hann getur einnig þjónað sem fylliefni bils fyrir getu sem er ekki til staðar í leitarstakkanum eða SDK. Umboðsmaður hagnast á sparnaði, og það væri óhagkvæmt fyrir SDK að ná yfir hverja mögulega aðgerð með sérstakri aðgerð. Þess í stað veitir SDK grundvallarfrumstæðurnar, og líkanið getur byggt hvaða viðbótarhluta sem er á flugi með kóða.

Ímyndaðu þér til dæmis flókna reglubundna segð (regex) sem ekki er hægt að útfæra á skilvirkan hátt í gegnum eigin fyrirspurnarmál leitarkerfisins. Án kóðunargetu neyðist líkanið til að búa til sína bestu nálgun, gera fyrirspurn og framkvæma síun í táknrými á mjög háværu niðurstöðusetti. Með SaC getur líkanið í staðinn búið til forrit sem gerir samsíða SDK köll til að safna saman ofurmengi af æskilegu niðurstöðusetti reglulegu segðarinnar. Eftir afritunarhreinsun í gegnum SDK getur líkanið síðan skrifað viðbótarkóða til að þrengja niðurstöðurnar á ákvörðunarhæfan hátt að nákvæmu reglulegu segðinni. Á þennan hátt geta umboðsmenn útfært sérsniðna leitargetu án þess að þenja út SDK með of þröngum undirrútínum.

Tilviksrannsókn: Ráðleggingar CVE birgja

Við kynnum tilviksrannsókn sem byggist á raunverulegu verkefni innan prófunarsafns okkar. Þetta verkefni krefst þess að umboðsmaður bindi kennsl á og einkenni yfir 200 alvarlegar CVE frá 2023–2025. Hver færsla verður að tilgreina ráðleggingar viðkomandi birgja, nefna vöruna og lagfæringarútgáfuna, og sýna fram á að lagfæringarútgáfan sé tengd tilteknu CVE.

Svar SaC fékk 100% í nákvæmni, þar sem heildartáknotkun lækkaði um 85,1% miðað við viðmið án SaC (úr 288.7K táknum í 42.9K tákn). Prófuðu kerfin sem ekki voru frá Perplexity, sem rætt er um nánar í kafla 4, skoruðu öll lægra en 25%.

Við kynnum þrjá stílfærða kóðablokka úr ferlinum til að sýna hvernig forritanleiki SaC gerir líkaninu kleift að útfæra árangursríkar stefnur.

python
# Part 1 of 3: fan out over official advisory formats. templates = [ ("Mozilla", 'site:mozilla.org/en-US/security/advisories/mfsa{year} ' '"CVE-{year}-" "Fixed in" "Impact high"'), ("Jenkins", 'site:jenkins.io/security/advisory/{year} ' '"CVE-{year}" "Severity" "High" "Fix"'), ("Chrome", 'site:chromereleases.googleblog.com/{year} ' '"High CVE-{year}" "Stable channel has been updated"'), ("Android", 'source.android.com/docs/security/bulletin/{year}-{month:02d}-01 ' '"High" "CVE-{year}"'), ... ] queries = [ {"vendor": vendor, "query": pattern.format(year=year, month=month)} for year in [2023, 2024, 2025] for vendor, pattern in templates for month in ([1] if "{month" not in pattern else range(1, 13)) ] seed_hits = sdk.search.web_many(queries, limit_per_query=8, concurrency=12) pages = [ {"vendor": q["vendor"], "url": h.url, "text": join_result_fields(h)} for q, hits in zip(queries, seed_hits) for h in hits if official_vendor_advisory(h.url, q["vendor"]) ]

Þessi fyrsti blokk er hrein stjórnun. Genereraða forritið byrjar á því að kóða reglu um upprunaflokk beint í fyrirspurnaráætlunina: aðeins ráðleggingasnið í eigu birgis eiga við. Heimildir sem eru ekki frá birgjum, þar á meðal NVD, MITRE, CVE Details, fréttasögur, CERT síður og gagnagrunnar þriðja aðila, eru skipulagslega utan gildissviðs. Nákvæmu setningatakmarkanirnar þrýsta einnig á leit í átt að síðum þar sem verðlagður texti inniheldur nú þegar nákvæmar CVE upplýsingar sem þarf í niðurstreymi.

python
# Part 2 of 3: synthesize refinements for sparse vendor-years. coverage = summarize(pages, by=["vendor", "year", "url_kind"]) prompt = """ Goal: 230+ high or critical CVEs from official vendor advisories. Avoid aggregators, CERTs, news, NVD, MITRE, and CVE databases. Current coverage: {coverage} Suggest more site-scoped exact-phrase queries for sparse vendor-years. Prefer per-advisory pages over archive or month-index pages. Return JSON lines with vendor and query. """.format(coverage=coverage) raw = query_llm(prompt) expanded_queries = [ row for row in parse_jsonl(raw) if official_scope(row["query"]) and mentions_cve_year(row["query"]) ] expanded_hits = sdk.search.web_many( unique(expanded_queries), limit_per_query=8, concurrency=12, )

Annar blokkurinn notar LLM sem millibilsskipanarrútínu. Kóðinn samantektar hvaða birgja-árs pör eru að framleiða nægar frambjóðendasíður, biður um markvissar endurbætur og staðfestir hverja fyrirspurn sem lögð er til fyrir keyrslu. Þetta varðveitir gagnleg mynstur úr ferlinum, svo sem nákvæmar setningarprófanir á vefsvæðissviði og aðhvarfsfyllingu, án þess að harðkóða sérsniðna CVE-ráðleggingaskriðara í SDK.

python
# Part 3 of 3: verify CVE-to-version binding. all_hits = dedupe_by_url(flatten(seed_hits) + flatten(expanded_hits)) items = [ {"url": h.url, "vendor_hint": infer_vendor(h.url), "text": join_result_fields(h)} for h in all_hits if official_vendor_advisory(h.url, infer_vendor(h.url)) ] verified = sdk.llm.extract_many( items, instruction=( "Keep only vendor advisories where the page ties a high or critical " "CVE to a specific fixed version, build, patch, or security level." ), schema={ "matches": bool, "cve": str, "vendor": str, "product": str, "fix_version": str, "severity": str, "source_url": str, "evidence": str, "version_bound_to_cve": bool, "confidence": float, }, ) records = [ to_cve_record(x) for x in verified if x.matches and x.version_bound_to_cve if high_or_critical(x.severity) and x.confidence > 0.75 ] records = dedupe_by(records, key="cve")

Síðasti blokkurinn er niðurstöðustaðfestir þar sem rökfræði er alveg skilgreind af umboðsmanninum með kóðun. Þótt leitarundirrútínur geti fundið trúverðugar ráðleggingasíður krefst verkefnið strangari tengsla: ráðleggingin verður að binda eitt CVE við eina viðkomandi vöru og eina lagfæringarútgáfu í texta sem skrifaður er af birgi. Skemað gerir þau tengsl skýr, þannig að niðurstreymiskóði getur fjarlægt afrit eftir CVE, hafnað samantektarvefslóðum, fleygt veikum útgáfuvísbendingum og haldið áfram að fyllast þar til lágmark færslufjölda er náð.

Niðurstöður mats

Við metum árangur SaC á alhliða viðmiðunarprófasafni, með áherslu á bæði algera afköst og kostnaðar- og árangursmörk.

Viðmiðunarpróf og kerfi

Viðmiðunarprófasafn okkar samanstendur af fimm viðmiðunarprófum samtals, hönnuð til að þrýsta á leitartengd gervigreindarverkflæði yfir margs konar svið, verkefnasnið og flóknustig. Við notum fjögur fyrirliggjandi viðmiðunarpróf: DeepSearchQA (DSQA), BrowseComp, Humanity's Last Exam (HLE) og WideSearch. Fyrir fyrstu þrjú viðmiðunarprófin (DSQA, BrowseComp og HLE) skýrum við frá nákvæmni sem aðalmælikvarða. Fyrir WideSearch skýrum við frá F1-skori eftir röð.

Við notum einnig nýþróaða WANDR viðmiðunarprófið, sem einbeitir sér að erfiðum „breiðum rannsókna“ verkefnum sem krefjast vandaðrar stjórnunar á leit, útreikningum og rökræðu líkans. WANDR sækja innblástur í þekkingarfrek fagleg verkefni sem Perplexity Computer sinnir fyrir notendur. Það byggir á WideSearch og svipuðum viðmiðunarprófum, en leggur áherslu á flóknari verkefni og verkefnaskipulag. Við munum gefa út WANDR viðmiðunarprófið á næstu vikum.

Við metum fimm umboðsmannabundin kerfi. Við tökum tillit til stakra keyrslna í stað „best-of-N“ skora til að einangra afköst undirliggjandi arkitektúrs í stað ávinnings af samsíðun. Stillingar hvers kerfis eru lýst hér að neðan:

Perplexity (SaC): Við metum SaC arkitektúrinn innan framleiðslu Agent API frá Perplexity. GPT 5.5 (mikil rökræða) þjónar sem undirliggjandi líkan.

OpenAI: Við metum OpenAI Responses API með bæði leit (web_search) og Python keyrsluumhverfi (code_interpreter) virkt. GPT 5.5 (mikil rökræða) þjónar sem undirliggjandi líkan.

Anthropic: Við metum Anthropic Managed Agents með 20260401 umboðsmannatólsettinu og sjálfvirkt leyfðum skipunum. Opus 4.7 (mikil rökræða) þjónar sem undirliggjandi líkan.

Exa: Við metum Exa Agent í gegnum framleiðslu API, þar sem átak er stillt á mikið.

Parallel: Við metum Parallel Tasks í gegnum framleiðslu API, þar sem örgjörvinn er stilltur á ultra4x.

Samanburðarafköst

Tafla 1 sýnir niðurstöður viðmiðunarprófa fyrir hvert kerfi. SaC skilar betri árangri en öll önnur kerfi á fjórum af fimm viðmiðunarprófum. Á hinum viðmiðunarprófinu (HLE) er SaC í raun jafnt í fyrsta sæti með OpenAI Responses. Mynd 2 úr Inngangi sýnir þessar niðurstöður í myndrænu formi.

Viðmiðunarpróf

Perplexity (SaC)

OpenAI

Anthropic

Exa

Parallel

DSQA

0.871

0.733

0.815

0.530

0.810

BrowseComp

0.805

0.720

0.598

0.380

0.560

HLE

0.612

0.614

0.566

0.387

0.515

WideSearch

0.651

0.522

0.590

0.471

0.584

WANDR

0.386

0.130

0.152

0.057

0.126

Tafla 1 | Viðmiðunarprófatölur fyrir hvert metið kerfi. Besta skor á hverja röð feitletrað.

Þótt SaC nái nýjustu afköstum yfir viðmiðunarprófasafnið, er forskot þess sérstaklega áberandi á WANDR. Mynd 5 sundurliðar WANDR skorin og sýnir að SaC útfærsla Perplexity skilar betri árangri en næstbesta kerfið með stuðlinum 2,5×. Þrátt fyrir þennan stóra mun er WANDR ómettuð og reynist erfitt jafnvel fyrir SaC. Við teljum að flókin, mjög lárétt leitaraðgerðaverkflæði sem verkefni WANDR krefjast muni krefjast frekari framfara í rannsóknum og leitarverkfræði til að ná stöðugt háum árangri.

WANDR skor yfir metin kerfi. Perplexity Agent API leiðir næstbesta kerfið með stuðlinum 2,5×.

Að lokum mælum við hlutfallslegan ávinning SaC samanborið við hefðbundnari leitarpípu sem nýtir sömu leitarinnviði Perplexity. Mynd 6 skýrir frá muninum á skorum milli SaC og non-SaC arkitektúra yfir hvert viðmiðunarpróf. Á allan hátt veitir SaC verulega aukningu á afköstum, með stærsta algera ávinninginn á DSQA (+19.77 prósentustig, 29%) og stærsta hlutfallslega ávinninginn á WANDR (+12.00 prósentustig, 45%).

Viðmið Perplexity á móti SaC skori á hverju viðmiðunarprófi, með skýringum á algerum og hlutfallslegum breytingum.

Kostnaðar- og árangursmörk

Í raun og veru láta notendur sér varða afköst miðað við kostnað. Við metum því kostnaðar- og árangursmörkin á DSQA og WideSearch. Við mælum kostnað og afköst SaC yfir lág, miðlungs og há rökræðustig líkans, ásamt hinum kerfunum. Myndir 7 og 8 teikna viðmiðunarprófunarskor á móti verði á hverja beiðni, þar sem x-ásinn er snúið við þannig að punktar lengra til hægri eru ódýrari og punktar hærri tákna betri árangur.

DSQA skor á móti verði á hverja beiðni. Striklínan tengir saman stillingar SaC líkanarökræðu.

Á DSQA liggja allar þrjár SaC stillingarnar á efri hægri mörkum. Lága rökræðustillingin er ódýrari en öll önnur kerfi á sama tíma og hún skilar betri árangri en tvö þeirra. Miðlungs rökræðustillingin skilar betri árangri en öll kerfi sem ekki eru SaC á undir $1 á verkefni. Hávaða rökræðustillingin nær efsta árangri með samkeppnishæfum kostnaði.

WideSearch skor á móti verði á hverja beiðni. Striklínan tengir saman stillingar SaC líkanarökræðu.

WideSearch sýnir svipað lagaðar mörk. Eins og með DSQA nær lága rökræðustillingin samkeppnishæfum árangri á lægri kostnaði en öll kerfi sem ekki eru SaC, á meðan bæði miðlungs og há rökræða skara fram úr kerfum sem ekki eru SaC í verkefnaárangri.

Í átt að nýjum tölvunarfræðilegum arkitektúr

Search as Code endurspeglar víðtækari breytingu á hugbúnaðarhönnun. Í áratugi voru hugbúnaðarkerfi skipulögð í kringum ákvörðunarhæfar leiðbeiningar sem voru keyrðar af hefðbundnum keyrslurkeyrslum á örgjörvum. Landmótunarlíkön kynna nýja tegund af útreikningi: rökræðu í táknrými sem getur bæði fylgt og búið til leiðbeiningar. Öflugustu útreikningskerfin munu thessa tvær tegundir útreikninga saman í stað þess að velja á milli þeirra.

Leit er eðlilegur prófunarstaður fyrir þennan tvinnarkitektúr. Líkön henta vel til að ákveða hvaða sönnunargögn þurfi og hvernig eigi að leysa úr óvissu. Ákvörðunarhæfar keyrslurkeyrslur henta vel fyrir hópvinnslu, samsíðu, síun, röðun og samlagningu. Leitarinnviðir þjóna sem alhliða I/O lag, sem veitir keyrslurkeyrslunni gagnleg handföng inn í upplýsingar heimsins sem geta stutt þúsundir aðgerða á mínútu. Þegar þessir hlutar eru samþættir er niðurstaðan miklu öflugri og skilvirkari við að framkvæma raunveruleg verkefni.

Hver einasti hluti þessa arkitektúrs er nauðsynlegur til að opna fyrir þessa getu. Án greindra líkana getur kerfið ekki rökrætt um leitarstefnu. Án sandkassa neyðast líkön í línulegt I/O og óhagkvæma vinnslu í táknrými. Og án sundurliðaðs leitarstaks hefur líkanið ekkert til að stjórna. SaC virkar vegna þess að rökræða, ákvörðunarhæfur útreikningur og I/O eru sameiginlega hönnuð til að undirstrika styrkleika hvers lags.

Þessari samhönnun er hægt að taka enn lengra með þróun stöðugra endurbætulykkja. Til dæmis væri hægt að fínstilla Agentic Search SDK og SaC Agent Skills saman í sameiginlegri sjálfvirkri rannsóknarlykkju. Metnaðarfyllra er að hægt sé að þjálfa líkön til að nýta sér lágstigs frumstæður sem birtar eru sem SDK. Maður gæti jafnvel reynt að þróa SDK hönnun samtímis með þjálfunarferli líkansins sjálfs. Við hlökkum til að stunda árásargjarnari samhönnunarstefnur í framtíðarvinnu.

Við byggðum SaC til að leyfa líkönum að stjórna leitarferlinu, í stað þess aðeins að neyta niðurstaðna þess. Niðurstöður okkar sanna mátt þessrar stjórnunar: SaC eflir bæði algera afköst og kostnaðar- og árangursmörk á þekkingarfrekum umboðsmannaviðmiðum. Við erum spennt að færa notendum okkar getu SaC, sem byrjar í dag með Perplexity Computer og Agent API. Við munum halda áfram að fínstilla SaC arkitektúrinn yfir öll lög staksins til að tryggja að notendur okkar (og umboðsmennirnir sem þjóna þeim) hafi öflugustu og skilvirkustu leitargetu sem völ er á.

Tilvitnun

BibTeX
@online{perplexity2026RethinkingSearchAsCodeGeneration,
  author = {{Perplexity} and Denis Bykov and Aleksandr Nikolenko and Artur Zayats and Maksim Gaiduk and Vitalii Polshkov and Akshay Nair and James Liounis and Kirill Priemko and Ryan Buchmayer and Phi Hoang and Jerry Ma},
  title = {{Rethinking search as code generation}},
  date = {2026-06-01},
  url = {https://perplexity.coolkeypoint.com/hub/blog/rethinking-search-as-code-generation}
}