AI pro kódování: Jak získat spolehlivou pomoc od Llama

Llama umí vysvětlit kód, psát kratší funkce, navrhovat testy i dešifrovat chybové hlášky. Berte každou odpověď jako pull request od rychlého juniora: je užitečný, ale vyžaduje kontrolu.

6 min čteníAktualizováno

Clay modules joined by teal circuit lines on a woven mat

Všechny čtyři modely Llama v našem chatu jsou podle modelových karet od společnosti Meta navrženy tak, aby kromě textu generovaly i kód. Fungují jako užiteční programátorští parťáci: vysvětlí neznámý kód, napíšou menší funkce, navrhnou testy nebo přetaví chybovou hlášku v řešení. Zároveň ale dokážou chybovat s naprostou jistotou. Přistupujte k nim proto jako revizor kódu: každý návrh čtěte tak, jako by vám ho poslal sice rychlý, ale nezkušený kolega, a nenasazujte nic, co jste sami nezkontrolovali. Tento průvodce popisuje, jak se správně ptát, jak výstupy ověřovat a kde leží limity našeho chatu.

V čem Llama při každodenním kódování vyniká

  • Vysvětlení kódu. Vložte zděděnou funkci a zeptejte se, co dělá řádek po řádku a co by v ní mohlo způsobit chybu.
  • Malé, přesně definované celky. Funkce pro parsování data, regulární výrazy, SQL dotazy, jednořádkové příkazy pro shell nebo CSS layouty.
  • Ladění podle chyby. Vložte kompletní chybovou hlášku společně s okolním kódem.
  • Testy. Zadání jako „Napiš pro tuto funkci unit testy včetně hraničních případů“ často odhalí scénáře, které by vás ani nenapadly.
  • Převod mezi jazyky. Z Pythonu do JavaScriptu, ze skriptu v Bashi do PowerShellu.
  • Konzultace návrhu architektury. Popište, co plánujete vytvořit, a nechte si ukázat slabá místa ještě předtím, než napíšete jediný řádek.

Hůře si naopak poradí s rozsáhlými změnami napříč mnoha soubory, které nemá k dispozici, s knihovnami upravenými po datu uzávěrky trénovacích dat a se vším, co závisí na přesné konfiguraci vašeho počítače.

Dodejte kontext, jaký by potřeboval kolega v týmu

Slabé:
můj kód nefunguje, oprav ho
[vloženo 300 řádků]
Silné:
Node.js 22, čistý JavaScript, žádné knihovny. formatDue(dateString)
má vypsat datum splatnosti v místním čase uživatele, např. "Mon 3 March".
Uživatelům v Brazílii se zobrazuje o den dříve.

Co vidím v konzoli:
[vložte přesný výstup]

Kód (pouze formatDue a řádek, který ji volá):
[vložte kód]

Nejprve mi vysvětli příčinu, potom navrhni opravenou funkci formatDue. Ponech
její název i jediný argument a nepřidávej žádnou knihovnu pro práci s datem.

Kvalitní zadání uvádí jazyk i verzi, popisuje očekávané i skutečné chování, obsahuje přesné znění chyby, omezuje kód jen na to podstatné a jasně specifikuje požadovanou podobu řešení. Každý z těchto bodů eliminuje hádání. Kontrolní seznam pro každý programátorský prompt:

  1. Jazyk, verze, framework a knihovny.
  2. Co by měl kód dělat a co dělá místo toho.
  3. Přesná chybová hláška nebo chybný výstup – zkopírované, nikoli parafrázované.
  4. Minimální ukázka kódu, na které lze problém stále reprodukovat.
  5. Omezení: „žádné nové závislosti“, „musí běžet na Windows“, „udržuj kód snadno čitelný pro začátečníky“.

Bezpečný pracovní postup: naplánovat, napsat, spustit, zkontrolovat

  1. Nejprve plánujte. U čehokoli většího než jedna funkce chtějte nejdříve celkový přístup, až pak samotný kód: „Navrhni strukturu tohoto řešení včetně rozdělení do souborů a funkcí, ale kód zatím nepiš.“ Upravit plán je snadné, přepisovat 200 řádků kódu nikoli.
  2. Postupujte po malých krocích. Řešte vždy jen jednu funkci nebo změnu. Dlouhé odpovědi zvyšují riziko chyb a navíc mají v našem chatu omezenou délku. Pokud se kód usekne, stačí napsat „pokračuj od posledního celého řádku“.
  3. Kód sami spouštějte. Llama v našem chatu kód nespouští. Pouze odhaduje, jak vypadá funkční kód – skutečnou funkčnost ověříte jedině spuštěním.
  4. Předávejte reálné výsledky. Vložte novou chybu nebo nesprávný výstup zpět do chatu. Pár takových krátkých iterací obvykle přinese lepší výsledek než jedno dlouhé vysvětlování.
  5. Před commitem vše zkontrolujte. Projděte řádek po řádku. V samostatných navazujících dotazech se pak zeptejte: „Na jaké hraniční případy se tu zapomnělo?“ a „Není zde něco z bezpečnostního hlediska rizikové?“.
Fungují i snímky obrazovky. Llama 4 Maverick a Llama 4 Scout umí číst obrázky, takže jim můžete poslat screenshot chybového dialogu nebo rozbitého layoutu stránky. Samotný kód ale raději vkládejte jako text – je to přesnější a model pak může konkrétní řádky přímo citovat.

