Revizuirea software-ului în era AI: ce testăm la rOpenSci

URMĂREȘTE-NE
16,065FaniÎmi place
1,142CititoriConectați-vă

Apariția modelelor de limbaj mari (LLM) și a instrumentelor AI generative a schimbat natura dezvoltării software și a revizuirii software-ului. Aceste evoluții sunt complexe, provocatoare și controversate, dar necesită acțiuni pentru a menține și a dezvolta programele și comunitatea rOpenSci. Ca răspuns, începem cu un set preliminar de politici pentru a ne clarifica așteptările privind utilizarea instrumentelor AI generative de către autori, recenzori și editori în evaluarea inter pares de software. Această postare de blog descrie provocările viitoare și schimbările inițiale pe care le facem.

Provocare: Menținerea valorilor noastre fundamentale

Principala noastră provocare este menținerea valorilor noastre fundamentale.

O valoare centrală pentru rOpenSci este promovarea unei comunități primitoare, în special prin sprijinirea și încurajarea persoanelor care altfel s-ar putea simți excluse. Instrumentele AI generative pot ajuta în acest sens. Modelele de limbaj mari și instrumentele AI generative pot face multe sarcini de codare mai ușoare și mai rapide și pot extinde comunitatea de oameni capabili să contribuie la software-ul open source și la comunitatea OSS.

Cu toate acestea, există multe dezavantaje ale instrumentelor AI generative care ne provoacă valorile de bază. pyOpenSci a făcut o treabă excelentă explorând acestea în această postare de blog. Ele se încadrează în două zone largi.

În primul rând, utilizarea AI poate în multe cazuri să degradeze calitatea atât a codului științific open-source, cât și a procesului prin care îl creăm. LLM-urile pot produce în multe cazuri rezultate incorecte, nu reușesc să genereze beneficii de timp sau de eficiență sau pot degrada procesul de învățare a codificarii sau coeziunea socială a comunității. Un design de bază al evaluării inter pares a software-ului nostru este de a stimula dezvoltarea comunității prin interacțiuni sănătoase între autori, recenzori și colaboratori. Ne propunem să îmbunătățim și să promovăm calitatea software-ului de cercetare, să facilităm bunele practici de dezvoltare în rândul cercetătorilor, să promovăm colaborarea și să creăm o comunitate de practică. Orice utilizare a AI trebuie să fie compatibilă cu acest scop.

În al doilea rând, inteligența artificială are potențialul de a avea efecte sau externalități uriașe mai ample: impacturi asupra mediului, amplificarea părtinirii, încălcarea drepturilor creative și intelectuale sau chiar determinarea creșterii inegalității sociale și economice. Avem atât responsabilități colective, cât și individuale de a aborda aceste impacturi, care includ dreptul de a renunța la utilizarea IA.

Provocare: Schimbarea focusului recenziilor software

Editorii și recenzenții de la rOpenSci sunt voluntari care își dedică timpul pentru a-i ajuta pe alții să își îmbunătățească calitatea software-ului. Sistemul nostru de revizuire funcționează deoarece au fost întotdeauna capabili să presupună că toate aspectele codului trimis spre revizuire au reflectat deciziile luate de autorii umani ai software-ului. Aceasta, la rândul său, a asigurat că eforturile editorilor și recenzenților sunt proporționale cu eforturile primare ale autorilor de software.

Instrumentele AI generative pot schimba ambele situații. Acestea permit producerea software-ului cu aport sau supraveghere umană relativ redusă, ceea ce înseamnă că editorii și recenzenții pot acorda mai multă atenție designului, structurii și funcționării software-ului decât autorii depunerii. Nu dorim ca revizuirea software-ului să devină un serviciu în care voluntarii noștri umani validează în mare parte software-ul generat de AI. Acest lucru ar pune în pericol interacțiunea egală și constructivă a revizuirii și ar reduce probabil motivația editorilor și a recenzenților. Trebuie să ne asigurăm că procesul nostru de revizuire a software-ului rămâne axat pe deciziile, proiectele și implementările autorilor care au trimis.

O opțiune este de a solicita autorilor să sublinieze zonele care au fost generate de IA și de a specifica domeniul de aplicare al propriei lor lucrări. Cu toate acestea, acest lucru ar putea duce la procesul nostru holistic anterior să devină unul în care doar aspecte sau secțiuni definite de software ajung să fie revizuite. Autorii care declară că un anumit instrument a fost folosit pentru a genera toate testele pot determina un evaluator să ignore complet acele teste, în timp ce un alt evaluator poate fi implicat cu pasiune în modurile prin care exact acel instrument scrie teste.

În orice caz, acest lucru va necesita ca toată lumea să fie cât mai deschisă cu privire la ce, unde și cum ar fi putut fi utilizate instrumentele AI generative.

