Umělá inteligence je teď hodně aktuální téma. A může vám pomoci i s programováním. Konkrétně jde o užitečný nástroj Copilot, který vám ušetří spoustu času a zároveň pomůže zkvalitnit vaši práci. A jak funguje v praxi? Představuje Michal Zíma, šéf týmu programátorů Modrého ducha.
Copilot pro programování je nástroj vyvinutý společností OpenAI, který slouží jako pomocník při psaní kódu. Jeho základy spočívají v technologii nazývané generativní předmodelování (generative pre-training) a je postaven na technologii strojového učení, přičemž využívá rozsáhlé množství veřejně dostupného programovacího kódu a dokumentace.
Když tedy začnete psát kód v editoru, Copilot automaticky generuje návrhy a doplňuje kódy na základě kontextu. Může například doplnit chybějící řádky, navrhnout jména proměnných, funkce nebo třídy, a dokonce i psát celé metody nebo funkce na základě vašeho popisu.
Zároveň využívá svůj rozsáhlý tréninkový korpus, který zahrnuje množství veřejně dostupného kódu z různých programovacích jazyků a projektů. Díky tomu je schopen rozpoznat vzory, porozumět kontextu a generovat relevantní kódy.
Spolu s tím dokáže zobrazit dokumentační komentáře ke zvolenému kódu nebo nabídnout vysvětlující komentáře k funkcím a metodám. To může být velmi užitečné při práci s neznámými knihovnami nebo kódy, se kterými nejste obeznámeni.
Vývojáři navíc mohou Copilota využívat ve svých oblíbených vývojových prostředích (IDE) nebo textových editorech pomocí rozšíření, které je k dispozici pro různé platformy.
Párové programování je metodika vývoje, při které dva programátoři spolupracují na jednom úkolu nebo problému za účelem vytvoření kvalitnějšího kódu. S sebou tím pádem nese několik výhod:
Cílem je tedy zajistit a podchytit nuance na základě vzájemné kontroly. Když však využijete schopnosti AI může to pro vás být nejen rychlejší, ale i levnější. Mnoho vývojářů tvrdí, že párové programování vede k lepšímu kódu, vyšší spokojenosti týmu a snížení rizika výskytu chyb.
Nepřeslechněte: No-code, nebo hard-code? Kdy se vyplatí aplikaci „naklikat” a kdy je ještě potřeba napsat zdrojový kód? Poslechněte si BlueGhost Update, kde odpovídají Marek Jalovec ze společnosti FINN a Ondřej Veselý z Make.com.
Několik funkcí jsme nakousli na začátku, ale pro přehled vše shrneme:
Potřebujete vyvinout aplikaci nebo e-shop? Modrý duch přetvoří vaše nápady v realitu.
Pro ukázku si můžeme vzít třídu, která odesílá data do Google Tag Manageru (GTM). Při zadávání údajů Copilot rovnou předpovídá data a vypíše jednotlivé parametry.
Kód vypadá dobře. Ale některé nuance je ještě potřeba doladit – zejména, aby nedocházelo k doplňování konkrétních dat. Zadání tedy musíme upřesnit o funkci proměnné. Přidáme proměnnou data a necháme Copilota pracovat. Následně vidíme, že doplnil potřebné údaje, které odpovídají a jsou správně definovány.
Jako další ukázku si můžeme vzít vygenerování dokumentace. Pokud máte starší funkci, můžete se Copilota zeptat, o čem je. V našem případě jde o funkci generování menu.
Můžeme se ale zároveň zeptat na upřesnění. Následně vidíme, že jde o funkci pro generování menu v horizontálním tvaru se dvěma úrovněmi vnoření (používáme se v šabloně).
Zde však pozor, může to vypadat jako analýza kódu, ale úplně tomu tak není. Copilot dokáže pouze dobře rozeznat, co psal někdo k dané problematice před vámi.
Jako třetí ukázku můžeme vzít objektové programování: zkusíme zadat jednoduchou třídu pro práci s adresou. Napíšeme tedy základní parametry Třída pro práci s adresou v rámci České republiky. Jak vidíme, vygenerovaný kód obsahuje konstruktor, vnitřní proměnné a get adress. Vše vypadá v pořádku.
Nepřehlédněte: Chcete si nechat vyvinout aplikaci, potřebujete dobré zadání a baví vás umělá inteligence? Pak vyzkoušejte AI asistenta Modrého ducha. Unikátní novinku, která vám se zadáním ušetří spoustu času.
Byť je Copilot šikovným pomocníkem, který může vývoj opravdu urychlit, je důležité si uvědomit, že je to nástroj, který generuje návrhy kódu na základě tréninkového datasetu a kontextu. Neměl by to sloužit jako úplná náhrada za vlastní programátorské schopnosti a rozhodování.
Výstupy je potřeba kontrolovat, a to nejen z hlediska správnosti, ale především bezpečnosti.
Proto je důležité se obrátit na někoho s dlouholetými zkušenostmi, kdo tyto nástroje dobře zná a je schopen vám s těmito nástroji pomoci, umí je využívat a zároveň doplní své know-how. Tak by to ostatně mělo platit v celém kontextu současného rozmachu umělé inteligence, ne jen z hlediska programování.
Praktický
Inspirující
Zábavný
Nic moc