stub ChatDev: Ji bo Pêşkeftina Nermalavê Nûnerên Ragihandinê - Unite.AI
Girêdana bi me

Îstîxbaratê ya sûnî

ChatDev: Ji bo Pêşkeftina Nermalavê Nûnerên Ragihandinê

mm
Demê on
ChatDev: Pêşveçûna Nermalava Alîkariya AI

Pîşesaziya pêşkeftina nermalavê deverek e ku bi gelemperî hem li ser şêwirdariyê û hem jî bi têgihiştinê ve girêdayî ye, ku ji hêla stratejiyên biryargirtinê yên tevlihev ve tête diyar kirin. Wekî din, pêşkeftin, domandin û xebitandina nermalavê nêzîkatiyek dîsîplîn û rêbazî hewce dike. Ji bo pêşdebirên nermalavê gelemperî ye ku li gorî tevliheviya pirsgirêkê, li gorî tevliheviya pirsgirêkê, li şûna şêwirdariyê, biryarên li ser intuition bingeh digirin. Di hewildanek ji bo zêdekirina karbidestiya endezyariya nermalavê, tevî bandora nermalavê û kêmkirina lêçûnên pêşkeftinê, zanyar li karanîna çarçoveyên bingehîn ên fêrbûna kûr digerin da ku di pêvajoya pêşkeftina nermalavê de karên cihêreng çareser bikin. Digel pêşkeftin û pêşkeftinên vê dawîyê yên di sektorên fêrbûna kûr û AI-yê de, pêşdebir li awayan digerin ku pêvajo û pratîkên pêşkeftina nermalavê veguherînin. Ew vê yekê bi karanîna sêwiranên sofîstîke yên ku di qonaxên cihêreng ên pêvajoya pêşkeftina nermalavê de têne bicîh kirin, dikin.

Îro, em ê ChatDev, Modelek Zimanek Mezin (LLM) li ser bingeha, nêzîkatiyek nûjen ku armanc dike ku şoreşa qada pêşkeftina nermalavê bike nîqaş bikin. Ev paradîgma hewl dide ku di her qonaxa pêvajoya pêşkeftinê de hewcedariya modelên pispor ji holê rake. Çarçoveya ChatDev kapasîteyên çarçoveyên LLM-ê bikar tîne, danûstendina zimanê xwezayî bikar tîne da ku pêvajoyên pêşkeftina nermalava sereke yek bike û rêkûpêk bike.

Di vê gotarê de, em ê ChatDev, pargîdaniyek virtual-hêza ku di pêşkeftina nermalavê de pispor e, bigerin. ChatDev modela avê dipejirîne û bi hûrgulî pêvajoya pêşkeftina nermalavê li çar qonaxên bingehîn dabeş dike.

  1. Mînakkirin. 
  2. Kodkirin. 
  3. Testkirin. 
  4. Dokumentasyonê 

Her yek ji van qonaxan tîmek ajanên virtual mîna bernameçêkerên kodê an ceribandinên ku bi hevûdu re hevkariyê dikin bi karanîna diyalogên ku di encama xebatek bêkêmasî de encam didin bicîh dike. Zincîra danûstendinê wekî hêsankar dixebite, û her qonaxek pêvajoya pêşkeftinê di binxebatên atomê de vediqetîne, bi vî rengî rolên dualî dihêle, rê dide pêşniyaran û erêkirina çareseriyan bi karanîna danûstendinên-agahdar ên ku destûrê dide pêşdebiran ku bi bandorkerên jêrîn ên diyarkirî çareser bikin. 

ChatDev: Pêşveçûna Nermalava Alîkariya AI

Analîza amûrî ya ChatDev destnîşan dike ku ne tenê çarçoveya ChatDev di temamkirina pêvajoya pêşkeftina nermalavê de pir bi bandor e, lê ew pir lêçûn e û her weha ew tevahiya pêvajoya pêşkeftina nermalavê di binê dolarek de temam dike. Digel vê yekê, çarçove ne tenê nas dike, lê di heman demê de qelsiyên potansiyel jî kêm dike, halusînasyonên potansiyel rast dike, hemî di heman demê de ku karbidestiya bilind, û lêçûn-bandor diparêze. 

