Programování se stává přístupnějším a rychlejším. Už jste slyšeli o ChatGPT a Codexu?

V posledních měsících je kolem společnosti OpenAI rušno. Její inteligentní chatbot ChatGPT podnítil představivost a přiměl lidi ptát se, jakou roli bude umělá inteligence (AI) hrát v budoucnosti. Stejná společnost vyvíjí také nástroj Codex, který by mohl zcela změnit způsob práce vývojářů. Na základě dat shromážděných z celého webu dokáže ChatGPT odpovědět na téměř jakoukoli otázku, i když ne vždy přesně, a to tak, že odpověď vypadá, jako by ji napsal člověk. Codex je na tom podobně, jen místo vět píše softwarový kód. Zadejte Codexu, jaký typ softwarového problému se snažíte vyřešit, a Codex vám navrhne řešení pomocí kódu.
Pokud nyní může nástroj AI psát kód za vývojáře, vyvstává otázka, jaký to bude mít dopad na studenty informatiky a zda nezmizí vysoce placená pracovní místa softwarových inženýrů. Podle akademiků a odborníků na vzdělávání v oblasti informatiky však bude po softwarových inženýrech i nadále vysoká poptávka a nástroje AI, jako je Codex, jsou jen přirozeným krokem. Programování se v průběhu generací pouze postupně stává přístupnějším a rychlejším.
AI kódovací asistenti
OpenAI Codex nebo třeba i Tabnine, CodeT5, Polycoder a Cogram jsou kódovací asistenti s AI. Všechny byly vyvinuty s cílem pomoci programátorům psát kód rychleji a s menším počtem chyb, což z nich činí skvělé pomocníky. Pokud jde o rozhodování, který z nich je nejlepší, záleží na individuálních potřebách a cílech daného programátora. Kódovací asistenti se mezi sebou liší typy podporovaných jazyků, možnostmi integrací a tím, jestli jsou open source, případně kolik stojí.
Codex i Polycoder mají širokou škálu podporovaných jazyků a nabízí užitečná doporučení pro mnoho typů kódu. Každý model však využívá jiný set trénovacích dat. Polycoder Codex dlouho překonával například v jazyce C. Tabnine je zase oblíbenou volbou díky svému uživatelsky přívětivému rozhraní a snadné integraci s textovými editory. Cogram a CodeT5 se profilují více do správy projektů a zefektivňování procesů, které jsou repetitivní a uživatelům jen zbytečně zabírají čas. CodeT5 je vyvinut Salesforce, tudíž je logickým výběrem pro Apex vývojáře. Cogram našel využití v data science pro lepší pochopení velkých dat.
„Každý z nich má své vlastní výhody – z nichž některé jako uživatelská přívětivost mohou být čistě subjektivní – proto je pro každého programátora nejlepší si sám definovat kritéria, která jsou pro něj a pro typ vývoje, na kterém zrovna pracuje, důležitá,“ vysvětluje Jana Večerková, ředitelka Coding Bootcamp Praha, intenzivních i krátkodobých kurzů programování, codingbootcamp.cz.
Codex aneb pomoc začátečníkům
OpenAI Codex je model AI, který procesuje přirozenou řeč a tvoří z ní kód. Jinými slovy můžete vlastními slovy popsat co chcete, aby daný kus kódu dělal třeba v JavaScriptu a Codex za vás kód napíše. Codex odpovědi nabízí na základě svých trénovacích dat, tudíž čím běžnější problém popisujete, tím lepší odpověď dostanete. To z něho dělá skvělého pomocníka při porovnávání možností mezi jednotlivými programovacími jazyky. Slouží také jako užitečná nápověda či inspirace pro řešení problému, na kterém daný programátor pracuje. Codex může začínajícím programátorům pomoci, stejně jako ChatGTP. Když si nejste jisti správností daného postupu, případně nevíte, jak nějaký kus kódu napsat, tyto nástroje vám mohou pomoci. Je však třeba vědět, kterým směrem se chcete ubírat a proč, jinak slepě kopírujete kód. A místo toho, abyste se učili, tak spíše stagnujete. Nicméně pro verifikaci, nápovědu či k rozšíření znalostí o další programovací jazyky a technologie, mohou být tyto nástroje užitečné.
Autorská práva kódu
Autorská práva ke kódu jsou žhavým tématem. Na konci minulého roku byla na jeden z AI nástrojů pro psaní kódu, GitHub Copilot, podána v Americe žaloba. Dle žaloby Microsoft a OpenAI porušují autorská práva všech vývojářů, kteří publikovali svou práci na Githubu pod open-source licencí, jelikož tato data byla využita jako trénovací.
„Všeobecným pravidlem ohledně autorských práv je, že pokud si nejste jednoznačně jisti tím, že kód můžete volně využít, typicky proto, že je to vysloveně uvedeno, tak byste ho využívat neměli,“ vysvětluje Jana Večerková, ředitelka Coding Bootcamp Praha, intenzivních i krátkodobých kurzů programování, codingbootcamp.cz.
ChatGPT a relevance výsledků
Relevantnost výsledků generovaných modelem ChatGPT závisí na mnoha faktorech, jako je specifikace dotazu, kontext, aktuální výcvikové data a další. Model ChatGPT je trénován na velkém množství textových dat a je schopen generovat odpovědi s dobrou mírou relevance na dostatečně specificky položené dotazy. Je ale rolí daného programátora si výsledky ověřit.
Může Codex vytvořit vlastní AI?
Všechny modely jsou jen algoritmy, které byly trénovány na velkém množství dat, aby dokázaly odpovídat na specifické dotazy a generovat výstupy. Tyto modely nemají schopnost vlastního uvažování ani rozhodování, tudíž nemají možnost ani další umělé inteligence vytvořit.
Budoucnost AI modelů
AI modely se nyní bouřlivě rozvíjejí. Čeká nás velmi zajímavé období plné technologických novinek. Už nyní lze vidět, že se tyto nástroje staly součástí běžné pracovní rutiny mnoha lidí, z nichž většina je v netechnických profesích. Během velmi krátké doby, a to zejména s nástupem ChatGPT, se staly pro mnoho lidí něčím jako osobním asistentem, researcherem, copywriterem a mentorem v jednom.
„Pravděpodobně bude docházet k integraci těchto modelů s širokým spektrem řešení a produktů. Jak moc velkým potenciálním zlomem tyto modely mohou být napovídá i to, že se nástupu OpenAI obává i firma, o jejíž neotřesitelném postavení na trhu by doteď pochyboval málokdo – Google,“ říká Jana Večerková, ředitelka Coding Bootcamp Praha, intenzivních i krátkodobých kurzů programování, codingbootcamp.cz. (15.3.2023)