Programování

V současnosti existuje mnoho AI nástrojů, které programátorům usnadňují psaní kódu. Tyto nástroje nabízejí různé formy pomoci:

  • výkonnější doplňování kódu (code completion, intellisense),
  • možnost konzultovat kód s chatbotem a nechat si vysvětlit jeho části,
  • code review, změny v kódu zlepšující čitelnost a rozšiřitelnost (refactoring),
  • generování automatických testů k části kódu,
  • až po vygenerování celé aplikace či její významné části.

Tito AI pomocníci mohou mít různou formu:

V dalším budeme používat VS Code s doplňky GitHub Copilot a GitHub Copilot Chat s licencí GitHub Education. Alternativou může být využití doplňku Codeium.

Příklad 1

  • Ve VS Code se přepněte do okna GitHub Copilot Chat, např. přes Command Palette (Ctrl+Shift+P), “Toggle Github Copilot”.
  • Zkuste mu zadat následující úkol:
    • “create space invaders game with UI in tkinter”
    • “create tetris game with UI in tkinter”
  • Můžete dostat např. následující kódy: spaceinv.py, tetris.py. Při každém pokusu můžete dostat jinou implementaci.
  • Tyto kódy mohou sloužit jako zajímavý studijní materiál.

Příklad 2

  • Zkuste pomocí Github Copilot Chat naprogramovat funkci region_size() z jednoho z minulých cvičení, aniž byste upravovali kód manuálně.
  • Je snadné úlohu specifikovat tak, aby fungovala podle specifikací?

Příklad 3

  • Když jste se nedávno dívali na zprávy, zahlédli jste v nich rozhovor s dlouholetým americkým senátorem. Uvědomili jste si, že nevíte, jak moc je v USA obvyklé, aby senátoři zůstávali v úřadu 2 a více volebních období. Rozhodli jste se situaci prozkoumat a udělat si lepší obrázek.
  • Zkuste s pomocí chatbota pro každého ze současných i minulých senátorů USA zjistit délku období, po kterou zastával senátorskou funkci, a vytvořte histogram těchto délek.
  • Dokáže to klasický chatbot sám od sebe? Dokáže alespoň vygenerovat skript, který data stáhne, zanalyzuje a histogram vytvoří?

Diskuse

  • Jaké jsou výhody využití programovacích asistentů?
  • Jaká jsou jejich nebezpečí?
courses/b4b33rph/cviceni/program_po_tydnech/tyden_09_ai/coding.txt · Last modified: 2024/12/04 17:56 by xposik