பெரும்பாலான AI ஏஜென்ட்களுக்குச் சிறந்த நினைவாற்றல் (recall) உள்ளது, ஆனால் எதை நினைவில் கொள்ள வேண்டும் என்பதில் அவற்றின் தீர்ப்பு (judgment) மிக மோசமாக உள்ளது. அவை ஆயிரக்கணக்கான பக்கங்களை உள்வாங்கிக்கொள்ளும், ஆனால் தேவையற்ற பகுதிகளை மறக்கக் கற்றுக்கொள்ளாததால், அவற்றின் சொந்தச் சூழலிலேயே (context) மூழ்கிவிடும். இதற்காகவே Knowledge and Memory Management பதிப்பு 0.0.2 உருவாக்கப்பட்டது. இது ஒரு சிறிய திருத்தம் மட்டுமல்ல. ஒரு ஏஜென்ட் தான் அறிந்தவற்றை எவ்வாறு சேமிக்கிறது, கடத்துகிறது மற்றும் முன்னுரிமைப்படுத்துகிறது என்பதை இது மறுபரிசீலனை செய்கிறது.

The Memory Problem

ஏஜென்ட்கள் வழக்கமாக ஒவ்வொரு உரைத் துண்டையும் மிக முக்கியமானதாகக் கருதுகின்றன. ஒரு சாதாரண இணையப் பக்கம், அதன் வழிசெலுத்தல் மெனுக்கள் (navigation menus), குக்கீ பேனர்கள் மற்றும் அடிக்குறிப்பு இணைப்புகளுடன் (footer links) சேர்த்துச் சேமிப்பகத்தில் கொட்டப்படுகிறது. ஒரு வீடியோவின் உரை (transcript), அதில் உள்ள ஒவ்வொரு “um”, நேர முத்திரை (timestamp) மற்றும் ஸ்பான்சர் விளம்பரங்களுடன் அப்படியே வருகிறது. ஒரு கட்டுரையில் உண்மையான தகவல்களை விட விளம்பரக் குறியீடுகளே (ad-copy markup) அதிகமாக இருக்கலாம். தகவல்களைத் திரும்பப் பெறும்போது (retrieval), அந்த இரைச்சலுக்குள் (noise) இருந்து முக்கியமான தகவலைத் (signal) தேட வேண்டியுள்ளது. இந்த வீணடிப்பு இரண்டு இடங்களில் தெரியவருகிறது: தேவையற்ற தகவல்களால் உங்கள் context window சுருங்குகிறது, மேலும் அர்த்தமற்ற உரைகளைச் செயலாக்கவும் (process) மற்றும் உட்பொதிக்கவும் (embed) நீங்கள் பணம் செலுத்துவதால் உங்கள் கட்டமைப்புச் செலவு (infrastructure bill) அதிகரிக்கிறது.

அளவிடுதல் (scaling) சிக்கலும் அதே அளவு விரக்தியளிக்கிறது. பெரும்பாலான ஆரம்பக்கட்ட ஏஜென்ட்கள் hardcoded பாதைகள் மூலம் ஒரு தனி இயந்திரத்துடன் பிணைக்கப்பட்டுள்ளன. உங்கள் திட்டத்தை லேப்டாப்பிலிருந்து ஒரு சேவையகத்திற்கு (server) மாற்றினாலும், அல்லது ஒரு VPS-லிருந்து மற்றொன்றுக்கு மாற்றினாலும், உடைந்த குறிப்புகளைச் சரிசெய்ய நீங்கள் ஒரு மதிய நேரத்தை configuration கோப்புகளைத் தேடுவதிலேயே (grepping) செலவிட வேண்டியிருக்கும். ஏஜென்ட் என்பது மென்பொருளாக இருப்பதில்லை, மாறாக ஒரே அறையில் மட்டுமே இருக்கக்கூடிய ஒரு பலவீனமான கலைப் படைப்பாக மாறுகிறது.

What Changed in V0.0.2

