Devlery
Blog/AI

Stanford CS336 CLAUDE.md 공개, 코딩 과제 AI 사용의 새 기준

Stanford CS336 과제 저장소의 CLAUDE.md가 AI 코딩 에이전트를 조교 역할로 제한합니다. 풀이 코드 금지와 학습 보조의 경계를 봅니다.

Stanford CS336 CLAUDE.md 공개, 코딩 과제 AI 사용의 새 기준
AI 요약
  • 무슨 일: Stanford CS336 `assignment1-basics` 저장소의 CLAUDE.md가 HN 상위권에 올랐습니다.
    • 문서는 AI 코딩 에이전트를 풀이 생성기가 아니라 학습 보조 조교로 제한합니다.
  • 허용: 개념 설명, 공식 자료 안내, 학생 코드 리뷰, 오류 메시지 설명, sanity check 제안입니다.
  • 금지: Python 작성, TODO 완성, repo 편집, bash 실행, tokenizer와 training loop 구현입니다.
  • 실무 영향: AGENTS.md, CLAUDE.md, Cursor rules가 교육과 온보딩 정책 파일로 확장됩니다.

2026년 6월 1일 Hacker News 첫 페이지에서 눈에 띈 AI 뉴스는 새 모델 출시가 아니었습니다. Stanford CS336 assignment1-basics 저장소의 CLAUDE.md가 토론의 중심이었습니다. 제목은 AI Agent Guidelines for CS336 at Stanford였고, HN에는 400점 이상과 100개 이상의 댓글이 붙었습니다. 이 문서는 Claude Code만을 위한 사용법이 아니라 ChatGPT, GitHub Copilot, Cursor 같은 AI 코딩 어시스턴트가 Stanford의 언어모델 구현 과제를 어떻게 도와야 하는지를 저장소 안에서 규정합니다.

사건의 크기는 문서 길이보다 위치에서 나옵니다. CLAUDE.md는 과제 저장소 루트에 들어간 정책 파일입니다. 학생이 코딩 에이전트로 repo를 열면, 에이전트는 과제 코드와 함께 이 지시문을 읽게 됩니다. 수업 운영진이 별도 학사 규정 페이지에만 AI 정책을 적는 대신, 학생이 실제로 도구를 실행하는 작업공간 안에 행동 규칙을 넣은 셈입니다.

Stanford CS336 CLAUDE.md의 허용 및 금지 범위

문서의 첫 문장은 역할을 좁힙니다. AI 에이전트는 "Teaching Assistant, Not Solution Generator"여야 합니다. 한국어로 옮기면 풀이 생성기가 아니라 조교입니다. 학생이 모르는 개념을 설명하고, 강의 자료나 공식 문서를 가리키고, 학생이 이미 쓴 코드를 리뷰하고, Python, PyTorch, CUDA, Triton, distributed training 오류 메시지를 설명할 수 있습니다. 그러나 직접 정답을 작성하는 순간 정책 밖으로 나갑니다.

금지 목록은 일반적인 "AI를 악용하지 말라"보다 훨씬 구체적입니다. CLAUDE.md는 Python이나 pseudocode 작성, 문제 풀이 제공, TODO 섹션 완성, 학생 저장소 코드 편집, bash 명령 실행, 대규모 리팩터링, 과제 요구사항을 작동 코드로 변환하는 행위를 금지합니다. tokenizer, transformer block, optimizer, training loop, Triton kernel도 직접 만들어주면 안 됩니다. distributed training logic, scaling-law pipeline, data filtering/deduplication pipeline, alignment/RL method도 같은 금지 범위에 들어갑니다.

이 제한이 강한 이유는 CS336 공식 수업 페이지에 이미 적혀 있습니다. Spring 2026 CS336은 Language Modeling from Scratch라는 이름 그대로 tokenizer, model architecture, optimizer를 구현해 최소 언어모델을 학습시키는 수업입니다. 이후 시스템 최적화, scaling law, Common Crawl 데이터 처리, alignment와 reasoning RL까지 이어집니다. 페이지는 다른 AI 수업보다 코드 작성량이 적어도 한 자릿수 이상 많으며, scaffolding이 제한적이라고 설명합니다.

