మీకు Sub-Agents అవసరం లేదు
చాలా మంది ఏజెంట్ ఆర్కిటెక్చర్లను (agent architectures) సంస్థాగత చార్టుల (organizational charts) వలె గీస్తారు.
వారు పైన ఒక Orchestrator ని ఉంచుతారు. Researcher, Coder మరియు Tester లకు గీతలు గీస్తారు. ఇది చూడటానికి స్పష్టంగా, ప్రొఫెషనల్గా కనిపిస్తుంది.
ఇది ఒక పొరపాటు.
1975లో, ఫ్రెడ్ బ్రూక్స్ (Fred Brooks) ఆలస్యమైన సాఫ్ట్వేర్ ప్రాజెక్ట్కు మరికొంత మంది వ్యక్తులను చేర్చడం వల్ల అది ఇంకా ఆలస్యమవుతుందని రాశారు. ఎందుకంటే పని పూర్తయ్యే వేగం కంటే, కమ్యూనికేషన్ ఖర్చులు (communication costs) వేగంగా పెరుగుతాయి.
మీరు ఏజెంట్ల సమూహాన్ని (swarm of agents) నిర్మించినప్పుడు, ఇదే పొరపాటును మళ్ళీ చేస్తారు.
Orchestrator తన సమయాన్ని అంతా సబ్-టాస్క్లను (subtasks) నిర్వహించడానికే ఉపయోగిస్తుంది. ఇది భారీ ఓవర్హెడ్ (overhead) ను సృష్టిస్తుంది. మీరు ఒక ఆర్కిటెక్చర్ను నిర్మించడం లేదు. మీరు కేవలం ప్లంబింగ్ (plumbing) చేస్తున్నారు.
సబ్-ఏజెంట్లు ఎందుకు విఫలమవుతాయో ఇక్కడ చూడండి:
- Context loss: ఒక సబ్-ఏజెంట్ దాని స్వంత విండోలో నడుస్తుంది. అది తన పూర్తి రీజనింగ్ను (reasoning) పేరెంట్కు పంపలేదు. అది కేవలం ఒక సమ్మరీని మాత్రమే పంపుతుంది.
- Expensive workarounds: పేరెంట్ ఏం జరిగిందో చదవగలిగేలా ఉండటం కోసం, ప్రజలు ఏజెంట్లను ఫైల్స్ లేదా git లో రాయమని బలవంతం చేస్తారు. మీరు షేర్డ్ మెమరీని (shared memory) మళ్ళీ సృష్టిస్తున్నారు, కానీ దానిని మరింత నెమ్మదిగా మారుస్తున్నారు.
- Token waste: ప్రతి బౌండరీని దాటుకుని కాంటెక్స్ట్ను పంపడానికి మీరు డబ్బు చెల్లించాల్సి ఉంటుంది. N ఏజెంట్ల సమూహం (swarm) N+1 టోకెన్ల ఖర్చుతో కూడుకున్నది.
- Conflicting decisions: సమాంతర ఏజెంట్లు (Parallel agents) వేర్వేరు ఊహలను (assumptions) చేస్తాయి. ఒకవేళ రెండు ఏజెంట్లు ఒకే విషయాన్ని నిర్మిస్తే, అవి తరచుగా వేర్వేరు శైలులు లేదా లాజిక్ను ఉపయోగిస్తాయి.
పరిశోధనల ప్రకారం, మల్టీ-ఏజెంట్ ఫ్రేమ్వర్క్ల (multi-agent frameworks) వైఫల్య రేటు 41% నుండి 87% మధ్య ఉంటుంది. ఏజెంట్లు ఒకరికొకరు సరిగ్గా అర్థం చేసుకోలేకపోవడం వల్ల ఈ వైఫల్యాలు జరుగుతాయి. మెరుగైన మోడల్ దీనిని పరిష్కరించదు. ఇది కోఆర్డినేషన్ సమస్య (coordination problem), మోడల్ సమస్య కాదు.
దానికి బదులుగా మీరు ఎలా నిర్మించాలి?
ఈ రెండు నియమాలను పాటించండి:
- పనులు స్వతంత్రంగా ఉంటే, వాటిని విడివిడి లూప్లుగా (separate loops) నడపండి. రెండు వేర్వేరు ప్రోగ్రామ్లను ఉపయోగించండి. ఇది పారలల్ ప్రాసెసింగ్ (parallel processing), మల్టీ-ఏజెంట్ సిస్టమ్ కాదు.
- ఒకవేళ పనికి ఒకే క్రమబద్ధమైన ఆలోచనా విధానం (single train of thought) అవసరమైతే, ఒకే ఒక లూప్ను ఉపయోగించండి.
ఒకే లూప్ మొత్తం కాంటెక్స్ట్ను ఒకే చోట ఉంచుతుంది. ఇది సులభంగా స్వయంగా సరిదిద్దుకుంటుంది (self-corrects). ఇది గందరగోళంగా ఉండే గ్రూప్ చాట్ లా కాకుండా, స్పష్టమైన హిస్టరీని మిగిలిస్తుంది.
మెష్లను (meshes) నిర్మించడం ఆపండి. లూప్లను (loops) నిర్మించడం ప్రారంభించండి.
Source: https://dev.to/tony__vi/you-dont-need-sub-agents-1eh7
Optional learning community: https://t.me/GyaanSetuAi