Blogg

Að halda löngum lotum agentsins innan samhengisgluggans

Líkan getur aðeins lesið ákveðið magn í einu — samhengisgluggann sinn. Agent Mythex vinnur langa vinnu: les mörg skjöl, keyrir skipanir og felur afmörkuð verkefni undiragentum. Við fundum þrjár leiðir þar sem löng vinna brást: undiragentar uxu þar til líkanið hafnaði hverri beiðni, undiragent hætti snemma því hann hélt að hann væri búinn að missa pláss, og táknatalning okkar var stórlega röng fyrir rússneskan, kínverskan og japanskan texta. Hér er hvað við breyttum.

Nokkur hugtök fyrst

  • Tákn eru bitarnir sem líkan les. Takmörk og kostnaður eru talin í táknum, ekki stöfum eða orðum.
  • Samhengisgluggi er það mesta sem líkan getur lesið í einni beiðni. Við setjum líka okkar eigið lægra fjárhagsáætlun fyrir hverja beiðni, svo kostnaður og hraði haldist hóflegur.
  • Niðurstöður verkfæra eru það sem agentinn fær til baka frá verkfærum sínum: innihald skráar sem hann las, úttak skipunar sem hann keyrði. Í langri vinnu er þetta mest af því sem er sent.
  • Undiragent er hjálparmaður sem aðalagentinn ræsir fyrir sjálfstætt verkefni, til dæmis „athugaðu þessa kafla við glósurnar“. Hann fær eina fyrirmæli og vinnur síðan í gegnum marga verkfærakalla á eigin spýtur.

Vandamál 1: undiragentar uxu þar til líkanið hafnaði þeim

Hvert skref sendir agentinn samtalið hingað til í líkanið. Þegar það varð of stórt klippti kóðinn okkar það — en aðeins í upphafi notendaskilaboðs, svo að verkfærakall og niðurstaða þess væru aldrei slitin í sundur. Hann hélt fyrstu skilaboðunum, bætti við athugasemd um að eldra samtal hefði verið stytt, og hélt nýjustu heilu lotunum sem komust fyrir.

Undiragent hefur nákvæmlega eitt notendaskilaboð: fyrirmælin sín. Það var hvergi hægt að klippa. Svo hann sendi alla sína sögu í hverju skrefi, og hún stækkaði í hvert sinn, þar til beiðnin var stærri en líkanið tekur við yfirleitt — um milljón tákn. Í prófi með 8 slíkum undiragentum var öllum 8 hafnað.

Lagfæringin: hreinsa gamlar niðurstöður verkfæra fyrst

Beiðnir passa nú í fjárhagsáætlunina í þremur skrefum, og hvert skref er reynt aðeins ef það fyrra dugði ekki:

  1. Hreinsa elstu niðurstöður verkfæra. Innihald þeirra er leyst af hólmi með stuttri athugasemd: niðurstaðan var hreinsuð til að halda samtalinu innan samhengis líkansins, og agentinn getur keyrt verkfærið aftur ef hann þarf á henni að halda. Skrá sem var lesin fyrir klukkustund er yfirleitt stærsta og minnst gagnlega í beiðninni, og skráin er enn til staðar til að lesa aftur. Nýjustu niðurstöðurnar haldast heilar.
  2. Halda heilum notendalotum. Eins og áður: fyrstu skilaboðin, athugasemd og nýjustu heilu lotunum sem komast fyrir.
  3. Halda heilum verkfæralotum. Innan einnar langrar lotu — eina gerðar lotu sem undiragent hefur — halda fyrstu skilaboðin, athugasemd og nýjustu heilu umferðirnar af „kalla á verkfæri, fá niðurstöðu“.

Þetta hefur aðeins áhrif á það sem er sent. Vistuð saga agentsins geymir allt. Í sama prófi var 0 af 8 hafnað og allir 8 kláruðu.

Hreinsun í lotum, svo skyndiminnið virki áfram

Líkanaveitendur geta endurnýtt vinnu við upphaf beiðni ef hún er eins og sú síðasta — forskeytis-skyndiminni. Ef við hreinsuðum eina niðurstöðu í viðbót í hverju kalli myndi upphaf beiðninnar breytast í hvert skipti og skyndiminnið myndi aldrei hjálpa.

