stubbur ChatDev : Samskiptamiðlar fyrir hugbúnaðarþróun - Unite.AI
Tengja við okkur

Artificial Intelligence

ChatDev: Samskiptamiðlar fyrir hugbúnaðarþróun

mm
Uppfært on
ChatDev: AI aðstoðað hugbúnaðarþróun

Hugbúnaðarþróunariðnaðurinn er svið sem byggir oft á bæði samráði og innsæi, sem einkennist af flóknum ákvarðanatökuaðferðum. Ennfremur krefst þróun, viðhalds og reksturs hugbúnaðar agaða og aðferðafræðinnar. Algengt er að hugbúnaðarframleiðendur byggi ákvarðanir á innsæi frekar en samráði, allt eftir því hversu flókið vandamálið er. Í viðleitni til að auka skilvirkni hugbúnaðarverkfræði, þar með talið skilvirkni hugbúnaðar og minni þróunarkostnað, eru vísindamenn að kanna notkun djúpnámsramma til að takast á við ýmis verkefni innan hugbúnaðarþróunarferlisins. Með nýlegri þróun og framförum í djúpnámi og gervigreindargeiranum leita verktaki leiða til að umbreyta hugbúnaðarþróunarferlum og starfsháttum. Þeir eru að gera þetta með því að nota háþróaða hönnun sem er útfærð á mismunandi stigum hugbúnaðarþróunarferlisins.

Í dag ætlum við að ræða ChatDev, stórt tungumálalíkan (LLM) byggt, nýstárlega nálgun sem miðar að því að gjörbylta sviði hugbúnaðarþróunar. Þessi hugmyndafræði leitast við að útrýma þörfinni fyrir sérhæfð líkön á hverjum áfanga þróunarferlisins. ChatDev ramminn nýtir getu LLM ramma, notar náttúruleg samskipti til að sameina og hagræða lykil hugbúnaðarþróunarferlum.

Í þessari grein munum við kanna ChatDev, sýndarknúið fyrirtæki sem sérhæfir sig í hugbúnaðarþróun. ChatDev tileinkar sér fosslíkanið og skiptir hugbúnaðarþróunarferlinu nákvæmlega niður í fjögur grunnþrep.

  1. Hönnun. 
  2. Kóðun. 
  3. Prófun. 
  4. Skjalfesting. 

Hvert þessara þrepa setur upp teymi sýndarumboðsmanna eins og kóðaforritara eða prófunaraðila sem vinna saman með því að nota samræður sem leiða til óaðfinnanlegs vinnuflæðis. Spjallkeðjan vinnur sem leiðbeinandi og skiptir hverju stigi þróunarferlisins niður í atóm undirverkefni og gerir þannig tvöfalt hlutverk kleift, sem gerir ráð fyrir tillögum og löggildingu lausna með samhengisvitundum samskiptum sem gerir forriturum kleift að leysa tilgreind undirverkefni á áhrifaríkan hátt. 

ChatDev: AI aðstoðað hugbúnaðarþróun

Verkfæragreining ChatDev sýnir fram á að ChatDev rammakerfið er ekki aðeins afar áhrifaríkt við að klára hugbúnaðarþróunarferlið, heldur er það afar hagkvæmt auk þess sem það lýkur öllu hugbúnaðarþróunarferlinu á tæpum dollar. Ennfremur greinir ramminn ekki aðeins, heldur dregur hann einnig úr mögulegum veikleikum, leiðréttir hugsanlegar ofskynjanir, allt á meðan viðheldur mikilli skilvirkni og hagkvæmni. 

ChatDev: Kynning á LLM-knúnri hugbúnaðarþróun

Hefð er fyrir því að hugbúnaðarþróunariðnaðurinn er byggður á grunni agaðri og aðferðafræðilegrar nálgunar, ekki aðeins til að þróa forritin, heldur einnig til að viðhalda og reka þau. Hefð er fyrir því að dæmigert hugbúnaðarþróunarferli er mjög flókið, flókið og tímafrekt nákvæmt ferli með löngum þróunarferli, þar sem það eru mörg hlutverk sem taka þátt í þróunarferlinu, þar með talið samhæfing innan stofnunarinnar, úthlutun verkefna, ritun kóða, prófun og að lokum skjöl. 

