uutiset

Avoimen lähdekoodin tekoälyohjelmistosuunnittelijoiden listan kärjessä oleva UIUC:n agenttiton ratkaisu ratkaisee todelliset ohjelmointiongelmat

2024-07-15

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

AIxiv-sarake on sarake, jossa Machine Heart julkaisee akateemista ja teknistä sisältöä. Viime vuosina Heart of the Machine AIxiv -kolumni on saanut yli 2 000 raporttia, jotka kattavat tärkeimpien yliopistojen ja yritysten huippulaboratoriot ympäri maailmaa ja edistävät tehokkaasti akateemista vaihtoa ja levittämistä. Jos sinulla on erinomaista työtä, jonka haluat jakaa, ole hyvä ja osallistu tai ota meihin yhteyttä raportoidaksesi. Lähetyssähköposti: [email protected]; [email protected]

Tämän artikkelin kirjoittajat ovat kaikki professori Zhang Lingmingin tiimistä Illinoisin yliopistossa Urbana-Champaignissa (UIUC), mukaan lukien: Steven Xia, neljännen vuoden tohtoriopiskelija, jonka tutkimussuunta on automaattinen koodin korjaus perustuu tekoälyn suureen järjestelmään. mallit Deng Yinlin, neljännen vuoden tohtoriopiskelija, jonka tutkimussuunta on suuriin tekoälymalleihin perustuva tieteellisen tutkimuksen harjoittelija Soren Dunn, tällä hetkellä UIUC:n nuorempi opiskelija. Opettaja Zhang Lingming on tällä hetkellä apulaisprofessori UIUC:n tietojenkäsittelytieteen laitoksella, ja hän harjoittaa pääasiassa ohjelmistosuunnitteluun, koneoppimiseen ja suuriin koodimalleihin liittyvää tutkimusta.

Tarkempia tietoja saat opettaja Zhangin henkilökohtaiselta kotisivulta: https://lingming.cs.illinois.edu/

Sen jälkeen kun Devin (ensimmäinen täysin automaattinen AI-ohjelmistosuunnittelija) esitettiin, AI Agentin suunnittelusta on tullut tutkimuksen painopiste. Yhä useampi agenttipohjainen AI-ohjelmistosuunnittelija on ehdottanut ja saavuttanut tuloksia SWE-penkillä Tietojoukko on saavuttanut hyvän suorituskyvyn ja korjannut automaattisesti monia todellisia GitHub-ongelmia.

Monimutkainen agenttijärjestelmä tuo kuitenkin lisäkustannuksia ja epävarmuutta. Tarvitseeko meidän todella käyttää niin monimutkaista agenttia GitHub-ongelmien ratkaisemiseen? Voivatko ratkaisut, jotka eivät ole riippuvaisia ​​agenteista, päästä lähelle suorituskykyään?

Näistä kahdesta ongelmasta lähtien opettaja Zhang Lingmingin tiimi Illinoisin yliopistosta Urbana-Champaignista (UIUC) ehdotti OpenAutoCoder-Agentlessia, yksinkertaista, tehokasta ja täysin avoimen lähdekoodin agenttitonta ratkaisua, joka voi ratkaista todellisen GitHub-ongelman vain. 0,34 dollaria. Agentless on houkutellut yli 300 GitHub-tähteä GitHubissa muutamassa päivässä, ja se on sijoittunut DAIR.AI:n viikoittaisimpien ML-paperien listan kolmen parhaan joukkoon.



论文: AGENTLESS : LLM-pohjaisten ohjelmistosuunnitteluagenttien mysteerin poistaminen

Paperin osoite: https://huggingface.co/papers/2407.01489

Avoin lähdekoodi: https://github.com/OpenAutoCoder/Agentless

AWS-tutkija Leo Boytsov sanoi: "Agentless-kehys ylitti kaikki avoimen lähdekoodin agenttiratkaisut ja saavutti melkein korkeimman tason SWE Bench Lite -tuotteessa (27 %). Lisäksi se päihitti kaikki avoimen lähdekoodin ratkaisut huomattavasti halvemmalla. Kehys käyttää A:ta hierarkkinen kysely lähestymistapa (LLM-kysymysten esittäminen tiedostojen, luokkien, funktioiden jne. etsimiseksi) hyödyntää LLM:ää, mutta ei salli LLM:n tehdä suunnittelupäätöksiä."



Agentless on automaattinen lähestymistapa ohjelmistokehitysongelmiin, joka käyttää yksinkertaista kaksivaiheista lähestymistapaa virheiden paikallistamiseen ja korjaamiseen koodipohjassasi. Paikannusvaiheessa Agentless käyttää hierarkkista lähestymistapaa rajoittuakseen vähitellen epäilyttäviin tiedostoihin, luokkiin/toimintoihin ja tiettyihin muokkauspaikkoihin. Korjaukseen se käyttää yksinkertaista erotusmuotoa (viitattu avoimen lähdekoodin työkalusta Aider) useiden ehdokaskorjausten luomiseen, suodattamiseen ja lajitteluun.



