𝟱 𝗖𝗿𝗶𝘁𝗶𝗰𝗮𝗹 𝗔𝟮𝗔 𝗣𝗿𝗼𝘁𝗼𝗰𝗼𝗹 𝗠𝗶𝘀𝘁𝗮𝗸𝗲𝘀 𝗧𝗵𝗮𝘁 𝗕𝗿𝗲𝗮𝗸 𝗠𝘂𝗹𝘁𝗶-𝗔𝗴𝗲𝗻𝘁 𝗦𝘆𝘀𝘁𝗲𝗺𝘀

மல்டி-ஏஜென்ட் சிஸ்டம்கள் (Multi-agent systems) பெரும்பாலும் தயாரிப்பு நிலையில் (production) தோல்வியடைகின்றன. ஏஜென்ட்கள் தவறான தகவல்களைப் பரிமாறிக் கொள்வது அல்லது செயலிழப்பது போன்ற பிரச்சனைகள் ஏற்படலாம். நீங்கள் டெட்லாக் (deadlocks) அல்லது மர்மமான பிழைகளை (mysterious errors) காணக்கூடும்.

பெரும்பாலான தோல்விகள் ஏஜென்ட்-டு-ஏஜென்ட் (Agent-to-Agent - A2A) புரோட்டோகாலில் செய்யப்படும் இந்த ஐந்து தவறுகளிலிருந்தே வருகின்றன.

  1. செய்திகளின் வரிசையை (message order) முன்னரே தீர்மானித்தல் நீங்கள் அனுப்பிய அதே வரிசையில் செய்திகள் எப்போதும் வந்து சேராது. விநியோகிக்கப்பட்ட அமைப்புகள் (Distributed systems) பெரும்பாலும் செய்திகளை வரிசை மாற்றிக் கொண்டு வழங்கும். இது ரேஸ் கண்டிஷன்களை (race conditions) உருவாக்கி உங்கள் தரவைச் சிதைக்கும்.
  • வரிசையைக் கண்காணிக்க வரிசை எண்களைப் (sequence numbers) பயன்படுத்தவும்.
  • தாமதங்களைக் கண்டறிய டைம்ஸ்டாம்புகளைப் (timestamps) பயன்படுத்தவும்.
  • எந்த வரிசையிலும் செய்திகளைக் கையாளும் வகையில் ஏஜென்ட்களை வடிவமைக்கவும்.
  1. நெட்வொர்க் யதார்த்தத்தைப் புறக்கணித்தல் டெவலப்பர்கள் பெரும்பாலும் சரியான சூழலில் மட்டுமே சோதனை செய்கிறார்கள். ஆனால் நிஜ உலகில், ஏஜென்ட்கள் செயலிழக்கலாம் மற்றும் நெட்வொர்க்குகள் தோல்வியடையலாம். நீங்கள் டைம்அவுட்களை (timeouts) பயன்படுத்தவில்லை என்றால், உங்கள் ஏஜென்ட்கள் பதிலுக்காக முடிவில்லாமல் காத்திருக்கும்.
  • ஒவ்வொரு கோரிக்கைக்கும் (request) கடுமையான டைம்அவுட்களை அமைக்கவும்.
  • தற்காலிகப் பிழைகளுக்கு (transient errors) ரீட்ரை லாஜிக்கைப் (retry logic) பயன்படுத்தவும்.
  • ஒரு தோல்வியின் போது உங்கள் சிஸ்டம் அதிகப்படியான சுமையால் பாதிக்கப்படுவதைத் தவிர்க்க எக்ஸ்போனென்ஷியல் பேக்ஆஃப் (exponential backoff) முறையைப் பயன்படுத்தவும்.
  1. நிலையான பதிவேடுகளைப் (static registries) பயன்படுத்துதல் ஏஜென்ட்களின் நிலை (status) தொடர்ந்து மாறிக்கொண்டே இருக்கும். அவை விரிவடையலாம் (scale up) அல்லது செயலிழக்கலாம். நீங்கள் ஏஜென்ட்களின் நிலையான பட்டியலைப் பயன்படுத்தினால், செயலிழந்த சேவைகளுக்கு (dead services) கோரிக்கைகளை அனுப்பிவிடுவீர்கள்.
  • ஹெல்த் செக்ஸ்களை (health checks) நடைமுறைப்படுத்தவும்.
  • ஏஜென்ட் கிடைப்படைவதை (availability) கண்காணிக்க ஹார்ட் பீட்களைப் (heartbeats) பயன்படுத்தவும்.
  • செயலில் இல்லாத ஏஜென்ட்களை உங்கள் பதிவேட்டில் இருந்து தானாகவே நீக்கவும்.
  1. செய்தி சரிபார்ப்பைத் (message validation) தவிர்த்தல் A2A புரோட்டோகால் கட்டமைப்பை வரையறுக்கிறது, ஆனால் அது உங்கள் பிசினஸ் லாஜிக்கைச் (business logic) சரிபார்ப்பதில்லை. தவறான வடிவமைப்பு கொண்ட செய்திகள் அல்லது பிழையுள்ள ஏஜென்ட்கள் உங்கள் ரிசீவர் பகுதிகளைச் செயலிழக்கச் செய்யலாம்.
  • வரும் ஒவ்வொரு செய்தியையும் ஒரு ஸ்கீமாவுடன் (schema) ஒப்பிட்டுச் சரிபார்க்கவும்.
  • பிழைகள் உங்கள் முக்கிய லாஜிக்கிற்கு (core logic) செல்வதற்கு முன்பே அவற்றை முன்கூட்டியே கண்டறியவும்.
  • செல்லாத தரவை உடனடியாக நிராகரிக்கவும்.
  1. கண்காணிப்புத் திறன் (observability) இல்லாமை ஐந்து வெவ்வேறு ஏஜென்ட்கள் வழியாகச் செல்லும் ஒரு கோரிக்கையை டீபக் (debugging) செய்வது கடினம். டிரேசிங் (tracing) இல்லையென்றால், தோல்வி எங்கு ஏற்பட்டது என்பதைக் கண்டறிய முடியாது.
  • ஒவ்வொரு கோரிக்கைக்கும் கொரிலேஷன் ஐடிக்களைப் (correlation IDs) பயன்படுத்தவும்.
  • ஒரு ஒற்றை பணிப்பாய்வில் (workflow) உள்ள ஒவ்வொரு செய்திக்கும் ஒரே ஐடியை இணைக்கவும்.
  • ஒரு கோரிக்கையின் முழுப் பாதையையும் காண டிஸ்ட்ரிபியூட்டட் டிரேசிங் கருவிகளைப் (distributed tracing tools) பயன்படுத்தவும்.

இந்தத் தவறுகள் பெரும்பாலும் ஒரு தொடர் வினையை (chain reaction) உண்டாக்குகின்றன. ஒரு தோல்வி வளங்கள் தீர்ந்துபோக வழிவகுக்கும் (resource exhaustion), இது மேலும் பல செயலிழப்புகளுக்கு வழிநடத்தும். மீள்திறன் கொண்ட அமைப்புகளை (resilient systems) உருவாக்க இந்த ஐந்து பகுதிகளையும் சரிசெய்யவும்.

Source: https://dev.to/edith_heroux_aca4c9046ef5/5-critical-a2a-protocol-mistakes-that-break-multi-agent-systems-3g7d

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