இந்த வெளியீடு இரண்டு சிக்கல்களையும் நேரடியாகத் தீர்க்கிறது. இது ஒரு நகர்த்தக்கூடிய பாதைத் திட்டத்தையும் (portable pathing scheme) மற்றும் நினைவகத்தை அடைவதற்கு முன்பே அறிவைச் சுத்திகரிக்கும் ஒரு ஒருங்கிணைந்த சுருக்கத் தொடர்முறையையும் (unified summarization pipeline) அறிமுகப்படுத்துகிறது. இதன் விளைவாக, நகர்த்துவதற்கு எளிதான மற்றும் இயக்கத்திற்கு மலிவான ஒரு ஏஜென்ட் கிடைக்கிறது.

நீங்கள் உங்கள் உள்கட்டமைப்போடு போராடுவதை நிறுத்துவீர்கள். வரையறுக்கப்பட்ட context-க்குள் பருமனான ஆவணங்களை திணிப்பதை நிறுத்துவீர்கள். ஏஜென்ட் இப்போது சிறப்பாக நினைவில் கொள்ளும்.

Portable by Design with $AGENT_HOME

மிக முக்கியமான நடைமுறை மாற்றம் $AGENT_HOME environment variable-ன் அறிமுகமாகும். கணினி கையாளும் ஒவ்வொரு பாதையும்—அறிவுத் தளங்கள் (knowledge bases), செயல்பாட்டு நினைவகம் (working memory), சேமிக்கப்பட்ட சுருக்கங்கள் (cached summaries), அமர்வு பதிவுகள் (session logs)—இந்த ரூட் (root) சார்பாகத் தீர்மானிக்கப்படும். இதன் பொருள், நீங்கள் ஒரு வரியைக் கூட மாற்றாமல் உங்கள் முழு ஏஜென்ட் கோப்பகத்தையும் (directory) எங்கு வேண்டுமானாலும் நகர்த்தலாம்.

ஒரு வழக்கமான மாற்றத்தைக் கருத்தில் கொள்ளுங்கள். நேற்று உங்கள் ஏஜென்ட் /srv/ai-agent என்ற DigitalOcean droplet-இல் இருந்தது. இன்று அதை உள்ளூர் கணினியில் (locally) இயக்க விரும்புகிறீர்கள் அல்லது ஒரு சக ஊழியரிடம் ஒப்படைக்க விரும்புகிறீர்கள். கடந்த காலத்தில், JSON configs, Python ஸ்கிரிப்ட்கள் மற்றும் shell wrappers ஆகியவற்றில் சிதறிக்கிடக்கும் hardcoded absolute பாதைகளைக் கண்டறிந்து நீங்கள் திணறுவீர்கள். நீங்கள் ஒரு டஜன் கோப்புகளில் sed மூலம் மாற்றங்களைச் செய்து, ஏதேனும் தவறு நடந்துவிடுமோ என்று பயந்துதான் செயல்பட வேண்டும். பதிப்பு 0.0.2 உடன், நீங்கள் அதைத் தவிர்க்கலாம். கோப்புறையை நகலெடுக்கவும், export AGENT_HOME=/your/path என்று அமைக்கவும், பின்னர் இயக்கவும். உள்ளீட்டு ஸ்கிரிப்ட்கள் (ingestion scripts), நினைவக குறியீடு (memory index) மற்றும் மீட்டெடுப்பு அடுக்கு (retrieval layer) ஆகிய அனைத்தும் தானாகவே சீரமைக்கப்படும், ஏனெனில் அவை ஏற்கனவே தெரியும் என்று நினைப்பதற்குப் பதிலாக, முகவரி எங்கே உள்ளது என்று இயங்குதளத்திடம் (operating system) கேட்கின்றன.