Răspuns: Politici preliminare

Actualizările noastre inițiale ale politicii nu au scopul de a restricționa utilizarea instrumentelor AI generative, ci de a încuraja comunitatea rOpenSci să abordeze aceste instrumente în moduri care încurajează, mai degrabă decât diminuează, interacțiunile sănătoase ale comunității.

Actualizări similare au fost deja implementate atât de Journal of Open Source Software, cât și de pyOpenSci și suntem datori pentru munca tuturor celor care au contribuit la aceste declarații de politică.

Este important că politicile și practicile noastre de revizuire a software-ului au evoluat de-a lungul multor ani ca răspuns la implicarea și feedback-ul comunității. Introducerea politicilor care se adresează instrumentelor generative de inteligență artificială este o parte a acestei evoluții, iar aceste politici vor evolua, de asemenea, în continuare ca răspunsuri la implicarea comunității și la schimbarea practicilor comunitare.

Nicio modificare a domeniului de aplicare

Un răspuns potențial ar fi o schimbare a domeniului de aplicare a pachetelor pe care le examinăm. JOSS și-a actualizat definiția domeniului de aplicare pentru, printre altele, să necesite o înregistrare mai lungă de dezvoltare continuă, împreună cu alte criterii, cum ar fi dovezi de impact și design. La rOpenSci, autorii caută adesea feedback cu privire la software-ul în stadiu incipient. Procesul nostru de revizuire implică de obicei o analiză profundă și amplă prin schimburi ample între autori, recenzori și editori. Suntem încrezători că acest lucru se extinde la multe dintre domeniile evidențiate de criteriile actualizate ale JOSS și, prin urmare, nu vedem că este nevoie să modificăm în mod explicit nici domeniul de aplicare, nici obiectivul revizuirii.

Necesită deschidere în utilizarea AI

Actualizările noastre de politici urmăresc să păstreze același grad de deschidere și transparență pe care l-am practicat întotdeauna, extinzându-se în același timp la noua zonă a instrumentelor și practicilor AI generative. Nu putem cunoaște eventualul impact pe care instrumentele AI generative îl pot avea asupra proceselor și practicilor de revizuire a software-ului la rOpenSci și putem cere doar un grad maxim de transparență din partea tuturor celor implicați.

Descriem acum actualizări specifice atât la practicile, cât și la politicile noastre pentru autori, pentru editori și pentru recenzori. Revizuirea software-ului își propune să ofere autorilor feedback cu privire la practicile și alegerile lor, și nu doar asupra liniilor de cod pe care ei sau un AI le-au generat. De asemenea, prețuim timpul și efortul editorilor și recenzenților și dorim ca aceștia să se poată concentra asupra practicilor și alegerilor autorilor.

Aplicație practică: pentru autori

Autorii care nu folosesc instrumente AI generative vor trimite ca întotdeauna, fără cerințe suplimentare. Celor care folosesc astfel de instrumente li se va cere să descrie utilizarea lor și să afirme că tot materialul generat a fost revizuit cu atenție de către autori. Dorim ca aceste descrieri să ajute recenzenții și editorii să înțeleagă cum pot examina cel mai bine codul și să ofere feedback util.

Vom modifica șablonul de trimitere pentru a include această secțiune necesară și vom actualiza Ghidul pentru autori cu îndrumări suplimentare.

Un exemplu minim ar putea fi o afirmație că „nu suntem foarte pricepuți în C, așa că am folosit un LLM pentru a genera cea mai mare parte a codului pentru algoritmul C”. Acest lucru ar putea ghida recenzenții să acorde o atenție deosebită testelor pentru acea parte a pachetului. O descriere mai extinsă ar putea fi aceea, „Am folosit pentru a genera toate testele, dar am citit, editat și parcurs manual fiecare test noi înșine.” Acest lucru poate ajuta recenzenții să decidă dacă să acorde mai multă sau mai puțină atenție testelor, în funcție de interesele lor. În orice caz, știind că testele au fost generate de instrumente AI este utilă și importantă pentru procesul de revizuire.

Descrierile pot face referire la documentația relevantă din depozit, cum ar fi:

  • Documente de proiectare care evidențiază componentele cheie și explică proiectarea acestora;
  • „agents.md” sau fișiere echivalente, împreună cu explicații despre modul în care acestea au fost utilizate, împreună cu descrierea clară a rolurilor autorilor care au depus;
  • Prezentare generală a istoriei dezvoltării, de exemplu în „NEWS.md” sau fișiere echivalente.

Intenționăm să ne menținem cerințele pentru fișierele „CONTRIBUTING.md”, deoarece orice instrument AI generativ poate fi, de asemenea, direcționat să le trateze ca pe un fișier „agents.md”.

