Coderen met een AI

Programovanie s AI agentom

Umelá inteligencia (AI) zásadne zmenila spôsob, akým programujeme. AI agenti dokážu generovať kód, optimalizovať ho a dokonca pomáhať pri ladení. Napriek tomu existujú určité obmedzenia, ktoré by si programátori mali pri práci s AI uvedomovať.

Problémy so zoraďovaním a duplicitou

AI agenti majú problém so správnym poradím kódu. Môžu napríklad umiestniť inicializácie na koniec súboru, čo spôsobí runtime chyby. Okrem toho môže AI bez váhania definovať v projekte viacero verzií tej istej triedy alebo funkcie, čo vedie ku konfliktom a zámene.

Kódová platforma s pamäťou a štruktúrou projektu pomáha

Riešením je použitie AI kódovacích platforiem, ktoré dokážu spravovať pamäť a štruktúru projektu. To pomáha zachovať konzistenciu v zložitých projektoch. Bohužiaľ tieto funkcie nie sú vždy konzistentne aplikované. Môže sa teda stať, že AI stratí súvislosť projektu a pri programovaní zavádza neželané duplicity alebo nesprávne závislosti.

Väčšina AI kódovacích platforiem pracuje s takzvanými nástrojmi, ktoré môžu vyvolať large language model. Tieto nástroje sú založené na otvorenom štandardnom protokole (MCP). Je preto možné prepojiť AI coding agenta s IDE, ako je Visual Code. Prípadne si môžete lokálne nasadiť LLM pomocou llama alebo ollama a vyberte MCP server na integráciu. Fortis AI má MCP server na pomoc pri ladí a správe podkladového (linux) systému. Praktické, ak chcete kód nasadiť priamo živě.
Modely nájdete na huggingface.

Rozšírenia IDE sú nevyhnutné

Na lepšie riadenie AI generovaného kódu môžu vývojári využiť rozšírenia IDE, ktoré dohliadajú na správnosť kódu. Nástroje ako lintry, type checkery a pokročilé nástroje na analýzu kódu pomáhajú chyby včas odhaliť a opraviť. Tvoria nevyhnutné doplnenie k AI generovanému kódu na zaistenie kvality a stability.

Príčina opakujúcich sa chýb: kontext a rola v API

Jedným z hlavných dôvodov, prečo AI agenti opakovane robia chyby, je spôsob, akým interpretujú AI API. AI modely potrebujú kontext a jasné definovanie rolí, aby generovali efektívny kód. To znamená, že prompt musí byť kompletný: nielen funkčné požiadavky, ale aj očakávaný výsledok a okrajové podmienky musia byť výslovne uvedené. Aby sa to uľahčilo, môžete prompty ukladať v štandardnom formáte (MDC) a štandardne ich posielať AI. To je obzvlášť užitočné pre generické programátorské pravidlá, funkčné a technické požiadavky a štruktúru projektu.

Nástroje ako FAISS a LangChain pomáhajú

Produkty ako FAISS a LangChain ponúkajú riešenia na lepšie zaobchádzanie AI s kontextom. FAISS napríklad pomáha efektívne vyhľadávať a získavať relevantné útržky kódu, zatiaľ čo LangChain pomáha pri štruktúrovaní AI generovaného kódu a zachovaní kontextu v rámci väčšieho projektu. Ale aj tu si to môžete prípadne lokálne nastaviť s RAC databázami.

Záver: užitočné, ale ešte nie samostatné

AI je silný nástroj pre programátorov a môže pomôcť urýchliť vývojové procesy. Napriek tomu ešte nedokáže samostatne navrhnúť a vybudovať zložitejšiu kódovú základňu bez ľudského dohľadu. Programátori by mali považovať AI za asistenta, ktorý dokáže automatizovať úlohy a generovať nápady, ale stále potrebuje vedenie a opravy, aby sa dosiahol dobrý výsledok.

Kontaktujte kontakt na pomoc pri nastavení vývojového prostredia, aby tímom pomohol získať z vývojového prostredia maximum a aby sa viac venovali engineeringu požiadaviek a návrhu než ladení a písaniu kódu.

 

Gerard

Gerard pôsobí ako AI konzultant a manažér. Vďaka bohatej skúsenosti vo veľkých organizáciách dokáže veľmi rýchlo rozkliačovať problém a smerovať k riešeniu. V kombinácii s ekonomickým zázemím zabezpečuje obchodne opodstatnené rozhodnutia.