수업 페이지의 honor code도 CLAUDE.md와 같은 선을 긋습니다. ChatGPT 같은 LLM prompting은 낮은 수준의 프로그래밍 질문이나 언어모델 개념 질문에는 허용됩니다. 반대로 문제를 직접 풀게 하는 사용은 금지됩니다. 같은 항목은 Cursor Tab이나 GitHub Copilot 같은 AI autocomplete를 과제 수행 중 끄는 것을 강하게 권장합니다. 운영진은 AI autocomplete가 학생이 내용에 깊게 관여하기 어렵게 만든다고 적었습니다.

구분허용되는 에이전트 행동금지되는 에이전트 행동
학습 지원개념 설명, 강의와 공식 문서 연결과제 요구사항을 정답 코드로 변환
디버깅오류 메시지 해석, sanity check와 profiler 조사 제안학생 repo 수정, bash 실행, TODO 완성
핵심 구현높은 수준의 접근 설명과 질문tokenizer, transformer, optimizer, Triton, RL 구현

이 문서가 HN에서 반응을 얻은 이유는 교육 현장만의 문제가 아니기 때문입니다. 2025년과 2026년의 코딩 에이전트는 단순 autocomplete보다 넓은 권한을 가집니다. Claude Code, Codex, Copilot coding agent, Cursor agent mode는 파일을 읽고, 패치를 만들고, 테스트를 실행하고, PR을 열 수 있습니다. 수업에서 "도움을 받을 수 있다"는 문장만 남기면, 실제 도구의 행동 단위는 code edit, shell command, test run, commit draft까지 확장됩니다.

CS336의 정책은 이 간극을 행동 목록으로 쪼갭니다. "개념 질문은 가능하다"는 말은 학생과 에이전트 모두에게 모호합니다. CLAUDE.md는 허용 범위를 "질문을 던지고, 강의 자료를 참조하고, 디버깅 관찰을 제안하라"로 바꿉니다. 금지 범위도 "부정행위를 하지 말라"가 아니라 "Python을 쓰지 말라, pseudocode도 쓰지 말라, bash를 실행하지 말라, repo를 편집하지 말라"로 표현합니다.

이 설계는 기업의 주니어 개발자 온보딩에도 그대로 옮길 수 있습니다. 새 입사자가 시스템을 배우는 기간에는 에이전트가 완성된 패치를 내는 것보다, 로그를 읽는 관점, 테스트를 세우는 방법, trace를 해석하는 방법을 설명하는 편이 낫습니다. CLAUDE.md 같은 파일은 "이 repo에서 에이전트는 어떤 역할인가"를 코드베이스와 함께 배포하는 방식입니다.

다만 프롬프트 파일만으로 정책이 집행된다고 보기는 어렵습니다. HN 상위 댓글 중 하나는 중요한 요구사항을 단순히 모델에게 지시하는 것으로 끝내지 말고 hook script나 세션 기록 같은 실행 가능한 통제 장치를 붙이라고 지적했습니다. 이 반응은 실무에서도 맞습니다. 에이전트가 shell command를 실행하지 못해야 한다면 권한 설정, sandbox, allowlist, audit log가 함께 있어야 합니다. 텍스트 정책은 시작점이고, 보안과 평가에는 별도 기계적 장치가 필요합니다.

문서의 흥미로운 부분은 "코드를 절대 쓰지 말라"가 모든 상황의 답이라고 말하지 않는 점입니다. 수업 목적이 구현 학습이기 때문에 금지 범위가 강한 것입니다. 같은 정책을 회사 bugfix sprint에 그대로 적용하면 생산성이 떨어질 수 있습니다. 반대로 교육, 인증, 면접 과제, 사내 bootcamp, 보안 훈련처럼 학습 과정 자체가 결과물인 작업에서는 완성 코드보다 질문과 검증이 더 중요합니다.

CS336은 과제 자체도 AI 시대에 적합한 난도를 가집니다. Assignment 1은 tokenizer, model architecture, optimizer를 구현해 language model을 학습시키는 과제입니다. Assignment 2는 profiling과 benchmarking, Triton 기반 FlashAttention2 구현, distributed training으로 확장됩니다. Assignment 4는 Common Crawl을 pretraining data로 바꾸고 filtering과 deduplication을 다룹니다. 이런 과제에서 에이전트가 직접 코드를 작성하면 학생은 가장 중요한 시행착오를 건너뜁니다.