இந்த வசதி வெறும் வசதிக்காக மட்டுமல்ல. இது உங்கள் அமைப்பை மீண்டும் உருவாக்கக்கூடியதாக (reproducible) மாற்றுகிறது. உங்கள் கணினியில் மட்டுமே வேலை செய்யும் பாதைகளால் உங்கள் களஞ்சியத்தை (repository) மாசுபடுத்தாமல், உங்கள் அறிவுத் தளக் கோப்பகத்தை version control-இல் கண்காணிக்க முடியும். ஒரு சக ஊழியர் repo-வை கிளான் செய்து, $AGENT_HOME-ஐத் தனது சொந்த கோப்பு முறைமையைக் (filesystem) நோக்கித் திருப்பினால், தனது சொந்தத் தரவை உள்ளீடு செய்யலாம். உங்கள் CI pipeline ஒரு புதிய ஏஜென்ட்டை உருவாக்கி, ஒரு மாறியை (variable) அமைத்து, ஒவ்வொரு சூழலுக்கும் புதிய configs-களை எழுதாமலேயே அதன் செயல்பாட்டைச் சரிபார்க்க முடியும்.

நீங்கள் ஏஜென்ட்டை systemd சேவையாக இயக்கினால், அந்த மாறியைச் சேவையின் அலகில் (service unit) சேர்க்கவும். நீங்கள் அதை containerize செய்தால், உங்கள் Dockerfile அல்லது compose கோப்பில் அதை அனுப்பவும். நீங்கள் பல shells பயன்படுத்தினால், அது தொடர .bashrc அல்லது .zshrc-இல் அதைச் சேர்க்கவும். உள்கட்டமைப்பு (infrastructure) சிக்கலற்றதாக இருக்க வேண்டும் என்பதால், இந்த அமைப்பு வேண்டுமென்றே எளிமையாக வடிவமைக்கப்பட்டுள்ளது.

Three Sources, One Cleanup Pipeline

கணினி மூன்று குறிப்பிட்ட வழிகளில் அறிவை உள்ளிழுக்கிறது:

  • Web pages. இவை HTML boilerplate-உடன் வருகின்றன. உண்மையான உள்ளடக்கம், மூன்று ஆயிரம் வார்த்தைகள் கொண்ட குறியீடுகள், வழிசெலுத்தல் மற்றும் கருத்துப் பிரிவுகளுக்குள் மறைந்திருக்கும் வெறும் முந்நூறு வார்த்தைகளாக இருக்கலாம்.
  • Video transcripts. Speech-to-text வெளியீடு மிகவும் நீளமாக இருக்கும். தேவையற்ற சொற்கள், திரும்பத் திரும்பச் சொல்லுதல், நேர முத்திரைகள் மற்றும் தொடர்பற்ற உரையாடல்கள் ஆகியவை முக்கியமான தகவல்களைத் தராமல் அதிகப்படியான tokens-களைச் செலவழிக்கும்.
  • Articles. வடிவங்கள் மிகவும் மாறுபடுகின்றன. சில சுத்தமான உரையை வெளியிடுகின்றன. மற்றவை விளம்பரங்கள், செய்திமடல் பதிவுப் பெட்டிகள் மற்றும் சமூக ஊடக இணைப்புகளால் வாசிப்பு அனுபவத்தைக் கெடுக்கின்றன.

பதிப்பு 0.0.2 இவற்றைத் தனித்தனியாகக் கவனித்துக்கொள்ள வேண்டிய பிரிவுகளாகக் கருதவில்லை. மாறாக, இவை பணி நினைவகத்திற்குள் (working memory) நுழைவதற்கு முன், மூன்றையும் ஒரே சுருக்க அடுக்கு (summarization layer) வழியாகச் செலுத்துகிறது. இந்த அடுக்கு வாதங்கள் (claims), நடைமுறைகள் (procedures), தரவுப் புள்ளிகள் (data points) மற்றும் உறவுகளைப் பிரித்தெடுக்கிறது. மனிதர்கள் இயல்பாகவே கவனிக்காமல் கடந்து செல்லும் தேவையற்ற இரைச்சல்களை (noise) இது நீக்கிவிடுகிறது.

சுருக்கம் (Summarization) ஏன் ஒரு அளவிடுதல் உத்தி (Scaling Strategy)?

சுருக்கத்தை ஒரு ஆடம்பர வசதியாக, அதாவது இருந்தால் நல்லது ஆனால் அவசியமற்ற ஒன்றாகக் கருதும் போக்கு உள்ளது. அது தவறு. ஒரு மொழி மாதிரி ஏஜெண்டிற்கு (language-model agent), சுருக்கம் என்பது ஒரு அளவிடுதலுக்கானத் தேவை (scaling requirement).