Á undanförnum árum, með aðstoð LLM eða stór tungumálalíkön, gervigreind samfélagið hefur náð verulegum áföngum á sviði tölvusjónar og náttúrulegrar málvinnslu, og í kjölfar þjálfunar á "næsta orði spá" hugmyndafræði, hafa stór tungumálalíkön vel sýnt fram á getu sína til að skila skilvirkri frammistöðu í fjölmörgum verkefnum síðar. eins og vélþýðing, spurningasvörun og kóðagerð. 

Þó að stór tungumálalíkön geti skrifað kóða fyrir allan hugbúnaðinn, þá hafa þau stóran galla: kóða ofskynjanir, sem er nokkuð líkt þeim ofskynjunum sem náttúruleg málvinnsla stendur frammi fyrir. Kóðaofskynjanir geta falið í sér vandamál eins og óuppgötvaðar villur, ósjálfstæði og ófullkomnar aðgerðaútfærslur. Það eru tvær helstu orsakir kóðaofskynjana. 

  • Skortur á verklýsingu: Þegar þú býrð til hugbúnaðarkóðann í einu skrefi, ef ekki er skilgreint sérstakt verkefnisins, ruglar LLM-deildirnar saman sem verkefni í hugbúnaðarþróunarferlinu eins og að greina kröfur notenda, eða velja ákjósanlegt forritunarmál, veitir oft leiðbeinandi hugsun, eitthvað sem vantar í hámarkið. -stigi verkefni sem þessir LLMs annast. 
  • Skortur á krossprófi : Veruleg áhætta kemur upp þegar krossskoðun er ekki framkvæmd, sérstaklega í ákvarðanatökuferlinu. 

ChatDev miðar að því að leysa þessi mál, og auðvelda LLMs með vald til að búa til nýjustu og skilvirk hugbúnaðarforrit með því að búa til sýndarknúið fyrirtæki fyrir hugbúnaðarþróun sem setur fosslíkanið á fót og skiptir nákvæmlega hugbúnaðarþróunarferlinu í fjögur aðal stigum,

  1. Hönnun. 
  2. Kóðun. 
  3. Prófun. 
  4. Skjalfesting. 

Hvert þessara þrepa setur upp teymi sýndarumboðsmanna eins og kóðaforritara eða prófunaraðila sem vinna saman með því að nota samræður sem leiða til óaðfinnanlegs vinnuflæðis. Ennfremur notar ChatDev spjallkeðju sem virkar sem leiðbeinandi og sundrar hverju stigi þróunarferlisins í frumeinda undirverkefni, sem gerir þannig tvöfalt hlutverk kleift, sem gerir ráð fyrir tillögum og staðfestingu á lausnum með samhengisvitundum samskiptum sem gerir forriturum kleift að skilvirka leysa tilgreind undirverkefni. Spjallkeðjan samanstendur af nokkrum hnútum þar sem hver einstakur hnútur táknar tiltekið undirverkefni og þessi tvö hlutverk taka þátt í samhengisvitaðri umræðu í mörgum snúningum til að leggja ekki aðeins til, heldur einnig staðfesta lausnirnar. 

Í þessari nálgun greinir ChatDev ramminn fyrst kröfur viðskiptavinarins, býr til skapandi hugmyndir, hannar og útfærir frumgerðakerfi, greinir og tekur á hugsanlegum vandamálum, býr til aðlaðandi grafík, útskýrir kembiupplýsingarnar og býr til notendahandbækur. Að lokum afhendir ChatDev ramma hugbúnaðinn til notandans ásamt frumkóða, notendahandbókum og forskriftum um ósjálfstæði. 

ChatDev: Arkitektúr og vinna

Nú þegar við höfum stutta kynningu á ChatDev, skulum við kíkja á arkitektúr og virkni ChatDev ramma sem byrjar á spjallkeðjunni. 

Spjallkeðja

Eins og við höfum nefnt í fyrri hlutanum notar ChatDev ramminn fossaðferð fyrir hugbúnaðarþróun sem skiptir hugbúnaðarþróunarferlinu í fjóra áfanga, þar á meðal hönnun, kóðun, prófun og skjöl. Hvert þessara stiga hefur einstakt hlutverk í þróunarferlinu og þörf er á skilvirkum samskiptum þeirra á milli og það eru hugsanlegar áskoranir sem standa frammi fyrir þegar greina þarf einstaklinga til að taka þátt í og ​​ákvarða röð samskipta. 

