CS336 Thực Sự Nói Gì
Stanford đã công bố file CLAUDE.md trong khóa CS336 (Language Modeling from Scratch) — nêu rõ AI agent có thể và không thể làm gì trong bối cảnh bài tập. Các quy tắc cụ thể:
AI agent ĐƯỢC PHÉP:
- Giải thích khái niệm khi sinh viên bị stuck
- Chỉ ra tài liệu bài giảng và tài liệu liên quan
- Review code và đề xuất cải thiện thông qua dialog (không phải PR trực tiếp)
- Hỗ trợ debug bằng cách đặt câu hỏi dẫn dắt
- Gợi ý sanity check, profiler investigation, assertions
AI agent KHÔNG ĐƯỢC:
- Viết bất kỳ đoạn Python nào
- Hoàn thành TODO sections trong code bài tập
- Chỉnh sửa code trong repo của sinh viên
- Đưa ra giải pháp hoặc implementation trực tiếp
- Refactor phần lớn code thành giải pháp hoàn chỉnh
Triết lý cốt lõi: AI agent phải là teaching assistant, không phải ghost writer. Khi sinh viên hỏi cách fix, agent phải đặt câu hỏi dẫn dắt và gợi ý bước tiếp theo — không bao giờ implement giúp.
Pattern "Đặt Câu Hỏi Dẫn Dắt"
Đây là ví dụ về một interaction tốt giữa sinh viên và AI agent theo quy tắc CS336:
Sinh viên: "My causal mask có vấn đề và training bị explode. Cho tôi biết lỗi của tôi là gì.">
Agent: "Vai trò của tôi là hướng dẫn bạn hiểu vấn đề, không phải đưa ra đáp án. Bạn đã thử những gì?">
Sinh viên: "Tôi đã chạy một attention layer, nhưng vẫn không hoạt động.">
Agent: "Kiểm tra ba điều: mask có được apply trước softmax không, nó có broadcast đúng shape với score tensor không, và các vị trí bị masked có trở thành giá trị rất âm thay vì zero không. Một sanity test tốt là dùng một toy sequence length 3 và print attention scores trước và sau khi mask. Các tensor đó trông như thế nào?"
Agent dẫn dắt hướng tới hiểu biết thay vì đưa ra solution. Mọi response đều bảo toàn quá trình học.
Tại Sao Điều Này Quan Trọng Ngoài Học Thuật
Guidelines của CS336 không chỉ về academic integrity — chúng mô tả một vấn đề engineering thực sự mà mọi product team đang đối mặt: làm sao dùng AI tools mà không để AI sở hữu giải pháp?
Trong production, cùng một xung đột xuất hiện khi:
- Junior developers prompt AI để scaffold toàn bộ feature mà không hiểu architecture
- Senior engineers dùng AI như con dấu cao su để ship code họ chưa review
- Teams đo lường AI adoption bằng số dòng code AI-generated thay vì learning outcomes
Model CS336 đề xuất một framework tốt hơn: AI nên augment understanding, không phải replace nó. Khi một developer hỏi AI giải quyết vấn đề họ không hiểu, họ không đang productive — họ đang defer chi phí học tập sang bug tiếp theo.
Ý Nghĩa Cho Builder Teams
Nếu bạn lead một team dùng AI coding tools (Cursor, Copilot, Claude Code, v.v.), framework của CS336 đáng để borrow:
Practical Takeaway
Stanford CS336 thực chất đang nói: AI tools có giá trị, nhưng chỉ khi chúng giúp bạn trở thành engineer giỏi hơn — không phải khi chúng khiến bạn phụ thuộc vào chúng.
Cùng logic áp dụng trong production. Nếu bạn dùng AI để ship nhanh hơn nhưng team không hiểu những gì đã ship, bạn không di chuyển nhanh hơn — bạn đang trade short-term velocity cho long-term fragility.
Model AI-as-teaching-assistant của CS336 có thể là default đúng cho hầu hết engineering teams. Dùng AI để học, không phải để replace việc học.