The User Is Visibly Frustrated
In this article, I try to understand why coding agents can be infuriating to<br>use. I think the problem is their conversational UX: they behave enough like<br>helpful colleagues to trigger our social instincts, but they don't learn,<br>adapt, or take responsibility the way people do, which makes their repeated<br>mistakes feel much more frustrating than they should.
Despite the usual allegations against Italians, I’m generally a composed person.<br>Tame, even, especially at work.
Yet, lately I often find myself mildly displeased, furiously hammering on my<br>laptop “WHAT THE FUCK DID YOU DO???”. The recipient of these tirades is, you<br>might have guessed, a coding agent.
It’s completely pointless, I know. Coding agents are just probabilistic machines<br>generating patches. Sometimes they’re good, sometimes they’re bad. Pick the ones<br>you like, discard the others. No big deal, right? Well, not quite.
For some reason, bad results often feel exasperating. But why am I getting mad<br>at an algorithm? Am I the only one affected? Are coding agents surfacing a<br>sadistic streak I didn’t know I had? I think there’s another explanation: the<br>conversational UX is bound to frustrate you .
Coding agents pretend to be people. Of course, if you ask them directly they<br>tell you they’re just “AI assistants with no feelings or subjective experience”,<br>but that’s not how they behave.
They talk like real people. They use a relaxed and friendly tone. They often<br>praise you, and when they “push back” they’re gentle and attentive. Even though,<br>rationally, you know you’re just reading blobs of probable text, these tools<br>lull you into feeling that you’re interacting with a person, a helpful<br>coworker who’s a pleasure to work with. Until it’s not.
As in every relationship, the cracks begin to show when things start to go<br>wrong.
The first time you catch a mistake, you shrug. You point it out and the agent<br>apologizes. Five minutes later, however, same mistake again. You correct them a<br>second time, noting their recidivism, so now they also update their memory and<br>promise you “it will never happen again”. But it does, over and over, because<br>these tools follow the most probable path, and in some cases no amount of HARD<br>RULES can push them off it.
If the agent were a human colleague, you’d have good reason to feel a bit<br>miffed. But it’s an algorithm; losing your patience is absurd. And yet, since it<br>behaves like a colleague, the illusion ends up tripping the same emotional<br>wires.
With a colleague, the desire not to be a horrible human being restrains you, but<br>with an agent you feel free to lash out. It’s not cathartic, however; you just<br>feel the frustration and realize that whatever you do or say will have<br>absolutely no effect.
I’ve been using Claude Code for the past few months, and lately I’ve noticed<br>that, when corrected, it often reflects on where it went wrong and what it<br>should have done instead. Maybe this is an attempt to improve how you perceive<br>the tool. I can’t say it works for me, though. I don’t really get anything<br>useful out of these postmortems (e.g., clues about how to rephrase my<br>instructions), and they just end up reading as annoying filler.
Maybe I would prefer a more radical solution: drop the human pretense entirely.<br>Make the agent sound clinical, robotic. Dispel the idea that I’m interacting<br>with a person, and make me feel like I’m just approving or rejecting random<br>outcomes.
Of course, “trying to behave like a human would” is the mechanism that gives<br>LLMs their intelligence, so it makes sense that conversational interfaces<br>emerged as the default way to interact with them. And in many ways, they work<br>very well.
Practically speaking, I probably just need to condition myself not to get caught<br>in the illusion of speaking with a human. Though I’m not really thrilled about a<br>future where I need to guard against the tools I use for my job.