సుదీర్ఘ ఏజెంట్ టర్న్లను కాంటెక్స్ట్ విండో లోపల ఉంచడం
ఒక మోడల్ ఒకేసారి ఎంత చదవగలదో దానికి పరిమితి ఉంది — దాని కాంటెక్స్ట్ విండో. Mythex ఏజెంట్ దీర్ఘ పని చేస్తుంది: అనేక ఫైళ్లు చదవడం, కమాండ్లు నడపడం, పరిమిత పనులను సబ్-ఏజెంట్లకు అప్పగించడం. దీర్ఘ పని విఫలమయ్యే మూడు మార్గాలు మేము కనుగొన్నాం: సబ్-ఏజెంట్లు మోడల్ ప్రతి అభ్యర్థనను తిరస్కరించేంత పెరిగిపోయాయి, ఒక సబ్-ఏజెంట్ తనకు స్థలం అయిపోయిందని భావించి ముందే ఆగిపోయింది, మరియు రష్యన్, చైనీస్, జపనీస్ టెక్స్ట్ కోసం మా టోకెన్ లెక్క చాలా తప్పుగా ఉంది. ఏమి మార్చామో ఇక్కడ ఉంది.
ముందు కొన్ని పదాలు
- టోకెన్లు అంటే మోడల్ చదివే ముక్కలు. పరిమితులు మరియు ఖర్చులు అక్షరాలు లేదా పదాల్లో కాకుండా వీటిలోనే లెక్కించబడతాయి.
- కాంటెక్స్ట్ విండో అంటే ఒక అభ్యర్థనలో మోడల్ గరిష్టంగా చదవగలిగేది. ఖర్చులు మరియు వేగం సహేతుకంగా ఉండేలా ప్రతి అభ్యర్థనకు మా స్వంత తక్కువ బడ్జెట్ కూడా సెట్ చేస్తాం.
- టూల్ ఫలితాలు అంటే ఏజెంట్ తన టూల్స్ నుండి తిరిగి పొందేవి: ఒక ఫైల్ చదివిన కంటెంట్, నడిపిన కమాండ్ అవుట్పుట్. దీర్ఘ పనిలో, అవే పంపబడేదాంట్లో ఎక్కువ భాగం.
- సబ్-ఏజెంట్ అంటే ప్రధాన ఏజెంట్ స్వతంత్ర పని కోసం ప్రారంభించే సహాయకుడు, ఉదాహరణకు “ఈ అధ్యాయాలను నోట్స్తో పోల్చు”. దానికి ఒకే సూచన వస్తుంది, తర్వాత అది స్వయంగా అనేక టూల్ కాల్స్ ద్వారా పని చేస్తుంది.
సమస్య 1: మోడల్ తిరస్కరించేంత వరకు సబ్-ఏజెంట్లు పెరిగాయి
ప్రతి అడుగులో, ఏజెంట్ ఇప్పటివరకు ఉన్న సంభాషణను మోడల్కు పంపుతుంది. అది చాలా పెద్దదైనప్పుడు, మా కోడ్ దాన్ని కుదించేది — కానీ కేవలం వినియోగదారు సందేశం ప్రారంభంలో మాత్రమే, కాబట్టి టూల్ కాల్ మరియు దాని ఫలితం ఎప్పుడూ విడిపోలేదు. అది మొదటి సందేశాన్ని ఉంచుకుని, ముందటి సంభాషణ కుదించబడిందని ఒక నోట్ జోడించి, సరిపోయే కొత్త పూర్తి టర్న్లను ఉంచేది.
సబ్-ఏజెంట్కు సరిగ్గా ఒకే వినియోగదారు సందేశం ఉంటుంది: దాని సూచన. అక్కడ కత్తిరించడానికి స్థలం లేదు. కాబట్టి అది ప్రతి అడుగులో తన మొత్తం చరిత్రను పంపింది, ప్రతిసారీ పెరుగుతూ, అభ్యర్థన మోడల్ అంగీకరించే దానికంటే పెద్దదయ్యే వరకు — సుమారు ఒక మిలియన్ టోకెన్లు. 8 అలాంటి సబ్-ఏజెంట్లతో చేసిన పరీక్షలో, అన్ని 8 తిరస్కరించబడ్డాయి.
పరిష్కారం: ముందుగా పాత టూల్ ఫలితాలను క్లియర్ చేయడం
అభ్యర్థనలు ఇప్పుడు మూడు దశల్లో బడ్జెట్లోకి సరిపోతాయి; ముందటిది సరిపోకపోతేనే తర్వాతిది ప్రయత్నిస్తాం:
- పాత టూల్ ఫలితాలను క్లియర్ చేయండి. వాటి కంటెంట్ ఒక చిన్న నోట్తో భర్తీ చేయబడుతుంది: కాంటెక్స్ట్ లోపల ఉంచడానికి ఫలితం క్లియర్ చేయబడింది, అవసరమైతే ఏజెంట్ ఆ టూల్ను మళ్లీ నడపవచ్చు. ఒక గంట క్రితం చదివిన ఫైల్ సాధారణంగా అభ్యర్థనలో అతిపెద్దది మరియు అతి తక్కువ ఉపయోగకరమైనది, మరియు ఫైల్ ఇంకా మళ్లీ చదవడానికి అక్కడే ఉంటుంది. కొత్త ఫలితాలు పూర్తిగా ఉంటాయి.
- పూర్తి వినియోగదారు టర్న్లను ఉంచండి. ఇంతకుముందులాగే: మొదటి సందేశం, ఒక నోట్, మరియు సరిపోయే కొత్త పూర్తి టర్న్లు.
- పూర్తి టూల్ రౌండ్లను ఉంచండి. ఒకే దీర్ఘ టర్న్ లోపల — సబ్-ఏజెంట్కు ఉండే ఏకైక రకం — మొదటి సందేశం, ఒక నోట్, మరియు “టూల్ కాల్ చేయి, ఫలితం పొందు” అనే కొత్త పూర్తి రౌండ్లను ఉంచండి.
ఇది పంపబడే దాన్ని మాత్రమే ఆకృతి చేస్తుంది. ఏజెంట్ సేవ్ చేసిన చరిత్ర అంతా ఉంచుతుంది. అదే పరీక్షలో, 8 లో 0 తిరస్కరించబడ్డాయి మరియు మొత్తం 8 పూర్తయ్యాయి.
బ్యాచ్లలో క్లియర్ చేయడం, కాబట్టి కాషింగ్ పనిచేస్తుంది
మోడల్ ప్రొవైడర్లు, అభ్యర్థన ఆరంభం చివరి దానితో ఒకేలా ఉంటే, దానిని మళ్లీ వాడగలరు — దీనిని ప్రిఫిక్స్ కాష్ అంటారు. ప్రతి కాల్లో మరొక ఫలితాన్ని క్లియర్ చేస్తే, అభ్యర్థన ఆరంభం ప్రతి కాల్లో మారుతుంది మరియు కాష్ ఎప్పటికీ సహాయపడదు.
కాబట్టి పాత ఫలితాలను ఒకేసారి ఒకటి కాకుండా నాలుగు చొప్పున క్లియర్ చేస్తాం. క్లియర్ చేయబడిన భాగం అనేక కాల్స్ పాటు ఒకేలా ఉంటుంది. నోట్ కంటే చాలా పెద్దగా లేని ఫలితం వదిలేయబడుతుంది: దానిని క్లియర్ చేస్తే దాదాపు ఏమీ ఆదా కాదు, అయినా అభ్యర్థన ఆరంభం మారిపోతుంది. ఎంత భాగం పూర్తిగా ఉంచాలో నిర్ణయించేది సంఖ్య కాదు, పరిమాణం: బడ్జెట్లో నాలుగింట ఒక వంతులో సరిపోయే కొత్త ఫలితాలు ఉంటాయి, మరియు కనీసం ఒకటి ఎప్పుడూ ఉంటుంది. ముందటి వెర్షన్ స్థిరంగా ఆరు పూర్తిగా ఉంచేది, ఇది చిన్న కమాండ్ అవుట్పుట్కు సరైనది, కానీ పొడవైన ఫైల్ రీడ్లతో, బడ్జెట్లో ఎక్కువ భాగాన్ని పాత ఫలితాలకే వదిలేసేది.
తిరస్కరణలు ఇప్పుడు అది చెబుతాయి
మోడల్ చెల్లనిదిగా తిరస్కరించిన అభ్యర్థన ఇక మళ్లీ ప్రయత్నించబడదు; అదే అభ్యర్థనను మళ్లీ పంపితే అదే సమాధానం వస్తుంది. సంభాషణ మోడల్కు చాలా పొడవైతే, వ్యక్తికి ఇలా కనిపిస్తుంది: “ఈ సంభాషణ మోడల్ ఒకేసారి చదవడానికి చాలా పొడవైంది. తదుపరి దశకు కొత్త చాట్ ప్రారంభించండి — ఇప్పటివరకు నిర్మించినదంతా ఉంటుంది.” అది వ్యక్తి చేయాల్సిన పని, అంతరాయం కాదు, కాబట్టి అది మన వారిని అలర్ట్ చేయదు.
సమస్య 2: ఏజెంట్ “గది ఆదా చేయడానికి” ఆగింది
40 పొడవైన అధ్యాయాలు చదవమని అడిగిన ఒక సబ్-ఏజెంట్ 2 తర్వాత ఆగిపోయింది, తనకు గది ఆదా చేయాలని చెబుతూ. అది 400,000 టోకెన్ల బడ్జెట్లో సుమారు 100,000 టోకెన్లు వాడింది.
పాత ఫలితాలు ఇప్పుడు దాని కోసం క్లియర్ చేయబడతాయని అది తెలుసుకునే మార్గం లేదు. కాబట్టి మేము దానికి చెప్పాం. ఏజెంట్ సూచనలు ఇప్పుడు ఇలా చెబుతాయి: సంభాషణ మోడల్ తీసుకోగలిగే దాటి పెరిగినప్పుడు, పాత టూల్ ఫలితాలు క్లియర్ చేయబడతాయి మరియు కొత్తవి పూర్తిగా ఉంటాయి — కాబట్టి గది ఆదా చేయడానికి దీర్ఘ పనిని ఆపవద్దు; కొనసాగించండి, క్లియర్ అయినది అవసరమైతే మళ్లీ చదవండి.
మోడల్ చూడలేని పరిష్కారం మోడల్ దృష్టిలో పరిష్కారం కాదు. ఏజెంట్ దానిని నమ్మితేనే ఆ యంత్రాంగం సహాయపడుతుంది.
సమస్య 3: ప్రతిదీ ఇంగ్లీష్ అన్నట్లుగా టోకెన్లను లెక్కించడం
టోకెనైజర్ నడపకుండా, అక్షరాలను నాలుగుతో భాగించి టోకెన్లను అంచనా వేసేవాళ్లం. ఇంగ్లీష్ కోసం అది సహేతుకమైన నియమం. ఇతర లిపుల కోసం కాదు: రష్యన్ సుమారు 2.2 అక్షరాలు ఒక టోకెన్, చైనీస్ లేదా జపనీస్ సుమారు ఒకటి.
కాబట్టి రష్యన్ అధ్యాయాలు చదివే ఒక సబ్-ఏజెంట్ దాదాపు 640,000 టోకెన్ల అభ్యర్థన పంపింది, మా అంచనా మాత్రం అది 400,000 బడ్జెట్ కంటే తక్కువ అని చెప్పింది. ఆ అంచనా మోడల్ కఠిన పరిమితి దాటేలా కూడా ఉండవచ్చు.
అంచనా ఇప్పుడు లిపిని బట్టి లెక్కిస్తుంది: సాధారణ ASCII నాలుగు అక్షరాలు ఒక టోకెన్, చైనీస్, జపనీస్, కొరియన్ ఒకటి, మరియు మిగతావన్నీ — సిరిలిక్, గ్రీక్, అరబిక్, ఉచ్చారణ అక్షరాలు, ఎమోజీలు — రెండు. ఇది ఎక్కువగా అంచనా వేయడానికి ఉద్దేశించబడింది. ఒక రష్యన్ అధ్యాయంపై ఇప్పుడు అది 43,423 టోకెన్లు అంచనా వేస్తుంది, కొలిచినది సుమారు 44,600; ముందు అది 25,023 అనేది. సందేశం ఒకసారి రాయబడ్డాక ఎప్పుడూ మారదు కాబట్టి, దాని అంచనా ఒకసారి లెక్కించి గుర్తుంచుకోబడుతుంది, ప్రతి అడుగులో మళ్లీ కాదు.
మేము నేర్చుకున్నది
- పరిమాణం ఎక్కడ ఉందో అక్కడ కుదించండి. ఏజెంట్ పనిలో అది టూల్ ఫలితాలు, వినియోగదారు సందేశాలు కాదు.
- ఏజెంట్కు దాని స్వంత భద్రతా వలల గురించి చెప్పండి. లేకపోతే అది ఇక వర్తించని పరిమితుల చుట్టూ ప్లాన్ చేస్తుంది.
- “అక్షరాలు ÷ 4” ఇంగ్లీష్ ఊహ. బహుభాషా వినియోగదారుల కోసం టోకెన్లను లెక్కించే ఏదైనా లిపిని బట్టి లెక్కించాలి, లేదా నిజమైన టోకెనైజర్ వాడాలి.
- కాష్ గురించి జాగ్రత్త. ప్రతి కాల్లో ముందు భాగం మారే అభ్యర్థన ఎక్కువ ఖర్చవుతుంది మరియు నెమ్మదిగా నడుస్తుంది.
మీ స్వంత యాప్లో AI ఫీచర్లు నిర్మిస్తుంటే, LLM అంటే ఏమిటి మరియు LLM APIలను ఎలా ఉపయోగించాలి గైడ్లు కాంటెక్స్ట్ విండోలు మరియు టోకెన్ల గురించి మొదటి నుంచి వివరిస్తాయి. Mythex లో సబ్-ఏజెంట్లు ఎలా పనిచేస్తాయో మరింత sub-agents docs లో ఉంది.