Svo elstu niðurstöðurnar eru hreinsaðar fjórar í einu, ekki eina. Hreinsaði hlutinn helst þá sá sami í nokkur köll. Niðurstaða sem er ekki mikið stærri en athugasemdin er látin í friði: að hreinsa hana myndi spara næstum ekkert og samt breyta upphafi beiðninnar. Hversu mikið helst heilt er ákveðið eftir stærð, ekki fjölda: nýjustu niðurstöðurnar sem komast fyrir í fjórðungi fjárhagsáætlunarinnar haldast, og að minnsta kosti ein alltaf. Fyrri útgáfa hélt föstum sex heilum, sem var rétt fyrir stutta skipanaúttak, en með löngum skráalestrum skildi hún eftir mest af fjárhagsáætluninni handa gömlum niðurstöðum.

Hafnanir segja nú til um það

Beiðni sem líkanið hafnar sem ógildri er ekki lengur endurreynd; að senda sömu beiðni aftur fær sama svar. Ef samtalið er of langt fyrir líkanið sér fólk: „Þetta samtal varð of langt til að líkanið gæti lesið það í einu. Byrjaðu nýtt spjall fyrir næsta skref — allt sem er byggt hingað til helst.“ Það er ákvörðun fólksins, ekki bilun, svo það sendir ekki viðvörun til okkar.

Vandamál 2: agentinn stoppaði til að „spara pláss“

Undiragent sem var beðinn um að lesa 40 löng kafla stoppaði eftir 2, og sagði að hann vildi spara pláss. Hann hafði notað um 100.000 tákn af 400.000 tákna fjárhagsáætlun.

Hann hafði enga leið til að vita að gamlar niðurstöður yrðu nú hreinsaðar fyrir hann. Svo við sögðum honum það. Fyrirmæli agentsins segja nú að þegar samtalið vex umfram það sem líkanið tekur við, séu elstu niðurstöður verkfæra hreinsaðar og þær nýjustu haldist heilar — svo ekki stöðva langt verkefni til að spara pláss; haltu áfram, og lestu skrá aftur ef þú þarft það sem var hreinsað.

Lagfæring sem líkanið sér ekki er ekki lagfæring frá sjónarhorni líkansins. Búnaðurinn hjálpar aðeins ef agentinn treystir honum.

Vandamál 3: að telja tákn eins og allt væri enska

Við mátum tákn án þess að keyra táknara, sem stafafjölda deilt með fjórum. Það er skynsamleg þumalputtaregla fyrir ensku. Það er ekki rétt fyrir önnur letur: rússneska er um 2,2 stafir á tákn, og kínverska eða japanska um einn.

Undiragent sem las rússneska kafla sendi því beiðni upp á um 640.000 tákn, á meðan mat okkar sagði að hún væri undir 400.000 tákna fjárhagsáætluninni. Matið gat alveg eins hafa sett beiðni yfir harðan mörk líkansins.

Matið telur nú eftir letri: venjulegt ASCII á fjóra stafi á tákn, kínversku, japönsku og kóresku á einn, og allt annað — kyrillískt, grískt, arabískt, áherslustafi, emoji — á tvo. Það á að skeikna of hátt. Á einum rússneskum kafla áætlar það nú 43.423 tákn á móti um 44.600 mældum; áður sagði það 25.023. Þar sem skilaboð breytast aldrei eftir að þau eru rituð er matið reiknað einu sinni og geymt, í stað þess að vera reiknað í hverju skrefi.

Það sem við lærðum

  • Klipptu þar sem stærðin raunverulega er. Í vinnu agentsins er það í niðurstöðum verkfæra, ekki í notendaskilaboðum.
  • Segðu agentinum frá eigin öryggisnetum. Annars skipuleggur hann sig í kringum takmörk sem eiga ekki lengur við.
  • „Stafir ÷ 4“ er forsenda sem gildir um ensku. Allt sem telur tákn fyrir fjöltyngda notendur þarf að telja eftir letri, eða nota alvöru táknara.
  • Hugsaðu um skyndiminnið. Beiðni sem breytist framan á í hverju kalli kostar meira og keyrir hægar.

Ef þú ert að byggja gervigreindareiginleika inn í þitt eigið app, fjalla leiðbeiningarnar okkar um hvað LLM er og hvernig þú notar LLM API um samhengisglugga og tákn frá upphafi. Meira um hvernig undiragentar virka í Mythex er í skjölum um undiragenta.

Mythex · Pricing · Smíðaðu hvað sem er með gervigreind · Sniðmát fyrir vefsíður og forrit · Mythex í samanburði · Orðasafn um forritasmíði með gervigreind · Ókeypis verkfæri fyrir forritasmíði með gervigreind · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)