மேட் ஷூமர் (Matt Shumer) தனது கணினியில் அமர்ந்து தனது AI ஏஜென்ட்டிற்கு (AI agent) ஒரு எளிய கட்டளையைக் கொடுத்தார்: கோப்புகளைச் சுத்தம் செய் (clean up the files). அவர் எந்தப் பிரச்சனையும் இன்றி நூற்றுக்கணக்கான முறை இந்தச் செயல்பாட்டைச் செய்திருந்தார். ஆனால் இந்த முறை, ஒரு 'பாத் ரெசல்யூஷன்' (path resolution) பிழை, ஒரு சாதாரணப் பராமரிப்புப் பணியை ஒரு மிகப்பெரிய பேரழிவாக மாற்றியது. பல ஆண்டுகால குறியீடுகள் (code), ஆவணங்கள் மற்றும் புகைப்படங்கள் சில நொடிகளில் காணாமல் போயின.
இது ஒரு கற்பனையான ஆபத்து அல்ல. இது ஒரு உண்மையான டெவலப்பருக்கும், உண்மையான கணினிக்கும் நேர்ந்தது. அந்த ஏஜென்ட் தோல்வியடையும் தருணம் வரை, அதன் செயல்பாடுகள் மிகவும் பாதுகாப்பானதாகவே தெரிந்தன. கோப்புகளை எழுதக்கூடிய, டெர்மினல் கட்டளைகளை (terminal commands) இயக்கக்கூடிய மற்றும் துணை ஏஜென்ட்களை (subagents) உருவாக்கக்கூடிய AI ஏஜென்ட்கள் இப்போது IDE-கள், சாட் இடைமுகங்கள் (chat interfaces) மற்றும் ஆட்டோமேஷன் பைப்லைன்களில் (automation pipelines) ஒருங்கிணைக்கப்பட்டுள்ளன. அவை இயங்குதளங்களை (operating systems) நேரடியாக அணுகும் அதிகாரம் பெற்றுள்ளன, அந்த நம்பிக்கையில்தான் ஆபத்தும் ஒளிந்துள்ளது. ஷூமரின் கணினியை அழித்த அதே தோல்வி முறைகள், கருவிகளை அணுகும் உரிமை கொண்ட ஒவ்வொரு ஏஜென்ட்டிலும் உள்ளன. அவை ஏன் தோல்வியடைகின்றன என்பதையும், அவற்றை எவ்வாறு சரியாகக் கட்டுப்படுத்துவது என்பதையும் புரிந்துகொள்வது, இந்தத் கருவிகளைப் பயன்படுத்துபவர்களுக்கு இப்போது ஒரு அடிப்படைத் தேவையாக மாறியுள்ளது.
பேட்டர்ன் மேட்சிங் (Pattern Matching) மற்றும் ஃபைல் சிஸ்டம் (Filesystem) சந்திக்கும் போது
AI ஏஜென்ட்கள் சிந்திப்பதில்லை. அவை பேட்டர்ன்களை (patterns) மட்டுமே பொருத்துகின்றன. நீங்கள் "கோப்புகளைச் சுத்தம் செய்" என்று கூறும்போது, அந்த மாடல் தனது பயிற்சி நினைவகத்தில் (training memory) ஆயிரக்கணக்கான ஒத்த உரையாடல்களைத் தேடி, புள்ளிவிவரப்படி அந்தப் பேட்டர்னுக்குப் பொருந்தக்கூடிய ஒரு கட்டளையை உருவாக்குகிறது. ஒரு பில்ட் டைரக்டரியில் (build directory) உள்ள தற்காலிகக் கோப்புகளை நீக்க வேண்டும் என்பது கட்டளையாக இருந்தால், அது rm -rf /tmp/build-cache/* போன்ற ஒரு கட்டளையை உருவாக்கலாம். மாடல் இதுவரை பார்த்த மற்ற அனைத்துச் சுத்தம் செய்யும் கட்டளைகளைப் போலவே இது இருப்பதால், இது நியாயமானதாகத் தோன்றுகிறது.
ஆனால் $HOME போன்ற ஒரு வேரியபிள் (variable) சரியாகத் தீர்மானிக்கப்படாவிட்டால் (resolve) என்ன நடக்கும்? ஒரு மனிதன் ஒரு காலியான சரத்தையோ (empty string) அல்லது எதிர்பாராத பாதையையோ (unexpected path) பார்த்தால், சற்றுத் தங்கி கேள்விகளைக் கேட்பார். ஆனால் ஒரு ஏஜென்ட், அந்தப் பேட்டர்ன் இன்னும் பொருந்துவதைக் கண்டு, அப்படியே 'Enter' அழுத்திவிடும். ஷூமரின் விஷயத்தில், ஒரு குறிப்பிட்ட ஃபோல்டரை (folder) மட்டும் நீக்க வேண்டிய கட்டளை, அதற்குப் பதிலாக பயனர் டைரக்டரியின் (user directory) ரூட் (root) பகுதியை இலக்கு வைத்தது. அந்தப் பாதை ஏன் விசித்திரமாக இருக்கிறது என்று ஏஜென்ட் யோசிக்கவில்லை. அது இலக்கைச் சரிபார்க்கவில்லை. "சுத்தம் செய்தல்" என்ற பேட்டர்னுக்கு அந்தச் செயல்மை பொருந்தியதால், அது கட்டளையைச் செயல்படுத்தியது.
இதுதான் பெரிய மொழி மாதிரிகளுக்கும் (large language models) சிஸ்டம் அட்மினிஸ்ட்ரேஷனுக்கும் (system administration) இடையிலான அடிப்படை முரண்பாடு. உண்மையான பகுத்தறிவு என்பது சூழலைப் புரிந்துகொள்வது, அனுமானங்களைச் சரிபார்ப்பது மற்றும் விளிம்பு நிலைச் சூழல்களைக் (edge cases) கையாள்வது ஆகியவற்றை உள்ளடக்கியது. பேட்டர்ன் மேட்சிங் என்பது புள்ளிவிவரப்படி ஒரு சரியான விடையைப் போலவே இருக்கும் உரையை உருவாக்குவதாகும். அந்த விடை ஒரு recursive delete flag கொண்ட டெர்மினல் கட்டளையாக இருக்கும்போது, வெறும் புள்ளிவிவர ஒற்றுமை மட்டும் போதுமானதல்ல.
துணை ஏஜென்ட்களின் பார்வையில் தெரியாத பகுதி (The Subagent Blind Spot)
பல நவீன ஏஜென்ட் கட்டமைப்புகள் (agent frameworks), துணை ஏஜென்ட்களுக்குப் பணிகளைப் பிரித்து வழங்கும் ஒரு முதன்மை ஒருங்கிணைப்பியை (main orchestrator) பயன்படுத்துகின்றன. அந்த முதன்மை ஏஜென்ட்டிடம் கடுமையான அறிவுறுத்தல்கள் இருக்கலாம்: ஹோம் டைரக்டரியைத் தொடாதே, எதையும் நீக்குவதற்கு முன் எப்போதும் கேள், ஒரு தணிக்கைப் பதிவைப் (audit log) பராமரி போன்றவற்றுடன். பின்னர் அது “clean up old logs” போன்ற குறுகியத் தூண்டுதலுடன் (prompt) ஒரு பணியாளரை உருவாக்குகிறது.
அந்தத் துணை ஏஜென்ட் பெரும்பாலும் தனித்துச் செயல்படுகிறது. அது கருவிகளைப் பெறுகிறது, ஆனால் முதன்மை ஏஜென்ட்டின் பாதுகாப்பு கலாச்சாரத்தைப் பெறுவதில்லை. முதன்மை ஏஜென்ட்டை எச்சரிக்கையாக வைத்திருந்த கட்டுப்பாடுகள், context window management-ன் போது சுருக்கப்படலாம் அல்லது முற்றிலும் நீக்கப்படலாம். துணை ஏஜென்ட் ஒரு பணியையும் ஒரு கருவித் தொகுப்பையும் பெறுகிறது, ஆனால் பாதுகாப்புத் தடுப்புகளை (guardrails) உருவாக்கிய அந்தப் பல மணிநேரக் கவனமான தூண்டுதல்களைப் பெறுவதில்லை.
இதன் விளைவு ஒரு வகையான நிறுவன மறதி (organizational amnesia) ஆகும். முதன்மை ஏஜென்ட்டின் system prompt-ல் இருக்கும் ஒரு பாதுகாப்பு விதி, துணை ஏஜென்ட்டிற்குத் தெரியாமலேயே போகலாம். இது மிகவும் ஆபத்தானது, ஏனெனில் துணை ஏஜென்ட்களுக்கு வழக்கமாகத் திரும்பத் திரும்பச் செய்ய வேண்டிய, முக்கியத்துவம் குறைந்த பணிகள் தான் வழங்கப்படும், இதனால் ஆபரேட்டர்கள் அவற்றைக் கூர்ந்து கவனிப்பதில்லை. ஒரு லாக் கிளீனப் பணி (log cleanup job) புரொடக்ஷன் டேட்டாபேஸை (production database) அழிக்கும் வரை யாரும் அதைத் தடுத்து நிறுத்த மாட்டார்கள்.
தீர்க்கமான முடிவெடுப்பதில் உள்ள ஆபத்து (The Danger of Decisiveness)
AI ஏஜென்ட்களில் அதிகபட்சத் தன்னாட்சியை (autonomy) நோக்கிய ஒரு வடிவமைப்புப் போக்கு உள்ளது. இந்தத் பார்வையில், ஒரு சிறந்த ஏஜென்ட் பயனரைத் தேவையற்ற கேள்விகளைக் கேட்டுத் தொந்தரவு செய்யாது. அது தீர்க்கமாகச் செயல்படும், கருவி அழைப்புகளை (tool calls) ஒன்றிணைக்கும் மற்றும் எங்கும் நிற்காமல் பல படிநிலைகளைக் கொண்ட பணிப்பாய்வுகளை (workflows) முடிக்கும்.
அந்தத் தீர்க்கமான செயல்பாடே இந்த அமைப்புகளைப் பாதுகாப்பற்றதாக மாற்றுகிறது. “act decisively” என்று நிரலாக்கம் செய்யப்பட்ட ஒரு மாடல், தனது வேலையை மீண்டும் சரிபார்க்காது. ஒரு கட்டளை அழிவை ஏற்படுத்தும் வகையில் இருக்கும்போது அது தயங்காது. அது தயக்கத்தை ஒரு சிறப்பம்சமாகப் பார்க்காமல், ஒரு பிழையாகவே (bug) கருதுகிறது. மாடல் சரியாகச் செயல்படும்போது இது ஒரு மாயாஜாலமாகத் தோன்றும். ஆனால் அது தவறாகச் செயல்படும்போது, அது இடைவிடாத அழிவாகத் தோன்றும். ஒரு தவறான கட்டளையைத் தடுத்து நிறுத்த அமைப்பில் இயற்கையான எந்தத் தடையுமில்லை.
Shumer-இன் ஏஜென்ட் நூற்றுக்கணக்கான முறை சரியாகச் செயல்பட்டிருந்தது. அந்தப் பின்னணி ஒரு தவறான பாதுகாப்பு உணர்வை உருவாக்கியது. ஆனால், நூற்று ஒன்றாவது முயற்சி என்பது அந்தத் தொடர் முறை (pattern) உடையும் ஒரு புள்ளிவிவர விலகலாக (statistical outlier) இருந்தால், நூறு முயற்சிகளில் காட்டிய நம்பகத்தன்மை எதற்கும் உதவாது. அமைப்புகளின் பாதுகாப்பில் (systems safety), தோல்வி முறை படிப்படியாகவும் வெளிப்படையாகவும் இருந்தால் மட்டுமே கடந்த காலச் செயல்பாடு முக்கியத்துவம் பெறுகிறது. AI ஏஜென்ட் தோல்விகள் திடீரெனவும், அமைதியாகவும் மற்றும் முழுமையாகவும் நிகழும். “இது நூற்றுக்கணக்கான முறை வேலை செய்தது” என்பது ஒரு பாதுகாப்புப் பதிவு அல்ல. அது இறுதியில் முடிவுக்கு வரும் ஒரு அதிர்ஷ்டத்தின் விவரிப்பு மட்டுமே.
உண்மையான பாதுகாப்பை எவ்வாறு உருவாக்குவது
மாடல் ஒரு பாதுகாப்பு அடுக்கு (safety layer) இல்லையென்றால்
