facebook LinkedIN LinkedIN - follow
IT SYSTEMS 1-2/2023 , AI a Business Intelligence

Využití populárních OpenAI nástrojů (ChatGPT a Codex) pro programování

Jana Večerková


V posledních týdnech je kolem spo­leč­nos­ti OpenAI rušno. Její inte­li­gent­ní chatbot ChatGPT podnítil před­sta­vi­vost a přiměl lidi ptát se, jakou roli bude umělá inte­li­gen­ce (AI) hrát v budoucnos­ti. 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 (nikoli však z živé verze) 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 dále 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á.

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é.

Co už dnes populární AI nástroje umí? A jak programátorům dokážou pomoci?
  • Nápověda při psaní kódu
  • Inspirace typických řešení daného problému
  • Debugging stávajícího kódu
  • Testování kódu z hlediska zranitelnosti
  • Refactoring stávajícího kódu
  • Úspora času a tím urychlení vývoje

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 nicméně 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.

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ý­cvi­ko­vé 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. Mezi typické chyby patří:

  • Chyby v logice
  • Nepřesnosti
  • Problémy s kompatibilitou
  • Kód, který není použitelný pro daný projekt

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.

Jana Večerková Jana Večerková
Autor článku je ředitelkou společnosti Coding Bootcamp Praha.
Chcete získat časopis IT Systems s tímto a mnoha dalšími články z oblasti informačních systémů a řízení podnikové informatiky? Objednejte si předplatné nebo konkrétní vydání časopisu IT Systems z našeho archivu.

Inzerce

AI pomáhá získat lepší přehled nad vývojem ve firmě

IT Systems 5/2024V aktuálním vydání IT Systems se opět intenzivně věnujeme využití AI ve firmách. Nejvíce prostoru jsme přitom dali oblasti e-commerce a retailu, tedy světu nakupování, ve kterém hrají pokročilé technologie stále větší roli. Včetně AI, která se zde uplatňuje v zákaznickém servisu, ale také dokáže například předvídat prodeje a udržet optimální množství skladových zásob.