2024-08-11
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
CodexGraph-tiimin lähetys
Qubits |. Julkinen tili QbitAI
Etkö voi suorittaa koodin luonti- ja viimeistelytehtäviä? !
On parempi antaa Large Language Models (LLM) auttaa.
Kuitenkin, jos onLLM:t voivat kamppailla käsitellessään suuria, monitiedostoisia koodikantoja.Tällä hetkellä Retrieval-Augmented Code Generation (RACG) -järjestelmää tarvitaan usein asiaankuuluvien kooditietojen hakemiseen.
Vaikka olemassa olevat ratkaisut, kuten semanttiseen samankaltaisuuteen perustuva haku ja manuaalisesti suunnitellut työkalut ja API:t, ovat tehokkaita tietyissä tehtävissä, niillä on rajoituksia yleistysominaisuuksissa ja yleisessä käytettävyydessä.
Singaporen kansallisen yliopiston, Alibaban ja Xi'an Jiaotongin yliopiston tutkijat ehdottivat nykyisten RACG-menetelmien universaalisuuden puutteiden lievittämiseksi.CodexGraph,Järjestelmä, joka käyttää koodigraafitietokantaa välineenä kielimallin ja koodipohjan yhdistämiseen.
Tutkimusryhmä arvioi CodexGraphin kolmella edustavalla akateemisella vertailuarvolla ja otti CodexGraphin käyttöön viidessä todellisessa koodisovellusskenaariossa ModelScope-Agentin pohjalta.
Kokeet ja todelliset käytännöt osoittavat CodexGraphin tehokkuuden ja monipuolisuuden.
tutkimusmenetelmiä
CodexGraph yhdistää innovatiivisesti kielimallin koodipohjaan koodikaaviotietokantaliittymän kautta.olemassa olevien menetelmien puutteiden voittamiseksi.
Tämän järjestelmän työnkulku sisältää pääasiassa seuraavat vaiheet:
Rakenna ensin koodikaaviotietokanta。
Käytä staattista analyysitekniikkaa kartoittaaksesi koodisymbolit (kuten moduulit, luokat, funktiot jne.) koodikannassa ja niiden väliset suhteet graafitietokannan solmuiksi ja reunoiksi ennalta määritellyn skeeman mukaisesti.
Toiseksi koodirakenteen tuntevat kyselyt.
Hyödynnä graafin kyselykielen joustavuutta ja yhdistä se graafitietokannan rakenteellisiin ominaisuuksiin monimutkaisten kyselyjen ja koodikaavioiden syvällisen haun saavuttamiseksi.
Kolmanneksi "Kirjoita ja käännä" -strategia.
Ensisijainen LM-agentti analysoi ensin koodiongelmat ja luo luonnollisen kielen kyselyitä.
Erikoistunut käännös-LM-agentti kääntää sitten nämä kyselyt muotoillun graafin kyselykielelle.
Neljänneksi iteratiivinen putkisto.
Iteratiivisen lähestymistavan avulla LM-agentti optimoi vähitellen kyselyn ja hakutulokset käyttäjien kysymysten ja hankittujen tietojen perusteella.
kokeilu
Kokeellisessa osassa CodexGraph arvioitiin kolmella edustavalla koodin perustason benchmarkilla: CrossCodeEval, EvoCodeBench ja SWE-bench.
Nämä testitKattaa tiedostojen välisen koodin täydennyksen, koodin luomisen ja automaattisen GitHub-ongelmien ratkaisemisenjne. monesta näkökulmasta.
Kokeelliset tulokset osoittavat, että CodexGraph toimii erinomaisesti ja vakaasti kaikissa vertailutesteissä, mikä varmistaa koodikaaviotietokannan tehokkuuden kielimallien ja koodikirjastojen välisenä rajapintana.
Alkuperäisen asiakirjan analyysi osoitti lisäksi, ettäKun CodexGraph käsittelee eri vaikeusasteikon päättelytehtäviä, yksittäisen kyselyn ja useiden kyselystrategioiden vaikutuksissa on eroja.
CrossCodeEvalissa useat kyselystrategiat ovat tehokkaampia, kun taas SWE-penkissä yksi kyselystrategia toimii paremmin.
Lisäksi Cypher LM -agentin poistaminen lisää merkittävästi ensisijaisen LM-agentin päättelytaakkaa, mikä johtaa suorituskyvyn heikkenemiseen.
Tämä osoittaa, että Cypher LM -agentilla on keskeinen rooli ensisijaisen LM-agentin päättelypaineen lievittämisessä.
Todellisia sovellusskenaarioita
ModelScope-Agent-kehykseen perustuen CodexGraphin käytännön sovellusarvo on näkynyt useissa skenaarioissa, kuten:
Nämä sovellukset osoittavat, kuinka CodexGraph voi auttaa kehittäjiä ratkaisemaan käytännön ongelmia tuotantoympäristössä ja parantamaan koodikehityksen tehokkuutta ja laatua.
Tee yhteenveto
CodexGraph tarjoaa graafisen tietokannan välineenä uuden vuorovaikutusmenetelmän kielimallin ja koodikannan välillä.
Se ei ainoastaan paranna kielimallin kykyä ymmärtää monimutkaisia koodipohjaa, vaan myös parantaa yleisen koodin haun ja navigoinnin tarkkuutta.
Se syntyi automatisoidun ohjelmistosuunnittelun alalla,Varsinkin kun kohtaa RACG:n haasteen, joka tuo uusia ratkaisuja, jotka osoittavat laajaa potentiaalia ja todellista arvoa erilaisissa koodaustehtävissä ja tosielämän sovelluksissa.
Jatkuvan teknologian kehityksen myötä CodexGraphin odotetaan tukevan lisää ohjelmointikieliä tulevaisuudessa ja optimoivan entisestään työnkulkuaan ja indeksien rakentamisen tehokkuutta.
Koodi linkki:
https://github.com/modelscope/modelscope-agent/tree/master/apps/codexgraph_agent
arXiv linkki:
https://arxiv.org/pdf/2408.03910