
Unreal Agent Ni Nini?
Unreal Agent ni mfumo wa uendeshaji wa mawakala unaotanguliza utekelezaji wa asinchroni kutoka Unreal Labs. Unatoa miundombinu inayoweza kuunganishwa kwa ajili ya kupokea ingizo, kudumisha historia ya kipindi, kuandaa muktadha wa modeli, kuratibu zamu za LLM, kutafsiri miito ya zana, na kusambaza shughuli asinchroni zinazodumu.
Mradi unatenganisha uratibu wa sinchroni na utekelezaji wa asinchroni. Vitafsiri vya zana huthibitisha maombi yaliyotengenezwa na modeli na kutoa maelezo ya shughuli yanayoweza kusawazishwa bila kufanya I/O. Kisha msimamizi wa shughuli hutekeleza shughuli zilizothibitishwa nje ya mzunguko wa matukio wa mratibu.
Muundo wa Hifadhi
Hifadhi imepangwa katika maeneo matatu makuu:
harness/: Maktaba inayoweza kutumika tena ya mfumo wa mawakala.cmd/: Programu zinazotekelezwa zilizojengwa kwa kutumia maktaba.benchmarks/: Waendeshaji wa vipimo vya utendaji kwa ajili ya kutathmini mradi.
Anza na harness/ unapounganisha mfumo huu katika programu nyingine. Kagua cmd/ kwa sehemu halisi za kuanzia programu zinazotekelezwa, na tumia benchmarks/ unapohitaji kuchunguza au kupima tabia ya wakati wa utekelezaji.
Dhana Muhimu
Ingizo na Kikasha
Ingizo ni tukio lenye kitambulisho cha kipekee duniani kote kinachotolewa na mwitaji. Kitambulisho hicho lazima kibaki bila kubadilishwa ikiwa tukio litawasilishwa tena.
Kikasha cha kipindi hutumia vitambulisho hivi kuondoa nakala za ingizo za nje, za udhibiti, na za kuanguka zilizopo kwenye kumbukumbu. Uwezo huu wa kutekeleza ombi mara moja tu ni wa kipindi husika na wa muda, hivyo waitaji bado wanapaswa kutoa vitambulisho thabiti kila mara.
{
"id": "globally-unique-and-stable-id",
"type": "external-input",
"payload": "Example request"
}Muundo huu ni wa kimawazo, si aina ya API ya Unreal Agent iliyoandikwa rasmi. Sharti muhimu ni kitambulisho cha ingizo kilicho thabiti na cha kipekee duniani kote.
Vipindi
Kipindi ni historia iliyohifadhiwa inayoongezwa tu. Vipindi vinaweza kurejeshwa na kugawanywa, hivyo programu inaweza kuendelea na kazi iliyopo au kuunda tawi kutoka historia ya awali bila kuandika upya mfuatano wa kwanza.
Hifadhi ya kipindi inamiliki historia halisi na hali ya shughuli. Pia huhifadhi kwa utaratibu wa atomiki hali ya tafsiri ya mwito wa zana pamoja na shughuli zozote zilizozalishwa na tafsiri hiyo.
Zamu za LLM
Zamu ya LLM ni mfuatano unaosimamiwa na mratibu unaozunguka ombi moja la kimantiki la modeli. Mratibu huhifadhi ingizo zilizokubaliwa, huandaa zamu, hutatua vitafsiri vya zana, hurekodi kazi inayotokana, na kusambaza shughuli zilizothibitishwa.
Zana, Vitafsiri, na Shughuli
Zana huunganisha schema na kitafsiri. Modeli inapotengeneza mwito wa zana, kitafsiri huuthibitisha na kuugeuza kuwa shughuli moja au zaidi.
Kitafsiri cha zana huendesha kwa sinchroni kwenye mzunguko wa matukio wa mratibu. Hakipaswi kufanya I/O au kusimamisha mzunguko.
Matokeo ya tafsiri huitwa hali ya mwito wa zana. Huwa na ama hitilafu ya uthibitishaji au marejeleo ya shughuli zilizowasilishwa. Hali hii ni tofauti na hali ya utekelezaji wa shughuli hizo.
Shughuli ni maelezo ya kazi asinchroni yanayoweza kusawazishwa na yenye matoleo. Vitafsiri hueleza kazi; msimamizi wa shughuli huitekeleza.
Vipengele Muhimu
- Kikasha cha kipindi: Hutoa uwezo wa muda wa kutekeleza ingizo mara moja tu ndani ya kipindi.
- Mratibu: Huhifadhi ingizo zilizokubaliwa, husimamia zamu za LLM, hutatua vitafsiri vya zana, na kusambaza shughuli zilizothibitishwa.
- Hifadhi ya kipindi: Huhifadhi historia halisi ya kipindi na hali ya shughuli, huwezesha urejeshaji na matawi, na huhifadhi kwa atomiki hali ya mwito wa zana pamoja na shughuli.
- Kiunda muktadha: Hukusanya ingizo la modeli kwenye kumbukumbu na kuripoti maudhui yaliyoachwa, yaliyopunguzwa, au yaliyofupishwa. Hakifanyi I/O na hakina utegemezi wa uhifadhi.
- Adapta ya LLM: Hutuma ingizo lililoandaliwa kwa mtoa huduma wa modeli na kurudisha jibu lililokamilika lililosawazishwa. Inamiliki uthibitishaji, kughairi, na hitilafu za mtoa huduma.
- Sajili ya zana: Inamiliki fasili na vitafsiri vya zana za Bash, ViewImage, na skill-use, huku ikiweka wazi seti iliyochaguliwa na mwenyeji.
- Kitafsiri cha zana: Huthibitisha miito, huzalisha hali na shughuli, na kuunda muundo wa hali zilizorekodiwa na matokeo ya shughuli zilizoandaliwa kwa ajili ya modeli.
- Msimamizi wa shughuli: Hutoa mazingira ya mwendeshaji kwa shughuli zinazodumu. Utekelezaji wa ndani unaweza kubadilishwa.
Usakinishaji na Usanidi
README haibainishi msimamizi wa vifurushi, amri ya usakinishaji maalum kwa lugha, au API thabiti ya umma. Kwa hiyo, usanidi unapaswa kuanza kutoka nakala ya ndani ya hifadhi na metadata yake ya ujenzi badala ya amri ya kifurushi inayodhaniwa.
- Fanya clone au pakua hifadhi ya Unreal Agent.
- Fungua mzizi wa hifadhi na ukague faili zake za ujenzi na utegemezi ili kubaini zana zinazotumika.
- Jenga au sakinisha maktaba iliyo chini ya
harness/kwa kutumia zana zilizosanidiwa na hifadhi. - Kagua
cmd/kwa mifano ya programu zinazotekelezwa inayounganisha vipengele vya mfumo. - Tumia
benchmarks/baada tu ya mradi wa msingi kujengwa kwa mafanikio.
cd <unreal-agent-repository>
# Kagua saraka za maktaba, programu zinazotekelezwa, na vipimo vya utendaji.
ls harness
ls cmd
ls benchmarksProgramu mwenyeji pia itahitaji adapta ya LLM iliyosanidiwa kwa mtoa huduma aliyechaguliwa. Uthibitishaji, tabia ya kughairi, na ushughulikiaji wa hitilafu maalum za mtoa huduma vinapaswa kuwa katika adapta hiyo.
Matumizi ya Msingi: Kufuatilia Ombi Moja la Wakala
Kwa kuwa README haichapishi majina halisi ya waundaji au mbinu, njia salama zaidi ya kuelewa matumizi ni kufuata mtiririko wa vipengele ulioandikwa.
- Unda au endeleza kipindi. Hifadhi ya kipindi huhifadhi historia na hutoa usaidizi wa kurejesha.
- Wasilisha ingizo lenye kitambulisho thabiti. Tumia tena kitambulisho hicho unapowasilisha tena tukio lilelile la kimantiki.
- Ondoa marudio kupitia kikasha cha kipindi. Kikasha hukataa au kupuuza maingizo yaliyorudiwa ndani ya kipindi kinachoendelea kulingana na tabia ya utekelezaji.
- Hifadhi ingizo lililokubaliwa. Mratibu hulirekodi katika historia ya kipindi ya kanoni inayoongezwa pekee.
- Unda muktadha wa modeli. Kiunda muktadha hukusanya ingizo la modeli lililo kwenye kumbukumbu na kuripoti maudhui yoyote iliyoyaacha, kuyapunguza, au kuyaunganisha.
- Endesha zamu ya LLM. Adapta ya LLM hutuma ingizo lililoandaliwa kwa mtoa huduma na kurudisha jibu lililokamilika na kusawazishwa.
- Amua miito ya zana. Mratibu hutafuta kila zana iliyoruhusiwa kupitia sajili.
- Tafsiri kwa usawazishaji. Kitafsiri kilichochaguliwa huthibitisha mwito na kutoa ama hitilafu ya uthibitishaji au shughuli zinazoweza kusasishwa.
- Thibitisha kwa atomiki. Hifadhi ya kipindi hurekodi hali ya mwito wa zana na shughuli kwa pamoja.
- Sambaza bila usawazishaji. Kidhibiti cha shughuli hutekeleza shughuli zilizothibitishwa na kufuatilia hali yake ya utekelezaji kando na hali ya tafsiri.
- Umbiza matokeo kwa modeli. Kitafsiri huunganisha hali ya mwito iliyorekodiwa na matokeo ya shughuli yaliyoandaliwa ili kutoa matokeo yanayolenga modeli.
Mfano wa Mzunguko wa Maisha wa Mwito wa Zana
Ingizo lenye kitambulisho thabiti
-> uondoaji wa marudio kwenye kikasha
-> tukio la kipindi lililohifadhiwa
-> uundaji wa muktadha
-> jibu la LLM lililosawazishwa
-> utafutaji kwenye sajili ya zana
-> uthibitishaji na tafsiri ya kusawazisha
-> uthibitishaji wa hali na shughuli kwa atomiki
-> utekelezaji wa shughuli bila usawazishaji
-> uumbizaji wa matokeo yanayolenga modeliUthibitishaji ukishindikana, kitafsiri hurekodi hitilafu ya uthibitishaji badala ya kutoa shughuli. Uthibitishaji ukifaulu, hali hurejelea shughuli zilizowasilishwa, huku kidhibiti cha shughuli kikifuatilia kivyake ikiwa shughuli hizo zinasubiri, zinaendeshwa, zimekamilika, au zimeshughulikiwa kwa njia nyingine na utekelezaji wake.
Kuchagua Zana
Sajili ya zana inamiliki ufafanuzi na watafsiri wa Bash, ViewImage, na matumizi ya ujuzi. Mwenyeji huchagua zana kati ya hizi za kuweka wazi.
Weka wazi tu uwezo unaohitajika kwa uwekaji fulani. README haifafanui sera za uidhinishaji au uwekaji wa vizuizi, kwa hiyo masuala hayo yanapaswa kushughulikiwa na mazingira mwenyeji na safu ya utekelezaji wa shughuli.
Kupanua Harness
Vipengele vya Unreal Agent vimekusudiwa kuunganishwa. Utekelezaji mbadala unaweza kuchukua nafasi ya vipengele vinavyotegemea violesura, mradi udumishe majukumu na kanuni zisizobadilika zilizoandikwa.
Kutekeleza Kitafsiri cha Zana
Kitafsiri maalum kinapaswa kufuata mfuatano huu:
- Thibitisha hoja zilizozalishwa na modeli dhidi ya tarakimu ya zana.
- Rudisha hitilafu ya uthibitishaji ombi linapokuwa batili.
- Linapokuwa halali, unda maelezo moja au zaidi ya shughuli yanayoweza kusasishwa na yenye toleo.
- Rudisha hali inayorejelea shughuli zilizowasilishwa.
- Toa mantiki ya uumbizaji inayobadilisha hali iliyorekodiwa na matokeo ya shughuli yaliyoandaliwa kuwa matokeo yanayolenga modeli.
Weka tafsiri iwe ya kuamua na ya haraka. Usifanye maombi ya mtandao, usifikie faili, usisubiri michakato midogo, wala kufanya I/O nyingine ndani ya kitafsiri.
Kubadilisha Kidhibiti cha Shughuli
Kidhibiti cha shughuli cha ndani kinaweza kubadilishwa. Kiendelezi kimoja kilichoandikwa ni kidhibiti wakala kinachoweka shughuli katika mfululizo na kuzituma kwa kidhibiti kingine cha ndani kinachoendeshwa ndani ya mchakato wa sandbox wa mbali.
Muundo huu huweka mratibu na watafsiri wakijikita katika uthibitishaji na dhamira ya kudumu, huku ukiruhusu utekelezaji kufanyika katika mazingira yaliyotengwa.
Kutekeleza Hifadhi
Hifadhi mbadala za vipindi lazima zidumishe uwezo wa kusasishwa, uwekaji wa matoleo, tabia ya urejeshaji, na uhusiano wa atomiki kati ya hali ya mwito wa zana na shughuli zilizozalishwa.
Mradi unalenga kudumisha uoanifu wa nyuma kwa vipindi. Toleo la kipindi lisiloungwa mkono linapokabiliwa, kuendelea nalo lazima kushindwe kwa hitilafu iliyo wazi badala ya kusoma data hiyo kimakosa bila taarifa.
Vidokezo vya Juu
- Tengeneza vitambulisho vya ingizo kwenye mpaka wa mwitaji. Hifadhi kitambulisho pamoja na tukio lililokianzisha ili majaribio ya tena na uwasilishaji upya vihifadhi utambulisho uleule.
- Usichanganye uondoaji wa nakala kwenye kikasha pokezi na historia ya kudumu. Kikasha pokezi ni cha muda na kinahusishwa na kipindi, huku hifadhi ya kipindi ikiendelea kuhifadhi matukio ya msingi.
- Weka watafsiri wakiwa safi na wa kusawazisha. Tafsiri maombi kuwa operesheni badala ya kutekeleza kazi moja kwa moja.
- Weka toleo kwenye kila umbizo la operesheni. Operesheni zinaweza kuishi zaidi ya mchakato ulioziunda au kuvuka mipaka ya michakato na sandbox.
- Hifadhi miwasilisho ya atomiki. Kurekodi hali ya simu ya zana iliyofanikiwa bila operesheni zake kunaweza kuacha kipindi kikiwa si thabiti baada ya hitilafu.
- Fuatilia tafsiri na utekelezaji kwa kujitegemea. Simu halali inaweza kutoa operesheni iliyowasilishwa ambayo bado haijakamilika.
- Tumia metadata ya mjenzi wa muktadha. Fuatilia kilichoachwa, kilichopunguzwa, au kilichobanwa ili tabia ya modeli iweze kutambuliwa.
- Jumuisha masuala ya watoa huduma sehemu moja. Weka vitambulisho, ughairishaji, na hitilafu za mtoa huduma ndani ya adapta ya LLM.
- Tenganisha vipindi kwa majaribio. Tawi linaweza kuchunguza mwendelezo tofauti huku likihifadhi historia ya kipindi chanzo inayoongezwa tu.
- Tumia meneja wa proksi wa operesheni kwa utengaji. Operesheni zilizowekwa katika mfululizo zinaweza kutumwa kwa mazingira ya utekelezaji yaliyo ndani ya sandbox ya mbali bila kuhamisha tafsiri ya kusawazisha huko.
Masharti Muhimu Yasiyobadilika
Viendelezi vinapaswa kuhifadhi dhamana zifuatazo:
- Vipengee vya hifadhi ya vipindi vibaki vinaweza kuwekwa katika mfululizo.
- Umbizo la hifadhi libaki na matoleo.
- Matoleo ya vipindi yasiyotumika yatoe hitilafu zilizo wazi za kuendelea.
- Operesheni zibaki zinaweza kuwekwa katika mfululizo na ziwe na matoleo.
- Uundaji wa muktadha usifanye I/O na usikubali utegemezi wa uhifadhi.
- Tafsiri ya zana isifanye I/O wala kusimamisha mzunguko wa matukio wa mratibu.
Hitimisho
Unreal Agent hutoa msingi wa moduli kwa mawakala wanaohitaji vipindi vinavyodumu, maingizo yaliyoondolewa nakala, mizunguko ya LLM iliyoratibiwa, simu za zana zilizothibitishwa, na kazi za kudumu za kusawazisha. Kanuni yake kuu ya usanifu ni mpaka safi kati ya tafsiri ya kusawazisha na utekelezaji wa kusawazisha. Anza na programu zinazoweza kutekelezwa zilizopo, fuata mtiririko wa matukio ulioandikwa, na hifadhi uwezo wa kuweka katika mfululizo, matoleo, na atomiki unapobadilisha au kupanua vipengele.
