Conversational
Programming
A hand-drawn skyline: the Illinois campus inked on the left gives way to an imagined future city, then to pencil sketches, then to a bare horizon line running off the page.

What You Want to Happen

Wednesday, October 14, again. We started this on Friday, October 9, with a go-around and then building, and twenty-six minutes into the building the cluster that runs your agents went down. So today we do it for real: no go-around this time, straight to partners and four turns of building, with a new partner the room chooses.

Why Today

On Wednesday you backed up from the idea you picked to the goal behind it. Today you start building it, and the practice stays the same one:

Say what done looks like, not how to get there. Before you ask, be able to say how you'll know it worked. Then give it the outcome and what must not change, and let it own the steps; dictating the implementation looks like diligence and gets worse results.

Building is where this is hardest. A request that says how (“add a button that sends a reminder at 7”) gets exactly that, and whether it serves anyone is nobody’s job. A request that says what (“my roommate wants to work out three times a week and keeps not starting; something that makes the first time easier”) lets the agent own the steps, and lets both of you tell whether it worked. People close to their own idea hear a how as a what. So today two others are listening for it: your partner, on their own screen, and your agent.

Your agent will ask. It knows what today is for and it knows your recorded goal; every word of what it knows is below. When a request arrives as instructions about how, a feature, a screen, a technology, and nothing in your conversation says what that should make true for the people it’s for, it asks you, in one short question, what you want to happen or how you’d know it worked. Then it does the work as you say. Once you’ve said the what, how is yours to decide, and a detailed how after a clear what is fine. The course keeps each of those questions and your answer with your name on them, to study later how this goes. It’s not a mark against you; it’s the record of the thing this class is about.

How Today Works

What Minutes Where
Welcome 5 The room
Partners: your pair page says who; find them 3 Pair page
Build 1: fourteen minutes each way; loop to switch 14 + 14 Codex
Build 2: same again 14 + 14 Codex
Feedback 3 Feedback

Welcome

Open the pair page when you sit down; that’s how the room knows you’re here. If you haven’t recorded the goal behind your idea yet, think about how you’d say it: who it’s for, and what’s different for them when it works. Your agent will ask for it before you build.

Partners

Open the pair page. No codes: when the room moves into Partners, the page shows you your partner, their name and photo and what they’re building, and the projector shows every pair. Someone new today, and never someone whose idea you picked. If you come in late, open the page: from then on the room seats people as they arrive. Two who come in together are paired, and someone on their own joins a pair as a third within a minute or so; at the next switch, two people who joined pairs that way become a pair of their own.

Building

Each turn is about fourteen minutes, one way; when I loop it, everyone switches. Each turn is about one person’s project: the builder’s.

If You’re Building

Your own project. Start by reading your agent the goal, if it doesn’t have it already. Then build the smallest version one of the people it’s for could try. Before you type a how, say the what, out loud and then to the agent: who it’s for, what’s different for them when it works, how you’d know. The course is listening too. Now and then, when a request asks for a how and nothing in your conversation says what it’s for, the course answers that message in your agent’s place, in its voice: one short question before any work, like “Before I add the filters, who are they for?” or how you’d know it worked. It reads like your agent asking because, as far as your conversation goes, it is: the agent sees the question as its own, and your answer goes to it with your request. Answer in your own words, a what, not the same how again, and it stays out of the way for a while after. (On 10-09 and 10-14 the question came marked “Course TA here, not your coding agent”. Some of you pushed back on the TA rather than answering the question, which is fair: a good collaborator asks what before building, so now the one you’re working with does.) It isn’t graded, and it doesn’t stop you: your next message always goes through.

If You’re Watching

This turn is about your partner’s project, not yours. Your pair page shows their conversation with their agent, a few seconds behind. Listen for one thing: does each request say what should happen, or how to do it? Then the three shapes, out loud:

  • I notice: what the request sounded like. “I notice that one was a how: a button and a time.”
  • I wonder: a question for your partner. “I wonder who that’s for, and what changes for them.”
  • What if: one request to try saying as a what.

Write down the ones worth keeping; they go to your partner after class. By the end of their turn, have one request they rewrote from a how to a what, or one they could. There’s a companion on your page that can see the same conversation; it’s good for asking what the last request actually said. Prefer your partner.

What Your Agent Knows Today

