Yeqa uye kokuyinhloko
Izifundo ze-AI

Yakha Iseva Yokulawula Izinguqulo Elungele Ama-Agent e-AI nge-gitai

Lesi sifundo sethula i-gitai, uhlelo oluvulekile lokulawula izinguqulo olugxile kuseva futhi olwenzelwe ama-agent okubhala ikhodi. Uzolwakha usuka emthonjeni, usebenzise indawo yesibonelo, uqonde ukwakheka kwalo, ulungise iseva, futhi uhlole izinqubo zokuhlanganisa izinguquko, ukugcina, ukugcina kwesikhashana, ukubuyekeza, nokuqinisekisa.

Yakha Iseva Yokulawula Izinguqulo Elungele Ama-Agent e-AI nge-gitai

Yini i-gitai?

gitai iwuhlelo lokulawula izinguqulo oluwumthombo ovulekile olwenzelwe ama-agent e-AI okubhala ikhodi. Lusebenzisa indlela egxile kuseva, lapho amaklayenti ehlala eku-inthanethi, ethatha kuphela izinto nezindlela azidingayo, bese ethumela imisebenzi yokulawula umthombo kuseva.

Le phrojekthi igqugquzelwe umklamo we-Scion we-Anthropic ochazwe esidlangalaleni, kodwa i-gitai iwukuqaliswa okuzimele. Inelayisensi ye-MIT, ayiboshelwe kumthengisi othile, futhi ayidingi ukuthi iseva ibize imodeli yolimi. Imisebenzi esebenzisa i-AI ingasebenzisa noma yimuphi umhlinzeki, ithuluzi elinqunywe kusengaphambili, noma ingasebenzisi nhlobo umhlinzeki we-AI.

Ngaphakathi, i-gitai isebenzisa amakhosombe e-Git ajwayelekile, kodwa idlulisela imibuzo yomlando, ukuletha izinguquko, ukulandelela ama-changeset, nokuxhumanisa amakhosombe kuseva. Le modeli ihloselwe imithwalo yomsebenzi enemisebenzi eminingi yesikhashana edinga ukuletha izinguquko ngokushesha emagatsheni abelwana ngawo.

Izici ezibalulekile

  • Ukufinyelela okukhethiwe kudatha: isevisi yezinto ihlinzeka ngezinto ngazinye nezihlahla ezingaphelele. Imiyalo ye-graft clone ne-graft sparse yenza kube khona kuphela izindlela eziceliwe.
  • Umlando oseceleni kweseva: i-blame, umlando wendlela, uhlu lozalo, nokusesha ikhodi kwenziwa kuseva futhi kugcinwa njengedatha etholwe ngokususelwa kwenye idatha.
  • Ukuletha izinguquko ngesikhathi esisodwa: i-UserLand iphinda isekele izinguquko phezu kwesiqongo samanje segatsha futhi isebenzisa izibuyekezo ze-compare-and-swap esikhundleni somugqa wendabuko wokuhlanganisa. Izinguquko ezilethwa ngesikhathi esisodwa zingahlanganiswa zibe isibuyekezo esisodwa sereferensi.
  • Ukuxazulula izingxabano: izinguquko eziphikisanayo zingasebenzisa isixazululi esikhethiwe ngephrothokholi enenguqulo futhi engaboshelwe kumthengisi othile.
  • Ilogi yama-changeset: izibuyekezo zamareferensi ezamukelwe zigcina umsebenzi wazo nomlingisi wazo elogini ehleliwe amaklayenti angayifaka ohlwini noma ayilandele.
  • Isitoreji esikhulayo: i-SQLite noma i-PostgreSQL igcina ama-changeset, amareferensi, ukubuyekezwa, nelogi yokubhala ngaphambi kwesikhathi, kuyilapho amaphakheji anamakheli asuselwa kokuqukethwe engahlala kusitoreji samafayela, i-S3, i-GCS, noma i-Azure.
  • Izilawuli zama-agent: amathokheni e-agent ngayinye, uhlu lwama-RPC avunyelwe, nezinqubomgomo zamagatsha kunquma ukuthi yimiphi imisebenzi ama-agent angayenza.
  • Ukuqinisekisa nokuqapha: i-graft-verify ingahlola isiqongo, ihlukanise ukwehluleka nge-bisect, futhi ibuyisele emuva ushintsho oluyimbangela. Ama-agent aqaphayo, abizwa ngokuthi ama-superfan, alandela ukusakazwa kwama-changeset futhi angabika nge-Slack.
  • Ukugcina kunqolobane okuqinile: i-graft-cache ingagcina izinto ezingaguquki kunqolobane kumazinga e-daemon nawesifunda, iqinisekisa into ngayinye.

Indlela ukwakheka okusebenza ngayo

Ama-agent, imisebenzi ye-CI, nezindawo zokusebenza ezingaphelele zixhumana neseva ye-gitai nge-Graft CLI noma i-Go SDK zisebenzisa i-gRPC. I-daemon ye-graft-cache ongayikhetha ihlala phambi kweseva ukuze inikeze amanye amazinga enqolobane.

