ஒரு AI ஏஜென்ட்டின் உள்ளே

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

ஏஜென்ட் தவறான விஷயங்களைச் செய்கிறது. அது எடுத்த முடிவுகளை மறந்துவிடுகிறது. இல்லாத கருவிகளை (tools) அழைக்கிறது. முடிவில்லாமல் சுழற்சியில் (loop) சிக்கிக்கொள்கிறது. இவை மாடல் (model) தோல்விகள் அல்ல. இவை பணிப்பாய்வு (workflow) தோல்விகள்.

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

ஒவ்வொரு தயாரிப்பு ஏஜென்ட்டும் (production agent) ஐந்து தூண்களைச் சார்ந்துள்ளது:

  • திட்டமிடல் (Planning): செயல்படுவதற்கு முன் சிந்திப்பது.
  • கருவி பயன்பாடு (Tool Use): உலகத்துடன் தொடர்பு கொள்வது.
  • நினைவகம் (Memory): சூழல் மற்றும் உண்மைகளைச் சேமிப்பது.
  • கட்டுப்பாடுகள் (Constraints): எல்லைகள் மற்றும் வரவுசெலவுத் திட்டங்களை நிர்ணயிப்பது.
  • சரிபார்ப்பு (Verification): வேலை சரியாக இருப்பதை நிரூபிப்பது.

திட்டமிடல் முறைகள்

சாதாரண ஏஜென்ட்கள் நேரடியாகச் செயலில் இறங்குகின்றன. இது மாயத்தோற்றங்களுக்கு (hallucinations) வழிவகுக்கிறது. ஒரு சிறந்த ஏஜென்ட் முதலில் திட்டமிடுகிறது.

  1. திட்டமிட்டுச் செயல்படுத்துதல் (Plan-then-execute): மாடல் ஒரு முழுமையான திட்டத்தை எழுதுகிறது. இதை ஆய்வு செய்வது (audit) எளிது, ஆனால் யதார்த்தம் மாறினால் மாற்றியமைப்பது கடினம்.
  2. ReAct (Reason + Act): மாடல் ஒரு சுழற்சியில் சிந்திக்கிறது, செயல்படுகிறது மற்றும் கவனித்துத் தெரிந்துகொள்கிறது. இது அதிக மாற்றங்களுக்கு ஏற்பத் தகவமைத்துக் கொள்ளும், ஆனால் டோக்கன்கள் (tokens) மற்றும் நேரத்தைச் செலவிடும்.

கருவி பயன்பாடு

கருவிகள் இல்லையென்றால், ஒரு ஏஜென்ட் வெறும் சாட்பாட் (chatbot) மட்டுமே. ஒரு கருவிக்கு ஒரு பெயர், ஒரு JSON schema மற்றும் ஒரு செயல்பாடு (function) தேவை.

விளக்கங்களின் அடிப்படையில் மாடல்கள் கருவிகளைத் தேர்ந்தெடுக்கின்றன. உங்கள் விளக்கம் தெளிவற்றதாக இருந்தால், ஏஜென்ட் தோல்வியடையும். விளக்கங்களை விவரக்குறிப்புத் தாள்களைப் (spec sheets) போலக் கருதுங்கள். ஒரு கருவி எதற்காகப் பயன்படுகிறது மற்றும் எதற்காகப் பயன்படாது என்பதைத் தெளிவாக வரையறுக்கவும்.

கருவி அழைப்புகளை (tool calls) எப்போதும் சரிபார்க்கவும். மாடல் தவறான வாதங்களை (arguments) அனுப்பினால், அந்த அழைப்பை நிராகரித்து, பிழையை மீண்டும் மாடலுக்குத் தெரியப்படுத்துங்கள். இது ஏஜென்ட் சுழற்சியின் இடையில் கற்றுக்கொள்ள உதவுகிறது.

நினைவகம்

