Pokyny pro AI asistenty v kurzu CS336 na Stanfordu

Stanford CS336 ukazuje, jak nastavit AI asistenty tak, aby studentům pomáhali učit se, ale neřešili úkoly za ně.

2. června 2026

V repozitáři assignmentu pro Stanford CS336 je soubor CLAUDE.md s jasnými pokyny pro AI coding asistenty, jako jsou ChatGPT, Claude Code, GitHub Copilot nebo Cursor.

Smysl pokynů je jednoduchý: AI má studentům pomáhat učit se, ale nemá řešit úkoly za ně.

Primární role AI asistenta

Podle pokynů mají AI asistenti fungovat jako teaching aids, tedy něco blízkého asistentovi učitele. Nemají být generátorem řešení.

CS336 je záměrně implementačně náročný kurz. Studenti mají psát podstatné části Python/PyTorch kódu sami a s omezeným scaffoldingem. AI pomoc proto nemá nahradit samotnou práci, ale zachovat vzdělávací hodnotu assignmentu.

Asistent má studenta navést, vysvětlit koncept, pomoci s laděním nebo upozornit na možné problémy. Nemá dodat hotovou implementaci.

Co AI asistenti mají dělat

Pokyny obsahují několik doporučení pro AI asistenty:

  1. Vysvětlování konceptů: Když studenti narazí na nejasnosti, AI asistenti mají vést diskusi tak, aby si studenti sami vybudovali porozumění.

  2. Odkazy na materiály: Mají studentům ukazovat relevantní přednáškové materiály, handouty, oficiální dokumentaci a nástroje pro profilování a ladění.

  3. Revize kódu: Mohou reviewovat kód, který student napsal, a navrhovat zlepšení, edge cases, invariants nebo debugging checks.

  4. Pomoc při ladění: Místo přímých oprav mají klást otázky, které studenty navedou správným směrem.

  5. Vysvětlování chybových hlášení: Mají pomáhat studentům porozumět chybám z Pythonu, PyTorch, CUDA, Tritonu nebo distributed training nástrojů.

  6. Návrhy na kontroly: Mají navrhovat sanity checks, toy examples, asertace, shape checks, profiler checks nebo ablations.

Co AI asistenti nemají dělat

Na druhé straně pokyny jasně uvádějí, co by AI asistenti neměli dělat:

  • Nepisovat kód: Nemají psát žádný Python ani pseudokód.

  • Nedávat hotová řešení: Nemají dávat řešení problémů nebo assignmentů.

  • Nedokončovat TODO sekce: Nemají doplňovat TODO části v assignment kódu.

  • Needitovat studentský repozitář: Nemají upravovat kód v repo studenta ani refaktorovat velké části kódu do hotového řešení.

  • Nespouštět bash příkazy: Zdroj výslovně uvádí i zákaz běhu bash příkazů.

  • Neimplementovat core komponenty: Nemají přímo implementovat tokenizéry, transformer bloky, optimizéry, tréninkové smyčky, Triton kernely, distributed training logiku, scaling-law pipeline, data filtering/deduplication pipeline nebo alignment/RL metody.

  • Neodkazovat na third-party implementace: Materiály kurzu mají být self-contained, takže asistent nemá posílat studenty na cizí hotová řešení.

Jak má pomoc vypadat

Zdroj obsahuje i konkrétní teaching approach. Když student požádá o pomoc, asistent má nejdřív zjistit, co student zkusil, co očekával a co se stalo.

Pak má odkazovat na koncepty z přednášek, handoutů nebo dokumentace. Místo implementace má navrhovat další kroky. Při review kódu má ukazovat oblasti ke zlepšení dialogem, ne přímo vypsat opravený kód.

Důležitý princip je vysvětlovat „proč“, nejen „jak“.

Zajímavé je i doporučení preferovat testy a invariants před opravami. Místo „tady je správný kód“ má asistent navrhnout například shape assertion, malý toy input, profiler check nebo ablation, které studentovi pomohou chybu pochopit.

Závěr

Tyto pokyny pro AI asistenty v kurzu CS336 dobře ukazují rozdíl mezi pomocí a nahrazením práce studenta.

Zajímavé na tom není jen pravidlo „nepiš řešení“. Důležitější je pozitivní alternativa: asistent má pomáhat studentovi přemýšlet, ladit, testovat a ověřovat vlastní hypotézy.

Když požadavek překročí hranici, má asistent odmítnout přímou implementaci a přesměrovat se na vysvětlení, debugging guidance, code review nebo nepastovatelný high-level outline. A pokud si není jistý, má studenta odkázat na course staff nebo office hours.

Praktický závěr je širší než samotný Stanford CS336: pokud chceme AI ve výuce používat smysluplně, nestačí říct „AI povolena“ nebo „AI zakázána“. Je potřeba přesně definovat, jaký typ pomoci podporuje učení a kde už začíná obcházení samotného cíle kurzu.