Generování kódu z textového popisu funkcionality

Loading...
Thumbnail Image

Date

Authors

Kožányi, Ondrej

Mark

A

Journal Title

Journal ISSN

Volume Title

Publisher

Vysoké učení technické v Brně. Fakulta informačních technologií

ORCID

Abstract

Narastajúca zložitosť vývoja softvéru často spôsobuje, že vývojári sú zahltení rutinnými, no nevyhnutnými úlohami súvisiacimi s kódom, ako je pridávanie jednoduchých nových funkcií, ladenie, písanie testov a dokumentovanie kódu, čo im uberá drahocenný čas vyhradený pre rozhodnutia a činnosti na vyššej úrovni. Na riešenie týchto problémov táto práca predstavuje prieskum, návrh a implementáciu systému CogniCollab, modulárneho multiagentného asistenta umelej inteligencie, zameraného na automatizáciu typických rutinných úloh, s ktorými sa vývojári stretávajú. CogniCollab využíva rozsiahle jazykové modely (LLM) ako základné stavebné prvky pre agentov a zahŕňa analyzačného agenta (Analyst Agent) zodpovedného za spracovanie dopytov v prirodzenom jazyku, dekompozíciu úloh a plánovanie ďalších akcií, popri špecializovaných agentoch (Specialized Agents), ktorí zabezpečujú splnenie podúloh. Systém je obohatený o integráciu a adaptáciu nástroja LocAgent, schopného vykonávať sémantické vyhľadávanie v poskytnutej kódovej báze, čím zlepšuje kontextuálne porozumenie, a využitie doladeného modelu CodeBERT, ktorý deteguje triedy zámerov z pôvodných zadaní. Každý agent je zodpovedný za samostatnú časť vývoja so špecializovanými rolami a logikou iteračného uvažovania. Schopnosť systému úspešne asistovať pri každodenných úlohách vývoja softvéru je demonštrovaná prostredníctvom praktických scenárov predstavujúcich dva režimy systému CogniCollab a porovnávacou diskusiou s inými najmodernejšími systémami, čo zdôrazňuje dôležitosť agentových metód vo vývoji AI asistentov.
The increasing complexity of software development often causes developers to be overrun with routine, yet essential code-related tasks, such as adding simple new features, debugging, writing tests, and documenting code, taking away from precious time reserved for high-level decisions and actions. To address these concerns, this thesis presents the exploration, design, and implementation of CogniCollab, a modular multi-agent Artificial Intelligence assistant system, focused on automating typical routine tasks that developers encounter. CogniCollab utilizes Large Language Models as foundational building blocks for the agents and features an Analyst Agent responsible for natural language query processing, task decomposition, and planning further actions, alongside Specialized Agents which handle sub-task completion. The system is enriched by the integration and adaptation of the LocAgent tool, capable of performing semantic searches over a provided codebase, enhancing contextual understanding, and the utilization of a fine-tuned CodeBERT model, which detects intent classes from the original assignments. Agents are each responsible for a separate part of the development with specialized roles and iterative reasoning logic. The system's ability to successfully assist in day-to-day software development tasks is demonstrated through practical scenarios showcasing CogniCollab's two modes and a comparative discussion with other state-of-the-art systems, highlighting the importance of agentic methods in AI assistant development.

Description

Citation

KOŽÁNYI, O. Generování kódu z textového popisu funkcionality [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2025.

Document type

Document version

Date of access to the full text

Language of document

en

Study field

Informační technologie

Comittee

doc. Dr. Ing. Dušan Kolář (předseda) Ing. Libor Polčák, Ph.D. (člen) doc. Dr. Ing. Otto Fučík (člen) Ing. František Grézl, Ph.D. (člen) Ing. Tomáš Goldmann, Ph.D. (člen)

Date of acceptance

2025-06-16

Defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm A.

Result of defence

práce byla úspěšně obhájena

DOI

Collections

Endorsement

Review

Supplemented By

Referenced By

Citace PRO