Til að takast á við þetta mál notar ChatDev ramminn Chat Chain, almennan arkitektúr sem sundrar hverjum áfanga í undiratomískt spjall, þar sem hver þessara fasa einbeitir sér að verkefnamiðuðum hlutverkaleik sem felur í sér tvöföld hlutverk. Æskileg framleiðsla fyrir spjallið er mikilvægur þáttur fyrir markhugbúnaðinn, og það næst með samvinnu og skiptingu á leiðbeiningum milli umboðsmanna sem taka þátt í þróunarferlinu. Hugmyndafræði spjallkeðjunnar fyrir milliverkefnislausn er sýnd á myndinni hér að neðan. 

Fyrir hvert einstakt spjall fer leiðbeinandi fyrst af stað með leiðbeiningarnar og leiðir síðan samræðurnar í átt að því að ljúka verkefninu og á meðan fylgja aðstoðarmenn leiðbeiningunum sem leiðbeinandinn setur, veita kjörlausnir og taka þátt í umræðum um hagkvæmni af lausninni. Leiðbeinandinn og umboðsmaðurinn taka síðan þátt í samræðum í mörgum snúningum þar til þeir komast að samkomulagi og þeir telja verkefninu hafa verið leyst með góðum árangri. Keðjukeðjan veitir notendum gagnsæja sýn á þróunarferlið, varpar ljósi á ákvarðanatökuleiðina og býður upp á tækifæri til að kemba villurnar þegar þær koma upp, sem gerir notendum kleift að greina og greina villurnar, skoða milliúttak, og grípa inn í ferlið ef ástæða þykir til. Með því að fella inn spjallkeðju er ChatDev ramminn fær um að einbeita sér að hverju tilteknu undirverkefni á kornóttum mælikvarða sem auðveldar ekki aðeins skilvirka samvinnu milli umboðsmanna, heldur leiðir það einnig til þess að tilskilin úttak náist fljótt. 

Hönnun

Í hönnunarstiginu krefst ChatDev ramma upphafshugmyndar sem inntak frá mannlegum viðskiptavinum og það eru þrjú fyrirframskilgreind hlutverk á þessu stigi. 

  1. forstjóri eða framkvæmdastjóri. 
  2. CPO eða framkvæmdastjóri vöru. 
  3. CTO eða framkvæmdastjóri tæknisviðs. 

Spjallkeðjan kemur síðan við sögu og skiptir hönnunarfasanum í raðbundin undiratomísk spjallverkefni sem felur í sér forritunarmálið (CTO og forstjóri), og aðferð markhugbúnaðarins (CPO og forstjóri). Hönnunarfasinn felur í sér þrjá lykilaðferðir: Hlutverkaúthlutun eða sérhæfingu hlutverka, minnisstraum og sjálfsendurskoðun. 

Hlutverkaúthlutun

Hver umboðsmaður í Chat Dev ramma er úthlutað hlutverki með sérstökum skilaboðum eða sérstökum leiðbeiningum meðan á hlutverkaleiknum stendur. Ólíkt öðrum tungumálalíkönum í samtali, takmarkar ChatDev ramminn sig eingöngu við að koma af stað hlutverkaleiksviðmiðum milli umboðsmanna. Þessar leiðbeiningar eru notaðar til að úthluta hlutverkum til umboðsmanna fyrir samræðurnar. 

Upphaflega tekur leiðbeinandinn ábyrgð forstjórans og tekur þátt í gagnvirkri áætlanagerð en ábyrgð CPO er meðhöndluð af umboðsmanni sem framkvæmir verkefni og veitir nauðsynleg viðbrögð. Ramminn notar „upphaf hvetjandi“ fyrir sérhæfingu í hlutverkum sem gerir umboðsmönnum kleift að sinna hlutverkum sínum á áhrifaríkan hátt. Aðstoðar- og leiðbeinandinn samanstendur af mikilvægum upplýsingum um tilnefnd hlutverk og verkefni, uppsagnarviðmið, samskiptareglur og nokkrar takmarkanir sem miða að því að koma í veg fyrir óæskilega hegðun eins og óendanlega lykkjur, óupplýsandi viðbrögð og offramboð leiðbeininga. 

Minnisstraumur

