మల్టీ-టెనెన్సీ (Multi-Tenancy) అనేది అసలైన ఏజెంట్ ప్లాట్‌ఫారమ్ సమస్య

చాలా ఏజెంట్ డెమోలు కేవలం ఒకే ఒక వినియోగదారుని (user) కలిగి ఉండటం వల్ల విజయవంతమవుతాయి.

ఒక వినియోగదారు అంటే ఒక మెమరీ స్టోర్, ఒక టూల్ సెట్ మరియు ఒకే ఒక సజావుగా సాగే మార్గం (happy path). అక్కడ వేరు చేయాల్సినవి ఏమీ ఉండవు.

మీరు ఒక డెమోను ప్లాట్‌ఫారమ్‌గా మార్చినప్పుడు, కష్టమైన భాగం ప్రాంప్ట్‌లు (prompts) కాదు. అసలైన సవాలు ఐసోలేషన్ (isolation).

ప్రతి డేటాబేస్ క్వెరీ, క్యాష్ కీ, స్ట్రీమ్, టూల్ కాల్ మరియు మెమరీ లుకప్ ఏ టెనెంటుకు (tenant) చెందినదో నిరూపించగలవా? ఒక్కటి కూడా నిరూపించలేకపోతే, డేటా లీక్ అయ్యే ప్రమాదం ఉంది.

చాలా బృందాలు మోడల్ ఎంపిక లేదా మెమరీ నాణ్యతపై దృష్టి పెడతాయి. కానీ ఒక టెనెంటు యొక్క డేటా మరియు ఖర్చులు మరొకరి నుండి వేరుగా ఉన్నాయా అని అడగడం మర్చిపోతాయి.

ఐసోలేషన్ అనేది చివరలో చేర్చే పని కాదు. అది మీ ప్లాట్‌ఫారమ్ యొక్క ప్రాథమిక రూపం.

నిజమైన ఏజెంట్ ప్లాట్‌ఫారమ్‌ను నిర్మించడానికి, ఈ క్రింది అంశాలను గమనించండి:

  • గ్రాఫ్‌లోకి తీసుకెళ్లబడే ఒక టైప్డ్ రిక్వెస్ట్ కాంటెక్స్ట్ (typed request context).
  • ప్రతి బౌండరీ వద్ద స్కోప్డ్ యాక్సెస్ (scoped access).
  • సమస్యలుగా మారకముందే టెనెంటు లీక్‌లను గుర్తించే పరీక్షలు.

సెక్యూరిటీని విస్మరిస్తూ కూడా ఒక సింగిల్-యూజర్ ఏజెంట్ అద్భుతంగా అనిపించవచ్చు. అది టెనెంటు ఫిల్టర్ లేకుండా సెర్చ్ టూల్‌ను పిలవవచ్చు లేదా ఒక సాధారణ ID కింద హిస్టరీని నిల్వ చేయవచ్చు. ఇది డెమోకు పని చేస్తుంది, కానీ ప్లాట్‌ఫారమ్‌కు విఫలమవుతుంది.

ఒక ప్లాట్‌ఫారమ్‌లో, ఏజెంట్ ప్రతి దశలోనూ ఒక బౌండరీని కలిగి ఉండాలి. ఏజెంట్ ఆ బౌండరీని కోల్పోతే, అది తప్పు వ్యక్తికి సరైన సమాధానాన్ని ఇచ్చే అవకాశం ఉంది. అది ఒక వైఫల్యం.

డేటా, టూల్స్ లేదా మెమరీని తాకే ప్రతి ఆపరేషన్, మోడల్ పనిచేయకముందే టెనెంటు ద్వారా స్కోప్ చేయబడాలి. ఇది ఏజెంట్ రన్‌టైమ్‌కు వర్తించే ప్రామాణిక బ్యాకెండ్ సెక్యూరిటీ.

మీ ఆర్కిటెక్చర్ కోసం ఆచరణాత్మక దశలు:

  • లూజ్ పారామీటర్లకు బదులుగా ఒకే RequestContext ఆబ్జెక్ట్‌ను ఉపయోగించండి.
  • ప్రతి బౌండరీ కాంటెక్స్ట్‌ను అంగీకరించాలి లేదా విఫలం కావాలి.
  • మోడల్ వాటిని చూడకముందే టూల్ క్యాటలాగ్‌లను ఫిల్టర్ చేయండి.
  • అథరైజేషన్ (authorization) యొక్క తప్పనిసరి భాగంగా వెక్టర్ ఫిల్టరింగ్‌ను ఉపయోగించండి.
  • ట్రేస్‌లు మరియు లాగ్‌లు సెన్సిటివ్ డేటాకు బదులుగా అస్పష్టమైన (opaque) టెనెంటు ట్యాగ్‌లను ఉపయోగిస్తున్నాయని నిర్ధారించుకోండి.

టెనెంటును గుర్తుంచుకోవాలని మోడల్‌ను అడగకండి. మోడల్ డేటాపై విశ్లేషణ చేయగలదు, కానీ ఆ డేటా ఎవరికి చెందుతుందో అది ఎప్పుడూ నిర్ణయించకూడదు.

స్కోప్డ్ పాత్‌ను (scoped path) అత్యంత సులభమైన మార్గంగా నిర్మించండి. మీరు సింగిల్-యూజర్ మోడల్ ఆధారంగా ప్లాట్‌ఫారమ్‌ను నిర్మిస్తే, మీ మొదటి నిజమైన సంస్థ (organization) చేరిన రోజున మీరు మొత్తం వ్యవస్థను మళ్ళీ మొదటి నుండి రాయాల్సి వస్తుంది.

ఒక ఏజెంట్ ఫ్లోను ట్రేస్ చేయడం ద్వారా ప్రారంభించండి. HTTP రిక్వెస్ట్ నుండి చివరి టూల్ కాల్ వరకు టెనెంటు కాంటెక్స్ట్‌ను అనుసరించండి. ఆ కాంటెక్స్ట్ కాపీ చేయబడే లేదా వదిలివేయబడే ప్రతి చోటును గుర్తించండి. ఆ మ్యాప్‌లోనే మీ అసలైన రిస్క్ దాగి ఉంది.

Source: https://dev.to/luffy_14/multi-tenancy-is-the-real-agent-platform-problem-1dh2

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