Iseva iphethe ukuletha izinguquko, ukufinyelela ezintweni, ama-changeset, idatha etholwe ngokususelwa kwenye idatha, ukusesha, nokubuyekeza. Indlela yayo yokubhala ihlanganisa i-changeset nomsebenzi we-compare-and-swap wereferensi ngayinye. Isitoreji sedathabheyisi sigcina ilogi yokubhala ngaphambi kwesikhathi yama-changeset, amareferensi, ilogi yezinguquko, nokubuyekezwa. Isitoreji sezinto sigcina amaphakheji anamakheli asuselwa kokuqukethwe.

Amanodi eseva aklanyelwe ukuba abe yizinqolobane zesikhashana ezingenaso isimo ezingakhiwa kabusha. Lokhu kuvumela ukungezwa kwamanodi engeziwe njengoba ukuthunyelwa kukhula. Amakhosombe e-Git endawo ahlala ekhona njengezinqolobane ezingakhiwa kabusha yinoma iyiphi inodi.

Ukuze uthole imininingwane eyengeziwe, funda imibhalo yokwakheka yephrojekthi kanye nemibhalo yesitoreji.

Faka futhi wakhe i-gitai

1. Faka izimfuneko zokuqala

I-gitai okwamanje idinga i-Linux noma i-macOS, i-Go 1.26, uchungechunge lwamathuluzi e-C, i-Meson, ne-Ninja. Ukwakhiwa kuhlanganisa inguqulo ye-Git efakiwe ngaphakathi, ngakho qinisekisa ukuthi amathuluzi omdabu adingekayo okwakha ayatholakala ngaphambi kokuqala.

2. Kopisha ikhosombe

git clone https://github.com/feder-cr/git-ai.git
cd git-ai

3. Yakha ama-binary

Qalisa i-Make target ukuze wakhe iseva, i-CLI, namathuluzi asekelayo:

make build

Ama-binary aphumayo afakwa ku-_build/bin. Ukuze uhlole i-CLI nemiyalo etholakalayo, sebenzisa:

./_build/bin/graft

Qalisa ukuqala okusheshayo

Ikhosombe lihlanganisa isibonelo esiqala indawo yesikhashana ye-gitai eneseva, i-cache daemon, ama-agent amabili, nomsebenzi wokuletha izinguquko:

examples/graft/quickstart.sh

Lena indlela eshesha kakhulu yokubona ukugeleza komsebenzi okuyinhloko ngaphandle kokulungiselela idathabheyisi ehlala njalo, isitolo sezinto, noma ukuthunyelwa. Njengoba isibonelo sisebenzisa umkhombandlela wesikhashana, silungele kakhulu ukufunda nokuzama.

Qalisa iseva yakho

1. Qala ngokucushwa kwesibonelo

Sebenzisa examples/graft/config.toml njengesiqalo sokucushwa kweseva ngokwezifiso. Iseva ingaqalwa nge-binary eyakhiwe:

_build/bin/gitaly serve config.toml

Ngaphakathi kwesihlahla somthombo, izandiso eziseceleni kweseva zibizwa ngokuthi Graft. Uzobona leli gama esigabeni sokucushwa se-[graft], ku-CLI ye-graft, kuphakheji ye-internal/graft, nasemibhalweni ye-Graft.

2. Faka idathabheyisi nesitoreji sezinto

Ekuthunyelweni lapho isimo sekhosombe sigcinwa khona kudathabheyisi nasesitoreji sezinto, engeza isigaba se-[graft.storage] ekucushweni. Inqubo yokuthutha ebhalwe phansi iwukuqala ngemodi ye-shadow, ungenise amakhosombe, bese ushintshela kwimodi ye-authoritative.

Landela umhlahlandlela wesitoreji ukuze uthole imininingwane eqondile yokucushwa nokuthutha. Imodeli yesitoreji esekelwayo isebenzisa i-SQLite noma i-PostgreSQL kudatha yokuxhumanisa, kanye nesitoreji samafayela, i-S3, i-GCS, noma i-Azure kumaphakheji anamakheli asuselwa kokuqukethwe.

Sebenza nezinguquko zama-agent

Kuhlelo lwendabuko lwe-Git, isisebenzi ngasinye singakha ikhophi yenqolobane, sithuthukise endaweni, bese siphushela egatsheni elabiwe. I-gitai yona ivumela ama-agent ukuthi ahlale exhumene neseva futhi acele kuphela idatha ayidingayo.

Ama-agent angasebenzisa izindawo zokusebenza ezi-sparse ukuze anciphise izindlela ezibonakalayo. Imiyalo efanele ihlanganisa:

  • graft clone ukuze kubonakaliswe ukubuka okukhethiwe kwenqolobane.
  • graft sparse ukuze kucelwe noma kulungiswe kuphela izindlela ezidingwa umsebenzi.