Minnisstraumurinn er vélbúnaður sem notaður er af ChatDev rammanum sem heldur yfirgripsmikilli samræðuskrá yfir fyrri samræður umboðsmanns og aðstoðar við ákvarðanatökuferlið sem fylgir á framburðarmeðvitaðan hátt. ChatDev ramminn notar leiðbeiningar til að koma á nauðsynlegum samskiptareglum. Til dæmis, þegar hlutaðeigandi aðilar ná samstöðu, lokaskilaboð sem uppfyllir ákveðna sniðkröfu eins og ( : Skrifborðsforrit“). Til að tryggja að farið sé að tilgreindu sniði fylgist ramminn stöðugt með og leyfir að lokum núverandi viðræðum að komast að niðurstöðu. 

Sjálfspeglun

Hönnuðir ChatDev ramma hafa fylgst með aðstæðum þar sem báðir hlutaðeigandi aðilar höfðu náð gagnkvæmri samstöðu, en fyrirfram skilgreindar samskiptareglur voru ekki ræstar. Til að takast á við þessi mál, sem ChatDev ramma kynnir sjálfspeglunarkerfi sem hjálpar til við að sækja og draga fram minningar. Til að innleiða sjálfshugsunarkerfið, byrjar ChatDev ramminn nýtt og ferskt spjall með því að skrá „gervisjálf“ sem nýjan spyrjanda. „gervisjálfið“ greinir fyrri samræður og sögulegar heimildir og upplýsir núverandi aðstoðarmann eftir það biður það um samantekt á óyggjandi og aðgerðaverðugum upplýsingum eins og sýnt er á myndinni hér að neðan. 

Með hjálp sjálfshjálparkerfisins er ChatDev aðstoðarmaðurinn hvattur til að endurspegla og greina þær ákvarðanir sem hann hefur lagt til. 

Kóðun

Það eru þrjú fyrirfram skilgreind hlutverk í kóðunarfasanum, það er tæknistjórinn, forritarinn og listhönnuðurinn, Eins og venjulega skiptir spjallkeðjukerfi kóðunarfasans í einstök undiratomísk verkefni eins og að búa til kóða (forritari og tæknistjóri), eða að búa til GUI eða grafískt notendaviðmót (forritari og hönnuður). Tæknistjórinn segir síðan forritaranum að nota niðurfærslusniðið til að innleiða hugbúnaðarkerfi þar sem listhönnuðurinn leggur til notendavænt og gagnvirkt GUI sem notar grafísk tákn til að hafa samskipti við notendur frekar en að treysta á hefðbundnar textaskipanir. 

Stjórnun kóða

ChatDev ramminn notar hlutbundin forritunarmál eins og Python, Java og C++ til að meðhöndla flókin hugbúnaðarkerfi vegna þess að mát þessara forritunarmála gerir kleift að nota sjálfstæða hluti sem ekki aðeins aðstoða við bilanaleit, heldur einnig við samvinnuþróun. , og hjálpar einnig við að fjarlægja uppsagnir með því að endurnýta hlutina í gegnum hugtakið arfleifð. 

Hugsunarleiðbeiningar

Hefðbundnar aðferðir við að svara spurningum leiða oft til óviðkomandi upplýsinga, eða ónákvæmni, sérstaklega þegar þú býrð til kóða þar sem að veita barnalegar leiðbeiningar gætu leitt til LLM ofskynjana og það gæti orðið krefjandi mál. Til að takast á við þetta mál kynnir ChatDev rammakerfið „hugsunarleiðbeiningar“ vélbúnaðinn sem sækir innblástur frá keðju-hugsunarhvetjum. „Hugsunarleiðbeiningar“ kerfið fjallar beinlínis um einstakar hugsanir til að leysa vandamál sem eru í leiðbeiningunum, svipað og að leysa verkefni í röð og skipulagðan hátt. 

Próf

Að skrifa villulausan kóða í fyrstu tilraun er krefjandi, ekki aðeins fyrir LLM, en einnig fyrir mannlega forritara, og frekar en að henda röngum kóða algjörlega, greina forritarar kóðann sinn til að bera kennsl á villurnar og leiðrétta þær. Prófunarstigið í ChatDev rammanum er skipt í þrjú hlutverk: forritari, prófari og gagnrýnandi. Prófunarferlinu er frekar skipt í tvö undiratomísk verkefni í röð: Jafningjarýni eða kembiforrit (gagnrýnandi og forritari), og Kerfisprófun eða kraftmikil villuleit (Forritari og prófari). Stöðug villuleit eða ritrýni greinir frumkóðann til að bera kennsl á villur á meðan kraftmikil villuleit eða kerfisprófun sannreynir framkvæmd hugbúnaðarins með ýmsum prófunum sem eru gerðar með því að nota túlk af forritaranum. Dynamic kembiforrit beinist fyrst og fremst að svörtum kassaprófum til að meta forritin. 