ChatDev: Destpêkek Pêşveçûna Nermalava LLM-Powered

Bi kevneşopî, pîşesaziya pêşkeftina nermalavê ew e ku li ser bingehên rêgezek birêkûpêk û rêgez ne tenê ji bo pêşdebirina serîlêdanan, lê di heman demê de ji bo parastin û xebitandina wan jî hatî çêkirin. Bi awayekî kevneşopî, pêvajoyek pêşkeftina nermalavê ya tîpîk pêvajoyek hûrgulî, tevlihev û demdirêj e ku bi çerxên pêşkeftinê yên dirêj ve digire, ji ber ku di pêvajoya pêşkeftinê de gelek rol hene, di nav de hevrêziya di nav rêxistinê de, dabeşkirina karan, nivîsandina kodê, ceribandin, û di dawiyê de, belgekirin. 

Di van çend salên dawî de, bi alîkariya LLM an Modelên Zimanên Mezin, civata AI-ê di warên dîtina kompîturê, û pêvajokirina zimanê xwezayî de qonaxên girîng bi dest xistiye, û piştî perwerdehiya li ser paradîgmayên "pêşbînkirina peyva paşerojê", Modelên Zimanên Mezin qabîliyeta xwe ya vegerandina performansa bikêr li ser rêzek berfireh a peywirên jêrîn baş nîşan dane. mîna wergera makîneyê, bersiva pirsê, û hilberîna kodê. 

Her çend Modelên Zimanên Mezin dikarin ji bo tevahiya nermalavê kodê binivîsin jî, kêmasiyek wan a mezin heye: halusînasyonên kodê, ku bi tevahî dişibihe halusînasyonên ku ji hêla çarçoveyên pêvajoya zimanê xwezayî ve rû bi rû ne. Halusînasyona kodê dikare pirsgirêkên mîna xeletiyên nedîtî, girêdanên wenda, û pêkanînên fonksiyonê yên bêkêmasî pêk bîne. Du sedemên sereke yên halusînasyona kodê hene. 

  • Nebûna Taybetmendiya Karê: Dema ku koda nermalavê di yek gavê de hilberandin, nedanasîna taybetmendiya peywirê LLM-an wekî peywirên di pêvajoya pêşkeftina nermalavê de mîna analîzkirina hewcedariyên bikarhêner, an hilbijartina zimanê bernamesaziya bijare bi gelemperî ramîna rêberî peyda dike, tiştek ku ji asta bilind winda dibe. -peywirên astê ku ji hêla van LLM-an ve têne rêve kirin. 
  • Nebûna Muayeneya Xaçê : Dema ku muayeneyek xaçê bi taybetî di dema pêvajoyên biryardanê de neyê kirin, xetereyên girîng digihîjin. 

ChatDev armanc dike ku van pirsgirêkan çareser bike, û hêsankirina LLM-yên bi hêza afirandina rewşa hunerî, û serîlêdanên nermalava bandorker bi afirandina pargîdaniyek virtual-hêzdar ji bo pêşkeftina nermalavê ku modela avê ava dike, û bi hûrgulî pêvajoya pêşkeftina nermalavê li çar seretayî dabeş dike. qonax,

  1. Mînakkirin. 
  2. Kodkirin. 
  3. Testkirin. 
  4. Dokumentasyonê 

Her yek ji van qonaxan tîmek ajanên virtual mîna bernameçêkerên kodê an ceribandinên ku bi hevûdu re hevkariyê dikin bi karanîna diyalogên ku di encama xebatek bêkêmasî de encam didin bicîh dike. Digel vê yekê, ChatDev zincîreyek danûstendinê bikar tîne ku wekî hêsankar dixebite, û her qonaxek pêvajoya pêşkeftinê di binxebatên atomê de vediqetîne, bi vî rengî rolên dualî dihêle, rê dide pêşniyar û erêkirina çareseriyan bi karanîna danûstendinên-agahdar ên ku destûrê dide pêşdebiran bi bandor. binxebatên diyarkirî çareser bikin. Zincîra danûstendinê ji gelek girêkan pêk tê ku her girêkek ferdî jêrxebatek taybetî temsîl dike, û ev her du rol beşdarî nîqaşên pir-dorpêç-agahdar dibin da ku ne tenê pêşniyar bikin, lê di heman demê de çareseriyan jî rast bikin. 