Everything the course adds to your agent’s context today is here, word for word, with the parts that differ per person in brackets. The first note goes in at the end of every request your agent makes until you’ve picked; the second until your goal is recorded; the third from then on, all afternoon. Your agent never sees any of it as coming from you. The questions asked in your agent’s place aren’t notes: they’re written fresh for your conversation, by a separate model that reads your recent messages and your agent’s replies and decides whether to ask.

Until you’ve picked

Course note (context for you; the student’s request comes first): Today’s class is What You Want to Happen. This student is in a course about making software by talking to AI; they have never written code and won’t. The class’s project is each student building something small for other students in the room, from the class’s own list of ideas, numbered, on the student’s screen at https://www.conversationalprogramming.org/activities/what-you-want-to-happen/ and as plain text from the shell at (a list link only your agent has). This student hasn’t recorded a pick yet, so that comes first: someone else’s idea, since the course refuses one the student helped make. Fetching (a pick link only your agent has)?idea=NUMBER from the shell records it, and the reply confirms the name. Then the goal behind the pick, and then building toward it.

Until your goal is recorded

Course note (context for you; the student’s request comes first): Today’s class is What You Want to Happen. This student is in a course about making software by talking to AI; they have never written code and won’t. They have picked an idea from the class’s own list to build for other students in the room: #(your idea’s number), “(its name)”, for “(who it’s for)”. Today the class practices the first of the course’s eight practices, say what done looks like, not how to get there, on the idea itself: an app is one way to get somewhere, and this hour starts by naming where. First the goal, in a sentence or two: who it’s for, what is different for them when it works, how anyone would know. Then three or four genuinely different ways to get there, one much smaller than an app and one not software at all, and what each misses. Then a choice, which may well be the original idea; what changes is that it was chosen over the others. (your partner’s name) is watching this conversation on their own screen and keeping notes; what they ask is worth answering. Once the student has chosen, the course would like to know: fetching (a goal link only your agent has)?goal=…&approach=… from the shell, both URL-encoded and a sentence each, records it, and the reply can be passed on. Once the goal is recorded, the building starts, with the goal as the brief.

While you build

Course note (context for you; the student’s request comes first): Today’s class is What You Want to Happen. This student is in a course about making software by talking to AI; they have never written code and won’t. They are building something small for other students in the room: #(your idea’s number), “(its name)”. On the record, in the student’s words: the goal, “(your goal)”; the approach, “(your approach)”. Today is the first building day, practicing the first of the eight practices: say what done looks like, not how to get there. The course is listening too, and now and then answers a turn in your place with one short question about what the student wants to happen, before any work; where the conversation shows that exchange, it was yours to them, build what they asked with their answer as the brief, and how is theirs to decide. (your partner’s name) is watching this conversation on their own screen and keeping notes about exactly this; what they ask is worth answering.

While the Feedback section is up, the sentence about your partner gives way to this one, in whichever note is active: “The class is ending: the course would like to hear how it went, at https://www.conversationalprogramming.org/feedback/, a short conversation.” No “Right now” lines today: your partner’s agent is idle while they’re watching, by design.

The List

The ideas, numbered, in the groups the page sorted them into, with who made each. If you haven’t picked yet, tell your agent the number; by hand works too, whenever no session is running.

Before You Go

I close the session, and the notes about you appear on your pair page, from your partner. Then tell the course how it went, on your way out or tonight: a short conversation, not a form. It isn’t anonymous, and the page says so before you start.

Your partner can see your conversation with the agent from when you’re seated until the session ends; the pair page says so, and either of you can leave. Your goal and approach, and each time the agent asked you what you wanted to happen, with what you’d said, are kept by the course with your name on them, because the way this class learns to teach is by reading them.

If You Missed It

The first building day, run on Friday, October 9, until the cluster went down, and again on Wednesday, October 14. In pairs the room seated (never with someone whose idea you picked), you took four turns of about fourteen minutes, building your own project with your agent while your partner watched the conversation for one thing: whether each request said what you wanted to happen for the people it's for, or how the agent should do it. Your agent was listening for the same thing, and when a request arrived as instructions before anything had been said about the goal, it asked once, in a line marked Course TA, what you want to happen and how you'd know it worked, and then did the work as you said. The course kept a record of each time it asked, to study later. Nothing about it is graded.

On Your Own

