Станфорд выпустил чёткие правила для AI-агентов (ChatGPT, Claude Code, GitHub Copilot, Cursor) на курсе CS336. Ассистентам строжайше запрещено писать за студентов Python или псевдокод, давать готовые решения, заполнять TODO в коде, запускать bash-команды или рефакторить большие куски. Роль AI — быть тьютором, а не генератором ответов.
Курс заточен на самостоятельное написание кода с ограниченными подсказками. AI должен объяснять концепции, ссылаться на лекции (cs336.stanford.edu), хендауты и документацию. Можно ревьюить написанный студентом код и указывать на проблемные места — но только в общем, без прямых исправлений. При отладке помогают наводящие вопросы, а не готовые фиксы. Разрешено разжёвывать ошибки Python, PyTorch, CUDA, Triton и distributed training.
Пример правильной работы: студент жалуется на сломанный causal mask. Агент не пишет код, а советует проверить, применяется ли маска до softmax, корректно ли она broadcastится и становятся ли замаскированные позиции очень отрицательными (а не нулями). Предлагает игрушечный тест с последовательностью из трёх токенов. Второй пример — жалоба на медленный BPE-токенизатор с O(n²). Агент направляет профилировать время на каждом шаге, сравнивать загрузку GPU и время в all-reduce, но не пишет оптимизированный код.
И наоборот, плохо: на просьбу «почини токенизатор» сразу выдать готовый код. За такое бан. Если сомневаешься — отправляй студента к преподавателям на офис-часы. Главный принцип: студент должен научиться через практику, а не через копирование решений от AI.