Building Skylark, and what it's teaching me about agentic models
Building Skylark has turned into one of the more surprising engineering projects I have worked on, and I wanted to share where it is at.
What Skylark is
Quick context for anyone new: Skylark is an agentic desktop browser. It is built in Rust with a Chromium fork underneath, and the defining feature is an agent that can actually read and act on the page. It reads the DOM, clicks, fills inputs, follows links, watches the network, and holds a conversation about whatever tab you are on.
The harness, not the prompt
The part I did not expect to sink so much time into is the harness. Writing the loop that manages a web agent, the thing that decides what the model sees, how tools get dispatched, when to stop, and how to recover from a bad step, has been genuinely fun and genuinely hard. Web pages are hostile to structure. The DOM lies, iframes hide things, and the model only ever knows what you choose to show it. Most of the quality of an agent turns out to live in the harness, not the prompt.
Where newer stops meaning better
But the real eye opener has been the models themselves.
You would assume a newer, higher tier model always beats an older or smaller one at reasoning and tool use. In my evals that assumption keeps breaking. Some of the smarter models fare worse at the actual job of driving a browser than models that benchmark lower on paper.
The clearest case so far: Sonnet 5 has performed worse than Sonnet 4.6 on several of my browser evals. Not a rounding error either.
A theory: optimization pressure
My working theory is optimization pressure. When a model gets tuned hard for one class of task, it can quietly regress at the messy, multi step, tool heavy work an agent actually does. A model that is a little more general, a little less sharpened to a single target, sometimes holds up better across a long agentic trajectory. Benchmark capability and reliability across fifty tool calls, where one wrong click ends the run, are just not the same thing.
None of this is a knock on any lab. It is a reminder that agent performance is its own axis. The leaderboard number and the can it finish a real task in a real browser number are only loosely related, and that gap is where a lot of my time goes now.
Where Skylark is now
So that is where Skylark is: the browser works, the agent acts on real pages, and the most interesting problem right now is not which model is smartest but which model is most steerable and most reliable over a long horizon. Those turn out to be different questions.
More soon.