Di vê nêzîkbûnê de, çarçoweya ChatDev yekem hewcedariyên xerîdar analîz dike, ramanên afirîner çêdike, pergalên prototîp sêwirand û bicîh tîne, pirsgirêkên potansiyel nas dike û destnîşan dike, grafikên balkêş diafirîne, agahdariya debugê rave dike, û manualên bikarhêner diafirîne. Di dawiyê de, çarçoweya ChatDev nermalavê digel koda çavkaniyê, manualên bikarhêner, û taybetmendiyên hawîrdora girêdayîbûnê ji bikarhêner re peyda dike. 

ChatDev: Mîmarî û Xebat

Naha ku me danasînek kurt ji ChatDev re heye, bila em li mîmarî & xebata çarçoweya ChatDev-ê ku bi Chat Chain dest pê dike binihêrin. 

Chat Chain

Wekî ku me di beşa berê de behs kir, çarçoveya ChatDev ji bo pêşkeftina nermalavê rêbazek avê bikar tîne ku pêvajoya pêşkeftina nermalavê li çar qonaxan dabeş dike, di nav de sêwirandin, kodkirin, ceribandin û belgekirin. Her yek ji van qonaxan di pêvajoya pêşkeftinê de xwedî rolek bêhempa ye, û pêdivî bi pêwendiyek bibandor di navbera wan de heye, û pirsgirêkên potansiyel hene ku di dema destnîşankirina kesan de ku pê re mijûl bibin, û destnîşankirina rêza danûstendinan. 

Ji bo çareserkirina vê pirsgirêkê, çarçoweya ChatDev Chat Chain bikar tîne, mîmariyek gelemperî ku her qonaxê di nav danûstendinek subatomîkî de vediqetîne, digel ku her yek ji van qonaxan balê dikişîne ser lîstina rola peywirdar a ku rolên dualî vedihewîne. Derketina xwestî ya ji bo chatê ji bo nermalava armancê pêkhateyek girîng pêk tîne, û ew di encama hevkarî, û danûstendina rêwerzan de di navbera ajanên ku di pêvajoya pêşkeftinê de beşdar dibin, tê bidestxistin. Paradîgmaya zincîra chatê ji bo çareserkirina peywira navîn di wêneya jêrîn de tê destnîşan kirin. 

Ji bo her sohbetek kesane, mamosteyek pêşî talîmatan dide dest pê kirin, û dûv re diyalogê ber bi temamkirina peywirê ve bi rê ve dibe, û di vê navberê de, arîkar rêwerzên ku ji hêla mamoste ve hatine danîn dişopînin, çareseriyên îdeal peyda dikin, û di nîqaşên li ser pêkaniyê de tevdigerin. ya çareseriyê. Mamoste û ajan wê hingê di diyalogên pir-zivir de tevdigerin heya ku digihîjin lihevhatinekê, û ew peywirê bi serfirazî pêk tînin. Zincîra zincîrê ji bikarhêneran re nêrînek zelal a pêvajoya pêşkeftinê peyda dike, ronahiyê dide ser riya biryargirtinê, û fersendên jihevxistina xeletiyan dema ku ew çêdibin pêşkêşî dike, ku destûrê dide bikarhênerên dawîn ku xeletiyan analîz bikin û teşhîs bikin, encamên navîn teftîş bikin, û ger pêwîstî pê hebe mudaxeleyî pêvajoyê bikin. Bi tevlêkirina zincîreyek danûstendinê, çarçoweya ChatDev dikare li ser her binkeyek taybetî li ser pîvanek hûrgulî balê bikişîne ku ne tenê hevkariya bi bandor a di navbera ajanan de hêsantir dike, lê ew di heman demê de gihîştina bilez a encamên pêwîst jî encam dide. 

Designing

Di qonaxa sêwiranê de, çarçoveya ChatDev ramanek destpêkê wekî têketinek ji xerîdarê mirovî hewce dike, û di vê qonaxê de sê rolên diyarkirî hene. 

  1. CEO an Rêveberê Rêveberê. 
  2. CPO an Karmendê Hilberîna Serek. 
  3. CTO an Karmendê Teknîkî yê sereke. 

