Tantárgy adatlapja
A tantárgy céljának rövid ismertetése:
A kurzus célja, hogy a hallgatók a félév során közösen felépítsenek egy működő jogi dokumentumautomatizáló rendszert Google Apps Script környezetben, majd azt önállóan kiterjesszék egy általuk választott iratfajtára. A cél elsősorban nem programozói szakképzettség megszerzése, hanem annak megértése és gyakorlati alkalmazása, hogy egy jogi dokumentum miként bontható adatszerkezetre, feltételes kikötésekre és döntési logikára.
A tárgy a jogászi munka azon szeletére irányul, amely strukturált, ismétlődő és ezért formalizálható: az adatbekérésre, a
kikötésválasztásra, a szerződésszerkesztésre és az iratkiadásra. A hallgató megtanulja felismerni saját munkafolyamataiban az automatizálható elemeket, és képessé válik arra, hogy egy technológiai megoldás bevezetését ne csak megrendelőként, hanem a működési logika ismeretében értékelje.
A kurzus kiemelt célja továbbá az automatizált iratkiadás jogi kereteinek tudatosítása: az alaki érvényesség, az adatvédelem, a titoktartás és a felelősség kérdéseinek végiggondolása. A mesterséges intelligencia használata a tárgyon megengedett és szabályozott, célja a kritikus, ellenőrző szemléletű alkalmazás készségének kialakítása.
Elsajátítandó elméleti ismeretanyag:
1. A jogi dokumentum mint adatszerkezet.
A manuális iratkészítés erőforrás- és hibaszerkezete. A dokumentum három rétege: állandó szöveg, változó mező, feltételes kikötés. A dobozos jogi szoftver és a saját fejlesztésű megoldás összehasonlítása telepítés, költség, testreszabhatóság, adatkontroll és skálázhatóság szempontjából.
2.A programozás jogászi szempontból releváns alapfogalmai.
Adattípusok és változók; a jogi adat leképezése adatszerkezetre.
Operátorok, az egyenlőség és az azonosság megkülönböztetése. Szövegkezelés és sablonkifejezések. Vezérlési szerkezetek mint a jogi feltételrendszer megfelelői; logikai műveletek konjunktív és diszjunktív feltételekre. Függvények, paraméterek, visszatérési érték. Tömbök és objektumok; a kikötéskönyvtár mint adatszerkezet.
3. A dokumentumstandardizálás elmélete.
A sablonosítás elvei, helyőrző (placeholder)-konvenciók, a kikötéskönyvtár felépítése, az alternatív és kizáró kikötések viszonyrendszere. Az adatmodell fogalma: milyen adatot, milyen néven és milyen formátumban célszerű bekérni. A strukturált adatbekérés kérdésfeltevési szempontjai.
4. A Google Apps Script működési modellje.
A kötött és az önálló szkript különbsége, a jogosultságkezelés logikája, az esemény- és időalapú indítás (trigger), az eseményobjektum szerkezete, a futtatási napló szerepe a hibakeresésben.
5. Az automatizált iratkiadás jogi keretei.
Az alaki érvényesség kérdései: az írásbeliség követelménye, a teljes bizonyítóerejű magánokirat feltételei, az elektronikus aláírás és a hitelesítési megoldások szerepe. Adatvédelmi kérdések: jogalap, célhoz kötöttség, adattakarékosság, tárolási idő, az adatkezelő és az adatfeldolgozó elhatárolása felhőalapú megoldásoknál. Az ügyvédi titok és a felhőszolgáltatás viszonya. A felelősség kérdése hibás generálás esetén; az emberi jóváhagyás („human-in-the-loop”) elve. A mesterséges intelligencia alkalmazásának átláthatósági és ellenőrzési követelményei.
6. Megbízhatóság és minőség.
Hibatípusok elhatárolása, a logikai hiba veszélyessége. A tesztelés fogalma és a szélsőséges esetek szerepe. A naplózás mint auditnyom. Kódszervezési alapelvek: konfigurációs réteg, újrahasznosítható segédfüggvények, verziókövetés.
7. Kitekintés.
A nagy nyelvi modellek fejlesztési segédeszközként való alkalmazása és korlátai; a generált kód és a generált jogi tartalom ellenőrzési kötelezettsége. A nyelvi modell rendszerbe illesztésének lehetősége és feltételei.
Elsajátítandó gyakorlati ismeretanyag:
A tárgy gyakorlati kurzus: az alkalmakon élő, közös kódolás zajlik, amelynek eredményét a hallgatók saját környezetükben építik. A félév végére közösen elkészül egy működő dokumentumautomatizáló rendszer, amelyet a hallgatók páros projektmunkában terjesztenek ki egy általuk választott iratfajtára. Minden kódolással töltött alkalom végén kiadásra kerül a működő referenciakód, így az esetleges lemaradás nem halmozódik.
1. alkalom: Bevezetés.
Egy jogi dokumentum élő szétbontása állandó szövegre, változó mezőre és feltételes kikötésre. A félév végtermékének bemutatása működés közben. A fejlesztői környezet beállítása, az első saját szkript lefuttatása. A mesterséges intelligencia órai használatának szabályai.
2–4. alkalom: Programozási alapok jogi példákon.
Változók és adattípusok, szövegösszefűzés és sablonkifejezések gyakorlása szerződéses adatokon. Feltételes szerkezetek: kötbér- és ellenjegyzési feltétel megfogalmazása kódban. Függvények írása. Tömbök és objektumok: szerződő fél modellezése, kikötéskönyvtár építése, kikötések összefűzése ciklussal. A feladatok két nehézségi szinten kerülnek kiadásra.
5. alkalom: Dokumentumstandardizálás.
A választott irat sablonná alakítása helyőrzőkkel; a kikötéskönyvtár összeállítása; az alaki követelmények sablonra gyakorolt hatásának végiggondolása (aláírásblokk, tanúzás, keltezés).
6. alkalom: Strukturált adatbekérés.
Kérdőív építése Google Forms felületen: kérdéstípusok, válaszvalidáció, feltételes szakaszugrás a természetes személy és a gazdálkodó szervezet ága között. Az adatmodell megtervezése és dokumentálása. (1. mérföldkő leadása: sablon, kérdőív, adatmodell.)
7. alkalom: Az adat beolvasása.
A kérdőív kitöltésére induló szkript beállítása, a jogosultságkérés értelmezése, az eseményobjektum mezőinek kiolvasása és naplózása, a projekt kódszerkezetének kialakítása.
8. alkalom: Adatfeldolgozás.
Dátum- és számformázás magyar konvenció szerint, szövegtisztítás és átalakítás, metódusláncolás. A természetes személy és a gazdálkodó szervezet eltérő szerződéses bemutatásának megvalósítása. Hiányzó és hibás adat kezelése, nyelvtani egyeztetési kérdések.
9. alkalom: Dokumentumgenerálás.
Sablonmásolat készítése, a helyőrzők (placeholder) programozott cseréje, fájlnév- és iktatószám-képzés, mentés és PDF-előállítás. Az első teljes futtatás: kérdőív – adat – kész irat. (2. mérföldkő leadása.) 10. alkalom: Jogi és etikai keretek.
Csoportos esetelemzés hibaforgatókönyvek alapján: az egyes hibákhoz tartozó jogi kockázat és technikai ellenintézkedés azonosítása. Az adatkezelési tájékoztató elhelyezése a folyamatban. Kódolás nélküli alkalom, amelynek második fele felzárkózó konzultáció.
11. alkalom: Elágazó logika.
Iratfajta-választó függvény megvalósítása, feltételes kikötések beépítése, kizáró kikötések kezelése, közös segédfüggvények kiemelése, konfigurációs réteg kialakítása.
12. alkalom: Kimenet és kézbesítés.
PDF-előállítás, elektronikus levél küldése melléklettel, kísérőlevél sablonosítása, hozzáférési jogosultságok programozott beállítása, naplózás táblázatba auditnyom céljából. (2. mérföldkő leadása: végponttól végpontig működő folyamat.)
13. alkalom: Megbízhatóság és mesterséges intelligencia a fejlesztésben.
Hibakezelés beépítése, bemenet-ellenőrzés, szélsőséges esetek listájának összeállítása. Páros hibavadászat: a hallgatók egymás rendszerét tesztelik. Kódgenerálás és kódátvizsgálás nyelvi modellel; jó és rossz utasítás összehasonlítása konkrét feladaton; a modellnek át nem adható adatok köre.
14–15. alkalom: Záró bemutatók.
Kiválasztott csapatok élő bemutatót tartanak: a kérdőív kitöltésétől a kész irat megérkezéséig valós időben. A bemutatót kérdések követik, amelyekre mindkét csapattagnak válaszolnia kell. A 15. alkalmon oktatói bemutató zárja a félévet a nyelvi modell rendszerbe illesztésének lehetőségeiről, emberi jóváhagyási lépés közbeiktatásával.
Az értékelés kritériuma:
Részvétel:
A gyakorlati foglalkozásokon való részvétel kötelező. A félév során legfeljebb két hiányzás megengedett; ennél több igazolatlan távollét az aláírás megtagadását vonja maga után. A távollét igazolt jellegéről az oktató dönt. A foglalkozást az oktató rögzíti, így a hiányzó hallgatónak lehetősége nyílik a mulasztott alkalmat bepótolni. A tananyaggal történő lemaradás elkerülése érdekében a felvétel alapján történő pótlás kötelező.
Félévközi követelmények:
A hallgató a félév során két mérföldkövet ad le, amelyek együttesen a saját projekt fokozatos felépítését jelentik: (1) a választott irat sablonja, a hozzá tartozó kérdőív és az adatmodell; (2) a végponttól végpontig működő folyamat a 12. alkalom után. Az önálló feladatok elvégzése és az órai aktív részvétel elvárt.
A záró feladat:
A hallgatók párokban a félév során közösen felépített rendszert egészítik ki egy általuk választott, új iratfajtával. A választás oktatói jóváhagyással a 6. alkalomig véglegesül. A leadandó csomag: a kiterjesztett forráskód, az új irat sablonja és kérdőíve. 1-2 oldalas módszertani leírás (miként bontotta adatmezőkre és feltételes kikötésekre az iratot, milyen döntéseket hozott és miért, mit nem sikerült megoldania).
A bemutató menete:
A záró bemutatóra a 14–15. alkalmon kerül sor, csapatonként 6 perc élő bemutató és 4 perc kérdés formájában. A bemutató során a rendszernek valós időben kell működnie: a kérdőív kitöltésétől a kész irat megérkezéséig. A kérdések a kód bármely részére vonatkozhatnak, és azokra mindkét csapattagnak önállóan válaszolnia kell; aki nem tud számot adni a leadott rendszerről, egyénileg alacsonyabb értékelést kaphat.
Az értékelés szempontjai és súlyai:
Órai aktivitás és heti feladatok 40%; a két mérföldkő együttesen 20%; a záró leadás és bemutató 40%. A záró produktum értékelési szempontjai: működés (25%), módszertan, azaz az iratbontás átgondoltsága és a döntések indokoltsága (25%), jogi megalapozottság, azaz az előállított irat használhatósága és a feltételes logika helyessége (20%), a meglévő rendszerbe való illeszkedés és a kód olvashatósága (20%), valamint a bemutató és a védés (10%). Az értékelés nem a referenciakódtól való eltérés mértékén alapul: az attól eltérő, de megalapozott felépítés nem hátrány.
Minimumkövetelmény:
Egy új iratfajta teljes automatizálása a meglévő rendszerben, legalább tíz változó mezővel és három feltételes kikötéssel, működő kérdőív– irat–kézbesítés lánccal, úgy, hogy a korábban meglévő iratfajta továbbra is hibátlanul fut.
A mesterséges intelligencia használata:
A nyelvi modellek használata a tárgyon megengedett, de szabályozott. A leadott kódban jelölni kell, mely részek készültek modell közreműködésével. A hallgatónak a leadott kód minden elemét meg kell tudnia magyarázni; ezt a záró bemutató kérdései ellenőrzik. Valós személyes adat modellnek nem adható át, a teszteléshez fiktív adatot kell használni.
Az alkalmazott oktatási módszerek:
A tárgy gyakorlati kurzus, ezért a hangsúly a készségfejlesztésen és az önálló problémamegoldáson van. Alkalmazott módszerek:
- élő, közös kódolás: a kód minden alkalmon a hallgatók előtt, velük együtt épül; a hibázás és a hibajavítás az óra tervezett része;
- lépésenkénti építkezés referenciakóddal: minden kódolós alkalom végén kiadásra kerül a működő kódállapot, így az elakadás nem zárja ki a hallgatót a további munkából,
- páros projektmunka a félév második felében, párban végzett hibakereséssel,
- csoportos esetelemzés a jogi és etikai kockázatok feldolgozására,
- differenciált feladatkiadás: a programozási alapokat tárgyaló alkalmakon a feladatok alap és haladó szinten is elérhetők,
- heti önálló feladat, amely mindig a saját projekt következő lépését jelenti.
Kötelező irodalom:
A gyakorlati órákon elhangzottak, a bemutatott kódpéldák és a minden alkalom végén kiadott referenciakód, valamint az alábbi, folyamatosan frissülő hivatalos dokumentációk képezik a tantárgy kötelező tananyagát. Tekintettel a fejlesztői környezetek gyors változására, nyomtatott jegyzet vagy tankönyv kizárólagos ajánlása nem lehetséges.
1. Google Apps Script hivatalos fejlesztői dokumentáció. Google LLC.
https://developers.google.com/apps-script (folyamatosan frissülő elektronikus forrás)
2. MDN Web Docs – JavaScript. Mozilla Foundation. https://developer.mozilla.org/en-US/docs/Web/JavaScript (folyamatosan frissülő elektronikus forrás)
3. ZŐDI Zsolt: Jogi technológiák. Budapest, Ludovika, 2022. ISBN 9789635318209
Ajánlott irodalom:
1. Sophia Adams BHATTI et al. (eds.): The LegalTech Book. Fintech Circle Ltd., 2020. ISBN 9781119574279
2. ZORKÓCZY Miklós: (Legal) Language in Legaltech. Pázmány Law Review, 2023/1. Vol. 10. 87—106. p. DOI: https://doi.org/10.55019/plr.2023.1.87-106
3. Lucy BASSLI: The Simple Guide to Legal Innovation. ABA Book Publishing, 2019. ISBN 9781641055871
A tantárgy hozzájárulása a Képzési és kimeneti követelményekben meghatározott kompetenciaelemek elsajátításához:
a) tudása: T17, T14, T8, T9
T17 a tárgy gerince: a hallgató a jogi iratot állandó szövegre, változó mezőre és feltételes kikötésre bontja, sablonná alakítja, és a kikötéskönyvtárat maga építi fel – az iratszerkesztés technikáit tehát nem leírásból, hanem a szerkesztési szabályok formalizálásával sajátítja el. T14 az automatizált iratkiadást érintő speciális szabályozási területek feldolgozásával teljesül (alaki érvényesség és a teljes bizonyító erejű magánokirat feltételei, adatvédelem, elektronikus aláírás, a mesterséges intelligencia alkalmazásának átláthatósági követelményei). T8 és T9 a 10. alkalom esetelemzésén keresztül: a hallgató hibaforgatókönyveken azonosítja az ügyvédi titok, a felelősség és az emberi jóváhagyás kérdéseit, azaz olyan etikai dilemmákat, amelyeket a technológia hozott létre, és amelyekre kész válasz még nincs.
b) képességei: K32, K3, K31, K27, K19, K6, K16, K12, K33
K32 és K3 közvetlenül: a hallgató nem felhasználója, hanem építője lesz egy informatikai rendszernek. K31 az iratbontás során teljesül, ahol el kell döntenie, mely adat bír jogi relevanciával és melyik nem – az adatmodell tervezése ennek a döntésnek a rögzítése. K27 a hagyományos jogágakon kívül eső kérdések azonosításával
(adatkezelés, gépi iratkiadás felelőssége). K19 a leadandó módszertani leírásban, amely minden tervezési döntés indokolását megköveteli. K6 és K16 a generált kód és a generált jogi tartalom kötelező kritikai ellenőrzésén keresztül. K12 a technológiai környezet változásához való adaptív viszonyulásban. K33 a félév második felének páros projektmunkájában, ahol a záró védésen mindkét csapattagnak önállóan kell számot adnia a közös munkáról.
c) attitűdje: A7, A8, A2, A1, A18
A7 a tárgy alapállása: a hallgató jogi problémára nem jogi – programozási és rendszertervezési – szempontrendszert von be, és ezt nem külső szolgáltatásként veszi igénybe, hanem maga alkalmazza. A8 az ismeretlen probléma előtti megállás helyett a megoldáskeresés gyakorlásában. A2 és A1 a félév szerkezetéből következik: a heti önálló feladatok és a folyamatosan változó fejlesztői környezet önálló tanulást igényelnek, a tárgy anyaga önmagában nem elegendő és nem is lezárható. A18 a tesztelési fegyelemben: a működő megoldás nem elég, a szélsőséges esetek végigpróbálása értékelési szempont.
d) autonómiája és felelőssége: F3, F5, F8
F3 a páros hibavadászatban, a záró védés kérdéseiben és abban, hogy a módszertani leírásnak kötelező eleme annak megfogalmazása, mit nem sikerült megoldani – a saját munka korlátainak kimondása követelmény, nem hiba. F5 kettős értelemben: az értékelés egyaránt nézi a kód olvashatóságát és az előállított irat alaki helyességét, azaz a formai világosságot a hallgató saját munkájában és annak termékében is. F8 a páros projektmunka közös felelősségében.
Tantárgy oktatója:
Dr. Éder Róbert, jogász, óraadó oktató