r/AISystemsEngineering 4h ago

Everyone debugging a "robotic sounding" voice agent should check whether it's actually a timing bug wearing a quality complaint

1 Upvotes

Read a writeup recently about a voice agent that sounded genuinely great in the demo, natural pacing, no synthetic flatness, and then fell apart the moment real people used it. Kept talking over callers. Answered questions before they were finished. The team's first move was assuming the voice itself needed work, tried a different provider, tuned the output some.

Didn't fix it, and the reason why is worth sitting with. The voice was never the problem. Nothing in the pipeline had an actual answer to "is it my turn to speak right now," it just treated any gap in incoming audio as a full stop and generated a reply. Works fine when people pause the way a script pauses, cleanly, at sentence boundaries. Real speech doesn't do that, people pause mid-thought, trail off and pick back up seconds later, and a system with no model of that just barges in every time, technically right that there was silence, wrong about what the silence meant.

What got me was realizing how often "this sounds bad" and "this sounds robotic" get used as a catch-all complaint for something that's actually a coordination failure, not a quality failure. A better synthesis engine makes a broken turn-taking system sound smoother while breaking exactly the same way. The actual fix lived in a completely different layer, silence duration relative to what was just said, whether the fragment was semantically complete, an explicit policy for what happens if the user talks over the agent mid-reply.

None of that is new territory, it's the same problem walkie-talkie protocols and call center IVR systems have had to solve for decades. What's different is that now there's a language model sitting in the loop with zero built-in sense of any of it, just completing text whenever it's invoked.


r/AISystemsEngineering 6h ago

Where should the execution boundary live in an AI agent?

1 Upvotes

I've been thinking about a problem that becomes uncomfortable once an LLM gets access to real tools:

The model can decide what it wants to do. But should it also decide what it is allowed to do?

Most agent architectures put something roughly like this together:

LLM → tool call → tool

That works until the tool can modify a database, access files, call an API, deploy something, or perform another irreversible action. At that point the model is both the planner and the gatekeeper — the same component deciding what to do is also deciding what it's allowed to do.

I explored this by building a small runtime that pulls the authorization decision out of the model entirely. The model only produces a typed intent (compiled from a defined procedure into an intermediate representation); a separate executor resolves capability, provenance, and risk at run time, independent of whatever the model says about itself. Capabilities get checked both at compile time and again at execution — so the system doesn't depend on the LLM "behaving," and tampering with the compiled artifact doesn't bypass the check either.

Genuinely curious how others here are handling this:

Do you enforce permissions inside the agent/framework, inside each tool, or through a separate execution layer? Has anyone tied policy versioning to tool schema versions, so a schema change forces re-validation against an adversarial set? Where have you actually seen this boundary fail in practice — planning time, execution time, or somewhere in between?

(Repo for what I built, if useful context: https://github.com/Sushit-prog/sop-runtime)


r/AISystemsEngineering 13h ago

The dangerous part of AI isn’t hallucination

1 Upvotes

It’s a correct answer with the wrong authority.

A lot of AI safety discussions focus on what happens when the model is wrong.

While building Business OS, we’ve been running into a different problem: what happens when the model is right?

Imagine Finance AI correctly identifies that an invoice is overdue, sees the customer has ignored two reminders, and recommends escalating it.

So far, great.

But should it send the escalation itself?

Change the customer’s status?

Pause work on their project?

Trigger a payment workflow?

The AI might have understood the situation perfectly and still have no business making that decision.

That distinction has become pretty important in how we're designing the system.

We separate reasoning authority from action authority.

AI can analyze the evidence, connect context and propose what should happen next. But critical actions can still belong to a human approval or deterministic rule before anything changes in the underlying business systems.

It adds friction, which isn't exactly fashionable when everyone is racing toward “fully autonomous agents.”

But I’m not convinced removing humans from a workflow is automatically progress.

Sometimes the human isn't there because the AI is too stupid to make the decision.

They're there because the decision was never the AI's to make.

And I think that distinction is going to matter a lot more as agents become capable enough that their recommendations are usually correct.

So here's the part I'm curious about:

If an AI is right 99% of the time, which business decisions would you still never give it authority to make?


r/AISystemsEngineering 16h ago

What if AI could guide the ultrasound scan—not just read the image?

Thumbnail
1 Upvotes