Dûv re zincîra danûstendinê tê nav lîstikê û qonaxa sêwiranê li peywirên sohbeta subatomîkî yên birêkûpêk dabeş dike ku zimanê bernamekirinê (CTO û CEO), û modalîteya nermalava armancê (CPO û CEO) vedigire. Qonaxa sêwiranê sê mekanîzmayên sereke vedihewîne: Tayînkirina Rolê an Pisporiya Rolê, Streamiya Bîrê, û Xwe-Refleks. 

Tayînkirina Rolê

Di çarçoveya Chat Dev de ji her ajanek re rolek bi karanîna peyamên taybetî an pêşniyarên taybetî di dema pêvajoya lîstina rolê de tê destnîşankirin. Berevajî modelên zimanên din ên danûstendinê, çarçoweya ChatDev xwe tenê bi destpêkirina senaryoyên rola-lîstina di navbera ajanan de sînordar dike. Van tavilan ji bo danasîna rolan ji ajanan re berî diyalogan têne bikar anîn. 

Di destpêkê de, mamoste berpirsiyariyên CEO digire, û tev li plansaziya înteraktîf dibe dema ku berpirsiyariyên CPO ji hêla kargêrê ku karan pêk tîne ve têne rêve kirin, û bersivên pêwîst peyda dike. Çarçove bikar tîne "pêşniyara destpêkê"ji bo pisporiya rola ku dihêle ajanên ku rola xwe bi bandor pêk bînin. Pêşniyarên arîkar, û mamoste ji hûrguliyên girîng ên di derbarê rol û peywirên destnîşankirî, pîvanên bidawîbûnê, protokolên ragihandinê, û çend astengiyên ku armanc dikin ku pêşî li tevgerên nexwestî yên mîna lûpên bêsînor, bersivên neagahdar, û zêdebariya fermanê bigirin, pêk tê. 

Memory Stream

Herikîna bîranînê mekanîzmayek e ku ji hêla çarçoweya ChatDev ve tê bikar anîn ku tomarek danûstendinek berfireh a danûstandinên berê yên karmendek diparêze, û di pêvajoya biryargirtinê de ku bi şêwazek gotinê-hişyar dişopîne de dibe alîkar. Çarçoveya ChatDev ji bo sazkirina protokolên pêwendiyê yên pêdivî bi kar tîne. Mînakî, dema ku aliyên têkildar digihîjin lihevhatinekê, peyamek dawî ya ku hewcedariyek celebek taybetî têr dike mîna ( : Sermaseya Sermaseyê”). Ji bo pêbaweriya bi formata destnîşankirî re, çarçove bi berdewamî dişopîne, û di dawiyê de dihêle ku diyaloga heyî bigihîje encamekê. 

Reflection Self

Pêşdebirên çarçoweya ChatDev rewşên ku her du aliyên beşdar gihîştine lihevhatinek hevbeş, lê protokolên ragihandinê yên pêşwext nehatine destpêkirin. Ji bo çareserkirina van pirsgirêkan, Çarçoveya ChatDev mekanîzmayek xwe-refleksê destnîşan dike ku di vegerandin û derxistina bîranînan de dibe alîkar. Ji bo pêkanîna mekanîzmaya xwe-refleksê, çarçoweya ChatDev danûstendinek nû û nû dest pê dike bi navnîşkirina "pseudo self" wekî pirsek nû. "Xeber xwe" diyalogên berê û tomarên dîrokî analîz dike, û arîkarê heyî agahdar dike ku li dû wê, ew kurte agahdariya berbiçav û guncan a ku di jimareya jêrîn de hatî destnîşan kirin daxwaz dike. 

Bi alîkariya mekanîzmaya xwe-alîkariyê, arîkarê ChatDev tê teşwîq kirin ku biryarên ku ew pêşniyar kiriye bifikire û analîz bike. 

Kodkirin

