The Negotiator That Had to Go — Why I Built a Chris Voss Agent and Then Killed It
I had what I thought was a brilliant idea.
My insurance agent was struggling with objections, right, customers kept saying the price was too high, and the agent kept responding with empathy and then immediately shoving a questionnaire in their face, which I talked about in the first post of this series. So I thought, okay, what if I give the agent a negotiation layer? What if, before it responds, it consults a strategy agent that's been trained on Chris Voss's negotiation framework — tactical empathy, labeling, mirroring, calibrated questions — the whole FBI hostage negotiation playbook applied to insurance sales?
I spent almost two weeks building it. A separate agent, sitting between the customer message and the response, analyzing the emotional state of the conversation and recommending a negotiation strategy. It would say things like "use a late-night FM DJ voice here" or "deploy an accusation audit" or "mirror the customer's last three words."
And let me tell you, on paper, it was beautiful.
In production, it was a disaster, and the disaster taught me something I keep learning over and over and over again but apparently need to learn one more time: adding intelligence to a system is not the same as adding capability.
What went wrong
The thing is, the strategy agent worked. It genuinely produced good tactical recommendations. When a customer said "190 lei is too much for something I don't need right now" the Voss agent would correctly identify this as a combination of price objection and urgency dismissal, and recommend an approach — something like "label the underlying concern, then reframe the timeline."
The problem wasn't the strategy. The problem was the architecture.
See, every time a customer sent a message, my system was already doing about 20 steps of processing — customer lookup, sales stage assessment, concern detection, conversation scoring, playbook retrieval. Adding the Voss strategy agent meant adding another full LLM call in the critical path, between receiving the message and sending the response.
Response time went from 3-4 seconds to 8-12 seconds. In a WhatsApp conversation. Let me tell you, 12 seconds of silence in a WhatsApp conversation is an eternity, it's like that moment when you ask someone to marry you and they just stare at you, not good, definitely not good.
But it gets worse. The strategy recommendations were good in isolation, but the response agent — the one that actually writes what the customer sees — couldn't always integrate the strategy naturally. You'd get responses that felt schizophrenic, like the agent was trying to be empathetic AND strategic AND informative AND closing the sale, all in one message. Four voices in one body.
Sound familiar? Because this is exactly what happens in organizations when you add a new department or a new process layer without redesigning how information flows. You don't get better decisions. You get slower, more confused decisions with a higher payroll.
The real lesson
Here's what Chris Voss himself would probably tell me if I sat across from him: the problem wasn't the negotiation framework. The problem was trying to bolt it onto an architecture that wasn't designed for it.
My agent's architecture at the time was what I now call a "single-pass" system — everything happens at once, one big prompt, one big response. In that architecture, adding another perspective doesn't help. It's like adding another person shouting in a crowded room. More information, less clarity.
What the Voss experiment taught me is that strategic behavior requires strategic architecture. You can't make an agent strategic by giving it better advice. You have to redesign how it thinks, how it sequences its decisions, what it considers before it acts.
The right approach, which I'm now working on, isn't a separate strategy agent. It's an intent classification layer that runs first — understanding what's happening in the conversation — followed by a decision layer that chooses an approach, followed by a response layer that executes it. Three steps, sequenced, not competing.
In organizational terms: you don't fix a bad process by adding a consultant. You fix the process.
What I removed and what I kept
I ripped out the entire Chris Voss agent. Gone. The git commit is sitting there in the history like a tombstone, a reminder of two weeks of work that taught me more than two weeks of success would have.
But here's the thing — the thinking behind it wasn't wasted. The classification of customer emotional states? That became part of my intent classifier. The idea that different conversation moments need different approaches? That became the foundation of my response strategy system. The concept of tactical empathy? That's now embedded in my agent's personality, not as a separate system but as a core value that shapes everything it says.
It's like, you know when you cook something and the dish is terrible but you learn a technique along the way that you use forever? The Voss agent was a terrible dish. But the technique — strategic thinking about conversations — that was the real discovery.
The experiment mindset
I want to be clear about something because I think it matters for anyone building with AI right now. This wasn't a failure. I didn't lose two weeks. I ran an experiment, got results I didn't expect, extracted the insight, and moved forward.
The commit that added the strategy agent and the commit that removed it are both public in my repository. I'm not going to pretend that I knew from the beginning it wouldn't work, because I didn't, I genuinely thought it would. And I'm not going to pretend it wasn't frustrating to rip it out, because believe me, at 6 AM when you're watching your agent take 12 seconds to respond to a simple question about insurance pricing, the frustration is very real and very physical, right there in your stomach.
But treat everything as an experiment. No good or bad outcomes, just results. That's not just a philosophy I write about, it's the only way I've found to actually survive the emotional rollercoaster of building something from scratch.
Next up: Why I rebuilt my entire LLM infrastructure to never be locked into a single provider — and what that taught me about building things that survive.
— Vasile Tămaș, building from Cluj-Napoca, Romania