ஏஜென்ட் லூப் (Agent Loop) பற்றிய புரிதல்

நீங்கள் tool-calling மாடல்களைக் கொண்டு உருவாக்குகிறீர்கள் என்றால், உங்கள் மிக முக்கியமான முடிவு prompt அல்ல. அது மாடலைச் சுற்றியுள்ள loop ஆகும்.

ஒரு LLM ஒரு கருவியைப் (tool) பயன்படுத்த முடிவு செய்யலாம், ஆனால் அதனால் அந்த கருவியை இயக்க முடியாது. அப்ளிகேஷன் அல்லது SDK சூழலை (context) ஒருங்கிணைத்து, கருவியை இயக்கி, அதன் முடிவுகளைச் சேர்க்க வேண்டும். இந்தச் சுழற்சியே ஏஜென்ட் லூப் (agent loop) எனப்படும்.

மாடல் என்பது அமைப்பின் ஒரு பகுதி மட்டுமே. Harness அல்லது SDK ஒருங்கிணைப்பை (orchestration) நிர்வகிக்கிறது. இதில் prompt ஒருங்கிணைப்பு, கருவி இயக்கம் (tool execution), மீண்டும் முயற்சித்தல் (retries) மற்றும் முடித்தல் (termination) ஆகியவை அடங்கும்.

நம்பகமான ஏஜென்ட்களை உருவாக்குவதற்கான முக்கியக் கருத்துக்கள்:

  • நிலை மேலாண்மை (State management) மிக முக்கியமானது. கருவியின் வெளியீடுகளை (tool outputs) நீங்கள் இழந்தால், ஏஜென்ட் என்ன நடந்தது என்பதை மறந்துவிடும்.
  • செயல்திறன் என்பது prompt வளர்ச்சியைக் கட்டுப்படுத்துவதைப் பொறுத்தது. செலவைக் குறைக்க நிலையான முன்னொட்டுகள் (stable prefixes) மற்றும் caching முறையைப் பயன்படுத்தவும்.
  • பாதுகாப்புக்கு சரிபார்ப்பு (validation) அவசியம். தரவை மாற்றும் செயல்களுக்கு ஒப்புதல் வாயில்களை (approval gates) பயன்படுத்தவும்.
  • மாடல் அல்ல, harness தான் வாழ்நாளை (lifecycle) நிர்வகிக்கிறது.

லூப்பிற்கான ஒரு நடைமுறை மன மாதிரி (mental model):

  • உள்ளீட்டு நிலையை (input state) உருவாக்கவும்.
  • மாடலை அழைக்கவும்.
  • பதிலைப் பரிசோதிக்கவும்.
  • மாடல் கருவிகளைக் கேட்டால், அவற்றைச் சரிபார்த்து இயக்கவும்.
  • கருவி முடிவுகளை மீண்டும் சூழலில் (context) சேர்க்கவும்.
  • மாடலை மீண்டும் அழைக்கவும்.
  • மாடல் இறுதிப் பதிலைத் தரும்போது மட்டும் நிறுத்தவும்.

இரண்டு அமைப்புகள் ஒரே மாடலைப் பயன்படுத்தலாம், ஆனால் அவை மாறுபட்ட முறையில் செயல்படும். ஏனெனில் அவற்றின் harness-கள் சூழல் (context), கருவி வரிசைமுறை (tool ordering) மற்றும் வரலாறு (history) ஆகியவற்றைப் பற்றி வெவ்வேறு முடிவுகளை எடுக்கின்றன.

இந்த பொதுவான சிக்கல்களைக் கவனத்தில் கொள்ளவும்:

  • மீண்டும் மீண்டும் நிகழும் நடத்தை (Repetitive behavior): பொதுவாக நிலைத் தொடர்ச்சி (state continuity) உடைவதால் ஏற்படுகிறது.
  • குறைந்த தரம் (Low quality): பெரும்பாலும் கருவியின் வெளியீடுகள் மிக நீளமாகவோ அல்லது தேவையற்ற தகவல்களுடனோ (noisy) இருப்பதால் ஏற்படுகிறது.
  • அதிக செலவு (High costs): பொதுவாக caching முறையைச் சிதைக்கும் தவறான prompt வரிசை முறையினால் ஏற்படுகிறது.
  • பாதுகாப்பற்ற செயல்கள் (Unsafe actions): கருவிகளை இயக்குவதற்கு முன் அவற்றின் வாதங்களை (arguments) நீங்கள் சரிபார்க்காதபோது இது நிகழ்கிறது.

மாடல் செயல்களைத் தேர்ந்தெடுக்கிறது. Harness யதார்த்தத்தைக் கட்டுப்படுத்துகிறது. நீங்கள் ஒரு சிறந்த அமைப்பை விரும்பினால், வெறும் prompt-ஐ மட்டும் மாற்ற வேண்டாம். ஒரு சிறந்த லூப்பை (loop) உருவாக்குங்கள்.

Source: https://dev.to/pramod_sahu_d5bd2e6de82d1/understanding-the-agent-loop-how-tool-using-llm-systems-actually-work-2mb5

Optional learning community: https://t.me/GyaanSetuAi