Di qonaxa kodkirinê de sê rolên diyarkirî hene, bi navên CTO, bernamesaz, û sêwiranerê hunerê, Wekî her car, mekanîzmaya zincîra chatê qonaxa kodkirinê li karên subatomîkî yên kesane yên mîna hilberîna kodan (bernamevan & CTO), an jî çêkirina GUI-yê dabeş dike. an navrûya bikarhênerê ya grafîkî (bernamesaz û sêwiraner). Dûv re CTO rêwerz dide bernamenûs ku forma nîşankirinê bikar bîne da ku pergalek nermalavê bicîh bîne ku li dû wê sêwiranerê hunerî GUI-ya bikarhêner-heval û înteraktîf pêşniyar dike ku îkonên grafîkî bikar tîne da ku bi bikarhêneran re têkilî daynin û ne ku xwe bispêre fermanên bingeha nivîsa kevneşopî. 

Rêveberiya Koda

Çarçoveya ChatDev zimanên bernamesaziyê-objektîf ên mîna Python, Java, û C++ bikar tîne da ku pergalên nermalava tevlihev bi rê ve bibe ji ber ku modulariya van zimanên bernamekirinê karanîna tiştên xweser ên ku ne tenê di çareserkirina pirsgirêkan de, lê di heman demê de bi pêşkeftina hevkariyê re jî dibe alîkar dike. , û her weha di rakirina zêdebûnê de bi ji nû ve karanîna tiştan bi têgîna mîrasiyê re dibe alîkar. 

Talîmatên ramanê

Rêbazên kevneşopî yên bersiva pirsê bi gelemperî dibe sedema agahdariya negirêdayî, an jî nerastiyan bi taybetî dema ku kodê diafirîne ji ber ku rêwerzên nefsbiçûk peyda dike dibe ku bibe sedema halusînasyona LLM, û dibe ku ew bibe pirsgirêkek dijwar. Ji bo çareserkirina vê pirsgirêkê, çarçoweya ChatDev mekanîzmaya "rêberên ramanê" destnîşan dike ku îlhamê ji pêşniyarên zincîra-ramanê digire. Mekanîzmaya "rêberên ramanê" bi eşkereyî ramanên ferdî yên çareserkirina pirsgirêkê yên ku di rêwerzan de cih digirin, dişibihe çareserkirina peywiran bi rengek rêzdar û organîze. 

testkirina

Di hewildana yekem de nivîsandina kodek bê xeletî ne tenê ji bo dijwar e LLMs, lê di heman demê de ji bo bernamenûsên mirovan, û ji dêvla ku koda xelet bi tevahî ji holê rakin, bernamenûs koda xwe analîz dikin da ku xeletiyan nas bikin, û wan rast bikin. Qonaxa ceribandinê di çarçoweya ChatDev de li sê rolan tê dabeş kirin: bernamesaz, tester, û vekolîn. Pêvajoya ceribandinê li du peywirên subatomîkî yên li pey hev tê dabeş kirin: Peer Review an Debugging Static (Nivîskar, û Bernamenûs), û Testkirina Pergalê an Rêzkirina Dînamîk (Programmer û Tester). Debugging statîk an peer review koda çavkaniyê analîz dike da ku xeletiyan nas bike, dema ku xeletkirina dînamîkî an ceribandina pergalê bi ceribandinên cihêreng ên ku bi karanîna wergêrek ji hêla bernameçêker ve têne kirin, pêkanîna nermalavê verast dike. Dabeşkirina dînamîk di serî de li ser ceribandina qutiya reş balê dikişîne da ku serlêdanan binirxîne. 

Documentation

Piştî ku çarçoweya ChatDev bi qonaxên sêwirandin, kodkirin û ceribandinê pêk tê, ew çar nûneran bi navên CEO, CTO, CPO, û Bernameçêker bi kar tîne da ku ji bo projeya nermalavê belgeyan biafirîne. Çarçoveya ChatDev LLM-an bikar tîne da ku bi mînakên hundurîn-rêveberan re çend tîpan bikar bîne da ku belgeyan biafirîne. CTO ferman dide bernameçêker ku rêwerzên ji bo veavakirina girêdanên jîngehê peyda bike, û belgeyek mîna "dependency pêdiviyên.txt" biafirîne. Di heman demê de, pêdivî û sêwirana pergalê ji hêla CEO ve ji CPO re têne ragihandin, da ku manuala bikarhêner ji bo hilberê hilberîne. 

