In the last two weeks I've spent a lot of time with different kinds of LLM tools, including OpenClaw agents, and I think I noticed a major difference between working with an asynchronous agent versus working with an LLM assistive tool, and only one of them I'd keep calling "vibe coding".
Knowing vs vibing
When you know exactly what you want to do, and you use OpenCode or Claude to be your hands, not a brain. It hits different kinds of notes.
Like, with Jadwiga, it's pure vibes. Here's the issue, here's what I want, please make a PR I'll merge it if the vibe matches what I want.
But when I do some actual bigger task, and I have some concrete plan on how I want the code to be designed, where goes what, or what parts of the code should be refactored along the way so it's more readable, this is what I now call doping coding.
Like, with a sports person who knows what kind of training routines need to happen to achieve some results, knows exactly what is the wanted result and then uses some extra help of magic chemistry that would bring that person to that wanted result in a fraction of a regular time.
I did a small experiment today.
Same task, two flows.
Jadwiga, contra me with Claude Code. Same task, two workflows.
- Jadwiga: https://codeberg.org/kukei/search/pulls/14/files
- Claude: https://codeberg.org/kukei/search/pulls/15/files
They did almost the same mistakes on first shot. Both needed two prompts "rounds" to make it done properly.
Given the "randomness" of any LLM model I'd say the end result was comparably the same. Even the diff on both PRs looks almost the same. What I mostly wanted to check was how I felt with those two.
And it felt wildly different.
Jadwiga's world
With Jadwiga it felt almost the same as I'd work with some remote colleague. I send them some task, I see some responses on DM, maybe some questions, I answer them. Eventually I get a PR, I can focus on actual diff, comment where I think things could be done differently, it goes back to another round until I get "you can review it again" over chat.
It recreates the "delegation" world, with async actions.
Claude Code's world
This hits more like pair programming with someone who types incredibly fast. I can check the code live in my IDE, immediately suggest changes and iterate like this until I find the job actually done.
I was never a fan of pair programming though because I like to stay with my own thoughts while coding. This to me feels like a perfect "pair programming". I write some thoughts, I can think about next steps while the bot is typing stuff, then I can go forward.
But I stay in the zone, I stay focused on the work and I enjoy it a lot.
They are different. It's good.
I might change my mind, but I think this might be the sweet spot for me for the next months. Doping programming when "I" want to do something, and delegating to subagents where I DO NOT want to do something, just review and decide whether to merge or not-merge-yet.
It's for humans
Brad Frost during the last Smashing Conference started with telling a story about how Phil Collins used the new drum machine that just came to the market. The drum machine made some headlines asking whether drum players will have jobs.
He didn't fight the tool, he embraced it to make something really cool.
That all sounds not that convincing when we listen to how the billionaires would love the world to change in a near future and I think it's too early to really be able to say how the job market for humans in creative sector will look like in 5 years, but in terms of tools I think we start to be like Phil Collins by beginning to understand what kind of tools LLMs are and how to use them to do cool things, quicker and easier than ever.
For now, it's still us who make those cool things.