KOŘÍNEK, J. Generování kódu z textového popisu funkcionality [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2025.
Z hlediska aktivity při řešení a výstupů bohužel nemohu práci hodnotit jinak než jako nevyhovující. Student nekonzultoval svůj postup, neposílal dohodnuté zprávy o průběžných výsledcích a odevzdal technickou zprávu, popisující dílo nevalné kvality, které mi ani neukázal.
| Kritérium | Známka | Body | Slovní hodnocení |
|---|---|---|---|
| Informace k zadání | Zadání vyžadovalo získat dostatečný vhled do problematiky moderních metod generování kódu s využitím velkých jazykových modelů a realizaci systému, který bude poskytovat alespoň v úzce vymezené doméně výsledky srovnatelné s běžně dostupnými nástroji. Bohužel student v průběhu řešení práce prakticky nekomunikoval, takže se ani nepřiblížil k vytvoření uspokojivého systému, odpovídajícího prvotním představám, případně srovnání existujcích metod na relevantních datech, zmiňovaných v zadání. S výsledky tedy bohužel nemohu být spokojen. | ||
| Práce s literaturou | Student samostatně shromáždil sadu relevantních materiálů, zpracovaná rešerše však nesvědčí o hlubším pochopení aktuálních metod a problémů spjatých s limity současných systémů pro generování a chápání kódu. Navíc technická zpráva nezpracovává téměř žádné relevantní vědecké články z poslední doby, zaměřené na agentní systémy pro různé aktivity spjaté s vývojem software. | ||
| Aktivita během řešení, konzultace, komunikace | Aktivita studenta během řešení byla silně podprůměrná, ani v prvním semestru nedodržoval dohodnuté termíny, například prezentaci před obhajobou posílal na poslední chvíli, a v letním semestru se pak zcela odmlčel a bez jediné konzultace či ukázky výsledku odevzdal text technické zprávy. | ||
| Aktivita při dokončování | Průběžný ani finální obsah technické zprávy, ani praktický výstup se mnou nebyly konzultovány, na základě podoby odevzdaného textu soudím, že práce dokončena v dostatečném předstihu. | ||
| Publikační činnost, ocenění | - |
Technická zpráva nesplnila bod 5 zadání, protože k ní nebyl přiložen plakát, a bod 4 byl splněn jen částečně. Ačkoliv rozsah zprávy splňuje minimální požadavky, kapitoly 6 a 7 se mi nezdají úplné, kapitola 8 věnovaná vyhodnocení výsledků je velmi stručná a sekce 8.3 není dokončená. Obrázky jsou převážně v rastrové grafice (mnohé by lépe vynikly jako vektorové) a na některých je text téměř nečitelný. Pro lepší pochopitelnost textu chybí definice některých užitých pojmů (např. warm-up fáze, generování kódu se zvýšenou teplotou, exploding/vanishing gradients, …). Mezi odevzdanými soubory postrádám natrénovaný model. Zdrojový kód je bez komentářů a zdá se mi, že se odchyluje od návrhu a je nedokončený. Ohledně odchýlení od návrhu však není v textu zmínka. Z těchto důvodů navrhuji hodnocení stupněm F (45 bodů).
| Kritérium | Známka | Body | Slovní hodnocení |
|---|---|---|---|
| Náročnost zadání | |||
| Rozsah splnění požadavků zadání | Nebyl splněn bod 5 zadání, protože nebyl přiložen plakát ani jako příloha v technické zprávě, ani mezi odevzdanými soubory. Bod 4 ze zadání je splněn částečně. Nebyla splněna část zadání, která požadovala diskusi závislosti výsledků na intuitivní složitosti popisu. Ohledně tohoto je pouze zmínka v závěrečné kapitole 9. | ||
| Rozsah technické zprávy | Technická zpráva obsahuje 36 normostran textu a dalších odhadem 6 normostran obrázků. Splňuje tedy minimální požadavky. Vyhodnocení výsledků (kap. 8) je věnována pouze jedna stránka textu a dva špatně čitelné snímky obrazovky. Text je velmi stručný. Sekce 8.3 Vyhodnocení personalizace není dokončená. Chybí diskuze závislosti výsledků na intuitivní složitosti popisu (bod 4 ze zadání). Pro lepší pochopení by bylo vhodné rozšířit i kapitoly 6 a 7. Po nahlédnutí do zdrojového kódu mi nepřipadají úplné a vzbuzují ve mě pochybnosti. | ||
| Prezentační úroveň technické zprávy | 60 | Technická zpráva mi přišla čitelná. Myslím ale, že by bylo vhodné, aby obsahovala definici použitých pojmů: warm-up fáze (str. 32), generování kódu se zvýšenou teplotou (str. 28 a 29), exploding/vanishing gradients, personalizace generování kódu, zážitek uživatele z generování kódu, ztráta, trénovací ztráta a ztrátová funkce. Výhradu mám vůči nekonzistentnímu zápisu zkratky LoRA (na str. 24 je v jednom odstavci třikrát jinak). Všechny obrázky v technické zpravě jsou v rastrové grafice i když většina z nich by mohla být ve vektorové grafice. Obrázky 3.1 a 6.3 obsahují pouze text. Text na obrázcích 6.3, 8.1 a 8.2 lze s těží přečíst, protože je malým písmem. Obrázky 8.1 a 8.2 nejsou odkazovány z textu. | |
| Formální úprava technické zprávy | 75 | V technické zprávě je často porušeno typografické pravidlo, podle něhož nesmí neslabičná předložka zůstat na konci řádku. Zápis intervalů na str. 8 není v souladu sčeskými matematickými zvyklostmi. Ojediněle se vyskytuje desetinná tečka místo desetinné čárky, spojovník místo pomlčky a mezera za levou závorkou. Co se týče jazykové stránky, našel jsem menší množství překlepů a špatný slovosled při používání anglických slov. Název programovacího jazyka Python je často s malým počátečním písmenem. | |
| Práce s literaturou | 65 | Vybrané studijní prameny jsou relevantní. Polovina z nich jsou neformálně zveřejněné články na platformě arXiv. Přednost by však měla mít verze článku ve sborníku před verzí na platformě arXiv. U některých odkazů na zdroj si nejsem jist proč je autor uvádí (např. na str. 15 a 21 odkazy [8], [10] a [27]). U obrázku 2.4 a 2.5 není jistý původ. | |
| Realizační výstup | 40 | Mezi přiloženými daty chybí natrénovaný model. Zdrojový kód je bez komentářů. U dvou souborů se zdrojovým kódem ( train_corrector.py a train_generator.py ) je uveden jako autor Google, HuggingFace a Nvidia s licencí Apache License. U ostatních souborů se zdrojovým kódem není autor uveden. Kód není dostatečně popsaný ani v textovém souboru README.txt . Není přiložena žádná datová sada. Našel jsem jen soubor memory.json , který obsahuje pouze pět záznamů z toho všechny ze 14. května 2025 (termín pro odevzdání BP), všechny jsou zamítnuté, čtyřikrát se jedná o výpočet faktoriálu a jednou o převod teploty ze stupňů Celsia na stupně Fahrenheita. Podle obrázku 6.3 (str. 29) z technické zprávy jsem hledal řetězce "corrected" a "declined" ve zdrojovém kódu. Našel jsem řetězec "declined" v souboru main.py , ale řetězec "corrected" jsem nenašel. Není mi tedy jasné jakým způsobem aplikace může vytvořit takový záznam. Ve zdrojovém kódu nevidím rozdělení funkce programu na jednotlivé agenty tak, jak je popsáno na obrázku 6.1 (str. 28). V kapitole 7 vidím pouze zmíněného pamětního agenta. Není zmíněn žádný odklon od návrhu. | |
| Využitelnost výsledků | Zdrojový kód není komentován a ke zprovoznění aplikace je pouze velmi stručný návod. Není přiložen natrénovaný model. Výsledek práce považuji jen s velkými obtížemi za využitelný. |
eVSKP id 160532