results

Statistics Software

Ji bo analîzkirina performansa çarçoveya ChatDev, tîmê pêşdebiran analîzek îstatîstîkî li ser sepanên nermalavê yên ku ji hêla çarçovê ve hatî çêkirin li ser bingeha çend metrîkên sereke di nav de nîşaneyên serfkirî, tevhev zivirandinên diyalogê, hebûnên wêneyê, pelên nermalavê, nûvekirinên guhertoyê, û çend tiştên din, meşandin û encam ev in. di tabloya jêrîn de destnîşan kirin. 

Analysis Duration

Ji bo vekolîna dema hilberîna ChatDev-ê ji bo nermalavê ji bo daxwazên cihêreng, pêşdebiran analîzek demdirêj jî pêk anîn, û cûdahiya dema pêşkeftinê ya ji bo pêşniyarên cihêreng zelalî û tevliheviya cihêrengiya peywirên hatine peywirdarkirin nîşan dide, û encam di jimareya jêrîn de têne destnîşan kirin. . 

Study Case

Nîgara jêrîn destnîşan dike ku ChatDev pêşkeftina Pênc li rêzek an lîstikek Gomoku dike. 

Hêjmara herî çepê nermalava bingehîn a ku ji hêla çarçoveyê ve hatî çêkirin bêyî karanîna GUI-ê destnîşan dike. Wekî ku bi zelalî tê dîtin, serîlêdana bêyî GUI înteraktîfiyek tixûbdar pêşkêşî dike, û bikarhêner dikarin vê lîstikê tenê tevî termînala fermanê bilîzin. Hêjmara paşîn lîstikek dîtbarî ya balkêştir a ku bi karanîna GUI-yê hatî afirandin destnîşan dike, ezmûnek bikarhênerek çêtir, û înteraktîfek pêşkeftî ji bo jîngehek lîstika balkêş a ku dikare ji hêla bikarhêneran ve pir zêde jê kêfê werbigire pêşkêşî dike. Dûv re nûnerê sêwiraner grafikên pêvek diafirîne da ku karanîna û estetîka lîstikê bêtir zêde bike bêyî ku bandorê li fonksiyonek bike. Lêbelê, heke bikarhênerên mirovî ji wêneya ku ji hêla sêwiraner ve hatî çêkirin ne razî ne, ew dikarin piştî ku çarçoweya ChatDev nermalavê qedandiye wêneyan biguhezînin. Zelalbûna ku ji hêla çarçoweya ChatDev ve hatî pêşkêş kirin da ku bi destan wêneyan biguhezîne rê dide bikarhêneran ku li gorî bijareyên xwe ji bo danûstendinek pêşkeftî û ezmûnek bikarhêner bêyî ku bandorê li fonksiyona nermalavê bi ti awayî bandor bike serîlêdanan li gorî tercîhên xwe xweş bikin. 

Thoughts Final

Di vê gotarê de, me li ser ChatDev, an LLM an Modela Zimanê Mezin paradîgmaya nûjen a bingehîn a ku armanc dike ku şoreşa qada pêşkeftina nermalavê bi rakirina hewcedariya modelên pispor di her qonaxek pêvajoya pêşkeftinê de vebike. Çarçoveya ChatDev armanc dike ku bi karanîna danûstendina zimanê xwezayî ve qabîliyetên çarçoweyên LLM-ê bikar bîne da ku pêvajoyên pêşkeftina nermalava sereke yek bike û rast bike. Çarçoveya ChatDev mekanîzmaya zincîra danûstendinê bikar tîne da ku pêvajoya pêşkeftina nermalavê di nav peywirên subatomîkî yên birêkûpêk de bişkîne, bi vî rengî baldariya granular çalak bike, û ji bo her peywira subatomî encamên xwestî pêşve bibe. 

"Bi pîşeyê endezyar, bi dil nivîskar". Kunal nivîskarek teknîkî ye ku bi evîn û têgihîştina kûr a AI û ML-ê ye, ku ji bo hêsankirina têgehên tevlihev di van waran de bi navgîniya belgeyên xwe yên balkêş û agahdar ve hatî veqetandin.