பெரிய மொழி மாதிரிகள் (Large language models) ஒரே நேரத்தில் அதிக வேலைகளைச் செய்யச் சொல்லும்போது தடுமாறுகின்றன. ஒரு ஐம்பது பக்க PDF கோப்பை சாட் விண்டோவில் பதிவேற்றி, ஒரே நேரத்தில் ஒரு கட்டமைக்கப்பட்ட பகுப்பாய்வு, இடர் மதிப்பீடு மற்றும் நிர்வாகச் சுருக்கத்தைக் கேட்கவும். அதன் முடிவு பொதுவாகக் குறைவானதாகவும், குழப்பமானதாகவும் அல்லது முற்றிலும் தவறானதாகவும் இருக்கும். ஒரு சிறந்த அணுகுமுறை இயந்திரவியல் சார்ந்தது. வேலையைத் தனித்தனி நிலைகளாகப் பிரிக்கவும். முதல் நிலையின் வெளியீட்டை நேரடியாக இரண்டாவது நிலைக்கு அனுப்பவும், அதுபோல வரிசையாகச் செய்யவும். Anthropic இதை 'ப்ராம்ப்ட் செயினிங்' (prompt chaining) என்று அழைக்கிறது. Google இதை 'சீக்வென்ஷியல் பைப்லைன்' (sequential pipeline) என்று குறிப்பிடுகிறது. இரண்டு பெயர்களும் ஒரே விஷயத்தையே விவரிக்கின்றன: ஒவ்வொரு நிலையமும் ஒரு குறிப்பிட்ட மாற்றத்தைக் கையாளும் ஒரு உற்பத்தி வரிசை (assembly line).
இது நடைமுறையில் எப்படி இருக்கும்
ஒரு பெரிய ப்ராம்ப்ட்டிற்குப் பதிலாக, நீங்கள் சிறிய, கவனம் செலுத்திய தொடர்ச்சியான படிகளைக் கட்டியமைக்கிறீர்கள். விற்பனையாளர் பாதுகாப்பு மதிப்பீடுகளைச் செயலாக்கும் ஒரு இணக்கக் குழுவை (compliance team) கற்பனை செய்து பாருங்கள். முதல் படி ஸ்கேன் செய்யப்பட்ட PDF-லிருந்து மூல உரையை (raw text) பிரித்தெடுக்கிறது. இரண்டாவது படி குறியாக்கத் தரநிலைகள் (encryption standards) மற்றும் அணுகல் கட்டுப்பாடுகள் (access controls) பற்றிய ஒவ்வொரு குறிப்பையும் அடையாளம் காணுகிறது. மூன்றாவது படி அந்தத் தரவுகளை ஒரு உள் சரிபார்ப்புப் பட்டியலுடன் (internal checklist) ஒப்பிடுகிறது. நான்காவது படி பாதுகாப்புத் தலைவருக்கான ஒரு சிறிய குறிப்பைத் தயார் செய்கிறது. ஒரு ஏஜென்ட் PDF-ஐ உரையாக மாற்றுகிறது. அடுத்த ஏஜென்ட் அந்த உரையில் இருந்து குறிப்பிட்ட தரவுகளை எடுக்கிறது. இறுதி ஏஜென்ட் அந்தத் தரவுகளின் அடிப்படையில் ஒரு சுருக்கத்தை எழுதுகிறது. இதில் எந்தப் படியும் ஆடம்பரமானது அல்ல, மேலும் அவை எவையும் ஒரே நேரத்தில் பல வேலைகளைச் செய்வதில்லை. ஒவ்வொரு பகுதியும் ஒரு வேலையைச் சிறப்பாகச் செய்கிறது.
இதனால்தான் உற்பத்தி வரிசை உருவகம் சரியாகப் பொருந்துகிறது. ஒரு தொழிற்சாலையில், ஒரு தொழிலாளி முழு காரையும் ஒன்றிணைப்பதில்லை. நிபுணத்துவம் (Specialization) தரத்தை உயர்வாகவும், தோல்விக்கான வாய்ப்புகளைக் குறைவாகவும் வைத்திருக்கிறது. இதே தர்க்கம் மொழி மாதிரிகளுக்கும் பொருந்தும். JSON பிரித்தெடுத்தலை (JSON extraction) மட்டும் கேட்கும் ஒரு ப்ராம்ப்ட், அதே கோரிக்கையில் கருத்து மற்றும் வடிவமைப்பையும் கேட்கும் ஒரு ப்ராம்ப்ட்டை விட மாயத்தோற்றம் (hallucinate) காணும் வாய்ப்பு குறைவு.
யூகங்களை அல்ல, கேட்களை (Gates) உருவாக்குங்கள்
எந்தவொரு செயினியிலும் பலவீனமான புள்ளி அதன் கைமாற்றாகும் (handoff). ஒரு மாதிரி கண்ணியமான மறுப்பைத் தரலாம், JSON-க்கு பதிலாக ஒரு மார்க் டவுன் (markdown) துண்டையோ அல்லது முழுமையற்ற பதிலையோ வழங்கலாம். அந்தத் தவறான தரவு இரண்டாவது படிக்குச் சென்றால், முழு செயினியும் முறிந்துவிடும். இதற்குத் தீர்வு ஒரு 'கேட்' (gate).
ஒரு கேட் என்பது ஒரு மாடல் அழைப்பு (model call) அல்ல. அது ஒரு எளிய குறியீடு (code). படிகளுக்கு இடையில் இயங்கும் ஒரு சிறிய ஸ்கிரிப்டை நீங்கள் எழுதுகிறீர்கள். அது வெளியீடு காலியாக இல்லை என்பதை உறுதிப்படுத்த அதன் நீளத்தைச் சரிபார்க்கலாம். மூன்றாவது படி எதை எதிர்பார்க்கிறதோ அதனுடன் சாவிகள் (keys) பொருந்துகின்றனவா என்பதை உறுதிப்படுத்த ஒரு JSON ஸ்கீமா சரிபார்ப்பை (JSON schema validation) இயக்கலாம். அடுத்த ப்ராம்ப்ட் உருவாக்கப்படுவதற்கு முன்பே, ஒரு மின்னஞ்சல் முகவரி அல்லது தேதி புலம் உண்மையில் உள்ளதா என்பதை ஒரு ரெஜெக்ஸ் (regex) சரிபார்ப்பு உறுதி செய்யலாம். இது தவறான வெளியீடுகளுக்காக நீங்கள் பணத்தை வீணாக்குவதற்கு முன்பே பிழைகளைத் தடுக்கிறது. ஒரு கேட் மைக்ரோ விநாடி கணக்கீட்டு நேரத்தையே செலவிடுகிறது. ஆனால் ஒரு தோல்வியுற்ற LLM அழைப்பு டோக்கன்கள், தாமதம் (latency) மற்றும் உங்கள் மன அமைதியையே இழக்கச் செய்யும்.
இதைத் தொழிற்சாலைத் தரையில் உள்ள ஒரு தரக் கட்டுப்பாட்டுப் புள்ளியாகக் கருதவும். பொருட்களை எண்ணுவதற்கு உங்களுக்கு AI தேவையில்லை. உங்களுக்கு ஒரு அளவுகோல் (ruler) தேவை.
எப்போது செயினியுங்கள், எப்போது நிறுத்த வேண்டும்
ப்ராம்ப்ட் செயினிங் என்பது எல்லாப் பிரச்சனைகளுக்கும் பொருத்தமானதல்ல. வேலை நிலையான, மீண்டும் மீண்டும் செய்யக்கூடிய படிகளைக் கொண்டிருந்தால் அதைப் பயன்படுத்தவும். மாதாந்திர நிதி அறிக்கைகள், தரப்படுத்தப்பட்ட ஒப்பந்த ஆய்வு மற்றும் லாக் பகுப்பாய்வு பைப்லைன்கள் (log analysis pipelines) இதற்குச் சிறந்த உதாரணங்கள். ஒரு நடைமுறையைச் சரிபார்ப்புப் பட்டியலாக எழுத முடிந்தால், நீங்கள் அதைச் செயினியுங்கள் (chaining) செய்ய முடியும். சிக்கலான வேலைகளுக்கு அதிக துல்லியம் தேவைப்படும்போதும் நீங்கள் செயினிங்கைத் தேர்ந்தெடுக்க வேண்டும். ஒரு சிக்கலை நிலைகளாகப் பிரிப்பது, மாதிரி ஒரு நேரத்தில் ஒரு தர்க்கரீதியான அடுக்கைக் கையாளத் தூண்டுகிறது. இறுதியாக, மோனோலிதிக் ப்ராம்ப்ட்களை (monolithic prompts) விட செயின்கள் பிழைத்திருத்தம் (debug) செய்ய எளிதானவை. சுருக்கம் தவறாக இருந்தால், நீங்கள் பிரித்தெடுத்தலைச் சரிபார்க்கலாம். பிரித்தெடுத்தல் தவறாக இருந்தால், நீங்கள் மூல உரையைச் சரிபார்க்கலாம். பரிசோதிக்க உங்களிடம் இடைநிலைத் தரவுகள் (intermediate artifacts) இருக்கும்.
படிகளை முன்கூட்டியே தெரியாதபோது ப்ராம்ப்ட் செயினிங்கைத் தவிர்க்கவும். ஆய்வுக் গবেষণা (exploratory research), திறந்தநிலை மூளைச்சலவை (open-ended brainstorming) அல்லது புலனாய்வுப் பணிகள் ஒரு நேர்க்கோட்டைப் பின்பற்றுவதில்லை. வேகம் மட்டுமே உங்கள் முன்னுரிமையாக இருக்கும்போதும் இதைத் தவிர்க்கவும். செயின்கள் தொடர்ச்சியானவை (serial); முதல் படி முடிவடையும் வரை இரண்டாவது படி தொடங்க முடியாது. உங்கள் படிகள் ஒன்றையொன்று சார்ந்து இல்லையென்றால், அவற்றை இணையாக (parallel) இயக்கவும். ஒரே ஆவணத்தின் மூன்று சுதந்திரமான மொழிபெயர்ப்புகளைச் செயினியுங்கள் செய்ய எந்தக் காரணமும் இல்லை.
நெகிழ்வற்ற தன்மை எனும் பொறி
இந்த அனைத்து கட்டமைப்பிற்கும் ஈடாகக் கிடைப்பது நெகிழ்வற்ற தன்மை (rigidity). ஒரு நிலையான செயினியால் புதிய சூழ்நிலைகளுக்கு ஏற்ப மாற முடியாது. ஒரு விற்பனையாளர் ஆறு புலங்கள் கொண்ட படிவத்தை அனுப்பினால் மற்றும் உங்கள் ஸ்கீமா சரிபார்ப்பு கேட் ஐந்து புலங்களை மட்டும் எதிர்பார்த்தால், அந்த வரிசை நின்றுவிடும். ஒரு பயனர் PDF-க்கு பதிலாக ஒரு Word ஆவணத்தைப் பதிவேற்றினால், முதல் படி முறிந்துவிடும் மற்றும் மீதமுள்ள செயினியிடம் செய்வதற்கு எதுவும் இருக்காது.
மிக மோசமாக, பிழைகள் பரவுகின்றன. தொடக்கத்தில் ஏற்படும் ஒரு தவறு முழு செயினியிலும் பரவுகிறது. PDF பிரித்தெடுப்பவர் ஒரு நிதித் தொகையிலிருந்து மைனஸ் (-) குறியீட்டைத் தவறவிட்டால், ஒவ்வொரு அடுத்தடுத்த படியும் அந்தத் தவறான எண்ணை
