Notes from the build.
Deep dives into how the runtime actually works — the design decisions and the plumbing behind the product.
Models are feedforward. Brains are not.
A language model is a stateless function: unstructured in, structured out, one pass, no memory of the last one. Everything that makes an assistant feel like a colleague is wiring we added around it. Here's the whole shape, and why ours came out different.
Two brains, one voice.
A model smart enough to do the work is too slow to hold a conversation, and a model fast enough to hold a conversation is too dumb to do the work. Here's every decision we made to run both at once — without the caller ever hearing the seam.
Why we split skills into functions and guidance.
Skill folders nest scripts inside prose. We keep two libraries instead — executable functions and prose guidance, linked many-to-many — and it changes what an agent can reuse.
The conversation is not the work loop.
On the layer that sits between you and the agents doing the work — why most frameworks don't have one, and why Thinking Machines just argued they should.
Fork the conversation, or go in cold.
Every time one loop hands work to another, the same question comes up: how much should the worker know about the conversation it came from? We made it an explicit argument, at every layer.
There is no demonstration mode.
You can show our assistant how to do something by sharing your screen and talking through it. We never built a feature for that. It falls out of the abstractions, which is the whole argument.
Agents that pick up where they left off.
On the plumbing between the outer conversation and the inner working loops — and why a finished task doesn't have to end.
Execution is a coordinate, not a call.
Giving a model exec() takes an afternoon. Giving it somewhere to put things down, pick them back up, and try something risky without breaking what it already has — that took considerably longer.
Pick the workflow that's been eating your week.
Starter credits, no card. You'll have real work running before the end of the call.