Martin Asnong retweeted
Timely reminder: your software is a giant implicit state machine, and an exploit is any path through it to some state that you didn't intend but an attacker found.
Related reading: Weird Machines (Thomas Dullien) dullien.net/thomas/weird-mac…
Martin Asnong retweeted
State machines are super underrated: they make complex logic explicit, impossible states impossible, and agents are extremely good at making them now 💯
Also, Matt is a state machine expert
Martin Asnong retweeted
Been thinking about this a lot: there's still a gap between humans and agents in development. Not capability; agents will keep getting smarter. It's three things that look like weaknesses but aren't:
Curiosity, pushback, and rest.
Curiosity: we wander off & try things nobody asked for. We get bored/obsessed, want things to exist (like me with state machine tooling), and a lot of really awesome things come from that. Agents can explore, but only inside a "prompt" someone else wrote. They can't come up with ideas on its own (prompting "come up with ideas" doesn't count!) They can build our ideas and riff on them, but they don't have ideas of their own that they obsess over on their own.
Pushback: "is this actually needed?" "will this move the needle?" We ask questions like that because we have experience/scar tissue. We've been burned by recognizable patterns before, and push back because of the emotional toll of being the one that has to maintain it. Agents push back too sometimes but there are no stakes; it's just them pretending to pushback without real emotional motive. Of course you can tell them to push back, but ironically that's just another instruction they're obeying.
Rest: We know when to stop, more or less. We get tired, call it a day, and that boundary (not laziness!) is a feature. Every change widens the blast radius. Stopping is where you can check the last batch of work and verify everything before the state space explodes again. Agents working in their fancy overnight loops nonstop looks more productive, but it's just accumulating tech/cognitive debt faster than can be paid off. And sure there are tests, but tests catch what you thought to test for; they don't shrink the state space of things that can go wrong. Exhaustion is a feature: it tells us our judgment is slipping. Agents degrade too (context length, drift, etc.) but they don't "feel" it like we do. They just push on with full confidence and worse judgment.
Sure you can approximate all three with fancy skills or prompts or harnesses or whatever. They help, but they're all simulations, because those three things come from the one thing agents don't have: a "self" that persists and needs to pay for its own mistakes.
They don't need curiosity; we need to scratch an itch, they don't
They don't need to give pushback; nothing's at stake for them
They obviously don't need rest; although sometimes I wish they'd chill out they were close to hitting their token limits 😅
And no, this isn't something that's "fixed in the next model update" or "this harness/tool/skill/etc solves it". All these things are really the same thing:
- Curiosity = what's worth doing?
- Pushback = is it actually worth doing?
- Rest = when is more not worth it?
Agents are incredible at the *doing* part, but they don't have much to say about *worth*, because worth only matters to whoever has to live with the result.
That's the human part. IMO it's still extremely important and will continue to be, and it's not something we should automate away. It's what gives agents their purpose.
Martin Asnong retweeted
Ollie Millroy delivers an emotional message to thank Loek Hartog for saving his life yesterday in Shanghai, China.
"I am still alive tonight, entirely thanks to one man; Loek Hartog stopped instantly with no flag marshalls or fire crews in sight, and risked his own life to get me out of the car.
"I don’t remember anything between 30 seconds before the crash and 1 hour after it, but I will remember his incredible act of bravery for the rest of my life. One day I will tell our three kids this story and Loek will be the biggest superhero in history in their eyes too."
"I’m laying here tonight with 5 broken ribs, broken collar bone, broken hand and finger and a bruised lung, but it could have been much worse. Thank you Loek. I owe you my life for your selfless act today."
[Ollie Millroy, via IG]
Martin Asnong retweeted
Replying to @SandroMaglione
Anything async has enough complexity to justify a state machine. If people don’t use FSM for it, they’re either reinventing a similar runtime or just ignoring unhappy paths.
Martin Asnong retweeted
I would still tell junior devs to learn how to code.
"Why learn to code if AI writes it?" Because generating code is easy, verifying code is hard.
You can trust a compiler w/o reading its output. You can't trust an agent the same way (nondeterministic, bad assumptions, etc).
Devs w/real coding experience will write better prompts, build better automations, debug faster, and ship better software, even when they're not the ones typing it.
Martin Asnong retweeted
Making progress on an open-source library where you author agent logic as state machines in XState and run it *anywhere*: Mastra, Eve, Flue, Vercel AI SDK, Cloudflare Agents, or your own runtime.
It’s coming along!
Martin Asnong retweeted
Still working on this this: an open-source toolkit for defining agent logic as typed state machines/statecharts.
Goal: make *any* agent loop/workflow/orch. pattern visualizable, reusable, testable, & framework/SDK agnostic.
If you’ve used XState or similar (Langgraph etc.) w/ agents, I’d love your thoughts on what works, what doesn't, what's missing.
Martin Asnong retweeted
XState Store v4 is released 🚀
Simple, small state management for stores (like Zustand/Redux) + atoms (like Jotai/Recoil)
Works everywhere: vanilla, React, Vue, Svelte, Solid, and more. Event-driven, type-safe, batteries included, *really* agent-friendly.
npm i @xstate/store
Some new features:
Martin Asnong retweeted
Remix 3 preview is ready
Just run `npx remix@next new my-remix-app` to get started
remix.run/blog/remix-3-beta-…
Announcing JSON Alexander
A really good JSON viewer browser extension.
→ Easily open/collapse objects
→ Copy property path
→ Access JSON in dev tools console
→ Funny hairy finger cursor
github.com/wesbos/JSON-Alexa…
