நினைவகம் என்பது ஒரே ஒரு விஷயம் மட்டுமல்ல.

  • பணி நினைவகம் (Working Memory): தற்போதைய உரையாடல் மற்றும் கருவி முடிவுகள்.
  • ஸ்கிராட்ச்பேட் (Scratchpad): ஏஜென்ட் தனக்காகக் குறிப்புகளை எழுதிக் கொள்ளும் இடம்.
  • நீண்டகால நினைவகம் (Long-term Memory): எதிர்கால அமர்வல்களுக்காக உண்மைகளைச் சேமிப்பது.

வெக்டர் தரவுத்தளங்களை (vector databases) மட்டும் நம்பியிருக்க வேண்டாம். markdown கோப்புகளைப் பயன்படுத்தும் கோப்பு அடிப்படையிலான நினைவகம் (File-based memory) பெரும்பாலும் சிறந்தது. இதை ஆய்வு செய்யவும், திருத்தவும் மற்றும் தேடவும் (grep) எளிது.

கட்டுப்பாடுகள் மற்றும் பாதுகாப்பு

தயாரிப்பு ஏஜென்ட்களுக்குப் பாதுகாப்பு வேலிகள் (guardrails) தேவை. இந்த நான்கைப் பயன்படுத்தவும்:

  • கருவி அனுமதிக்கப்பட்ட பட்டியல் (Tool allowlists): குறிப்பிட்ட, பெயரிடப்பட்ட கருவிகளை மட்டும் அனுமதிக்கவும்.
  • சுழற்சி வரவுசெலவு (Iteration budgets): முடிவில்லாத சுழற்சிகளைத் தவிர்க்க படிகளின் எண்ணிக்கையைக் கட்டுப்படுத்தவும்.
  • டோக்கன் வரவுசெலவு (Token budgets): மொத்த டோக்கன்களைக் கட்டுப்படுத்துவதன் மூலம் செலவைக் குறைக்கவும்.
  • ஒப்புதல் வாயில்கள் (Approval gates): மின்னஞ்சல்களை அனுப்புதல் அல்லது தரவை நீக்குதல் போன்ற முக்கியமான செயல்களுக்கு மனித அனுமதி தேவைப்படும்படி செய்யவும்.

சரிபார்ப்பு

ஒரு பணி முடிந்துவிட்டது என்று மாடல் கூறும்போது அதை ஒருபோதும் நம்பாதீர்கள். மாடல் இயல்பாகவே மிகுந்த நம்பிக்கையுடன் இருக்கும்.

உண்மையான சரிபார்ப்பைப் பயன்படுத்தவும். ஒரு ஏஜென்ட் குறியீட்டை (code) எழுதினால், சோதனைகளை (tests) இயக்கவும். அது JSON-ஐ உருவாக்கினால், அதன் schema-வைச் சரிபார்க்கவும். அது ஒரு பணியைச் செய்தால், மாற்றத்தை உறுதிப்படுத்த ஒரு வினவலை (query) இயக்கவும்.

சிறந்த ஏஜென்ட்கள் சுழற்சிக்குள்ளேயே சரிபார்ப்பைப் பயன்படுத்துகின்றன. ஒரு சோதனை தோல்வியடைந்தால், அந்தப் பிழையை மீண்டும் ஏஜென்ட்டிற்குத் தெரியப்படுத்துங்கள். அதை மீண்டும் முயற்சி செய்ய விடுங்கள்.

புத்திசாலித்தனமான ப்ராம்ப்ட்களைத் (prompts) தேடுவதை நிறுத்துங்கள். சிறந்த கட்டமைப்பை (plumbing) உருவாக்கத் தொடங்குங்கள்.

ஆதாரம்: https://dev.to/nazar_boyko/inside-an-ai-agent-planning-tool-use-memory-constraints-and-verification-2fcc

விருப்பமான கற்றல் சமூகம்: https://t.me/GyaanSetuAi