Uma i-agent isilungele ukufaka umnikelo, i-UserLand ibeka kabusha ushintsho phezu kwe-tip yamanje bese izama isibuyekezo se-compare-and-swap. Uma ama-agent amaningi efaka izinguquko ngesikhathi esisodwa egatsheni elilodwa, i-gitai ingahlanganisa leyo misebenzi ibe isibuyekezo esisodwa sereference esikhundleni sokuphoqa i-agent ngayinye ukuthi idlule kulayini wayo ohlukile wokuhlanganisa.

Uma ukufakwa kudala ukungqubuzana, lungiselela i-resolver ngokwemibhalo ye-ukuxazulula ukungqubuzana. I-resolver ingase isekelwe kumhlinzeki we-LLM, ethuluzini elinqumayo ngendlela efanayo, noma ingasebenzisi mhlinzeki we-AI wangaphandle.

Hlola ama-changeset, ukubuyekezwa, nokuqinisekiswa

Umlando wama-changeset

Isibuyekezo ngasinye sereference esamukelwayo siba yirekhodi kulogi yama-changeset. Leli rekhodi lihlanganisa umsebenzi nomenzi wawo, linike amaklayenti umlando ohlelekile angawubala noma awubuke bukhoma. Lokhu kusakazwa kungaphinde kuqhube ama-agent okuqapha alandelela izinguquko ezihlobene nezingxenye ezithile.

Ukubuyekezwa nezinqubomgomo

i-gitai ihlanganisa ukubuyekezwa okulungele ama-agent okunemithetho yokwamukela esekelwe encazelweni yoshintsho. Ngokwesibonelo, ushintsho lwamazwana kuphela lungadinga ukwamukelwa okumbalwa kunoshintsho lwengqondo yokusebenza. Izilawuli zokuphepha zama-agent zihlanganisa namathokheni e-agent ngayinye, uhlu lwama-RPC avunyelwe, nezinqubomgomo zamagatsha.

Funda imibhalo yokubuyekezwa kanye nemibhalo yokuphepha kwama-agent ngaphambi kokuvulela abasebenzisi abazenzakalelayo iseva.

Ukuqinisekiswa ngemva kokufakwa

Ukuhamba komsebenzi kwe-graft-verify kuhlola i-tip yegatsha ngemva kokufakwa kwezinguquko. Uma ukuhlola kwehluleka, kungahlukanisa izinguquko nge-bisect bese kubuyisela ushintsho oludale ukwehluleka. Lokhu kusekela indlela yokusebenza lapho ukuhlanganisa kwenzeka ngokuqhubekayo futhi uhlelo lukhomba ushintsho olubangele i-tip ephukile.

Bheka umhlahlandlela wokuqinisekisa ukuze ubone ukuhamba komsebenzi nokumiswa okusekelwayo.

Amacebo okuthunyelwa athuthukile

  • Sebenzisa i-caching ngokuqonda: engeza i-graft-cache lapho ama-agent noma imisebenzi ye-CI idinga ukufinyelela okusheshayo ezintweni ezingaguquki kuzo zonke izigaba ze-daemon noma zezinqolobane zesifunda.
  • Hlukanisa ukuxhumanisa nokugcina izinto: sebenzisa i-SQLite noma i-PostgreSQL kuma-changeset nama-reference, bese ulungiselela i-backend yokugcina izinto yamaphakheji enqolobane.
  • Khulisa ngesengezo samanodi: amanodi eseva akhelwe njengama-cache angakhiwa kabusha, ngakho ukungeza amanodi akudingi ukuthi inodi ngayinye igcine isimo esizimele nesigunyaziwe.
  • Funda imibhalo yokufaka: umhlahlandlela wokufaka nokuhlanganisa ngamaqoqo uchaza ukuhamba komsebenzi kwe-compare-and-swap nezibuyekezo ezenzeka ngesikhathi esisodwa.
  • Buyekeza imikhawulo yamanje: lena yinguqulo 0.1.0, izixhumi zingashintsha ngaphambi kuka-1.0, futhi izikhala ezaziwayo njengokuqoqwa kukadoti kwamaphakheji zibhalwe ku-LIMITATIONS.md.
  • Sebenzisa imibhalo yokuklama: i-PLAN.md kuya ku-PLAN6.md ichaza isizathu nokuthuthuka kokusetshenziswa.

Isiphetho

i-gitai ivumelanisa imodeli yokulawula ikhodi egxile kuseva nezinqolobane ezisetshenziswa ama-agent amaningi okubhala amakhodi ngesikhathi esisodwa. I-Graft CLI neseva yayo inikeza ukufinyelela kwedatha okuyi-sparse, umlando oseceleni kweseva, ukufakwa kwe-compare-and-swap, ukuxazululwa kokungqubuzana, amalogi ama-changeset, ukubuyekezwa, ukuqinisekiswa, nokugcinwa okungakhula.

Qala ngo-make build kanye ne-examples/graft/quickstart.sh, bese uya kuseva emisiwe kanye nokugcinwa okuhlala njalo uma usuyiqonda indlela yokusebenza. Ukuze uthole ukuqondiswa okujulile kokusetshenziswa nokusebenza, sebenzisa i-Quickstart yephrojekthi, ireferensi yokumisa, kanye nemibhalo yokwakheka kohlelo.