AI-alapú kódellenőrzés a Linux kernel fejlesztésében

enlightened Ez az oldal a közösségért készül. heart Kövess minket máshol is:  Linux Mint Magyar Közösség a Mastodon-on  Telegram csatorna – csak hírek  Beszélgessünk a Telegram – Linux csevegő csoport  Hírek olvasása RSS segítségével  Linux Mint Hivatalos Magyar Közösség a Facebook-on      Linux Mint Baráti Kör a Facebook-on
wink Ha hasznosnak találod, és szeretnéd, hogy folytatódjon, támogasd a munkát Ko-fi vagy Paypal segítségével. laugh

kami911 képe

Chris Mason, a Linux kernel hosszú ideje aktív fejlesztője, akit leginkább a Btrfs fájlrendszer megalkotójaként ismerünk, az utóbbi hetekben AI/LLM-asszisztált kódellenőrzésre (AI-assisted code review) szolgáló promptokat készített a Linux kernel szoftverfoltok ellenőrzésére. A legújabb változatot ma tette közzé visszajelzés céljából.

Mason a Linux kernel levelezőlistáján így írta:

„Akik használják a promptokat, szeretném kérni a visszajelzést azokról a változtatásokról, amelyeket ma töltöttem fel, és amelyek az ellenőrzést egyéni feladatokra bontják. A korábbi promptok továbbra is elérhetők, így közvetlenül összehasonlíthatóak az új megoldással idő, token-költség és hatékonyság szempontjából.

A feladatokra bontás lehetővé teszi, hogy a nagy diffeket kisebb darabokra szedjük, és azokat külön-külön ellenőrizzük. Ez gyakran kevesebb token használatot eredményez, mivel nem kell minden lépésnél az egész diffet újra betölteni. Emellett több hibát is képes kiszűrni.

Egy Python-scriptet használok a változtatások feldarabolására, valamint a módosított függvények, típusok és hívásgráfok kiemelésére. Ez csökkenti a token-használatot, mert az AI-t a feldolgozott eredmények betöltésére utasítjuk, nem pedig arra, hogy önállóan fedezze fel ugyanazt az információt. Valószínűleg lesznek hibák, a scriptet tovább kell finomítanom.

Az így megtakarított tokenek remélhetőleg ellensúlyozzák az extra token-költséget. Minden feladatnak saját kontextusablaka van, így a kutatás, ami egy fájl feldolgozásánál történt, újra el kell végezni, ha egy másik fájlhoz is szükséges. Az AI-szolgáltatók token-cache-t használnak, így ez nagyjából működik. Különösen erre a részre várom a visszajelzéseket.

Az új felépítés az alábbi feladatokra bontja a kódellenőrzést:

  • Kódblokkok ellenőrzése
  • Korábbi „lore thread”-ek vizsgálata (ha semcode elérhető)
  • Javítások: címkék ellenőrzése
  • Syzkaller javítások mélyebb elemzése
  • Végső jelentés elkészítése

Mason és más Meta mérnökök komoly erőfeszítéseket tettek annak érdekében, hogy az AI/LLM-asszisztált kódellenőrzés pontossága és hasznossága a Linux kernel fejlesztői számára megfelelő legyen. Az eddigi eredmények biztatóak, és a jelenlegi ütemezés szerint a technológia a Linux kernel kódellenőrzésének hasznos eszközévé válhat a jövőben.

Az érdeklődők Chris Mason AI-kódellenőrzéshez készített promptjait a Linux kernel és a systemd patchek elemzéséhez a GitHub projektjében találhatják meg.