AI Agent Guidelines for CS336: как Стэнфорд учит работать с ИИ
Разбираем CLAUDE.md из курса CS336 Стэнфорда: как правильно использовать AI-агентов в обучении и почему это важно для всех разработчиков.
Когда ИИ-ассистент становится проблемой
Представьте: студент открывает Claude или ChatGPT, вставляет задание из курса по языковым моделям и просит написать решение. Через несколько минут у него есть рабочий код. Задание «выполнено» — но ничему он так и не научился. Именно эту ловушку пытается закрыть Стэнфорд в своём флагманском курсе CS336: Language Modeling from Scratch.
В репозитории курса появился файл CLAUDE.md — набор инструкций для AI-агентов, определяющий, что именно ИИ-ассистент имеет право делать, а что обязан отклонить. Это не просто техническая настройка. Это философский манифест о том, как должно выглядеть взаимодействие человека и ИИ в образовании. И у него есть чему поучиться далеко за пределами университетской аудитории.
Что такое CS336 и почему это важно
Языковые модели — краеугольный камень современных NLP-приложений. По мере роста области ИИ глубокое понимание этих моделей становится обязательным для учёных и инженеров. CS336 разработан так, чтобы дать студентам исчерпывающее понимание языковых моделей, проведя их через весь процесс создания собственной.
Вдохновляясь курсами по операционным системам, где создают ОС с нуля, программа охватывает все аспекты создания языковой модели: сбор и очистку данных для предобучения, построение трансформера, тренировку и оценку перед деплоем.
Это не типичный курс по «использованию GPT». Это курс, где ты строишь GPT сам.
Вы буквально реализуете каждый компонент трансформера, используя только базовые примитивы PyTorch. Когда приходится реализовывать multi-head attention без nn.MultiheadAttention, обнаруживаются пробелы в понимании, которые годы работы с высокоуровневыми API успешно скрывали.
Анатомия CLAUDE.md: правила для AI-агента
Файл CLAUDE.md — это системный промпт, который автоматически подхватывается Claude при работе в директории проекта. Он задаёт контекст и ограничения для агента ещё до того, как студент напишет первый запрос.
Вот ключевые принципы, заложенные в документ:
Что разрешено
Использование LLM, таких как ChatGPT, разрешено для низкоуровневых вопросов о программировании или высокоуровневых концептуальных вопросов о языковых моделях, но не для прямого решения задания.
Другими словами, AI-агент в CS336 выступает в роли умного репетитора, а не решателя задач. Он может:
- Объяснить, что такое
all-reduceв контексте распределённого обучения - Помочь разобраться с ошибкой типов в Python
- Обсудить интуицию за механизмом внимания
- Дать высокоуровневую структуру алгоритма без готового кода
Что запрещено
AI-инструменты могут применяться для низкоуровневой помощи с кодом и высокоуровневых концептуальных вопросов, но не для прямого решения заданий. Когда запрос пересекает эту черту, агент должен отказать в прямой реализации и переключиться на объяснение, помощь с отладкой, ревью кода или непастируемый высокоуровневый набросок.
Обратите внимание на формулировку: «непастируемый высокоуровневый набросок». Это принципиально. Агент может описать алгоритм словами — но не выдать блок кода, который можно скопировать и запустить.
Как агент ведёт себя при отладке
Вместо того чтобы дать готовое решение, правильно настроенный агент задаёт наводящие вопросы:
«Начните с разделения вычислительного времени и времени коммуникации. Сравните время на шаг, утилизацию GPU и время в all-reduce или загрузке данных. Если масштабирование плохое, спросите: слишком ли мал batch size на GPU или синхронизация доминирует? Какие профилировочные данные у вас уже есть?»
Это классическая сократовская педагогика — только реализованная через системный промпт.
Философия: зачем ограничивать ИИ в образовании
«Цель в том, чтобы студенты учились на практике, а не наблюдали, как ИИ генерирует решения.»
Цель состоит в том, чтобы студенты учились через действие, а не через наблюдение за тем, как ИИ генерирует решения. Это звучит очевидно — но на практике граница между «помогает понять» и «делает вместо» стирается очень быстро.
Исследователи и инженеры всё больше отрываются от базовых деталей LLM. Рост уровня абстракции позволяет двигаться быстрее, но при этом всё легче никогда не освоить глубокое понимание, исследовательский вкус и навыки реализации. Именно поэтому курс предлагает строить современные LLM с нуля — для углублённого понимания и улучшения способности вести фундаментальные исследования.
Курс ставит диагноз всей индустрии: мы научились использовать инструменты, но перестали понимать, как они работают. CS336 — это противоядие.
Автоподстановка — неожиданный враг обучения
Настоятельно рекомендуется отключить AI-автодополнение (например, Cursor Tab, GitHub Copilot) в IDE при выполнении заданий. Было установлено, что AI-автодополнение значительно затрудняет глубокое погружение в материал.
Это контринтуитивно: кажется, что Copilot ускоряет работу. Но когда инструмент подсказывает следующую строку кода — мозг перестаёт строить собственные модели о том, что должно быть написано. Обучение происходит именно в этом зазоре неопределённости.
CLAUDE.md как паттерн: практическое применение
Файл CLAUDE.md — не просто академическая разработка. Это шаблон, который можно адаптировать для любых задач, где важен процесс, а не только результат.
Структура эффективного CLAUDE.md
graph TD
A[CLAUDE.md] --> B[Контекст проекта]
A --> C[Роль агента]
A --> D[Разрешённые действия]
A --> E[Запрещённые действия]
A --> F[Стиль ответов]
B --> B1[Что за проект?]
B --> B2[Кто пользователь?]
C --> C1[Наставник / Ревьюер / Исполнитель]
D --> D1[Объяснения]
D --> D2[Отладка]
D --> D3[Концептуальные вопросы]
E --> E1[Готовые решения]
E --> E2[Пастируемый код]
F --> F1[Задавай вопросы]
F --> F2[Указывай направление]
Сравнение режимов работы AI-агента
| Режим | Что делает агент | Когда использовать |
|---|---|---|
| Исполнитель | Пишет код, выдаёт решения | Рутинные задачи, прод-код |
| Наставник (CS336-стиль) | Задаёт вопросы, объясняет, не даёт готовый код | Обучение, освоение новой темы |
| Ревьюер | Проверяет написанный код, указывает на проблемы | Code review, улучшение качества |
| Собеседник | Обсуждает архитектуру и концепции | Планирование, исследование |
Пример минимального CLAUDE.md для учебного проекта
# Контекст
Я студент, изучающий [тема]. Цель — разобраться самостоятельно.
# Твоя роль
Ты — наставник, а не исполнитель. Не пиши готовый код.
# Разрешено
- Объяснять концепции своими словами
- Указывать на ошибки в моём коде с объяснением причины
- Задавать наводящие вопросы
- Давать псевдокод высокого уровня
# Запрещено
- Писать рабочий код, который я могу скопировать
- Давать прямые ответы на задания
- Решать задачу вместо меня
# При каждом ответе
Сначала спроси, что я уже пробовал.
Один из аудиторов курса описал: был очень рад, что потратил время на чёткое описание того, что разрешит использовать Claude Code, а затем перевёл это в CLAUDE.md — чтобы при просьбе о подсказке не получить готовое решение.
Как всегда при использовании LLM для самообучения, ошибочно уходить в крайности — нужно чётко понимать свои учебные цели, чтобы решить, где на этой кривой компромиссов вы хотите находиться.
История файла: как CLAUDE.md появился в репозитории
Автор включил базовый принцип «я студент — помоги мне учиться, не делай всё вместо меня», а также попробовал настроить агента на создание папки .history с markdown-историей каждого промпта и кратким описанием выполненного действия.
Это интересный механизм прозрачности: студент видит, что и зачем он просил у агента. Это создаёт рефлексию и позволяет преподавателям проверить, не нарушалась ли граница допустимого использования ИИ.
Появление этого файла на Hacker News вызвало широкое обсуждение: оказалось, что вопрос «как правильно ограничить AI-агента» актуален далеко за пределами университета — в командах, стартапах и личных проектах.
Уроки для разработчиков и команд
Принципы CS336 применимы везде, где важен рост навыков, а не только скорость доставки:
Практические выводы:
- Для джунов: используйте AI как репетитора, а не решателя. Просите объяснить, а не написать.
- Для тимлидов: обсудите в команде, что AI-агент делает, а что — нет. Зафиксируйте это явно.
- Для образовательных проектов:
CLAUDE.md— это ваш инструмент управления обучением. - Для всех: отключайте автодополнение, когда изучаете что-то новое. Боль непонимания — это обучение.
Заключение
CS336 и его CLAUDE.md — это редкий пример того, как академическая среда не отрицает AI-инструменты, но осмысленно интегрирует их, сохраняя образовательную ценность процесса.
Строить современные LLM с нуля — значит формировать более глубокое понимание и улучшать способность вести фундаментальные исследования. Курс выполнил это обещание: студенты чувствуют себя лучше подготовленными к пониманию и итерации над последними исследованиями.
Главный урок выходит далеко за рамки Стэнфорда: правила для AI — это не цензура, это педагогика. Когда мы явно формулируем, что агент должен делать, а чего — нет, мы не ограничиваем возможности. Мы направляем их туда, где они действительно нужны.
Файл CLAUDE.md из репозитория CS336 — это один из лучших публичных примеров того, как думать об AI-агентах не как о волшебных решателях, а как об инструментах с чётко определённой ролью. Скопируйте идею. Адаптируйте под свои задачи. И помните: цель — учиться, а не делегировать само обучение.