Tutkijat vertasivat Agentlessia olemassa oleviin tekoälyohjelmistoagentteihin, mukaan lukien huippuluokan avoimen lähdekoodin ja kaupalliset/suljetun lähdekoodin projektit. Yllättäen Agentless voi ylittää kaikki olemassa olevat avoimen lähdekoodin ohjelmistoagentit halvemmalla! Agentless ratkaisee 27,33% ongelmista, korkein avoimen lähdekoodin ratkaisuista, ja maksaa keskimäärin vain 0,29 dollaria kunkin ongelman ratkaisemisesta ja maksaa keskimäärin vain noin 0,34 dollaria kaikista ongelmista (mukaan lukien ratkaistavissa olevat ja ratkaisemattomat).



Ei vain sitä, vaan Agentlessilla on potentiaalia parantaa. Agentless voi ratkaista 41% ongelmista, kun otetaan huomioon kaikki luodut korjaustiedostot, yläraja, joka osoittaa merkittävää parantamisen varaa korjaustiedostojen lajittelu- ja valintavaiheissa. Lisäksi Agentless pystyy ratkaisemaan joitakin ainutlaatuisia ongelmia, joita edes paras kaupallinen työkalu (Alibaba Lingma Agent) ei pysty ratkaisemaan, mikä viittaa siihen, että sitä voidaan käyttää olemassa olevien työkalujen täydentäjänä.



SWE-bench Lite -aineiston analyysi

Tutkijat suorittivat myös manuaalisen tarkastuksen ja yksityiskohtaisen analyysin SWE-bench Lite -tietojoukosta.

Tutkimuksessa havaittiin, että 4,3 % SWE-bench Lite -tietojoukon ongelmista antoi täydelliset vastaukset suoraan ongelman kuvaukseen, mikä on oikea korjauspaikka. Loput 10 % kysymyksistä kuvaavat tarkat vaiheet oikeaan ratkaisuun. Tämä viittaa siihen, että jotkin SWE-bench Liten ongelmat voivat olla helpompia ratkaista.

Lisäksi tutkimusryhmä havaitsi, että 4,3 % ongelmista sisälsi käyttäjien ehdottamia ratkaisuja tai vaiheita ongelman kuvauksessa, mutta nämä ratkaisut eivät olleet yhdenmukaisia ​​kehittäjien todellisten korjaustiedostojen kanssa. Tämä paljastaa edelleen tämän vertailuarvon mahdollisen ongelman, koska nämä harhaanjohtavat ratkaisut voivat saada tekoälytyökalun luomaan vääriä ratkaisuja yksinkertaisesti noudattamalla ongelman kuvausta.

Ongelmankuvauksen laadun osalta tutkijat havaitsivat, että vaikka suurin osa SWE-bench Liten tehtävistä sisältää riittävästi tietoa ja monet tehtävät tarjoavat myös virheesimerkkejä virheiden toistamiseen, on silti 9,3 % ongelmista, joissa ei ole tarpeeksi tietoa. Sinun on esimerkiksi otettava käyttöön uusi funktio tai lisättävä virhesanoma, mutta tiettyä funktion nimeä tai virhesanomajonoa ei ole annettu ongelman kuvauksessa. Tämä tarkoittaa, että vaikka taustalla oleva toiminnallisuus olisi toteutettu oikein, testi epäonnistuu, jos funktion nimi tai virheilmoitusjono ei täsmää.



Princetonin yliopiston tutkijat ja yksi SWE-Benchin kirjoittajista vahvistivat havaintonsa Ofir Pressille: "Agentless suoritti hienon manuaalisen analyysin SWE-bench Litestä. He uskovat, että Liten teoreettinen maksimipistemäärä voi olla 90,7 %. Luulen, että Todellinen yläraja on luultavasti alempi (noin 80%).



SWE-bench Lite-S: tiukka, suodatettu ongelmien osajoukko

Vastauksena näihin ongelmiin tutkijat ehdottivat tiukkaa ongelma-alajoukkoa SWE-bench Lite-S (sisältää 252 kysymystä). Erityisesti poistimme SWE-bench Litestä (sisältää 300 kysymystä) ne kysymykset, jotka sisälsivät tarkkoja korjauksia, harhaanjohtavia ratkaisuja tai eivät antaneet riittävästi tietoa ongelman kuvauksessa. Tämä poistaa järjettömät kysymykset ja standardoi vertailun vaikeustason. Alkuperäiseen SWE-bench Liteen verrattuna suodatettu vertailukohta heijastaa tarkemmin automatisoitujen ohjelmistokehitystyökalujen todellisia ominaisuuksia.

Johtopäätös

Vaikka agenttipohjainen ohjelmistokehitys on erittäin lupaavaa, kirjoittajat uskovat, että teknologian ja tutkimusyhteisön on aika pysähtyä miettimään keskeisiä suunnittelu- ja arviointimenetelmiään sen sijaan, että kiirehtisi vapauttamaan lisää agentteja. Tutkijat toivovat, että Agentless voi auttaa nollaamaan tulevien ohjelmistokehitysagenttien perustason ja suunnan.