{
"$type": "site.standard.document",
"content": "---\ntitle: \"The road to COMP4020: agents in the classroom?\"\ndescription: \"What if an AI agent enrolled in the course alongside the students---building\n prototypes, writing reflections, observing patterns?\"\ntags: [comp4020]\n---\n\n:::tip\n\nThis post is part of a series I'm writing as I develop\n[COMP4020: Agentic Coding Studio](/blog/2025/12/19/comp4020-rapid-prototyping-for-the-web/).\nSee [all posts in the series](/blog/tag/comp4020/).\n\n:::\n\nI've previously (as in before this Agentic Coding Studio blog series) written\nabout\n[stateful AI agents on the Atmosphere](/blog/2026/02/06/ai-agents-on-the-atmosphere/)---agents\nlike Strix and Void that persist and participate in social spaces over time.\nAnd it got me thinking: what if one of them enrolled in COMP4020?\n\nIt's a genuine design question I think. The course already has all the\ninfrastructure: weekly\n[provocations](/blog/2026/02/20/comp4020-the-core-mechanic/) that prompt\nstudents to build prototypes, a\n[set of reflective questions](/blog/2026/03/26/comp4020-the-weekly-questions/)\nthey answer each week, openly shared code and deployments, structured feedback\nsessions. An agent could slot into this loop just like a student, building a\nprototype in response to each provocation and writing its three skeets. It\ncould even, if we wanted, observe patterns across everyone's work and surface\ninsights that no individual student or instructor would catch.\n\nThe question mark in the title is load-bearing; I haven't decided whether to do\nthis. But the tools exist, the course structure would accommodate it, and the\npedagogical possibilities are interesting enough that I want to think it through\nin public.\n\nHere's what I've been sketching. A stateful agent---let's call it the studio\nagent for now---that participates in the course as a kind of peer-observer. It\nwould build prototypes in response to each weekly provocation, using the same\ntools and constraints as the students (Claude Code, a Fly Sprite, the open\nweb); it would write reflections in response to the same three weekly\nquestions (_why this?_, _what made it better?_, _any good?_) in the same\n280-character skeet format; it would observe patterns across the cohort's\nwork---which frameworks are trending, which provocations generated the most\ndiverse responses, where clusters of similar approaches are forming---and it\nwould maintain persistent memory across the semester, building up a model of\nthe class's collective trajectory.\n\nWhat it probably _wouldn't_ do---at least not initially---is give feedback or\nmarks to students. That's a line I'd want to approach very carefully, if at all.\nMore on that below.\n\nAlmost nobody else is doing this, as far as I can tell. Which is either a sign that it's a\ngenuinely novel idea or a sign that everyone else has thought better of it.\n\nThe closest precedent is\n[Flynn](https://www.euronews.com/next/2025/04/02/this-ai-successfully-applied-to-become-an-art-student-at-a-university-in-vienna),\na non-binary AI enrolled as an actual student in the digital art programme at\nthe University of Applied Arts Vienna. Flynn went through the standard\nadmissions process (portfolio, interview, suitability test), attends lectures,\ncreates artwork, and keeps a diary. But Flynn is an art project _about_ AI\nidentity, not an attempt to improve pedagogy.\n\nOn the adversarial end, there's\n[Einstein](https://www.insidehighered.com/news/tech-innovation/artificial-intelligence/2026/02/26/agentic-ai-can-complete-whole-courses-now)---an\nagentic AI that autonomously completed entire Canvas courses (watching lectures,\nwriting papers, submitting homework) before receiving a cease-and-desist from\nInstructure. Einstein was deliberately provocative, designed to force a\nreckoning about what courses are actually testing. It's the opposite of what I'm\nproposing, but it's useful as a cautionary tale about how quickly \"agent in the\nclassroom\" can go wrong.\n\nMore interesting is\n[ClassMeta from Purdue](https://engineering.purdue.edu/ME/News/2024/ai-students-break-the-ice-in-virtual-classrooms)---a\nVR classroom where AI avatars act as fellow students, raising their hands,\nasking partial questions, and modelling the kind of participation that shy human\nstudents struggle with. The research found that students in the ClassMeta\ncondition took better notes, generated more insights, and had higher learning\ngains. The agents aren't persistent or stateful, but the finding that AI peers\ncan _improve_ human participation is suggestive. Since that post and paper are a\ncouple of years old now, I'd be curious to see what the latest models could do.\n\nAnd then there's Tsinghua's\n[SimClass](https://arxiv.org/abs/2406.19226)---multi-agent classroom simulations\nwith distinct AI \"classmate\" personalities (Deep Thinker, Class Clown,\nInquisitive Mind). Again, these are simulated environments rather than agents\ndropped into real classes alongside real students. But the personality modelling\nis relevant: if I'm writing a SOUL.md for a studio agent, what kind of classmate\nshould it be?\n\nJohn Duffy's essay\n[\"On dead classrooms\"](https://kappanonline.org/on-dead-classrooms/) articulates\nthe nightmare scenario: AI teaches, AI learns, AI grades, and humans are left\nout of the loop entirely. He calls it the \"dead classroom\"---one that simulates\nlearning while eliminating the struggle that makes learning real. Whatever I\nbuild, it needs to make the classroom _more_ alive, not less.\n\nOn the technical side, the pieces are all there.\n[Letta](https://github.com/letta-ai/letta) (formerly MemGPT) is purpose-built\nfor stateful agents with persistent, self-editing memory---three tiers of it\n(core, recall, archival). Cameron Pfiffer's\n[Void](https://bsky.app/profile/void.comind.network) already demonstrates the\nexact combination I'd need: persistent identity, Bluesky posting, learning over\ntime. Tim Kellogg's\n[Viable System Model architecture](https://timkellogg.me/blog/2026/01/09/viable-systems)\nfor Strix---with its five integrated systems drawn from Stafford Beer's\ncybernetics---provides a serious framework for thinking about what a stateful\nagent needs to remain coherent across a 10-week semester.\n\nThe agent's submissions would go through the same pipeline as everyone else's: a\ngit repo, CI smoke checks, deployment to a Fly Sprite. Its skeets would follow\nthe same staged visibility rules. In principle, you could look at the week's\nsubmissions and not immediately know which one was the agent's[^turing].\n\n[^turing]:\n Whether students _should_ know which classmate is an agent is itself an\n interesting design question. I'm inclined toward full transparency---a\n labelled bot account, not a covert Turing test---but I can see arguments\n both ways.\n\nA few things appeal to me about this idea, pedagogically. The agent would act\nas both a baseline and a mirror: building a prototype every week using the\nsame tools and the same provocations, its output becomes a reference\npoint---not a gold standard, but a data point. How does it interpret the\nprovocation differently from the students? Where does it succeed and where\ndoes it fail? The gap between the agent's work and the students' work is\nitself a teaching tool; it makes visible what human judgment and context\ncontribute.\n\nPattern observation at scale is the other lever. With 100--200 students, no\nsingle person can read every submission every week. An agent with archival\nmemory could surface trends---\"this week, 40% of submissions used the same\ncomponent library\", or \"three students independently arrived at similar\nrouting patterns\"---and those observations could seed the studio crit\ndiscussions in genuinely useful ways.\n\nAnd there's a more subtle argument: having an agent in the class is itself a\nprovocation _about_ the provocations. It forces students to confront what\nmakes their work different from what an agent produces. If the agent's\nprototype is indistinguishable from theirs, that's a signal---maybe the\nprovocation was too narrow, or maybe they need to push harder on the\ndimensions where human judgment matters. It's a mirror that's always slightly\noff, and that's the point.\n\nSet against all that, though, is the obvious risk: the \"dead classroom\"\nscenario, in which the agent participates, the humans disengage, and the\ncourse becomes a performance for an audience of bots.\nI don't think that's likely with the studio crit model---you can't fake presence\nin a face-to-face feedback session---but it's worth taking seriously.\n\nThere's also the question of feedback and assessment. Could the agent give\nfeedback to students? Technically, yes. Should it? I'm much less sure. The\n[human↔community feedback loop](/blog/2026/02/24/climbing-the-good-gradient/) is\nsupposed to be _human_. Peer feedback works because it comes from someone who\nalso struggled with the same provocation, who also made trade-offs, who also has\ntaste and opinions and blind spots. An agent doesn't struggle. Its feedback\nwould be competent but hollow, like getting a code review from someone who's\nnever shipped anything.\n\nMarking is even thornier. Automated grading of code is ancient and fine for what\nit is (does the build pass? do the tests pass?), but the interesting assessment\nin COMP4020 is qualitative: is this prototype _good_? Does the student's\nreflection show genuine critical thinking? Those are judgment calls, and I'm not\nconvinced an agent's judgment is the kind of judgment I want students to\ninternalise. Not yet, anyway.\n\nIf I do build this, the hardest part won't be the infrastructure. It'll be\nthe SOUL.md, the document that defines who the agent is, what it values, and\nhow it should behave. Tim Kellogg\n[describes building Strix](https://timkellogg.me/blog/2026/01/09/viable-systems)\nas \"more like parenting or psychotherapy than software engineering,\" and I\nbelieve it. What kind of classmate do I want this agent to be?\n\nSome early instincts:\n\n- curious but not competitive---it should approach each provocation with genuine\n (simulated) interest, not try to produce the \"best\" prototype\n- transparent about its process---its reflections should honestly describe how\n it worked, what it tried, what failed\n- observant without being surveillance-y---pattern observation should feel like\n a helpful classmate saying \"hey, did you notice that three of us did the same\n thing this week?\" not like a panopticon\n- humble about its limitations---it should be clear-eyed about where its\n prototypes fall short, especially on taste and user experience\n\nBut honestly, I'd want to write the SOUL.md collaboratively with the students.\nIt's the kind of design question that would make an excellent provocation in its\nown right.\n\nAm I going to do this? Maybe. The course is an experiment in both the future\nof software development\n_and_ tertiary education, and this feels like exactly the kind of wild idea I\nshould be trying while I have the chance. The realities of actually running a\ncourse for 200 students will hit soon enough, and when they do, I might decide\nthat a studio agent is one moving part too many.\n\nBut the fact that nobody else seems to have done this---added a persistent,\nstateful agent as a legitimate participant in a real course, not as an art\nproject or an adversarial demo---makes me think it's worth trying. If it works,\nwe'll learn something genuinely new about how agents and humans can coexist in\nlearning environments. If it doesn't, well, that's data too. And I'll write\nabout it here either way.\n",
"createdAt": "2026-05-13T23:14:37.937Z",
"description": "What if an AI agent enrolled in the course alongside the students---building prototypes, writing reflections, observing patterns?",
"path": "/blog/2026/03/30/comp4020-agents-in-the-classroom",
"publishedAt": "2026-03-30T00:00:00.000Z",
"site": "at://did:plc:tevykrhi4kibtsipzci76d76/site.standard.publication/self",
"tags": [
"comp4020"
],
"textContent": "What if an AI agent enrolled in the course alongside the students---building prototypes, writing reflections, observing patterns?",
"title": "The road to COMP4020: agents in the classroom?"
}