குறியீடு உருவாக்கமாக தேடலை மறுபரிசீலனை செய்தல்
ஏஜென்ட் சேணங்களின் சகாப்தத்திற்கான ஒற்றைக்கல் சேவையகங்களிலிருந்து நிரல்படுத்தக்கூடிய மூலக்கூறுகளாக தேடலை உருவாக்குதல்.
AI அமைப்புகளுக்கு தேடல் என்பது ஒரு முக்கிய அடிப்படையாகும். அதிநவீன மாதிரிகள் மாதந்தோறும் திறனில் வளர்ந்து வருகின்றன, ஆனால் பரந்த உலகத்திலிருந்து புதிய, துல்லியமான மற்றும் நன்கு தொகுக்கப்பட்ட அறிவை அணுகுவது அவற்றுக்கு இன்னும் தேவைப்படுகிறது. அந்த அறிவை AI அமைப்புகள் தட்டிக் கேட்கும் முதன்மையான வழி தேடலாகும், எனவே முடிவுகளை எடுக்கவும், நடவடிக்கைகளை எடுக்கவும் மற்றும் நிஜ உலகப் பணியைச் செய்யவும் வேண்டிய எந்தவொரு தயாரிப்புக்கும் இது ஒரு அடித்தளக் கூறுகளாகும்.
ஏஜெண்டுகளின் சகாப்தத்தில் பாரம்பரிய தேடல் பைப்லைன்கள் பெருகிய முறையில் காலாவதியாகிவிட்டதாக நாங்கள் நம்புகிறோம். பாரம்பரிய தேடல் வினவல்களுக்குப் பதிலளிக்கிறது, ஆனால் இன்றைய ஏஜெண்டுகள் எண்ணற்ற வடிவங்களை எடுக்கக்கூடிய பணிகளை முடிக்கின்றன. இந்த பணிகளுக்கு ஏஜெண்டுகள் தங்கள் சேணங்களுக்குள்ளேயே நேரடியாக பணி-குறிப்பிடப்பட்ட மீட்டெடுப்பு உத்திகளை வரையறுக்க வேண்டும். Perplexity Computer-ல், சில நிமிடங்களுக்குள் ஒற்றைப்படைப் பணிகள் நூற்றுக்கணக்கான அல்லது ஆயிரக்கணக்கான மீட்டெடுப்பு செயல்பாடுகளை அழைப்பதைக் கண்டுள்ளோம்: இது மனிதர்களுக்கு சாத்தியமற்றது ஆனால் ஏஜெண்டுகளுக்கு முற்றிலும் இயற்கையான பணிப்பாய்வு ஆகும்.
இந்த உலகில், தேடலே ஏஜென்டிக் ஆக மாற வேண்டும், அதன் கட்டுமானத் தொகுதிகள் ஏஜென்ட் சேணத்திற்குள்ளேயே SDK-களாக நேரடியாக அணுகக்கூடியவை. Perplexity-ன் புதிய குறிப்பு தேடல் கட்டமைப்பு என Search as Code (SaC) ஐ நாங்கள் அறிமுகப்படுத்துகிறோம்.
அறிமுகம்
Perplexity-ன் தேடல் அடுக்கு எங்கள் பயன்பாடுகள் மற்றும் API பிளாட்ஃபார்ம் முழுவதும் ஒவ்வொரு நொடியும் ஆயிரக்கணக்கான வினவல்களுக்கு சேவை செய்கிறது. செப்டம்பர் 2025-ல், எங்கள் தேடல் அமைப்புகளின் முதல் கட்டமைப்பு கண்ணோட்டத்தை வெளியிட்டோம். இந்த அமைப்புகளுக்குள் நிலையான புதுமையானது Search API, Agent API, மற்றும் Computer போன்ற புதிய சலுகைகளின் தொடக்கத்தை ஆதரித்துள்ளது, சுய-மேம்படுத்தும் சுழல்கள் தேடல் அடுக்கை பயனர்களுக்கு ஒவ்வொரு நாளும் சிறப்பாக சேவை செய்ய உகந்ததாக்குகின்றன.
பாரம்பரியமாக, AI அமைப்புகள் தேடலை ஒரு ஒற்றைக்கல்லாகக் கருதியுள்ளன: ஒரு AI மாதிரி ஒரு வினவலை வெளியிடுகிறது, தேடல் இயந்திரம் அதன் முன்னரே தீர்மானிக்கப்பட்ட பைப்லைனை இயக்குகிறது, மற்றும் மாதிரி முடிவுகளை சூழலாகப் பயன்படுத்துகிறது. பெரும்பாலான பகுதிக்காக, இது ஆரம்பகால AI பயனர்களின் தேவைகளை நிவர்த்தி செய்ய நன்றாக வேலை செய்தது. அவர்களின் கோரிக்கைகளின் ஒப்பீட்டளவில் எளிமை கொடுக்கப்பட்டால், தேடல் பைப்லைன் எவ்வாறு வடிவமைக்கப்பட்டது அல்லது பைப்லைனின் கட்டமைப்பு கையில் உள்ள பணிக்கு உகந்ததா என்பது பற்றி கவலைப்பட எந்த காரணமும் இல்லை. இயல்புநிலைகள் போதுமானதாகக் கருதப்பட்டன, இயல்புநிலை இடைமுகங்களும் (செயல்பாடு அழைப்பு மற்றும் MCPs) அவ்வாறே கருதப்பட்டன.
இன்னும் இன்று இந்த அணுகுமுறை ஒவ்வொரு மாதமும் மிகவும் காலாவதியாகி வருகிறது. பயனர்கள் AI-யிலிருந்து ஒற்றை-ஷாட் பகுப்பாய்வை விட மிகவும் அதிகமாகக் கோருகிறார்கள். ஏஜெண்டுகள் மணிநேரங்கள் அல்லது நாட்கள் முழுவதும் பணிகளை இறுதிவரை முடிக்க வேண்டும் என்று அவர்கள் எதிர்பார்க்கிறார்கள். இந்தப் பணிகள் சிக்கலானதாகவும், திறந்த முனையுடையதாகவும், அவற்றின் தகவல் தேவைகளில் மிகவும் மாறக்கூடியதாகவும் இருக்கலாம், மேலும் ஒற்றைக்கல் கட்டமைப்புகள் இந்த கோரிக்கைகளின் எடையின் கீழ் சரிந்து வருகின்றன.
முக்கியமான இடையூறு இறுதியில் கட்டுப்பாட்டின் ஒன்றாகும். முன்னணி மாதிரிகள் நிலையான சூழலின் மீது பகுத்தறிவதில் ஏற்கனவே மிகவும் சிறப்பாக உள்ளன. ஆனால், மிக சக்திவாய்ந்த AI அமைப்புகளுக்கு அந்த சூழல் மாதிரிக்குள் எவ்வாறு பெறப்படுகிறது, செயலாக்கப்படுகிறது, ஒருங்கிணைக்கப்படுகிறது, மற்றும் காட்டப்படுகிறது என்பதை வழிநடத்தும் திறன் தேவைப்படும்.
பாரம்பரிய தேடல் அமைப்புகள் இந்த அளவிலான கட்டுப்பாட்டைக் கருத்தில் கொண்டு வடிவமைக்கப்படவில்லை. எல்லாவற்றிற்கும் மேலாக, மனித பயனர்கள் வழங்கப்பட்டாலும் கூட, தேடல் பைப்லைன் உள்விவகாரங்கள் மீது நுண்ணிய கட்டுப்பாட்டைச் செலுத்துவார்கள் என்று எதிர்பார்க்க முடியாது. ஆரம்பகால AI மாதிரிகள் செயல்பாடு அழைப்புகள் மற்றும் MCP-களின் நேரியல் பாதை மூலம் மட்டுமே தேடலைக் கட்டுப்படுத்த முடியும். ஆனால் இன்றைய எல்லை மாதிரிகள், குறியீட்டுத் திறன் கொண்ட ஏஜென்ட் சேணங்களால் இயக்கப்படுகின்றன, கணினி குறியீடு மூலம் கற்பனை செய்யக்கூடிய எந்தவொரு கணக்கீட்டுப் பிரமிடின் மீதும் நுண்ணிய கட்டுப்பாட்டைச் செலுத்த முடியும். சரியான மூலக்கூறுகளை வழங்குவதே நமது பணியாகிறது.
இந்தத் தேவையைப் பூர்த்தி செய்ய, எங்கள் தயாரிப்புகள் முழுவதும் புதிய தேடல் கட்டமைப்பை அறிமுகப்படுத்துகிறோம்: Search as Code (SaC). இந்த புதிய கட்டமைப்பு மாதிரிகளுக்கு அதன் இறுதி வெளியீடுகளை நுகர்வதை விட தேடல் அடுக்கிற்குள்ளேயே செல்ல அதிகாரம் அளிக்கிறது. முக்கிய யோசனை நேரடியானது: தேடல் அடுக்கின் கூறுகளை SDK-க்குள் மூலக்கூறுகளாக வெளிப்படுத்துகிறோம். தேடல் தேவைப்படும் எந்தவொரு கோரிக்கைக்கும், ஒரு மாதிரி இந்த மூலக்கூறுகளை அந்த குறிப்பிட்ட கோரிக்கைக்கு ஏற்ப வடிவமைக்கப்பட்ட மீட்டெடுப்பு பைப்லைனில் தேவைக்கேற்ப கூட்டுகிறது.
இந்த பைப்லைனை அசெம்பிள் செய்வது பாதுகாப்பான சாண்ட்பாக்ஸில் குறியீடு உருவாக்கம் மற்றும் செயல்படுத்தல் மூலம் செய்யப்படுகிறது. தேடலுக்கான பிற குறியீட்டு-உந்துதல் அணுகுமுறைகளைப் போலல்லாமல், நாங்கள் பாரம்பரிய தேடல் API-ஐ ஒரு ஷெல் அல்லது மொழி இயக்க நேரத்திற்குள் எளிதில் ஒட்ட மாட்டோம். அதற்கு பதிலாக, தேடலின் தனிப்பட்ட கட்டுமானத் தொகுதிகளை மிக அணுவான மட்டத்தில் வெளிப்படுத்தும் ஒரு ஏஜென்டிக் தேடல் SDK-ஐ நாங்கள் கவனமாகப் பொறியியல் செய்துள்ளோம்.
இந்த கட்டுமானத் தொகுதிகளுடன் ஆயுதம் ஏந்திய SaC, ஒவ்வொரு தனிப்பட்ட தேடல் படியின் மீதும் மாதிரிகளுக்கு நேரடி கட்டுப்பாட்டைக் அளிக்கிறது: மீட்டெடுப்பு, தரவரிசைப்படுத்துதல், வடிகட்டுதல், ஃபேன்அவுட்கள், ரெண்டரிங் மற்றும் பல. இது வேட்பாளர் பட்டியல்கள் மற்றும் தரவரிசை சமிக்ஞைகள் போன்ற இடைநிலை நிலைக்கு மாதிரிக்கு திறமையான அணுகலையும் வழங்குகிறது. ஒன்றாக, கட்டுப்பாடு மற்றும் வாசிப்புத் திறனின் இந்த இரட்டை நெம்புகோல்கள் ஏஜெண்டுகளுக்கு ஆயிரக்கணக்கான மீட்டெடுப்பு செயல்பாடுகளை விரிவுபடுத்தும் பெஸ்போக் தேடல் பைப்லைன்களை வடிவமைக்கவும், விமானத்தில் அந்த பைப்லைன்களை மேம்படுத்தவும் மற்றும் மாதிரி சூழலாக மிகவும் பயனுள்ள தகவலை மட்டுமே உட்கொள்ளவும் அனுமதிக்கின்றன.
இந்தக் கட்டுப்பாடு SaC இன் உந்துதல், வடிவமைப்பு மற்றும் செயலாக்கம் ஆகியவற்றை விவரிக்கிறது, இது ஏற்கனவே உள்ள மற்றும் புதிய பெஞ்ச்மார்க்குகள் இரண்டிலும் அனுபவப்பூர்வ முடிவுகளுடன் உள்ளது. SaC ஏஜென்டிக் தேடலுக்கான புதிய செலவு-செயல்திறன் எல்லையை நிறுவுகிறது, மேலும் அதை எங்கள் பயனர்கள் மற்றும் பரந்த AI சமூகத்துடன் பகிர்ந்து கொள்வதில் நாங்கள் மகிழ்ச்சியடைகிறோம்.
பாரம்பரிய தேடலின் விறைப்புத்தன்மை
உலகின் முதல் தேடல் இயந்திரங்கள் மனித பயனர்களுக்காக கட்டமைக்கப்பட்டன. இந்த பயனர்கள் யூகிக்கக்கூடிய அனுபவத்தை எதிர்பார்க்க வந்தனர், பொதுவாக குறிப்பிட்ட எண்ணிக்கையிலான பொருத்த-தரவரிசை ஆவணங்களைக் கொண்டது. பயனர்கள் தேடல் செயல்முறையை மைக்ரோமேனேஜ் செய்ய விரும்பவில்லை; அவர்கள் ஒரு வினவலை உள்ளிட்டு பயனுள்ள பதிலைக் கண்டுபிடிக்க விரும்பினர்.
இதன் விளைவாக, மனிதனை எதிர்கொள்ளும் தேடல் இயந்திரங்கள் பொதுவான ஒற்றைக்கல் கட்டமைப்பில் ஒன்றிணைந்தன, இது உள்ளீட்டு வினவலுக்கான முதல் n வெற்றிகளைக் கொண்ட மனித-நட்பு தேடல் இயந்திர முடிவு பக்கங்களை (SERPs) உருவாக்குவதை நோக்கமாகக் கொண்டது. இந்த முறை நுகர்வோர் தேடலில் பல দশক கால முன்னேற்றத்தை இயக்கியுள்ளது. இது மனித உலாவலுக்கு வேகமானது, பழக்கமானது மற்றும் மிகவும் பயனுள்ளது.
பின்னர் LLM-கள் வந்தன, AI அமைப்புகளும் தேடலின் நுகர்வோர் ஆயின. 2022-ல் எங்கள் பதில் இயந்திரத்தின் அறிமுகத்துடன் Perplexity இந்த மாற்றத்திற்கு முன்னோடியாக இருந்தது. அப்ப Yிருந்து, எங்கள் தேடல் பொறியியல் முயற்சிகள் AI மாதிரிகளுக்கான தேடல் முடிவுகளின் மதிப்பை எவ்வாறு மேம்படுத்துவது என்பதில் கவனம் செலுத்தியுள்ளன. உலகின் மிகவும் துல்லியமான மற்றும் நம்பகமான AI-ஐ உருவாக்க, ஒவ்வொரு டோக்கனையும் முடிந்தவரை தகவல்-அடர்த்தியாக மாற்றுவதில் கவனம் செலுத்தும் ஒரு தேடல் அமைப்பை நாங்கள் பொறியியல் செய்ய வேண்டியிருந்தது. துணை-ஆவண மீட்டெடுப்பு, சூழல் திறன், சொற்பொருள் புரிதல் மற்றும் பிற முக்கியப் பகுதிகளில் விளைந்த புதுமைகள் தகவல்களை மீட்டெடுப்பதற்கும் செயல்படுவதற்கும் AI அமைப்புகளின் திறனில் வியத்தகு மேம்பாடுகளுக்கு வழிவகுத்தன.
இருப்பினும், AI-உகந்த அமைப்புகள் கூட பாரம்பரிய தேடல் இயந்திரங்களின் அதே அடிப்படை ஒப்பந்தத்தை பெரிய அளவில் மரபுரிமையாகப் பெற்றுள்ளன: ஒரு வினவலை ஏற்றுக்கொள்ளுங்கள், முன்னரே தீர்மானிக்கப்பட்ட தேடல் பைப்லைனை இயக்கவும், முழுமையாக செயலாக்கப்பட்ட முடிவுத் தொகுப்பைத் திருப்பித் தரவும். எளிமையான கோரிக்கைகளுக்கு, இந்த அணுகுமுறை நன்றாக வேலை செய்கிறது. ஆனால் மிகவும் சிக்கலான கோரிக்கைகளுக்கு, இது செயல்திறன், தாமதம் மற்றும் செலவைக் குறைக்கும் பெருகிய முறையில் வரம்புக்குட்பட்ட தடையாக மாறுகிறது.
விறைப்புத்தன்மையிலிருந்து தோல்வி முறைகள்
பாரம்பரிய தேடல் பைப்லைன்கள் ஒரு கட்டுப்பாட்டு புள்ளியைச் சுற்றி வடிவமைக்கப்பட்டுள்ளன: வினவல் அளவுருக்கள். தேடல் இயந்திரம் அதன் முன்னரே தீர்மானிக்கப்பட்ட தர்க்கத்தின்படி பைப்லைனின் மீதமுள்ளவற்றை சொந்தமாகக் கொண்டுள்ளது, மேலும் மாதிரி அதற்கு ஏற்ப மாற்றியமைக்க வேண்டும். மாதிரிக்கு, வினவல் அளவுருக்களுக்கு அப்பால் உள்ள எதும் விறைப்புத்தன்மை கொண்டது - உண்மையான கணக்கீட்டின் வடிவம் மாதிரியின் கட்டுப்பாட்டிற்கு அப்பாற்பட்டது.
நுகர்வோர் இணைப்புகளை ஸ்கேன் செய்யும் மனிதராக இருக்கும் போது இது ஒரு விவேகமான எல்லையாகும். நுகர்வோர் மூடிய சுழற்சியில் அறிவு-தீவிர பணிகளை தீர்க்க முயற்சிக்கும் AI மாதிரியாக இருக்கும் போது இது மோசமான எல்லையாகும். எங்கள் அனுபவத்தில், இந்த விறைப்புத்தன்மை மூன்று தொடர்ச்சியான தோல்வி முறைகளை உருவாக்குகிறது:
கரடுமுரடான சூழல். AI மாதிரிகள் சூழலின் தரம் மற்றும் கச்சிதத்தன்மைக்கு உணர்திறன் கொண்டவை. தரம் மற்றும் கச்சிதத்தன்மை இரண்டும் வினவலைப் பொறுத்து மிகவும் சார்ந்து இருக்கும், மேலும் அனைத்து வினவல்களிலும் உகந்ததாக செயல்பட ஒற்றைக்கல் தேடல் பைப்லைன்கள் வடிவமைக்கப்படவில்லை. உதாரணமாக, ஒரு மாதிரிக்கு ஒற்றை, மிகவும் அறுவை சிகிச்சை தகவல் துண்டு தேவைப்பட்டால், மீட்டெடுப்புக்கு முன்னுரிமை அளிக்கும் எண்ட்-டு-எண்ட் தேடல் முனைப்புள்ளிக்கு மட்டுமே அணுகல் இருந்தால், அந்த முனைப்புள்ளியைப் பயன்படுத்துவது பெரிய அளவிலான பொருத்தமற்ற தகவலை மாதிரி சூழலில் அறிமுகப்படுத்தும். மறுபுறம், ஒரு மாதிரிக்கு வெவ்வேறு தேடல் உத்திகள் தேவைப்படும் பல தகவல்கள் தேவைப்பட்டால், அவை அனைத்திற்கும் உகந்ததாக இல்லாத பைப்லைனை வரிசையாக அழைக்க வேண்டிய கட்டாயம் ஏற்படலாம், இதன் விளைவாக பெருகிவரும் செலவுகள் மற்றும் சத்தமான சூழல் ஏற்படும்.
டொமைன் அறிவைப் பயன்படுத்தத் தவறுவது. பல சந்தர்ப்பங்களில், மாதிரிக்கு டொமைன் அறிவு (அதன் பயிற்சி, ஒரு ஏஜென்ட் திறன், நினைவகம் அல்லது LLM பாதையில் முந்தைய டோக்கன்களில் இருந்து) தேடல் உத்தியை வழிநடத்த வேண்டும். இருப்பினும், ஒரு விறைப்புத்தன்மை கொண்ட தேடல் இடைமுகம் அந்த அறிவைப் பயன்படுத்திக் கொள்வதிலிருந்து மாதிரியைத் தடுக்கிறது. உதாரணமாக, ஒரு குறிப்பிட்ட கோரிக்கைக்கு லெக்சிகல் மற்றும் சொற்பொருள் சமிக்ஞைகளை ஒரு குறிப்பிட்ட வழியில் கலக்க வேண்டும், சில மூலங்களுக்கு முன்னுரிமை அளிக்க வேண்டும் அல்லது ஒரு குறிப்பிட்ட விசையால் முடிவுகளை ஒருங்கிணைக்க வேண்டும் என்பதை மாதிரி உணரலாம். அந்த நுண்ணறிவுகள் வினவல் அளவுருக்கள் மூலம் செயல்படுத்தப்படாவிட்டால், மாதிரி உண்மையில் அவற்றின் மீது செயல்பட முடியாது.
திறமையற்ற கட்டுப்பாட்டு ஓட்டம் மற்றும் சூழல் மாசுபாடு. பல தேடல் பணிப்பாய்வுகள் இயல்பாகவே வரிசையானவை அல்ல. வினவல் வகைகளில் ஃபேன்-அவுட், இணையான பெறுதல், பிரதிகள நீக்கம் மற்றும் நேரியல் அல்லாத மற்றும் ஒத்திசைவற்ற கட்டுப்பாட்டு ஓட்டம் தேவைப்படும் பிற செயல்பாடுகள் அவற்றுக்குத் தேவைப்படலாம். இந்த படிகளை மீண்டும் மீண்டும் மாதிரி திருப்பங்கள் மூலம் கட்டாயப்படுத்துவது தாமதத்தைச் சேர்க்கிறது மற்றும் பணிப்பாய்வுகளை உகந்ததாக்குவதை கடினமாக்குகிறது. இது மாதிரியின் பகுத்தறிவுக்கு பயனுள்ளதாக இருக்காது மற்றும் மோசமான செயல்திறன் மற்றும் அடிக்கடி சுருக்கங்களுக்கு வழிவகுக்கும் சத்தமான இடைநிலை நிலையுடன் மாதிரி சூழலையும் மாசுபடுத்துகிறது.
செயல்பாடு அழைப்பு மற்றும் MCP சகாப்தங்களில் AI-ன் போது இந்த சவால்களைப் பற்றி அதிகம் செய்ய முடியாது. ஒவ்வொரு தேடல் செயல்பாட்டிற்கும் LLM அனுமானத்திற்கு அதன் சொந்த சுற்றுப்பயணம் தேவைப்படும்போது, அந்த சுற்றுப்பயணத்தில் முடிந்தவரை அதிகம் செய்ய டெவலப்பர்கள் இயற்கையாகவே விரும்புகிறார்கள். இதன் பொருள் மாதிரி மூலம் நேரடியாக உட்கொள்வதற்காக முழுமையாக செயலாக்கப்பட்ட முடிவுத் தொகுப்புகளைத் திருப்பித் தரும் எண்ட்-டு-எண்ட் தேடல் பைப்லைன்கள் ஆகும்.
இதன் விளைவாக, இன்றைய பெரும்பாலான AI-ஐ எதிர்கொள்ளும் தேடல் அமைப்புகள் இன்னும் இந்த ஒற்றைக்கல் ஒப்பந்தத்தின் கீழ் செயல்படுகின்றன. இருப்பினும், மாதிரி நுண்ணறிவு மற்றும் பயனுள்ள கோரிக்கைகளின் தொடர்ச்சியான வளர்ச்சியுடன், அந்த ஒப்பந்தத்தின் குறைபாடுகள் மிகவும் உச்சரிக்கப்படுகின்றன. குறியீடு-முதல் சேணங்களின் மேல் கட்டமைக்கப்பட்ட இன்றைய மிகவும் மேம்பட்ட AI அமைப்புகள், ஒவ்வொரு நிமிடமும் ஆயிரக்கணக்கான செயல்களைச் செயல்படுத்தும் பணி-குறிப்பிட்ட பணிப்பாய்வுகளை ஒருங்கிணைக்க முடியும். தேடல் அமைப்புகள் இன்னும் இந்த திறனை முழுமையாக உணரவில்லை.
AI-சொந்த தேடலுக்கான சரியான எல்லையானது அடுக்கில் குறைவாக உள்ளது என்று நாங்கள் நீண்ட காலமாக சந்தேகிக்கிறோம். மாதிரிகள் தேடல் இயந்திரத்தை அழைக்கக்கூடாது. குறிப்பிட்ட பணி கோரும் வகையில் தேடல் அடுக்கின் தனிப்பட்ட பகுதிகளை ஒழுங்கமைக்க அவர்களுக்குத் தெரிய வேண்டும். அதற்கு அடிப்படையில் வேறுபட்ட கட்டமைப்பு தேவைப்படுகிறது.
நிரல்படுத்தக்கூடிய தேடல் கட்டமைப்பை வடிவமைத்தல்
தேடல் கட்டமைப்புகளின் அடுத்த தலைமுறை ஒரு மையக் கொள்கையைப் பொறுத்தது: தேடல் என்பது AI ஏஜெண்டுகளால் சொந்தமாக நிரல்படுத்தக்கூடியதாக இருக்க வேண்டும். ஒரு ஏஜென்ட் முன்னரே தீர்நிதானிக்கப்பட்ட தேடல் பைப்லைன்களின் தொகுப்புக்கு மட்டுமே வரம்பிடப்படக்கூடாது. மாறாக, பல்வேறு மட்டங்களில் சுருக்கமாக வடிவமைக்கப்பட்ட கலவை கட்டுமானத் தொகுதிகளைப் பயன்படுத்தி, குறிப்பிட்ட பணி தேவைப்படும் பைப்லைனை ஒரு ஏஜென்ட் கட்டமைக்க வேண்டும்.
எங்களின் புதிய Search as Code (SaC) கட்டமைப்பு இந்த கொள்கையை உள்ளடக்கியது. SaC-ல், செயல்பாடு அழைப்பு அல்லது MCP இடைமுகம் மூலம் ஒரு மீட்டெடுப்பு செயல்பாடு கூட அனுப்பப்படுவதில்லை. அதற்கு பதிலாக அனைத்து செயல்பாடுகளும் மாதிரி-உருவாக்கப்பட்ட Python குறியீடு வழியாக ஒருங்கிணைக்கப்படுகின்றன. எளிய தேடல் தேவைகளுக்கு, இந்த குறியீடு உயர்மட்ட தேடல் முனைப்புள்ளிக்கு சில கோரிக்கைகளைக் கொண்டிருக்கலாம். ஆனால் சிக்கலான பணிகளுக்கு, குறியீடு நிபந்தனை செயல்படுத்தல், ஒத்திசைவற்ற தன்மை, இணைத்தன்மை மற்றும் பரந்த அளவிலான குறைந்த மட்ட மூலக்கூறுகளுக்கான அழைப்புகளை உள்ளடக்கியதாக சிக்கலானதாக இருக்கலாம்.
SaC மூன்று இறுக்கமாக இணைக்கப்பட்ட அடுக்குகளை உள்ளடக்கியது:
மாதிரிகள் கட்டுப்பாட்டுத் தளமாகச் செயல்படுகின்றன. அவை பயனரின் (அல்லது பெற்றோர் ஏஜென்ட்டின்) கட்டளையைப் பற்றி பகுத்தறிகின்றன, கட்டளையை பணிகளாகப் பிரிக்கின்றன, ஒவ்வொரு பணிக்கும் எந்த மீட்டெடுப்பு மற்றும் செயலாக்கம் பைப்லைன்கள் தேவை என்பதை முடிவு செய்கின்றன, மேலும் அந்த பைப்லைன்களை செயல்படுத்த குறியீட்டை உருவாக்குகின்றன.
கணக்கீட்டு சாண்ட்பாக்ஸ்கள் பாதுகாப்பான குறியீடு செயல்படுத்தும் இயக்க நேரம் மூலம் உறுதியான கணக்கீட்டை வழங்குகின்றன. மாதிரிகள் கட்டுப்பாட்டு ஓட்டம், தொகுதி செயலாக்கம், மீண்டும் முயற்சிகள், வடிகட்டுதல், இணைதல், திரட்டல் மற்றும் பிற உறுதியான செயல்பாடுகளை செயல்படுத்த அவை ஒரு கேன்வாஸை வழங்குகின்றன.
எங்கள் Agentic Search SDK Perplexity-ன் தேடல் அடுக்கை கலவை மூலக்கூறுகளாக வெளிப்படுத்துகிறது. இது குறைந்த மட்ட மீட்டெடுப்பு செயல்பாடுகள் முதல் உயர்மட்ட சொற்பொருள் பாகுபடுத்துதல் வரை கட்டுமானத் தொகுதிகளை வழங்குகிறது. SDK ஆனது சாண்ட்பாக்ஸுகளின் செயல்படுத்தும் இயக்க நேரங்களுக்குள் பதிக்கப்பட்டுள்ளது, ஒற்றை அனுமானத் திருப்பத்திற்குள் மாதிரிகள் ஆயிரக்கணக்கான செயல்பாடுகளை ஒருங்கிணைக்க அனுமதிக்கிறது. கீழே, ஒவ்வொரு அடுக்குக்கான எங்கள் வடிவமைப்பு முடிவுகளை நாங்கள் விவாதிக்கிறோம்.
Agentic Search SDK
Agentic Search SDK நிரல்படுத்தக்கூடிய தேடலுக்கான கட்டுமானத் தொகுதிகளை வரையறுக்கிறது. முக்கியமாக, எங்கள் SDK என்பது நூலகமாக தொகுக்கப்பட்ட முந்தைய தேடல் API அல்ல. கடந்த சில மாதங்களாக, எங்கள் பொறியியல் குழு எங்கள் தேடல் அடுக்கை மட்டு, கலவை மூலக்கூறுகளாக மறுவடிவமைத்துள்ளது. இந்த மூலக்கூறுகளுக்கு நேரடி அணுகலை வழங்க Agentic Search SDK-ஐ நாங்கள் கட்டியெழுப்பியுள்ளோம், இது மாதிரி பணி-குறிப்பிட்ட மீட்டெடுப்பு பைப்லைன்களை ஒருங்கிணைக்கக்கூடிய மிகவும் சக்திவாய்ந்த கேன்வாஸை உருவாக்குகிறது.
உயர்மட்ட, எண்ட்-டு-எண்ட் தேடல் பைப்லைன்கள் இன்னும் SDK-க்குள் கிடைக்கின்றன, ஆனால் அவை இனி ஒரே விருப்பமல்ல. மாறாக, அவை பொதுவான தேடல் வடிவங்களுக்கு ஒரு சுருக்கமாக செயல்படுகின்றன. பணி கோரும்படி அவற்றைப் பயன்படுத்த அல்லது கடந்து செல்ல மாதிரி சுதந்திரமாக உள்ளது.
இயக்க நேரத்தின் தேர்வு: SDK இயக்க நேரமாக Python, Rust, TypeScript மற்றும் Bash ஆகியவற்றை நாங்கள் பரிசீலித்தோம். தரவு செயலாக்க நூலகங்களின் அதன் எங்கும் நிறைந்த தன்மை மற்றும் சுற்றுச்சூழல் அமைப்பு கொடுக்கப்பட்டால் Python மிகவும் இயற்கையான பொருத்தமாக இருக்கும் என்று நாங்கள் சந்தேகித்தோம். உள் சோதனை இதை உறுதிப்படுத்தியது, மேலும் இன்று வெளியிடப்படும் SDK-ன் பதிப்பு Python-அடிப்படையிலானது. இது சிறந்த ஏஜென்ட் அனுபவத்தைத் தொடர்ந்து வழங்குவதை உறுதி செய்வதற்காக இயக்க நேரத்தைத் தேர்ந்தெடுப்பதை அவ்வப்போது மறுமதிப்பீடு செய்ய எதிர்பார்க்கிறோம்.
தானியங்கு ஆராய்ச்சி மூலம் தொடர்ச்சியான முன்னேற்றம்: ஒரு தொடர்ச்சியான தானியங்கு ஆராய்ச்சி லூப் மூலம் எல்லை LLM-களுக்கு SDK-ன் நுகர்வுத்தன்மையை நாங்கள் உகந்ததாக்கியுள்ளோம். இந்த லூப், வாரக்கணக்கில் தொடர்ந்து இயங்குகிறது, தாமதம், குறியீடு உருவாக்கும் தரம் மற்றும் ஒட்டுமொத்த பணி செயல்திறன் உள்ளிட்ட அளவீடுகளுக்கு எதிராக SDK மேம்பாடுகளை முன்மொழிந்து சரிபார்க்கிறது. அனைத்து பரிமாணங்களிலும் குறிப்பிடத்தக்க லாபங்களுடன், SDK-ன் கட்டமைப்பு மற்றும் அழகியல் இரண்டிலும் தானியங்கு ஆராய்ச்சி லூப் ஏற்கனவே ஏராளமான மாற்றங்களைச் செய்துள்ளது. புதிய எல்லை தேடல் கூறுகள் வெளிவரும்போது தானியங்கு ஆராய்ச்சி மூலம் SDK-ஐ மேலும் செம்மைப்படுத்த திட்டமிட்டுள்ளோம்.
சாண்ட்பாக்ஸ்கள்
சாண்ட்பாக்ஸ்கள் SaC பைப்லைன்களை வரையறுக்க மற்றும் இயக்க பாதுகாப்பான சூழல்களை வழங்குகின்றன. அவை மாதிரி-உருவாக்கப்பட்ட குறியீட்டை இயக்குகின்றன, தனிப்பட்ட தேடல் மூலக்கூறுகளுடன் தொடர்புகொள்வதை எளிதாக்க Agentic Search SDK-க்கான அணுகலை வழங்குகின்றன.
எங்கள் சாண்ட்பாக்ஸ்களை மேம்படுத்துவதிலும் கடினமாக்குவதிலும் நாங்கள் குறிப்பிடத்தக்க முதலீடுகளைச் செய்துள்ளோம், மேலும் அவற்றின் ஒட்டுமொத்த அமைப்பு வடிவமைப்பு அதன் சொந்தக் கட்டுப்பாட்டிற்கு தகுதியானது. இங்கே, SaC-க்கு மிகவும் பொருத்தமான வடிவமைப்பு பரிசீலனையில் கவனம் செலுத்துகிறோம்: இடைநிலை நிலைகளை நிர்வகித்தல்.
ஒற்றை அனுமானத் திருப்பத்திற்குள் சிக்கலான பைப்லைன்களை ஒருங்கிணைக்க SaC ஏஜெண்டுகளுக்கு அதிகாரம் அளிக்கிறது. இருப்பினும், சில இடைநிலை நிலைகள் திருப்பங்கள் முழுவதும் தெரிவிக்கப்பட வேண்டும். உதாரணமாக, ஒரு மாதிரி திருப்பம் 1-ல் சில ஆவணங்களைப் பெற விரும்பலாம், அடுத்த என்ன செய்ய வேண்டும் என்பதைத் தீர்மானிக்க திருப்பம் 2-ல் அந்த ஆவணங்களின் துணை மாதிரியை ஆய்வு செய்யலாம், பின்னர் திருப்பம் 3 முதல் அந்த ஆவணங்களை மேலும் விசாரிக்க கீழ்நோக்கிய தேடல் பைப்லைனை உருவாக்கலாம். மேலே விவாதிக்கப்பட்டபடி, டோக்கன் இடம் வழியாக இடைநிலை நிலைகளைக் கடந்து செல்வது பயனுள்ள உத்தி அல்ல.
திருப்பங்கள் முழுவதும் இடைநிலை நிலைகளை நிர்வகிப்பதற்கான இரண்டு அணுகுமுறைகளை நாங்கள் பரிசீலித்தோம்:
நிலை கோப்பு முறைமை + வெளிப்படையான serde: திருப்பங்கள் முழுவதும் மாதிரிகள் பயன்படுத்த சாண்ட்பாக்ஸ்கள் நிலையான கோப்பு முறைமைகளை வெளிப்படுத்தலாம். இடைநிலை நிலையை நிலைநிறுத்த விரும்பும் மாதிரிகள் ஒரு திருப்பத்திற்கான உருவாக்கப்பட்ட குறியீட்டிற்குள் ஒரு வரிசைப்படுத்தல் படியைச் சேர்க்கலாம், அதைத் தொடர்ந்து அடுத்தடுத்த திருப்பத்திற்குள் ஒரு நீக்குதல் படியைச் சேர்க்கலாம் (மாதிரிகளின் சொந்த ஆய்வுக்காக அல்லது கீழ்நோக்கிய பயன்பாட்டிற்காக). கோப்பு முறைமை அணுகுமுறை மாதிரிகள் திருப்பங்கள் முழுவதும் இடைநிலை நிலை எவ்வாறு தெரிவிக்கப்படுகிறது என்பதை நேரடியாகவும் வெளிப்படையாகவும் கட்டுப்படுத்த அனுமதிக்கிறது. மாதிரி பயன்படுத்தப்படும் தகவலின் வெளிப்படையான அடையாளம் மற்றும் நிலைத்தன்மையை செயல்படுத்துவதன் மூலம் இது கண்டுபிடிக்கக்கூடிய தன்தியையும் உறுதி செய்கிறது. ஒரு பாதகம் என்னவென்றால் serde குறியீட்டை உருவாக்குவதிலிருந்து ஏற்படும் தாமதம் மற்றும் சூழல் மேல்நிலை ஆகும், இருப்பினும் நன்கு வடிவமைக்கப்பட்ட பயன்பாட்டு செயல்பாடுகள் இந்த மேல்நிலையைக் குறைக்கலாம்.
REPL: மாற்றாக, ஒரு சாண்ட்பாக்ஸ் REPL-பாணி சூழலில் திருப்பங்கள் முழுவதும் செயல்படுத்தும் இயக்க நேரத்தையே நிலைநிறுத்த முடியும். இது முந்தைய திருப்பங்களில் வரையறுக்கப்பட்ட அல்லது மாற்றியமைக்கப்பட்ட மாறிகள் அடுத்தடுத்த திருப்பங்களில் பெயரால் குறிப்பிடப்படலாம் என்பதால், அதை வரிசைப்படுத்தாமல் நினைவகத்தில் இடைநிலை நிலையை பராமரிக்க மாதிரிகளை அனுமதிக்கிறது. serde குறியீட்டை உருவாக்கும் தேவையைத் தவிர்ப்பதால் REPL அணுகுமுறை அதிக டோக்கன்-திறமையானது. இருப்பினும், வெளிப்படையான வரிசைப்படுத்தல் படி இல்லாதது 100-செல் ஜூபிட்டர் நோட்பேக்கில் பணிபுரிந்த எவருக்கும் தெரிந்த காரணங்களுக்காக கீழ்நோக்கிய செயல்திறனைப் பாதிக்கலாம்: மாறி பெயர்வெளி குழப்பமடைவதால், திருப்பங்கள் முழுவதும் துல்லியமாக என்ன நிலைநிறுத்தப்படுகிறது மற்றும் ஏன் என்பதைத் கண்காணிப்பது மிகவும் கடினமாகிறது.
நாங்கள் இரண்டு அணுகுமுறைகளையும் சோதித்தோம், சாதாரண பயன்பாட்டில் அவை ஒரே மாதிரி செயல்படும்போது, கோப்பு முறைமை அடிப்படையிலான serde குறிப்பாக நீண்ட பாதைகளில் சிறந்த நம்பகத்தன்மையை வழங்குகிறது என்பதைக் கண்டறிந்தோம். எனவே கோப்பு முறைமை அடிப்படையிலான serde-ஐ எங்கள் தீர்வாக நாங்கள் ஏற்றுக்கொள்கிறோம். மாதிரிகள் நிலையை மறைமுகமாக இல்லாமல் அறிவிப்பு ரீதியாகத் தெரிவிக்கக் கோருவது அந்த நிலையை மிகவும் திறம்பட நிர்வகிக்க உதவுகிறது என்று நாங்கள் ஊகிக்கிறோம். இது ஒரு தற்காலிக கண்டுபிடிப்பாகும், மேலும் இரண்டு அணுகுமுறைகளிலும் நாங்கள் தொடர்ந்து மீண்டும் கூறுவோம்.
மாதிரிகள்
ஏஜென்ட் சேணங்களை இயக்கும் மாதிரிகள் SaC-ன் கட்டுப்பாட்டுத் தளமாகச் செயல்படுகின்றன: ஒவ்வொரு பணியின் தேவைகளைப் பூர்த்தி செய்ய Agentic Search SDK-ன் கட்டுமானத் தொகுதிகளிலிருந்து தேடல் பைப்லைன்களை dinamically அசெம்பிள் செய்வது, பின்னர் சாண்ட்பாக்ஸ் செயல்படுத்தலுக்கான குறியீட்டாக அந்த பைப்லைன்களை அனுப்புவது.
Perplexity எங்கள் ஏஜென்ட் சேணங்களுக்குள்ளேயே பல்வேறு மாதிரிகளைப் பயன்படுத்துகிறது, மேலும் பொதுவான குறியீடு உருவாக்கத்தில் சமீபத்திய எல்லை மாதிரிகள் முழுவதும் மிகவும் பயனுள்ளதாக இருப்பதைக் கண்டறிந்துள்ளோம். பொதுவான சவாலானது Agentic Search SDK-க்காக குறிப்பாக பயனுள்ள குறியீடு உருவாக்கத்தைத் தூண்டுவதாகும். அதாவது, பணி-உகந்த பைப்லைன்களில் மாதிரிகள் எங்கள் SDK-ன் கட்டுமானத் தொகுதிகளை எவ்வாறு திறம்பட ஒன்றாக நெய்யச் செய்யலாம்?
ஒரு மொழியின் நிலையான நூலகத்தைப் போலல்லாமல், தனிப்பயனாக்கப்பட்ட SDK முற்றுப்பயிற்சி தரவுகளில் குறிப்பிடப்படுவதற்கான வாய்ப்பில்லை. தானியங்கு ஆராய்ச்சியிலிருந்து SDK நுகர்வுத்தன்மை மேம்பாடுகள் இருந்தபோதிலும், பல மாதிரிகள் இன்னும் செயல்பாடு அழைப்புகள் மற்றும் நேரடி MCP அழைப்பு மூலம் தேடல் அமைப்புகளுடன் தொடர்பு கொள்ள பயிற்றுவிக்கப்படுகின்றன. மூலக் குறியீடு மற்றும் தானாக உருவாக்கப்பட்ட ஆவணங்களுடன் மட்டுமே மாதிரிகள் SDK-ஐ திறமையாகப் பயன்படுத்துவதற்கான வாய்ப்பில்லை.
இந்த சவாலை தீர்க்க, எங்கள் SDK-ஐ திறம்பட பயன்படுத்த மாதிரிகளுக்கு கற்பிக்க மிகவும்-டியூன் செய்யப்பட்ட ஏஜென்ட் திறன்களை நாங்கள் உருவாக்கியுள்ளோம். ஆரம்ப பதிப்புகள் திறன்களுக்கான Perplexity-ன் வடிவமைப்பு கொள்கைகளின்படி உருவாக்கப்பட்டு, பின்னர் SDK உகந்ததாக்கலில் பயன்படுத்தப்பட்ட அதே அளவீடுகளில் கவனம் செலுத்தும் அர்ப்பணிப்புள்ள தானியங்கு ஆராய்ச்சி லூப் மூலம் உகந்ததாக்கப்பட்டன. சூழல் வீக்கத்திற்கு எதிராக பாதுகாக்க நாம் திறன் அளவையும் கட்டுப்படுத்துகிறோம், மேலும் நமது இறுதி பதிப்புகள் அவற்றின் மூல SKILL.md கோப்புகளில் 2000 டோக்கன்களுக்கும் குறைவாகக் கொண்டுள்ளன.
உகந்ததாக்கப்பட்ட திறன்கள் SDK-ன் கிடைக்கும் கட்டுமானத் தொகுதிகளை பட்டியலிடுவதைத் தாண்டிச் செல்கின்றன (இயக்க நேர பிரதிபலிப்பு மூலம் எளிதாகப் பெறக்கூடிய ஒன்று). சிக்கலான வடிவங்களாக இந்த தொகுதிகளை ஒருங்கிணைக்க சுருக்கமான, பொதுவான வழிகாட்டுதல் மற்றும் சில-ஷாட் எடுத்துக்காட்டுகளை வழங்குவதற்காக டோக்கன்களின் பெரும்பகுதி செலவிடப்படுகிறது. இந்த திறன்களுடன் ஆயுதம் ஏந்தியவை, ஆயிரக்கணக்கான தனித்துவமான செயல்பாடுகளுக்கு அளவிடக்கூடிய தேடல் பைப்லைன்களை ஒருங்கிணைக்க SDK-ஐ மாதிரிகள் திறம்பட பயன்படுத்துவதை நாங்கள் கவனிக்கிறோம்.
ஆர்கெஸ்ட்ரேட்டர் மற்றும் கேப் ஃபில்லராக குறியீடு
இந்த அடுக்குகளை இணைப்பதன் மூலம், SaC மாதிரிகளுக்கும் தேடல் அடுக்கிற்கும் இடையிலான உறவை மாற்றுகிறது. நிலையான-பைப்லைன் தேடல் அமைப்புகளில், மாதிரி தேடலுக்கு மேலே அமர்ந்து குறுகிய வரிசை அழைப்பாளர் இடைமுகம் மூலம் அதனுடன் தொடர்பு கொள்கிறது. SaC-ல், மாதிரி தேடல் செயல்முறையையே ஒருங்கிணைப்பதில் தீவிர பங்கேற்பாளராக மாறுகிறது. தேடல் அடுக்கின் அனைத்து கூறுகளும் மாதிரி மூலம் நேரடியாக நிரல்படுத்தக்கூடியதாக மாறும், சாண்ட்பாக்ஸ் மற்றும் Agentic Search SDK அந்த கூறுகளுக்கு அவசியமான இடைமுகங்களை வழங்குகின்றன.
ஆனால் சொந்தமாக இல்லாத திறன்கள் என்ன? முந்தைய திறன்களை ஒருங்கிணைக்க குறியீடு ஒரு சக்திவாய்ந்த ஊடகமாகும். ஆனாலும் குறியீட்டின் சக்தி ஒருங்கிணைப்புக்கு அப்பாற்பட்டது. தேடல் அடுக்கு அல்லது SDK-ல் இல்லாத திறன்களுக்கு இது ஒரு இடைவெளி நிரப்பியாகவும் செயல்படலாம். ஏஜெண்டுகள் சிக்கனத்திலிருந்து பயனடைகின்றன, மேலும் ஒவ்வொரு சாத்தியமான செயல்பாட்டிற்கும் SDK ஒரு பிரத்யேக செயல்பாட்டுடன் உள்ளடக்குவது திறமையற்றதாக இருக்கும். அதற்கு பதிலாக, SDK மிகவும் அடிப்படை மூலக்கூறுகளை வழங்குகிறது, மேலும் மாதிரி குறியீட்டுடன் எந்த கூடுதல் கூறுகளையும் பறக்கும்போது உருவாக்கலாம்.
தேடல் அமைப்பின் சொந்த வினவல் தொடரியல் மூலம் திறம்பட செயல்படுத்த முடியாத ஒரு சிக்கலான regex-ஐக் கவனியுங்கள். குறியீட்டு திறன்கள் இல்லாமல், மாதிரி அதன் சிறந்த தோராயத்தை உருவாக்கவும், ஒரு வினவலைச் செய்யவும், மிகவும் சத்தமான முடிவுத் தொகுப்பில் டோக்கன்-ஸ்பேஸ் வடிகட்டுதலைச் செய்யவும் கட்டாயப்படுத்தப்படும். SaC-ன் மூலம், விரும்பப்பட்ட regex இன் முடிவுத் தொகுப்பின் சூப்பர்செட்டை சேகரிக்க இணையான SDK அழைப்புகளைச் செய்யும் நிரலை மாதிரிக்கு பதிலாக உருவாக்கலாம். SDK மூலம் பிரதிகள நீக்கம் செய்த பிறகு, முடிவுகளை சரியான regex-க்கு உறுதியாக சுருக்க மாதிரி கூடுதல் குறியீட்டை எழுதலாம். இந்த வழியில், மிகை-சிறப்பு துணைநிரல்களால் SDK-ஐ வீக்கப்படுத்தாமல் ஏஜெண்டுகள் தனிப்பயன் தேடல் திறன்களை செயல்படுத்தலாம்.
கேஸ் ஸ்டடி: CVE விற்பனையாளர் ஆலோசனைகள்
எங்கள் சோதனைச் சுமைக்குள் ஒரு நிஜ உலகப் பணியின் அடிப்படையில் ஒரு கேஸ் ஸ்டடியை நாங்கள் வழங்குகிறோம். இந்த பணி 2023–2025 இலிருந்து 200-க்கும் மேற்பட்ட உயர்-தீவிர CVE-களை அடையாளம் கண்டு வகைப்படுத்த ஒரு ஏஜெண்டைக் கேட்கிறது. ஒவ்வொரு பதிவும் பாதிக்கப்பட்ட விற்பனையாளரின் சொந்த ஆலோசனையை மேற்கோள் காட்ட வேண்டும், தயாரிப்பு மற்றும் திருத்த பதிப்பின் பெயரைக் குறிப்பிட வேண்டும், மேலும் திருத்த பதிப்பு குறிப்பிட்ட CVE உடன் இணைக்கப்பட்டுள்ளது என்பதைக் காட்ட வேண்டும்.
SaC-ன் பதில் துல்லியத்தில் 100% மதிப்பெண் பெற்றது, அல்லாத-SaC அடிப்படையுடன் ஒப்பிடும்போது மொத்த டோக்கன் பயன்பாடு 85.1% குறைந்தது (288.7K டோக்கன்களிலிருந்து 42.9K டோக்கன்களாக). பிரிவு 4-ல் இன்னும் விரிவாக விவாதிக்கப்பட்ட சோதனை செய்யப்பட்ட அல்லாத-Perplexity அமைப்புகள் அனைத்தும் 25%-க்கும் குறைவாக மதிப்பெண் பெற்றன.
SaC-ன் நிரல்படுத்தக்கூடிய தன்மை மாதிரி பயனுள்ள உத்திகளை செயல்படுத்த எவ்வாறு அனுமதிக்கிறது என்பதை விளக்க பாதையிலிருந்து மூன்று ஸ்டைலைஸ்டு குறியீட்டு தொகுதிகளை நாங்கள் வழங்குகிறோம்.
# 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"])
]இந்த முதல் தொகுதி தூய ஒருங்கிணைப்பாகும். உருவாக்கப்பட்ட நிரல் மூல-வகுப்பு விதியைக் நேரடியாக வினவல் திட்டத்தில் குறியிடத் தொடங்குகிறது: விற்பனையாளர்-சொந்தமான ஆலோசனை வடிவங்கள் மட்டுமே பொருத்தமானவை. NVD, MITRE, CVE விவரங்கள், செய்தி கதைகள், CERT பக்கங்கள் மற்றும் மூன்றாம் தரப்பு தரவுத்தளங்கள் உள்ளிட்ட விற்பனையாளர் அல்லாத மூலங்கள் கட்டமைப்பு ரீதியாக நோக்கத்திற்கு அப்பாற்பட்டவை. சரியான-சொற்றொடர் கட்டுப்பாடுகள் தேடலை நோக்கி தள்ளுகின்றன, அதன் குறியிடப்பட்ட உரை ஏற்கனவே கீழ்நோக்கில் தேவையான துல்லியமான CVE விவரங்களைக் கொண்டுள்ளது.
# 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,
)இரண்டாவது தொகுதி இடைநிலை திட்டமிடல் துணைநிரலாக LLM-ஐப் பயன்படுத்துகிறது. குறியீடு எந்த விற்பனையாளர்-ஆண்டு ஜோடிகள் போதுமான வேட்பாளர் பக்கங்களை உருவாக்குகின்றன என்பதைச் சுருக்கமாகக் கூறுகிறது, இலக்கு சுத்திகரிப்புகளைக் கேட்கிறது, மற்றும் செயல்பாட்டுக்கு முன் முன்மொழியப்பட்ட ஒவ்வொரு வினவலையும் சரிபார்க்கிறது. இது SDK-ல் ஒரு பெஸ்போக் CVE-ஆலோசனை கிராலரை கடினக் குறியீடு செய்யாமல், தளம்-நோக்கப்பட்ட சரியான-சொற்றொடர் ஆய்வுகள் மற்றும் தழுவல் பில்டிங் போன்ற பாதையிலிருந்து பயனுள்ள வடிவங்களைப் பாதுகாக்கிறது.
# 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")இறுதி தொகுதி ஒரு முடிவு சரிபார்ப்பாகும், இதன் தர்க்கம் குறியீடு உருவாக்கம் மூலம் ஏஜெண்டால் முழுமையாக வரையறுக்கப்படுகிறது. தேடல் துணைநிரல்கள் நம்பத்தகுந்த ஆலோசனை பக்கங்களைக் கண்டறிய முடியும் என்றாலும், பணிக்கு ஒரு கடுமையான உறவு தேவைப்படுகிறது: ஆலோசனை ஒரு CVE-ஐ ஒரு பாதிக்கப்பட்ட தயாரிப்புடன் மற்றும் விற்பனையாளர்-எழுதிய உரையில் ஒரு திருத்த பதிப்புடன் பிணைக்க வேண்டும். ஸ்கீமா அந்த உறவை வெளிப்படையாக ஆக்குகிறது, எனவே கீழ்நோக்கிய குறியீடு CVE மூலம் பிரதிகள நீக்கம் செய்யலாம், திரட்டி URL-களை நிராகரிக்கலாம், பலவீனமான பதிப்பு சான்றுகளை நிராகரிக்கலாம், மற்றும் பதிவு-எண்ணிக்கை தளம் பூர்த்தி செய்யப்படும் வரை பேக்ஃபில்லிங்கைத் தொடரலாம்.
மதிப்பீட்டு முடிவுகள்
முழுமையான செயல்திறன் மற்றும் செலவு-செயல்திறன் எல்லை ஆகிய இரண்டிலும் கவனம் செலுத்தி, விரிவான பெஞ்ச்மார்க் தொகுப்பில் SaC-ன் செயல்திறனை நாங்கள் மதிப்பிடுகிறோம்.
பெஞ்ச்மார்க்குகள் மற்றும் அமைப்புகள்
எங்கள் பெஞ்ச்மார்க் தொகுப்பில் மொத்தம் ஐந்து பெஞ்ச்மார்க்குகள் உள்ளன, அவை பல டொமைன்கள், பணி வடிவங்கள் மற்றும் சிக்கலான நிலைகளில் தேடல்-சார்ந்த AI பணிப்பாய்வுகளை அழுத்த சோதனை செய்ய வடிவமைக்கப்பட்டுள்ளன. நாங்கள் நான்கு முந்தைய பெஞ்ச்மார்க்குகளைப் பயன்படுத்துகிறோம்: DeepSearchQA (DSQA), BrowseComp, Humanity's Last Exam (HLE), மற்றும் WideSearch. முதல் மூன்று பெஞ்ச்மார்க்குகளுக்கு (DSQA, BrowseComp, மற்றும் HLE), செயல்திறன் அளவீடாக துல்லியத்தை நாங்கள் புகாரளிக்கிறோம். WideSearch-க்கு, வரிசையின்படி F1 மதிப்பெண்ணைப் புகாரளிக்கிறோம்.
நாங்கள் புதிதாக உருவாக்கப்பட்ட WANDR பெஞ்ச்மார்க்கையும் பயன்படுத்துகிறோம், இது தேடல், கணக்கீடு மற்றும் மாதிரி பகுத்தறிவின் கவனமான ஒருங்கிணைப்பு தேவைப்படும் கடினமான “பரந்த ஆராய்ச்சி” பணிகளில் கவனம் செலுத்துகிறது. Perplexity Computer பயனர்களுக்குக் கையாளும் அறிவு-தீவிர தொழில்முறை பணிகளால் WANDR ஈர்க்கப்பட்டுள்ளது. இது WideSearch மற்றும் ஒத்த பெஞ்ச்மார்க்குகளில் மீண்டும் நிகழ்கிறது, ஆனால் மிகவும் சிக்கலான பணிகள் மற்றும் பணி கட்டமைப்புகளை வலியுறுத்துகிறது. வரும் வாரங்களில் WANDR பெஞ்ச்மார்க்கை வெளியிடுவோம்.
ஐந்து ஏஜென்ட் அடிப்படையிலான அமைப்புகளை நாங்கள் மதிப்பிடுகிறோம். இணையாக்கத்தின் நன்மைகளை விட அடிப்படை கட்டமைப்பின் செயல்திறனை தனிமைப்படுத்துவதற்காக “சிறந்த-ஆஃப்-N” மதிப்பெண்களுக்கு பதிலாக தனிப்பட்ட ஓட்டங்களை நாங்கள் கருதுகிறோம். ஒவ்வொரு அமைப்பின் உள்ளமைவு கீழே விவரிக்கப்பட்டுள்ளது:
Perplexity (SaC): Perplexity-ன் தயாரிப்பு Agent API-க்குள் SaC கட்டமைப்பை நாங்கள் மதிப்பிடுகிறோம். GPT 5.5 (உயர் பகுத்தறிவு) அடிப்படை மாதிரியாகச் செயல்படுகிறது.
OpenAI: தேடல் (web_search) மற்றும் Python இயக்க நேரம் (code_interpreter) இரண்டும் இயக்கப்பட்ட OpenAI Responses API-ஐ நாங்கள் மதிப்பிடுகிறோம். GPT 5.5 (உயர் பகுத்தறிவு) அடிப்படை மாதிரியாகச் செயல்படுகிறது.
Anthropic: 20260401 ஏஜென்ட் டூல்செட் மற்றும் தானியங்கி-அனுமதிக்கப்பட்ட கட்டளைகளுடன் Anthropic Managed Agents-ஐ நாங்கள் மதிப்பிடுகிறோம். Opus 4.7 (உயர் பகுத்தறிவு) அடிப்படை மாதிரியாகச் செயல்படுகிறது.
Exa: தயாரிப்பு API வழியாக Exa Agent-ஐ நாங்கள் மதிப்பிடுகிறோம், முயற்சி அதிகமாக அமைக்கப்பட்டுள்ளது.
Parallel: தயாரிப்பு API வழியாக Parallel Tasks-ஐ நாங்கள் மதிப்பிடுகிறோம், செயலி ultra4x என அமைக்கப்பட்டுள்ளது.
ஒப்பீட்டு செயல்திறன்
அட்டவணை 1 ஒவ்வொரு அமைப்புக்கும் பெஞ்ச்மார்க் மதிப்பெண்களைப் புகாரளிக்கிறது. ஐந்து பெஞ்ச்மார்க்குகளில் நான்கில் SaC மற்ற அனைத்து அமைப்புகளையும் விஞ்சுகிறது. மீதமுள்ள பெஞ்ச்மார்க்கில் (HLE), SaC OpenAI Responses உடன் முதல் இடத்திற்கு அடிப்படையில் கட்டப்பட்டுள்ளது. அறிமுகத்திலிருந்து படம் 2 இந்த மதிப்பெண்களை வரைகலை வடிவத்தில் காட்சிப்படுத்துகிறது.
பெஞ்ச்மார்க் | 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 |
அட்டவணை 1 | மதிப்பீடு செய்யப்பட்ட ஒவ்வொரு அமைப்புக்கும் பெஞ்ச்மார்க் மதிப்பெண்கள். வரிசைக்கு சிறந்த மதிப்பெண் தடிமனாக உள்ளது.
SaC பெஞ்ச்மார்க் தொகுதி முழுவதும் அதிநவீன செயல்திறனை அடைந்தாலும், அதன் நன்மை WANDR-ல் குறிப்பாக உச்சரிக்கப்படுகிறது. படம் 5 WANDR மதிப்பெண்களை உடைக்கிறது, Perplexity-ன் SaC செயல்படுத்தல் அடுத்த சிறந்த அமைப்பை 2.5× காரணியால் விஞ்சுகிறது என்பதைக் காட்டுகிறது. இந்த பெரிய விளிம்பு இருந்தபோதிலும், WANDR நிறைவுறாமல் உள்ளது மற்றும் SaC-க்கு கூட சவாலாக நிரூபிக்கிறது. WANDR-ன் பணிகளுக்குத் தேவையான சிக்கலான, மிகவும் கிடைமட்டமான தேடல் பணிப்பாய்வுகளுக்கு தொடர்ந்து உயர் செயல்திறனை அடைய ஆராய்ச்சி மற்றும் தேடல் பொறியியலில் கூடுதல் முன்னேற்றங்கள் தேவைப்படும் என்று நாங்கள் நம்புகிறோம்.
இறுதியாக, அதே Perplexity தேடல் உள்கட்டமைப்பைப் பயன்படுத்தும் பாரம்பரியமான தேடல் பைப்லைனுடன் ஒப்பிடும்போது SaC-ன் ஒப்பீட்டு லாபங்களை நாங்கள் அளவிடுகிறோம். ஒவ்வொரு பெஞ்ச்மார்க்கிலும் SaC மற்றும் அல்லாத-SaC கட்டமைப்புகளுக்கு இடையிலான மதிப்பெண்களில் உள்ள வித்தியாசத்தை படம் 6 புகாரளிக்கிறது. பலகை முழுவதும், SaC செயல்திறனில் கணிசமான ஊக்கத்தை வழங்குகிறது, DSQA-ல் மிகப்பெரிய முழுமையான லாபமும் (+19.77 pp, 29%) மற்றும் WANDR-ல் மிகப்பெரிய ஒப்பீட்டு லாபமும் (+12.00 pp, 45%) ஆகும்.
செலவு-செயல்திறன் எல்லை
நடைமுறையில், பயனர்கள் செலவைப் பொறுத்து செயல்திறனைப் பற்றி கவலைப்படுகிறார்கள். எனவே DSQA மற்றும் WideSearch-ல் செலவு-செயல்திறன் எல்லையை நாங்கள் மதிப்பிடுகிறோம். மற்ற அமைப்புகளுடன் சேர்த்து, குறைந்த, நடுத்தர மற்றும் உயர் மாதிரி பகுத்தறிவு நிலைகளில் SaC-ன் செலவு மற்றும் செயல்திறனை நாங்கள் அளவிடுகிறோம். படங்கள் 7 மற்றும் 8 பெஞ்ச்மார்க் மதிப்பெண்ணைப் பணி விலைக்க எதிராக சதி செய்கின்றன, x-அச்சு தலைகீழாக மாற்றப்பட்டுள்ளது, இதனால் மேலும் வல tபு புள்ளிகள் மலிவானவை மற்றும் அதிக புள்ளிகள் சிறந்த செயல்திறனைக் குறிக்கின்றன.
DSQA-ல், அனைத்து மூன்று SaC அமைப்புகளும் மேல்-வலது எல்லையில் உள்ளன. குறைந்த பகுத்தறிவு அமைப்பு மற்ற அனைத்து அமைப்புகளையும் விட மலிவானது அதே நேரத்தில் இரண்டை விட சிறப்பாக செயல்படுகிறது. நடுத்தர பகுத்தறிவு அமைப்பு ஒரு பணிக்கு $1-க்கும் குறைவான விலையில் அனைத்து அல்லாத-SaC அமைப்புகளையும் விஞ்சுகிறது. உயர் பகுத்தறிவு அமைப்பு போட்டி விலையுடன் சிறந்த செயல்திறனை அடைகிறது.
WideSearch இதே போன்ற வடிவ எல்லையைக் காட்டுகிறது. DSQA-ஐப் போலவே, குறைந்த பகுத்தறிவு அமைப்பு அனைத்து அல்லாத-SaC அமைப்புகளை விட குறைந்த செலவில் போட்டி செயல்திறனை அடைகிறது, அதே நேரத்தில் நடுத்தர மற்றும் உயர் பகுத்தறிவு இரண்டும் பணி செயல்திறனில் அல்லாத-SaC அமைப்புகளை விஞ்சுகின்றன.
கணினியின் புதிய அமைப்பு நோக்கி
Search as Code மென்பொருள் வடிவமைப்பில் ஒரு பரந்த மாற்றத்தை பிரதிபலிக்கிறது. பல தசாப்தங்களாக, மென்பொருள் அமைப்புகள் CPU-களில் பாரம்பரிய இயக்க நேரங்களால் செயல்படுத்தப்படும் உறுதியான அறிவுறுத்தல்களைச் சுற்றி ஏற்பாடு செய்யப்பட்டன. எல்லை மாதிரிகள் கணினியின் புதிய வடிவத்தை அறிமுகப்படுத்துகின்றன: அறிவுறுத்தல்களைப் பின்பற்றவும் உருவாக்கவும் கூடிய டோக்கன்-ஸ்பேஸ் பகுத்தறிவு. மிகவும் திறமையான கணக்கீட்டு அமைப்புகள் அவற்றுக்கு இடையே தேர்வு செய்வதற்கு பதிலாக இந்த இரண்டு கணக்கீட்டு வடிவங்களையும் இணைக்கும்.
இந்த கலப்பின அமைப்புக்கு தேடல் ஒரு இயற்கை நிரூபண தளமாகும். என்ன ஆதாரம் தேவை மற்றும் நிச்சயமற்ற தன்மையை எவ்வாறு தீர்க்க வேண்டும் என்பதை தீர்மானிக்க மாதிரிகள் மிகவும் பொருத்தமானவை. தொகுதி செயலாக்கம், இணையாக்கம், வடிகட்டுதல், தரவரிசைப்படுத்துதல் மற்றும் திரட்டலுக்கு உறுதியான இயக்க நேரங்கள் மிகவும் பொருத்தமானவை. தேடல் உள்கட்டமைப்பு ஒரு உலகளாவிய I/O அடுக்காகச் செயல்படுகிறது, நிமிடத்திற்கு ஆயிரக்கணக்கான செயல்பாடுகளைத் தொடரக்கூடிய உலகின் தகவல்களில் இயக்க நேரத்திற்கு பயனுள்ள கைப்பிடிகளை வழங்குகிறது. இந்த துண்டுகள் ஒருங்கிணைக்கப்படும்போது, இதன் விளைவாக வரும் அமைப்பு நிஜ உலகப் பணிகளை நிறைவேற்றுவதில் மிகவும் சக்திவாய்ந்ததாகவும் திறமையானதாகவும் இருக்கும்.
இந்தத் திறன்களைத் திறக்க இந்தக் கட்டமைப்பின் ஒவ்வொரு பகுதியும் அவசியமானது. புத்திசாலித்தனமான மாதிரிகள் இல்லாமல், அமைப்பால் தேடல் உச்சியைப் பற்றி பகுத்தறிய முடியாது. சாண்ட்பாக்ஸ்கள் இல்லாமல், மாதிரிகள் வரிசை I/O மற்றும் திறமையற்ற டோக்கன்-ஸ்பேஸ் செயலாக்கத்திற்கு கட்டாயப்படுத்தப்படுகின்றன. மற்றும் அணுவாக்கப்பட்ட தேடல் அடுக்கு இல்லாமல், மாதிரிக்கு ஒருங்கிணைக்க எதுவும் இல்லை. SaC வேலை செய்கிறது ஏனெனில் பகுத்தறிவு, உறுதியான கணக்கீடு மற்றும் I/O ஆகியவை ஒவ்வொரு அடுக்கின் பலங்களையும் வலியுறுத்த கூட்டாக வடிவமைக்கப்பட்டுள்ளன.
தொடர்ச்சியான முன்னேற்ற லூப்களின் வளர்ச்சி மூலம் இந்த குறியீடு வடிவமைப்பு மேலும் எடுக்கப்படலாம். உதாரணமாக, Agentic Search SDK மற்றும் SaC Agent Skills ஆகியவை பொதுவான தானியங்கு ஆராய்ச்சி லூப்பில் கூட்டாக உகந்ததாக்கப்படலாம். மிகவும் லட்சியமாக, SDK-ஆக வெளிப்படுத்தப்பட்ட குறைந்த மட்ட தேடல் மூலக்கூறுகளைப் பயன்படுத்த மாதிரிகள் பயிற்றுவிக்கப்படலாம். மாதிரி பயிற்சி செயல்முறையின் போதையே SDK வடிவமைப்பை இணைப்பதைப் பற்றி கூட ஒருவர் முயற்சிக்கலாம். எதிர்கால வேலையில் மிகவும் ஆக்ரோஷமான குறியீட்டு வடிவமைப்பு உத்திகளைத் தொடர நாங்கள் எதிர்நோக்குகிறோம்.
மாதிரிகள் அதன் முடிவுகளை நுகர்வதை விட, தேடல் செயல்முறையைக் கட்டுப்படுத்த அனுமதிக்க SaC-ஐ நாங்கள் உருவாக்கியுள்ளோம். எங்கள் முடிவுகள் இந்த கட்டுப்பாட்டின் சக்தியை நிரூபிக்கின்றன: அறிவு-தீவிர ஏஜென்ட் பெஞ்ச்மார்க்குகளில் SaC முழுமையான செயல்திறன் மற்றும் செலவு-செயல்திறன் எல்லை இரண்டையும் மேம்படுத்துகிறது. Perplexity Computer மற்றும் Agent API உடன் இன்று தொடங்கி, SaC-ன் திறன்களை எங்கள் பயனர்களுக்குக் கொண்டுவருவதில் நாங்கள் மகிழ்ச்சியடைகிறோம். எங்கள் பயனர்கள் (மற்றும் அவர்களுக்கு சேவை செய்யும் ஏஜெண்டுகள்) சாத்தியமான மிகவும் சக்திவாய்ந்த மற்றும் திறமையான தேடல் திறன்களைக் கொண்டிருப்பதை உறுதி செய்வதற்காக அடுக்கின் அனைத்து அடுக்குகளிலும் SaC கட்டமைப்பை நாங்கள் தொடர்ந்து உகந்ததாக்குவோம்.
மேற்கோள்
@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}
}