Na jaké typické problémy si dát pozor

Vymyšlené funkce a parametry

Modely občas použijí metodu, která neexistuje, nebo parametr příkazové řádky patřící úplně jinému nástroji. Pokud vám nějaký prvek není povědomý, ověřte si ho v oficiální dokumentaci dříve, než na něm začnete stavět.

Zastaralá API

Trénovací data končí k určitému datu: podle modelových karet Meta je to srpen 2024 pro Llama 4 a prosinec 2023 pro Llama 3.3 a 3.1. Knihovny vydané nebo upravené po tomto datu model nezná a často nabídne starší způsob zápisu. Uveďte, jakou verzi používáte, a v případě potřeby vložte příslušnou část aktuální dokumentace.

Funkční, ale nebezpečný kód

Dávejte pozor na SQL dotazy skládané spojováním řetězců, chybějící validaci vstupů, přístupové údaje zapsané přímo v kódu, vypnuté ověřování certifikátů či příliš benevolentní oprávnění k souborům. U všeho, co komunikuje se sítí, si výslovně vyžádejte bezpečnostní revizi.

Zdánlivě logický kód s věcnou chybou

Chyby o jedničku (off-by-one), časová pásma, zaokrouhlování měn, prázdné seznamy. Než výsledku uvěříte, napište si test s předem známými hodnotami.

Citlivé údaje do chatu nepatří

Nikdy do chatu nevkládejte API klíče, hesla, privátní klíče, připojovací řetězce ani zákaznická data. Nahraďte je zástupnými symboly, například API_KEY_HERE. Vaše zprávy procházejí přes náš server a externího poskytovatele inference, který generuje odpověď. Jakýkoli tajný údaj, který opustil váš počítač, považujte za kompromitovaný a zneplatněte jej. Pokud má váš zaměstnavatel pravidla pro sdílení kódu s externími službami, dodržujte je. Podrobnosti najdete na stránce Ochrana soukromí a bezpečnost při práci s AI.

Který model Llama vybrat pro programování?

Začněte s výchozím modelem Llama 4 Maverick. Llama 3.3 70B představuje spolehlivou čistě textovou alternativu a skvěle poslouží k získání druhého názoru na stejný problém. Llama 3.1 8B je rychlá volba pro drobné úkoly, jako jsou regulární výrazy nebo jednořádkové příkazy, u složitějších věcí ale její výstup raději pečlivě prověřte. Srovnání všech čtyř variant nabízí náš průvodce výběrem modelů.

Chcete používat Llama AI přímo ve svém editoru nebo aplikaci? Modely mají otevřené váhy, takže můžete spustit Llama lokálně nebo se k ní připojit přes API. Nejprve si však prostudujte podmínky na naší stránce věnované licencím Llama.

Prompty k přímému použití

  • „Vysvětli tento kód vývojáři, který je v projektu nový. Poté uveď tři způsoby, jak by mohl na produkci selhat. [kód]“
  • „Napiš funkci v [jazyk], která [dělá X]. Doplň typové anotace, docstring a tři příklady volání s očekávaným výstupem.“
  • „Napiš unit testy ve frameworku [framework] pro tuto funkci. Pokryj běžný vstup, prázdný vstup i neplatný vstup. [kód]“
  • „Převeď tento kód z [jazyk A] do [jazyk B] se zachováním stejného chování. Upozorni na vše, co nemá přímý ekvivalent.“
  • „Zkontroluj tento kód výhradně z hlediska bezpečnosti a seřaď zjištěné problémy podle závažnosti. [kód]“

Pro jednorázové úkoly můžete využít asistenta pro programování, projít si prompty pro kódování, přečíst si článek Llama pro vývojáře nebo nechat Llama vysvětlit kousek kódu hned teď.

Často kladené otázky

Může Llama můj kód rovnou spustit?

Nemůže. V našem chatu model pouze čte a generuje text. Nedokáže kód spustit, otevřít vaše soubory ani přistupovat do vašeho repozitáře, takže spouštění a testování je zcela na vás.

Mohu kód vygenerovaný modelem Llama použít ve svém projektu?

V zásadě ano, plnou odpovědnost za něj však nesete vy: zkontrolujte jej, otestujte a buďte opatrní u delších fragmentů, které působí jako z existujícího projektu, protože by se na ně mohly vázat licenční podmínky. Toto je obecná informace, nikoli právní poradenství.

Funguje model v některých jazycích lépe než v jiných?

Zpravidla ano. Rozšířené jazyky s obrovským množstvím veřejně dostupného kódu (Python, JavaScript, Java, PHP, SQL apod.) mívají kvalitnější výsledky než méně obvyklé jazyky nebo zbrusu nové frameworky. Bez ohledu na jazyk ale výsledek vždy otestujte.

Proč model navrhuje starou verzi knihovny?

Jeho trénovací data končí k určitému datu. Když modelu sdělíte přesnou verzi a vložíte relevantní dokumentaci, bude vycházet z ní namísto z paměti.

Je bezpečné vkládat do chatu kód mé firmy?

Pouze pokud to interní pravidla vaší firmy dovolují. Nezapomeňte předem odstranit přístupové údaje a osobní data. V případě pochybností se raději ptejte na zjednodušeném příkladu, který simuluje stejný problém.

Položte modelu Llama svou první otázku

Bez registrace a bez instalace. Otevřete chat, napište zprávu a vyzkoušejte, co Llama dokáže.

Otevřít Llama chat