A new agent lesson every week
You're warmly invited to build along with buttercup.sh. Every week, one lesson brings you a single idea, the code that makes it work, and an exercise you can run in the tab you're reading this from. Free, no account, and easy to leave whenever.
A comfortable pace for building
Agent-building is a handful of ideas that really settle in once you have tried them, nudged them, and watched what happens: a loop that never terminates, a tool description the model keeps misreading, a context window that fills up two turns before the job is done. One idea a week, with something to run, gives each part room to click before the next one arrives.
Email because it arrives whether or not you remembered to come back, and because the lessons build on each other in order. Nothing else is sent: just one useful lesson, once a week.
What each lesson looks like
The same three parts every time, short enough to read on a break:
- One idea, in plain terms, with the reason it matters before the mechanics.
- The code — real, runnable, and small enough to read whole. Usually a file from this repository, because the harness is the textbook.
- An exercise you do in the harness: paste a key, type a prompt, watch the loop, then break it on purpose and see what the model does.
You need nothing installed. If you would rather not spend a cent on tokens, point the harness at Ollama or vLLM and every exercise runs on your own machine.
Where we'll go together
Roughly the path from a bare HTTP request up to something you would trust with real work:
- One completion call, by hand — what a model actually receives and returns.
- The tool-call loop: the fifty lines that turn a chat model into an agent.
- Writing tool definitions the model reads the way you meant.
- State: a filesystem the agent can trust, and an undo stack that rewinds the files and the conversation together.
- Context: what to keep, what to drop, and how compaction works without losing the thread.
- Eyes: screenshots in, so the model can see what it built.
- Hands: driving a page — click, type, scroll — and reading the result.
- Sub-agents, planning and multi-step work that survives a wrong turn.
- Sandboxing and the failure modes that are easier to meet in a safe lesson than in production.
The order may shift as the lessons get written — the list is the destination, not a contract. It has since been cut down to six lessons in a fixed order, easiest first: read the syllabus. The rest of the list above still arrives, hanging off whichever lesson it belongs to.
Start whenever you're ready
Drop your address in the box at the top of this page — or in the one at the top of the transcript on the harness; they are the same list. The next lesson finds you; the ones you missed stay in this archive, ready whenever you are.
And you do not have to wait for an email to begin. Open KEYS, paste a key, and ask for an agent — the first exercise is one line:
scaffold a blocks.ai research agent, then run it
Vintage charm, practical code, and em dashes very welcome.