Aceasta este completarea noastră intenționată la șabloanele pentru autorii care trimit software pentru revizuire:

## Use of Generative AI
- ( ) Generative AI tools were used to produce some of the material in this submission.
If so, please describe: 
If your repository includes an "agents.md" file or equivalent, please provide a link, and describe how this has been used in the development of your package.

Un exemplu de o astfel de descriere poate fi găsit în această trimitere recentă de revizuire a software-ului.

Aplicație practică: pentru editori

Editorii sunt primii care vizualizează software-ul trimis către rOpenSci și, în general, completează o listă inițială de verificare a editorilor care indică dacă cred că un pachet poate trece la revizuire. Această listă de verificare va include și un articol suplimentar:

- ( ) **Use of generative AI tools**: If the authors have used generative AI tools, have they sufficiently described their usage?

De asemenea, acest articol nu va necesita nicio acțiune suplimentară din partea editorilor, cu excepția cazului în care autorii au folosit instrumente AI generative.

Considerațiile editoriale inițiale au fost până acum în mare măsură tehnice, incluzând multe dintre aspectele automatizate acum de noastre pkgcheck sistem. Ca răspuns la acest nou element din lista de verificare, editorii își pot extinde considerația pentru a stabili dacă un pachet a avut o contribuție umană suficientă pentru a merita revizuit, alături de considerente ale unor factori suplimentari, cum ar fi:

  • Declarații clare despre motivația și importanța pachetului.
  • Istoricul dezvoltării pachetelor.
  • Dovezi ale deciziilor de proiectare care motivează software-ul.

Atunci când recrutează recenzori pentru un pachet, editorii pot descrie utilizarea AI de către autori, acolo unde este relevant, pentru a-i ajuta să înțeleagă natura pachetului și cerințele revizuirii.

Aplicație practică: pentru recenzori

Procesele de revizuire de la rOpenSci implică frecvent recenzenții care recomandă îmbunătățiri potențiale, iar apoi autorii le implementează. În adaptarea la utilizarea instrumentelor AI generative, ne vom strădui să menținem aceeași cultură a feedback-ului constructiv. Sperăm că autorii vor oferi suficiente informații despre orice utilizare a instrumentelor AI generative pentru a ghida recenzenții către aspectele software-ului lor care necesită o atenție deosebită.

Evaluatorilor li se permite să utilizeze instrumente AI generative în pregătirea recenziilor pentru rOpenSci, dar utilizarea lor trebuie să îndeplinească aceleași criterii de sprijinire a obiectivelor revizuirii. Ghidul nostru pentru evaluatori va fi actualizat pentru a reține următoarele puncte:

  • Instrumentele IA generative pot fi folosite pentru a ajuta procesul de revizuire, dar tot textul de revizuire trebuie să reflecte judecata recenzentului.
  • Utilizarea tipică și acceptabilă a instrumentelor AI generative în revizuirea software-ului include obținerea unei imagini de ansamblu asupra designului, structurii și funcției software.

Actualizările Ghidului pentru evaluatori vor include, de asemenea, exemple de utilizare productivă a instrumentelor AI generative în procesul de revizuire. Ne propunem să desfășurăm proiecte pilot pe parcursul acestui an pentru a testa unde în procesul de revizuire AI poate fi cel mai bine utilizată pentru a îmbunătăți experiența tuturor și pentru a oferi linii directoare mai solide și instrumente personalizate.

Evaluatorii pot lua în considerare, de asemenea, utilizarea IA pentru a alege dacă să se ofere voluntar ca recenzent al unui pachet, iar autorii ar trebui să fie conștienți de faptul că utilizarea extinsă a AI ar putea crește timpul de găsire a evaluatorilor.

Mergând înainte

Aceasta este prima noastră trecere la furnizarea de linii directoare care guvernează utilizarea AI generativă pentru a ne asigura că revizuirea software-ului rOpenSci continuă să se îmbunătățească, păstrând în același timp valorile esențiale.

Cu mai multe trimiteri de pachete care au o anumită componentă a contribuției AI, consiliul editorial a considerat că este esențial să furnizeze aceste actualizări pentru a gestiona procesul, pe măsură ce aflăm mai multe despre ce funcționează și ce nu.

Vă invităm să discutați în continuare despre rolul evolutiv al AI în revizuirea software-ului în acest număr și, mai important, să vă alăturați nouă ca autor sau recenzent în evaluarea inter pares, astfel încât să putem învăța împreună!

Dominic Botezariu
Dominic Botezariuhttps://www.noobz.ro/
Creator de site și redactor-șef.

Cele mai noi știri

Pe același subiect

LĂSAȚI UN MESAJ

Vă rugăm să introduceți comentariul dvs.!
Introduceți aici numele dvs.