சூழல் சாளரங்களுக்கு (Context windows) வரம்புகள் உள்ளன. மீட்டெடுப்பு வரவுசெலவுத் திட்டங்களுக்கு (Retrieval budgets) செலவுகள் உள்ளன. ஒரு குக்கீ பேனர் அல்லது வீடியோ ஸ்பான்சர் விளம்பரத்திற்காகச் செலவிடப்படும் ஒவ்வொரு டோக்கனும் (token), நீங்கள் பகுத்தறிதலுக்கு (reasoning) பயன்படுத்த முடியாத ஒரு டோக்கன் ஆகும். உங்கள் ஏஜெண்ட் ஒரு பதிலைத் தயாரிக்கும்போது, அதிகப்படியான உரையைச் சுற்றி வைத்திருப்பதன் மூலம் அது புத்திசாலியாகிவிடாது. சரியான உரையைச் சுற்றி வைத்திருப்பதன் மூலமே அது புத்திசாலியாகிறது.

தரவுகளைப் பெறும்போதே (ingestion time) தேவையற்ற இரைச்சலை நீக்குவதன் மூலம், இந்த அமைப்பு சிக்னலைச் சுருக்குகிறது. உங்கள் ஏஜெண்ட் அதே சூழல் வரவுசெலவுத் திட்டத்திற்குள் (context budget) பரந்த அளவிலான ஆதாரங்களைக் கையாள முடியும். முன்பு இரண்டு மூல ஆவணங்கள் (raw documents) சிரமப்பட்ட இடத்தில், இப்போது பத்துச் சுருக்கப்பட்ட ஆவணங்கள் பொருந்தும். இந்த அடர்த்தியே, ஐந்து ஆதாரங்களை நிர்வகிக்கும் ஒரு சிறிய முன்மாதிரியிலிருந்து (toy prototype), நூற்றுக்கணக்கானவற்றை நிர்வகிக்கும் ஒரு உற்பத்தி அமைப்பாக (production system) ஏஜெண்ட் விரிவடைய அனுமதிக்கிறது. நினைவகத் தேவை (memory footprint) கட்டுப்படியாகக்கூடிய அளவில் இருக்கும். தேவையற்றத் தகவல்கள் நீக்கப்படுவதால் மீட்டெடுப்புத் தரம் (retrieval quality) மேம்படும். தேவையற்றத் தகவல்களை (boilerplate) உட்புகுத்தவும் (embed) மற்றும் வினவவும் (query) நீங்கள் செலவிடுவதை நிறுத்திவிட்டதால், டோக்கன் செலவு குறைகிறது.

இது நுணுக்கங்களை வீசி எறியும் தீவிரமான தர இழப்பு சுருக்கம் (lossy compression) பற்றியது அல்ல. இது குழாயினுள் (pipeline) குறியீடாக்கப்பட்ட ஒரு தொகுப்புத் தீர்மானத்தைப் (editorial judgment) பற்றியது. இந்தச் சுருக்கம் தொழில்நுட்ப விவரங்கள், பெயரிடப்பட்ட உருப்படிகள் (named entities), காரணத் தொடர்புகள் (causal links) மற்றும் அறிவுறுத்தல் படிகளைப் பாதுகாக்கிறது. இது வடிவமைப்புக் குப்பைகளையும் (formatting debris) உரையாடல் நிரப்பல்களையும் (conversational padding) நீக்குகிறது.

தொடங்குதல்

இந்த அமைப்பு உங்கள் வழியில் குறுக்கிடாமல் இருக்க வேண்டும் என்பதால், இதன் அமைப்பு வேண்டுமென்றே மிகக் குறைவாக வடிவமைக்கப்பட்டுள்ளது.

உங்கள் டெர்மினலைத் திறந்து ரூட் பாதையை (root path) அமைக்கவும்:

export AGENT_HOME=/your/path