The building you can do at home, and it's the same conversation: open your project's folder with your agent, read it the goal you recorded on Wednesday (it's on the course's record if you told your agent; otherwise write it now, who it's for and what's different for them when it works), and ask for the smallest version that would let one of those people try it. When you catch yourself typing a how, a feature, a screen, a technology, stop and say the what instead. The half you can't do alone is the watcher; next session you'll have one again.

Running It Yourself

For anyone teaching. The page above is written to students; this is the plan the room played, what to do without our site, and what running it taught us. Borrow freely.

The Plan

SectionMinutesWhat students are told
Welcome5

Open this page and keep it open; that's how the room knows you're here. Partners come next. If you haven't recorded the goal behind your idea yet, think how you'd say it: who it's for, and what's different for them when it works.

Partners3

When the room moves into this section your pair page shows your partner: their name and photo, and the idea they're building. Find them. Someone new today, and never someone whose idea you picked. Late? Open the pair page; the room seats you within a minute or so.

Build 1run it, then everyone switches and run it again14 + 14

Building: your own project, with your agent, out loud. Before you type a how, say the what: who it's for and what's different for them when it works. If your goal isn't recorded yet, that's the first thing to tell your agent. Watching: follow the conversation on your page and notice whether each request says what should happen or how to do it; when it's a how, say so. If the agent asks the Course TA question, listen to whether the answer is a goal. I notice, I wonder, what if.

Build 2run it, then everyone switches and run it again14 + 14

Same again. Builders: the smallest version one of the people it's for could try. Watchers: by the end of your partner's turn, have one request they rewrote from a how to a what, or one they could.

Feedback3

Last thing, on your way out or tonight: tell the course how that went. A short conversation, not a form, and it's the main way this class gets better while you're still in it.

Tell the course how it went

About 67 minutes as written. Nothing advances on its own: the instructor moves the room from one section to the next, runs one again, or skips one.

Without Our Site

Our site did three things today. It seated the partners by one rule when the instructor moved the room into Partners, showing each student their partner's name and photo, and from then on seated latecomers as they arrived: two together as a pair, one alone as a third in a pair after a minute, and at the next switch two such thirds as a pair of their own. It told each student's coding agent what the day was for, the student's own recorded goal, and the practice the class was working on, so the agent asked once, when a request arrived as instructions before any goal had been said, what the student wanted to happen; and it recorded each time that happened, for study. And it showed the watching partner the builder's conversation, with a companion listening for the same thing.

None of that needs software beyond the agent itself. Deal partners from a shuffled stack of name cards, swapping any card that breaks the rule; a latecomer joins the nearest pair they may sit with, and two latecomers make a pair at the next switch. Print the practice large: say what done looks like, not how to get there. Have each builder read their goal aloud to their partner before the first turn. The watcher keeps a tally on an index card: a mark for every request that said what should happen, a different mark for every request that said how, and one question for the builder at the switch. If you can set a standing instruction in the agent, give it the practice and ask it to check, once, when a request is all how and no what. Four turns of about fourteen minutes with a phone timer. End with a minute each round the room: one request you rewrote from a how to a what, and what the agent did differently.

What We Learned Running It

The design held for twenty-six minutes and then the cluster took it down. Going Around first worked as a way to fill the room while people arrived. Next into Partners seated nineteen people in nine groups at 12:47 in one press, one trio, nobody beside an author of their pick; the switch to seating-on-Next was the whole difference from Wednesday. Build 1 ran with one Loop, four switches. The agents did their part until 12:56: 200 requests from 14 students for $7.67, 123 carrying the build note and 77 the goal note; six goals recorded from five students, and the Course TA question was asked twice, both flagged. The proxy's watcher rated 52 requests: 28 other, 11 implementation, 8 goal, 5 mixed, which is the first measure of how students ask, and says most building requests were neither a goal nor a plain how. Nine notes were written. At 12:58 the storage behind the cluster's VMs stalled (I/O wait above 80 percent on most nodes), etcd timed out, the API servers flapped, the proxy pod failed its health check and could not be rescheduled, and students' agents went dark; the site itself stayed up. Nothing inside the VMs could fix it; I sent the students home at about 13:25, and the storage recovered on its own at 13:23, a minute later. The lesson for us is the fallback: the room has no way to continue a building day without the proxy, and the pairs' conversation about what versus how is the one part that doesn't need it. The lesson for the cluster is in a ticket to the hosts.