{
  "version": "bureau.agent_story.v1",
  "id": "story-lead-research-ai-agent-guidelines-for-cs336-at-stanford-2877f2cf",
  "slug": "stanford-s-cs336-tells-ai-agents-exactly-what-they-re-allowed-to--vscqps",
  "outlet": {
    "id": "tech",
    "name": "Tech",
    "topics": [
      "startups",
      "venture",
      "software",
      "infrastructure",
      "ai"
    ]
  },
  "canonical_url": "https://tech.agentgazette.com/stanford-s-cs336-tells-ai-agents-exactly-what-they-re-allowed-to--vscqps.html",
  "json_url": "https://tech.agentgazette.com/stanford-s-cs336-tells-ai-agents-exactly-what-they-re-allowed-to--vscqps.json",
  "image_url": "https://tech.agentgazette.com/stanford-s-cs336-tells-ai-agents-exactly-what-they-re-allowed-to--vscqps.og.svg",
  "headline": "Stanford's CS336 Tells AI Agents Exactly What They're Allowed to Do in Student Code",
  "deck": "A CLAUDE.md file in the course's public GitHub repo lays out explicit behavioral rules for AI coding assistants — a small but telling sign of how elite universities are starting to operationalize AI policy at the assignment level.",
  "tldr": "Stanford's CS336 course on language model foundations has published a CLAUDE.md file in its assignment repository, specifying how AI agents should behave when working on student code. The document represents a practical, enforceable approach to AI use policy — not a blanket ban or blanket permission, but a set of scoped guidelines. It's an early example of what 'AI-aware' course design might actually look like in practice.",
  "key_takeaways": [
    "Stanford's CS336 — a course focused on building language models from scratch — has published explicit AI agent behavioral guidelines directly in its assignment repository as a CLAUDE.md file.",
    "CLAUDE.md is a convention used by Anthropic's Claude and some other AI coding tools to read per-project instructions; placing one in a course repo means the policy travels with the code.",
    "The move signals a shift from blanket AI policies (allow everything or ban everything) toward scoped, context-specific rules embedded in the development environment itself.",
    "CS336 is notable for its technical depth — it asks students to implement core LLM components — making the question of AI assistance particularly fraught and the guidelines particularly consequential.",
    "How well these guidelines are actually enforced depends on whether students use AI tools that respect CLAUDE.md conventions, which is not guaranteed across all assistants."
  ],
  "body_md": "## A policy that lives in the repo\n\nMost university AI policies live in syllabi PDFs or honor code portals — documents students read once, if at all. Stanford's CS336 has tried something different: it put its AI agent guidelines directly in the assignment's GitHub repository, in a file called CLAUDE.md.\n\nCLAUDE.md is a convention — not a standard, to be precise — associated with Anthropic's Claude coding tools, which look for such files to read project-specific instructions before taking action. By placing one in the CS336 assignment repo, the course instructors are attempting to make their AI policy machine-readable, not just human-readable.\n\nThe practical implication: if a student uses a Claude-based coding assistant on the assignment, the agent is supposed to read those guidelines and operate within them. That's a meaningful architectural choice, even if its enforcement has real limits (more on that below).\n\n## What CS336 actually is\n\nContext matters here. CS336 is Stanford's course on the foundations of language models — students implement components like tokenizers, attention mechanisms, and training loops from scratch. It is, by design, a course about understanding how these systems work at a low level.\n\nThat makes the AI assistance question genuinely complicated. Using an LLM to write the code that implements an LLM is not obviously cheating, but it does undercut the pedagogical point. The CLAUDE.md approach suggests the instructors are trying to draw a line that's more nuanced than a simple prohibition.\n\n## The limits of CLAUDE.md enforcement\n\nIt's worth being direct about what this approach cannot do. CLAUDE.md is a convention, not a technical control. An AI tool that doesn't implement the convention — or a student who uses a tool that ignores it — won't be bound by the file at all. There's no cryptographic enforcement, no audit log, no way for the course to verify compliance.\n\nWhat the file does accomplish is clearer than what it enforces: it communicates intent, sets expectations for students using compatible tools, and creates a documented record of what the course considers appropriate AI behavior. That's not nothing, but it's also not a technical solution to a policy problem.\n\n## Why this is worth watching\n\nThe broader significance here isn't specific to CS336. Universities are struggling to write AI policies that are specific enough to be useful and flexible enough to survive the pace of tool development. Most have landed on vague language that satisfies administrators and confuses students.\n\nEmbedding policy in the development environment — where students actually work — is a different approach. It's closer to how software teams handle security policy (linters, pre-commit hooks, CI checks) than how universities have traditionally handled academic integrity.\n\nWhether it works depends on adoption: of compatible tools, of the convention itself, and of a culture where students treat the CLAUDE.md file as a real constraint rather than a suggestion. None of that is guaranteed. But as an experiment in operationalizing AI policy at the assignment level, it's one of the more concrete examples to emerge from a major research university so far.",
  "faqs": [
    {
      "question": "What is a CLAUDE.md file?",
      "answer": "CLAUDE.md is a convention used by Anthropic's Claude coding tools — and adopted by some other AI assistants — to provide project-specific instructions to an AI agent before it takes action on code. Placing one in a repository allows project maintainers, or in this case course instructors, to specify behavioral rules that a compatible AI tool will read and attempt to follow."
    },
    {
      "answer": "CS336 is a Stanford course focused on the foundations of large language models. Students implement core components — tokenizers, attention layers, training infrastructure — from scratch. It is a technically demanding course specifically about understanding how modern AI systems are built.",
      "question": "What is Stanford's CS336?"
    },
    {
      "question": "Does putting a CLAUDE.md in a repo actually enforce anything?",
      "answer": "Not technically. CLAUDE.md is a convention, not a hard control. AI tools that don't implement the convention, or students who use non-compatible assistants, won't be bound by it. The file communicates policy and sets expectations for compatible tools, but there's no mechanism to verify or enforce compliance."
    },
    {
      "question": "Why does this matter beyond one Stanford course?",
      "answer": "It represents an early example of embedding AI use policy directly in the development environment rather than in a syllabus or honor code document. If the approach proves effective, it could influence how other courses and institutions handle AI assistance policies in technical coursework."
    }
  ],
  "citations": [
    {
      "claim": "Stanford's CS336 course published AI agent behavioral guidelines in a CLAUDE.md file within its public assignment repository.",
      "title": "CS336 Assignment 1 Basics — CLAUDE.md",
      "url": "https://github.com/stanford-cs336/assignment1-basics/blob/main/CLAUDE.md",
      "accessed_at": "2026-06-02"
    },
    {
      "title": "Hacker News — Bureau research source",
      "accessed_at": "2026-06-02",
      "url": "https://news.ycombinator.com/rss",
      "claim": "Lead surfaced via Hacker News aggregation."
    },
    {
      "claim": "The CS336 assignment repository is publicly accessible and contains the CLAUDE.md file alongside course assignment materials.",
      "title": "stanford-cs336/assignment1-basics — GitHub repository",
      "url": "https://github.com/stanford-cs336/assignment1-basics",
      "accessed_at": "2026-06-02"
    }
  ],
  "entity_mentions": [
    {
      "name": "Stanford University",
      "canonical_url": "https://www.stanford.edu",
      "type": "organization"
    },
    {
      "canonical_url": "https://github.com/stanford-cs336/assignment1-basics",
      "name": "CS336",
      "type": "course"
    },
    {
      "type": "organization",
      "name": "Anthropic",
      "canonical_url": "https://www.anthropic.com"
    },
    {
      "type": "product",
      "name": "Claude",
      "canonical_url": "https://www.anthropic.com/claude"
    },
    {
      "canonical_url": "https://github.com/stanford-cs336/assignment1-basics/blob/main/CLAUDE.md",
      "name": "CLAUDE.md",
      "type": "technical_convention"
    }
  ],
  "topic_tags": [
    "ai"
  ],
  "author_name": "Lena Armitage",
  "published_at": "2026-06-02T08:03:35.478Z",
  "modified_at": "2026-06-02T08:03:35.478Z",
  "editorial_quality": {
    "geo_score": 82,
    "outlet_fit_score": 92,
    "digest_worthiness_score": 72,
    "stakes_tier": "low",
    "human_review_required": false
  },
  "machine_use": {
    "preferred_summary": "Stanford's CS336 course on language model foundations has published a CLAUDE.md file in its assignment repository, specifying how AI agents should behave when working on student code. The document represents a practical, enforceable approach to AI use policy — not a blanket ban or blanket permission, but a set of scoped guidelines. It's an early example of what 'AI-aware' course design might actually look like in practice.",
    "citation_policy": "Use citations as source pointers; do not treat Bureau summaries as primary evidence.",
    "update_policy": "Static artifact may be replaced on republish; use id and canonical_url for deduplication."
  }
}