இந்த வரியை உங்கள் ஷெல் ப்ரொஃபைலில் (shell profile) சேர்ப்பதன் மூலம் அல்லது உங்கள் ஏஜெண்ட்டை இயக்கும் ஆர்கெஸ்ட்ரேஷன் லேயரில் (orchestration layer) செலுத்துவதன் மூலம் இதை நிரந்தரமாக்குங்கள். அதன் கீழ் உள்ள கோப்புறை அமைப்பை (directory structure) சீராக வைத்திருங்கள். ஏஜெண்ட் தனது கோப்புறைகள்—அவற்றை நீங்கள் knowledge/, memory/, summaries/ அல்லது வேறு ஏதேனும் என்று பெயரிட்டாலும்—அந்த ரூட்டுடன் தொடர்புடையதாக இருக்க வேண்டும் என்று எதிர்பார்க்கிறது. மாறி (variable) செயல்பாட்டிற்கு வந்தவுடன், உங்கள் வலைப்பக்கங்கள், டிரான்ஸ்கிரிப்ட்கள் மற்றும் கட்டுரைகளை ஏஜெண்டிற்குச் சுட்டிக்காட்டவும். தரவைப் பெறுதல் மற்றும் சுருக்குதல் குழாய் (ingestion and summarization pipeline) மற்றவற்றைச் கவனித்துக் கொள்ளும்.

நீங்கள் முந்தைய பதிப்பிலிருந்து மாறுகிறீர்கள் என்றால், இந்தச் செயல்முறை அதே அளவு எளிதானது. உங்கள் தற்போதைய தரவை புதிய $AGENT_HOME படிநிலைக்குள் (hierarchy) நகர்த்தவும், மாறியைப் புதுப்பிக்கவும் மற்றும் ஏஜெண்ட் பாதைகளைச் சரியாகக் கண்டறிகிறதா என்பதைச் சரிபார்க்கவும். இடமாற்ற ஸ்கிரிப்ட்கள் (migration scripts) தேவையில்லை. தரவுத்தள ஸ்கீமா மாற்றங்கள் (database schema bumps) தேவையில்லை. ஏஜெண்ட் வட்டில் (disk) எங்குள்ளது என்பதற்கான ஒற்றை உண்மை ஆதாரம் (single source of truth) மட்டுமே போதுமானது.

உண்மையான பயன்

சிறந்த நினைவக மேலாண்மை என்பது அதிக தரவைச் சேகரிப்பது பற்றியது அல்ல. உங்களிடம் ஏற்கனவே உள்ள தரவைச் சீரமைப்பதைப் (curating) பற்றியது. பதிப்பு 0.0.2, இடமாற்றத் திறன் (portability) மற்றும் சுருக்கத்தை ஒரு கூடுதல் சிந்தனையாகக் கருதாமல், முதன்மையான கவலைகளாகக் கருதுகிறது. எதையும் உடைக்காமல் உங்கள் ஏஜெண்ட்டை இயந்திரங்களுக்கு இடையே நகர்த்தும் சுதந்திரத்தைப் பெறுகிறீர்கள், மேலும் உண்மையான சூழலைக் கொண்ட சூழல் சாளரத்தின் (context window) செயல்திறனையும் பெறுகிறீர்கள்.

உங்கள் முகவரி கோப்புறையை (home directory) அமைக்கவும். ஏஜெண்டிற்கு உண்மையான ஆதாரங்களை வழங்கவும். தேவையற்ற குப்பைகளை நீக்க அமைப்பிற்கு அனுமதிக்கவும். நீங்கள் பாதைக் பிழைகளைத் திருத்துவதற்கும் (debugging path errors), இரைச்சலைச் செயலாக்குவதற்கும் குறைந்த நேரத்தையும் பணத்தையும் செலவிடுவீர்கள்; ஏஜெண்ட் உண்மையில் கற்றுக்கொண்டதைப் பயன்படுத்துவதற்கு அதிக நேரத்தைச் செலவிடுவீர்கள்.


மூலம்: https://dev.to/mage0535/thinking-1-analyze-the-request-12go

சமூகம்: https://t.me/GyaanSetuAi