반대로 학생이 에이전트에게 "causal mask가 이상해서 training이 폭발한다"고 묻는 경우에는 도움이 허용됩니다. CLAUDE.md의 예시는 mask가 softmax 전에 적용되는지, score tensor shape에 broadcast되는지, masked position이 0이 아니라 매우 작은 값으로 바뀌는지 확인하라고 안내합니다. 여기서 에이전트는 정답을 고쳐주지 않고, 길이 3 toy sequence로 attention score를 출력해보라는 검증 방법을 제안합니다.

이 예시는 코딩 에이전트 평가 기준을 바꿉니다. 일반 제품 데모에서는 에이전트가 얼마나 빨리 PR을 만드는지가 강조됩니다. CS336 문맥에서는 에이전트가 얼마나 빨리 코드를 쓰는지가 아니라, 학생이 자신의 버그를 관찰하게 만드는 질문을 던지는지가 기준입니다. 같은 모델이라도 CLAUDE.md, AGENTS.md, output style, tool permission에 따라 "대리 개발자"가 될 수도 있고 "코드 리뷰 조교"가 될 수도 있습니다.

HN 토론은 이 정책이 지나치게 길거나 느슨한지에 대해서도 갈렸습니다. 한 교육자는 자신의 수업에서는 AGENTS.md로 비슷한 실험을 하고 있으며, 학생이 AI를 사용하면 .history 폴더에 prompt와 응답 요약을 남기게 하려 한다고 썼습니다. 다른 사용자는 지시문이 길면 context window에서 밀릴 수 있고, production agent에서는 100 token 수준의 짧은 system prompt와 환경 제약이 더 낫다고 주장했습니다.

Claude Code의 Learning mode를 추천하는 댓글도 있었습니다. 사용자는 /config > output styles > Learning을 통해 Claude가 사용자를 대신해 구현하지 않고 과정을 설명하도록 만들 수 있다고 설명했습니다. 이 반응은 CS336 문서가 특정 모델의 성능 문제가 아니라 "output style과 permission design" 문제임을 보여줍니다. 모델이 더 강해질수록 정책 파일은 더 짧고 실행 가능한 형태로 정리되어야 합니다.

개발팀이 이 뉴스를 볼 때 확인할 지점은 세 가지입니다. 첫째, repo-level instruction은 더 이상 장식 문서가 아닙니다. 에이전트가 실제 작업 디렉터리에서 파일을 읽는다면, 지시문은 코드 리뷰 기준과 비슷한 운영 자산이 됩니다. 둘째, "하지 말 것"은 제품 이름이 아니라 행위 단위로 적어야 합니다. bash 실행, TODO 편집, third-party implementation 참조, PR 생성처럼 도구가 실제 수행하는 단위로 적어야 모호성이 줄어듭니다.

셋째, 정책 파일은 평가 방식과 함께 설계되어야 합니다. CS336은 honor code, assignment design, public Slack, office hours, Gradescope 제출, 그리고 repo-level AI instruction을 함께 둡니다. 회사에서도 비슷합니다. 에이전트 사용을 제한하려면 instruction file, permission model, review checklist, audit trail, onboarding rubric이 함께 있어야 합니다. CLAUDE.md만으로는 충분하지 않지만, 아무 파일도 없는 것보다는 훨씬 명시적입니다.

이번 HN 반응은 코딩 에이전트가 교육 현장에 들어왔다는 단순한 신호가 아닙니다. 더 구체적으로는 "AI를 써도 되는가"라는 질문이 "어떤 파일에서, 어떤 권한으로, 어떤 산출물을 금지하고, 어떤 질문을 장려할 것인가"로 이동했다는 사례입니다. Stanford CS336의 74줄 문서는 모델 출시보다 작아 보이지만, AI 코딩 도구가 과제, 온보딩, 평가, 코드 리뷰의 기본 인프라가 될 때 필요한 정책 단위를 보여줍니다.