Engineering Director, Agent Stack at @Vercel | @aisdk, AI Gateway, and @WorkflowDevKit | Previously Founded @askviable, VPE @eaze, and early eng @Yammer.
Write your agent once. Run it on any harness.
I have high conviction that this will change how we build agents forever. We're sharing an early release today so we can build that future together:
- No harness lock in
- No model lock in
- Full programmability
- Strict security
AI SDK now supports agent harnesses like Claude Code, Codex, and Pi with sandboxed sessions and AI SDK-compatible streams:
πππππ πππππ = πππ π·πππππππ°ππππ({
πππππππ: πππππππ²πππ,
πππππππ‘: πππππππ ππππππππππππ‘(),
});
Available in canary: πππ π ππ@ππππππ’. We welcome your feedback as we bring agent harness portability to the ecosystem, with excellent DX.
https://t.co/xojn6am7sg
Prevent your agent from going rogue.
A policy gives your agent runtime guardrails for AI SDK tool calls. Create policies as code via Open Policy Agent.
You have Claude Fable for only a few days. Here's how to make the most of it.
Introducing /improve: use your most capable model to audit your codebase and write plans for cheaper models to execute later.
Studies your code, figures out bugs, perf, tech debt, missing tests, what to build and writes plans any agent can run.
Vercel CLI now allows you to:
βΎ create AI Gateway API keys
βΎ pass a --ππππππ to cap their spend
βΎ set a --πππππππ-ππππππ for the quota
Think of it as virtual credit cards for AI tokens π€π³
Jokingly asked Fable to build me Crysis in Three.js.
It may not be Crysis, but the fact this is all done procedurally in basically one shot is kind of blowing my mind right now.
AI Gateway API keys now support budgets. Set one programmatically or configure on the API keys page:
ππππππ ππ-πππππ ππ’ πππ-πππ’π ππππππ \
--ππππ ππ’-πππ’ \
--ππππππ π·πΆπΆπΆ
https://t.co/JbrlSngt6F
this is my personal singularity moment
this post may sound like a paid ad. I only wish. I'm concerned, more so than happy. the world is changing, and, among the scenarios where AI goes terribly wrong, inequality is the most realistic, yet, the one Anthropic seems to be the least concerned about. I'm glad OpenAI is taking the opposite stance: *personal AGI for everyone*. I think this is a commendable position in the times we live. but who am I in the queue of the bread?
anyway, Fable is here, so I'll just report my first-hourΒ experience
first of all, all my pet prompts are solved.
β Ξ»-calculus puzzles
β bug questions
β one-shot apps
all are trivial to it.
I don't have anything harder other than my
ongoing work
so, in the last several days, I've been toying with HVM5, a new interaction net evaluator with a faster loop.
after writing the first version, I left 32 GPT-5 agents working for ~20Β hours each. this resulted in up toΒ 2x speedups, but the file size increased by 2-fold and quality decreased significantly.
I then simplified the whole thing into an even simpler core, and left Opus 4.8Β and GPT 5.5 optimizing it for 8Β hours. Opus got a legit 6% - 34% speedup in most benches. GPT got better results, but, sadly, an unusable file.
I then asked Fable to optimize it.
2Β hours later, it landed a 1770% speedup in one case, 100%+ in other 4, and 22% in average. yes, in 2Β hours it outperformed me, opus 4.8 and a swarm of gpt 5.5 agents, by one order of magnitude.
that could not possibly be legit. "it must be hardcoding the benchmarks" (GPT trauma). so I read its explanation and what it did was, indeed, the most high impact optimization one could try first. seems like HVM5 was wasting a lot of time garbage-collecting unused branches of pattern-match nodes. I had optimized that for static mats, but not for dynamic mats. skill issue. Fable figured how to do it for these, resulting in a massive speedup in some benches
but wait, is that *correct*? I'm not sure yet, it is credible, but this is the kind of thing that is very easy to get wrong on interaction nets. the problem is, when I was ready to start auditing Fable's solution so I could tell whether it was buggy or legit, it interrupted me to tell me it had found a massive bug on the code *I* had written.
... wait, what?
so... for garbage collection purposes, I stored a bit on lambda term pointers that meant "the variable bound by this lambda has been freed, so, its lambda must free whatever argument it is applied to". that's fine. yet, on duplicator nodes, I also used the same bit to mean "one of the duplicated variables was freed, so, treat this dup as a passthrough no-op". so, if a lambda entered a duplicator, it would mistake the lambda's collection bit for its own, resulting in corrupted interaction!
that's a mouthful, why I'm writing this?
just so you can appreciate the sheer absurdity of what just happened. I didn't ask it to find bugs. I asked it for an optimization. and even if I did ask it to find bugs, this bug is so astonishingly subtle and specific, identifying it takes mastering the domain to an extent that it beyond even me. I'd easily need hours or days to fix it, *if* I ever came across it. chances are it would just go unnoticed. and Fable found it and fixed it like it was nothing, while it was busy adding a 17x speedup to a file that neither I, nor Opus 4.8, nor a fleet of GPT 5.5 managed to barely make 2x faster.
oh and there is also another tab where it is also ripping through Bend's codebase and finishing everything I had to do
I don't know what to say anymore
this isn't about Anthropic or OpenAI, this is about our collective future as a species. the world is changing, and we need to be aware of it, and discuss how to handle this change.
receipt below . . .
Huge thanks to the @AnthropicAI team for investigating `just-bash` with Mythos as part of Project Glasswing
There are no serious findings. I'll issue a release with minor hardening improvements after my vacation.
This is an interesting case for 2 reasons:
1. `just-bash` is a very ripe surface (it's a full implementation of bash and common utilities, bundles QuickJS, CPython, has optional filesystem access)
2. `just-bash` itself was largely written by Opus 4.5 with minimal human review (but deep hardening loops and very paranoid machine-enforced coding rules)
https://t.co/z4WRuMI6KB
Claude Fable 5 is now on AI Gateway.
A Mythos-class model for your hardest unsolved problems.
πππππ: 'πππππππππ/ππππππ-πππππ-π»'
https://t.co/oLvVc2UvaE
AI SDK 7 canary
Configure tool approvals for any tool directly on ToolLoopAgent, generateText, and streamText:
- tool specific approval with constants
- tool specific approval with functions
- generic tool approval function with custom logic
Use the observability dashboard to track AI Gateway usage
βͺοΈ Graph cost and requests
βͺοΈ Group by model or project
Add tags to AI SDK calls and search with the Custom Reporting API
βͺοΈ Ask your agent questions about the data
βͺοΈ Build a custom dashboard in v0
@thiago_peres@vercel_dev Yep- unless your key fails for some reason and we have to fall back to ours (which is great! That means that your app will survive even if your key or provider has an issue)
Vercel AI Gateway recovers on average over 1T tokens a month π€―
Much like Stripe recovers revenue with smart retries on failed payments or credit card updates.
And we do it with 0οΈβ£ zero markup over the labs; adding redundancy, zero-data retention enforcement, observability, usage APIs, caps, β¦
https://t.co/OougSipbBX
Vercel Sandbox persistence is now GA, so I built a demo on top of it: ππ.
Run ππ in your project:
β’ syncs your code into a Vercel Sandbox
β’ detects the framework, installs deps, runs your dev server
β’ serves it at a public URL you can share
β’ stop it, run ππ . again, and it resumes from the snapshot, files and deps intact
try it: https://t.co/nKN3hIjLdl
Sandbox now supports drives in early access
βͺοΈ Storage separated from compute
βͺοΈ Mount on any path with π³ππππ.ππππΎππ²πππππ
βͺοΈ Keep agent memories across sandboxes
Sign up β https://t.co/o0ODXM6MZa