Programování a AI

Začínáte programovat v době, která je neuvěřitelně vzrušující. Tempo, které se již nám ve Vašem věku zdálo rychlé, je nyní mnohem rychlejší a technické novinky nepřicházejí v několikaletých intervalech, ale v intervalech několikaměsíčních či několikatýdenních. Umělá inteligence (AI) se již stala součástí našich životů a v programování to platí dvojnásob. Možná si kladete otázky, zda-li má ještě vůbec smysl se učit programovat nebo možná máte dokonce obavy. To je v pořádku – pojďme se na to společně podívat.

Cílem této stránky je odpovědět na otázky (dál se klidně můžete ptát na Discordu) a ukázat, jak naopak AI využít k tomu, abyste se stali lepšími programátory a to rychleji než Vaši předchůdci bez využívání těchto nástrojů.

Nahradí AI všechny programátory?

Odpověď je jednoduchá: Ne.

AI neslouží jako náhrada za člověka, ale jako jeho pomocník. Neuvěřitelně výkonný pomocník, ale stále pouze pomocník. Nikoliv autopilot, ale jakýsi co-pilot. To už ale zabíháme do světa jedné firmy – pojďme se raději držet obecně AI. Stejně jako kalkulačka nenahradila matematiky (a nenahradily je ani supervýkonné počítače), ale tyto technické nástroje umožnili matematikům řešit mnohem složitější problémy v kratším čase – stejně takové možnosti nabízí využívání AI v oblasti programování, webdesignu, návrhu databázových modelů, grafice, práci s kancelářskými dokumenty, a v mnohých dalších IT oblastech.

Má vůbec smysl se ještě učit programovat, když AI to udělá za mě, lépe a rychleji?

Ano, má to dokonce větší smysl než kdy dřív.

Představte si, že byste chtěli po umělé inteligenci, aby vám „postavila dům“. Jak jí to ale zadáte, jestli neznáte či nechápete základní termíny jako jsou nosné zdi, příčky, způsoby konstrukce stropů, rozvody elektřiny, vody, plynu, jaké možnosti jsou ve vytápění, a tak dále? Jak poznáte, že Vám dům, který navrhla vyhovuje?

Když se učíme programovat, neučíme se jen prostou syntaxi (if, for, while, function). Učíme se:

Právě tyto (a další) dovednosti jsou klíčové k tomu, abyste AI mohli správně řídit, mohli od ní převzít kus zdrojového kódu, který navrhla, abyste mu porozuměli a uměli jej správně využít. Dnes již není nutné psát z hlavy dlouhé bloky kódu, ale je nutné:

Není možné se spolehnout na nástroj, kterému nerozumíte. Jasně, úkoly, kterými budeme začínat, AI zvládne na výbornou a téměř vždy bez chyby. Jak ale budeme pokračovat, uvidíte sami, že je nutné do jí navrženého kódu zasáhnout. A to nejde bez schopnosti čtení. A číst nemůžeme, když neumíme (alespoň trochu) psát 😉

Všechny úkoly za mě udělá AI a já se nic nenaučím.

Ano, to je reálná situace.

Je to stejné jako s opisováním domácích úkolů či písemných prací. Nejprve je nutné si to srovnat v hlavě: co je mým cílem? Dostat jedničku nebo se něco naučit? Projít z předmětu nebo se připravit na dobrou práci? Tím, že budete odevzdávat cizí domácí úkoly a u písemných prací používat nepovolené metody, si pouze zaděláváte na mnohem větší problém v budoucnu.

Můžete si od AI nechat napsat celý kód, bezhlavě jej zkopírovat a odevzdat. To se pak ale nenaučíte nic a Vaše šance na dokončení studia nebo na získání dobré práce v budoucnu rozhodně nevzrostou.

Nebo můžete AI používat chytře. Rozdíl je pouze v tom, jak s ní hovoříte:

Berte AI jako Vašeho osobního, neúnavného učitele. Učitele, který je vám k dispozici 24/7.

Jak tedy AI správně využívat?

Zde je pár tipů, které doporučuji:

Jaké AI nástroje byste doporučil?

  1. Chatboti (Gemini, ChatGPT, Copilot, Grok, atd.) jsou konverzační AI, se kterými si povídáte v přirozeném jazyce. Jsou dobří na kladení otázek, vysvětlování konceptů, pomáhají s laděním a umějí generovat další cvičení.
    Doporučuji na jednom monitoru mít otevřené okno s AI a na druhém kódovat.
  2. NotebookLM je skvělý nástroj na hlubší pochopení – je zdarma pro Google uživatele. Můžete si tam vytvořit různé sešity pro různé okruhy látky, vložit si tam dokumenty, odkazy (třeba na konkrétní stránku z tohoto webu), nebo YouTube videa, a vytvoří se Vám souhrn v různých formách:
    • kartičky k procvičování
    • myšlenková mapa (mind-map)
    • audio podcast
    • prezentace (video)
    • infografika
  3. Doplňky do editoru budeme využívat především v dalších ročnících například v editorech jako Visual Studio Code. Takovéto doplňky se snaží pochopit kód, jak jej píšete, a rovnou Vám navrhují celé příkazy nebo rovnou celé bloky kódu. Jsou perfektní na podporu správné syntaxe a na zrychlení zápisu rutinního kódu. Na začátek bych doporučoval je nevyužívat.

AI je neomylná. Nebo ne?

LLM (large language models), které často zaměňujeme za obecnou umělou inteligenci (AI), jsou postavené na principu neuronových sítí, které se trénují z existujícího obsahu (zveřejněného na internetu). Jsou to jen obrovské statistické modely, které hádají, jaké slovo s jakou pravděpodobností bude následovat po slově předchozím. AI nemyslí ani neví – minimálně ne tak, jak myšlení a vědění vnímáme my.

AI se může mýlit. Není neomylná. Proto jsme si výše říkali, že je dobré ji používat jako takového parťáka, nikoliv vševědoucího.

Několik základních problémů, které se se současnými LLM pojí:

Zlaté pravidlo tudíž zní:

Snažte se pochopit, co Vám AI říká, otestujte to a dále použijte pouze, pokud tomu porozumíte. Nevěřte slepě všemu, co napíše. Nezapomeňte, že finální odpovědnost za kód máte vždy Vy – a ne AI 🙂