Documentation

Eftir að ChatDev umgjörðinni er lokið með hönnunar-, kóðunar- og prófunarstigum starfar það fjórir umboðsmenn, nefnilega forstjóri, tæknistjóri, CPO og forritari til að búa til skjöl fyrir hugbúnaðarverkefnið. ChatDev ramminn notar LLMs til að nýta fáeinar skotbeiðnir með dæmum í samhengi til að búa til skjölin. CTO segir forritaranum að veita leiðbeiningar um uppsetningu umhverfisháðra og búa til skjal eins og "dependency requirements.txt". Samtímis eru kröfurnar og kerfishönnunin send til CPO af forstjóranum til að búa til notendahandbók fyrir vöruna. 

Niðurstöður

Hugbúnaðartölfræði

Til að greina frammistöðu ChatDev ramma, teymið þróunaraðila framkvæmdi tölfræðilega greiningu á hugbúnaðarforritum sem ramman býr til á grundvelli nokkurra lykilmælinga, þar á meðal neyttra tákna, heildarviðræðna, myndaeigna, hugbúnaðarskráa, útgáfuuppfærslur og nokkrar fleiri, og niðurstöðurnar eru sýnt í töflunni hér að neðan. 

Tímagreining

Til að skoða framleiðslutíma ChatDev fyrir hugbúnað fyrir mismunandi beiðnir, framkvæmdu þróunaraðilar einnig tímalengdargreiningu og munurinn á þróunartíma fyrir mismunandi leiðbeiningar endurspeglar mismunandi skýrleika og flókið verkefni sem úthlutað er, og niðurstöðurnar eru sýndar á myndinni hér að neðan . 

Case Study

Eftirfarandi mynd sýnir ChatDev að þróa fimm í röð eða Gomoku leik. 

Myndin lengst til vinstri sýnir grunnhugbúnaðinn sem er búinn til af rammanum án þess að nota neitt GUI. Eins og greinilega má sjá býður forritið án GUI takmarkaða gagnvirkni og notendur geta aðeins spilað þennan leik með stjórnstöðinni. Næsta mynd sýnir sjónrænt aðlaðandi leik sem búinn er til með notkun GUI, býður upp á betri notendaupplifun og aukna gagnvirkni fyrir grípandi leikumhverfi sem notendur geta notið miklu meira. Hönnuðurinn býr síðan til viðbótargrafík til að auka enn frekar notagildi og fagurfræði leiksins án þess að hafa áhrif á virkni. Hins vegar, ef mannlegir notendur eru ekki ánægðir með myndina sem hönnuðurinn myndar, geta þeir skipt út myndunum eftir að ChatDev ramma hefur lokið við hugbúnaðinn. Sveigjanleikinn sem ChatDev ramma býður upp á til að skipta um myndirnar handvirkt gerir notendum kleift að sérsníða forritin samkvæmt óskum þeirra fyrir aukna gagnvirkni og notendaupplifun án þess að hafa áhrif á virkni hugbúnaðarins á nokkurn hátt. 

Final Thoughts

Í þessari grein höfum við talað um ChatDev, an LLM eða Large Language Model byggt nýstárlega hugmyndafræði sem miðar að því að gjörbylta hugbúnaðarþróunarsviðinu með því að útrýma kröfunni um sérhæfð líkön á hverjum áfanga þróunarferlisins. ChatDev ramminn miðar að því að nýta hæfileika LLM ramma með því að nota náttúruleg tungumálasamskipti til að sameina og hagræða helstu hugbúnaðarþróunarferlum. ChatDev ramminn notar spjallkeðjubúnaðinn til að skipta hugbúnaðarþróunarferlinu niður í raðbundin undiratomísk verkefni, sem gerir þannig kleift að fókusa á kornið og stuðla að æskilegri útkomu fyrir hvert undiratomísk verkefni. 

"Verkfræðingur að atvinnu, rithöfundur utanbókar". Kunal er tæknilegur rithöfundur með djúpa ást og skilning á gervigreind og ML, tileinkað því að einfalda flókin hugtök á þessum sviðum með grípandi og upplýsandi skjölum.