LLM alapú kódolási asszisztens fejlesztése modellezési nyelvhez
Egyre inkább elterjedté válnak az olyan, kódolást segítő intelligens eszközök, nagy nyelvmodelleken (LLM) alapulva képesek javaslatokat nyújtani a fejlesztéshez, vagy chat felületen keresztül teszik lehető, hogy a kódunkkal "beszélgetve" értsük meg annak működését, illetve végezzük módosításokat. Azonban az LLM-ek általában nagy mennyiségű adott nyelvű (pl. Python, JavaScript, Java) tanító adatot igényelnek, és gyakran "hallucinációkat" (hihetőnek tűnő, ámde hibás kimeneteket) produkálnak.
A feladat célja a rendszertervezésben használt modellezési nyelvekhez alkalmas kódolási asszisztens készítése. Itt a szokásos programozási nyelvekhez képest jóval kevesebb tanító adat áll rendelkezésre, valamint a hallucinációk a rendszertervezés korai fázisaiban a fejlesztés közben előfordulóknál nehezebben és később észrevehető, költségesebb hibákat okozhatnak. Ezért a feladat olyan, neuro-szimbolikus érvelési technikákat vizsgál, melyek az LLM-et logikai következtetőkkel kombinálják. Az LLM a szöveg értelmezését és a "kreatív" munkát végzi, míg kimenetének helyességét formális módszerek segítségével ellenőrizzük. Lehetséges a másik irányú együttműködés is, ahol a formális módszer kiementét az LLM segítségével tesszük a mérnökök számára könnyebben érthetővé.
A feladat felhasználja a tanszéken fejlesztett Refinery gráfalapú formális logikai következtető keretrendszert (online demó: https://refinery.services). A témán dolgozó hallgatók olyan nemzetközi élvonalba tartozó gráfalapú formális logikai következtető algoritmus fejlesztéséhez csatlakozhatnak, amely skálázódás tekintetében vetekszik az MIT vagy a Microsoft Research kutatói által kidolgozott SMT vagy SAT megoldókra alapuló módszerekkel.
A feladatra akár több hallgató is jelentkezhet, a pontos részfeladatok és kiírás meghatározására a konzulenssel egyeztetve kerül sor. A vizsgált modellezési nyelv lehet maga a Refinery nyelve, vagy akár az OMG által kidolgozott, iparban vezető rendszertervezési nyelv úgy generációs verziója, a SysML2 is.