Xadgudubka Xusuusta ee Ku Qarsoon Calaamadda Horumarka
Bishii Sebtember dhammaadkeeda, agent-ka AI ee workspace-ka isticmaale ayaa ku burburay xadgudub xusuus (out-of-memory) wadada turn-ka. Male-awaalka ugu caansanaa — sub-agents badan oo isku mar socda, ama context weyn oo koraya — labaduba way khaldanaayeen. Sababta dhabta ahayd waxay ahayd calaamad xaaladda: model-ku markii uu qoraal weyn oo shell command ah ku qorayay dhowr xaraf oo keliya marba, waxaan dib u dirnay command-ka oo dhan ilaa hadda calaamad horumar ah marka kasta oo qayb ah. Command 124 KB ah wuxuu noqday qiyaastii 41,000 dhacdo iyo qiyaastii 690 MB oo xargo ah oo sugaya.
Sida agent-ku shaqada u dhex diro
Marka aad Mythex ku dhisayso, agent-ku wuxuu ku shaqeeyaa sandbox-ka gaarka ah ee cloud-ka mashruucaaga. Model-ku markii uu qorayo, wax soo saarkiisu wuxuu ku soo socdaa browser-kaaga: qoraalku wuxuu ka muuqdaa erey erey, markii uu qalab wax ku shaqeeyo — tusaale ahaan shell command oo file qora — waxaad aragtaa calaamad u cusboonaysiisa toos ah, si aad ogaato waxa uu sameynayo.
Model-ku wuxuu u dirraa qaybo yaryar. Model-ka aan isticmaalaynay, qaybahaas badiba waxay ahaayeen saddex xaraf oo keliya.
Male-awaalladii hore waa khaldan yihiin
Dhacdadu waxay u egtay dhibaato miisaan, sidaas darteed waxaan halkaas ka bilownay.
- Sub-agents isku mar? Turn-ku wuxuu isticmaalay laba oo keliya, mid kasta wuxuu hayay qiyaastii 1.5 MB oo xaalad ah. Ma ahan wax ku filan.
- Tracing-ka la hayo? Tracing-keenu wuxuu xusuusta ku hayay run tree, laakiin ma ahayn wax ku dhow heap-kii waqtiga dhacdada.
Labada sheeko way macquul ahaayeen, labadaba waxay ahaayeen kuwo fudud in la aamino. Midna ma soo celin dhacdada. Casharka aan had iyo jeer dib u baranno: male-awaal lama tirin sabab ilaa uu dhacdada dib u soo saaro.
Dib-u-soo-saarid dhab ah
Waxaan dhisnay sandbox ku meel-marin ah oo leh xadadka xusuusta ee production-ka iyo model been ah oo fayl weyn ku dhex-socodsiiyay qaybo saddex xaraf ah oo dabiici ah. Waxaan sidoo kale ka dhigay akhriyaha dhinaca kale ee socket-ka mid gaabis ah, sida shabakad dhab ah.
Taasi way shaqeysay. Heap-ku wuu kor u kacay, habkuna wuxuu dhintay isla khaladkii oo kale.
Habka sababta ahaa mar aan arki karnay wuu fudud yahay. Markii model-ku uu qorayay command weyn — halkan heredoc oo qoray fayl 124 KB ah — code-keena streaming-ku wuxuu cusboonaysiinayay calaamadda qalabka qaybkasta. Calaamaddu ma ahayn saddexdii xaraf ee cusub; waxay ahayd command-ka oo dhan ilaa hadda. Sidaas darteed dhacdooyinku way koraan: 3 xaraf, kadibna 6, kadibna 9, ... ilaa 124 KB, qiyaastii 41,000 jeer. Socket-ku ma dirin karin sida ay u soo saarmayaan, sidaas darteed waxay ku urureen buffer-kiisa qorista oo ah xargo — qiyaastii 690 MB.
Hagaajinta
- Xadid calaamadda. Calaamad xaalad waxay u baahan tahay oo keliya inay sheegto waxa dhacaya. Hadda waxaa lagu xaddidaa 200 xaraf, waxaana xaddidnaa inta jeer ee aanu dib u eegno command-ka qayb ahaan.
- Jooji isku-dhufashada xargaha ee quadratic. Isku-xirka qaybaha streaming-ka oo ah string-ka oo soo noqnoqda waa O(n²) wax soo saarka weyn. Waxaan u guurnay habka chunk-ka ah, kaas oo ku dara wakhti isku mid ah.
Kadibna waxaan raadinnay wax kasta oo kale oo aan xad lahayn oo kori kara markii output badan la soo diro, oo xaddidnay:
- Wax soo saarka command-ka ee toosan ee chat-ka lagu muujiyo waa la isku dhex dhigaa oo waxaa la hayaa 8,000 xaraf ugu dambeeya.
- Sadarka dhacdo kasta waa la xaddidaa 4 MB.
- Buffer-ka dib-u-ciyaarista ee browser-ku isticmaalo si uu u soo qabto markii dib-u-xiriirinta uu ku soo noqdo waa la xaddidaa 8 MB mashruuc kasta.
- Checkpoints-ka duugoobay waa la nadiifiyaa turn-ka intuu socdo, iyada oo la hayo xaaladda ugu dambeysa iyo anchors-ka turnyadii hore u baahnaa.
Tijaabinta daadadka si run ah
Labo arrimood ayaa tijaabinta ka dhigay mid ka adag intii ay u baahnayd:
- Modelada dhabta ahi ma iska kaashadaan. Weydii model inuu daabaco fayl weyn oo aad u weyn wuxuu badanaa diidi doonaa, soo koobi doonaa, ama si caqli badan u qori doonaa. Si aad daadadka u tijaabiso waxaad u baahan tahay model-ka oo qabta waxaad sheegto, isagoo socda code-ka agent-ka dhabta ah.
- Script-yada waa inay u dhaqmaan sida model-yada. Model-kayagii script-ka ee ugu horeeyay wuxuu isticmaali jiray isla ID jawaab ah jawaab kasta, sidaas darteed framework-ka agent-ka jawaab kasta wuxuu u tixgeliyay inuu bedelayo midkii hore, turnyadana wuu soo gebagebeeyay hore. Waxay u muuqatay bug UI refresh. Ma ahayn — harness-ka tijaabada ayaa been nagu sheegay. Waxaan sidoo kale u baahnay inaan script-ka ku xoojinno xadka context-ka dhabta ah ee model-ka, ama tirooyinka xusuusta waxay noqon lahaayeen kuwo aan run ahayn.
Waxa aan ka barannay
- UI-yada streaming-ka ayaa khaladaadka yaryar kordhiya. Wax kasta oo lagu dirayo "chunk kasta" waxaa lagu dirayaa kun ka kun jeer. U dir deltas, ama xaddid payload-ka.
- Xidh buffer kasta oo gudbaya xuduud gaabis ah. Socketsyada, logs-ka dib-u-ciyaarista iyo checkpoints-ka oo dhammaan waxay u baahan yihiin xad sare.
- Dib u soo saar ka hor intaadan hagaajin. Sharaxaadkeenii ugu horeeyay waxay u muuqdeen sax, laakiin waxay khaldanaayeen.
Haddii aad dhowaan ku aragtay file aad u dheer oo chat-ka Mythex ka soo muuqday iyada oo agent-ku aanu istaagin, tani waa qayb ka mid ah sababta.