Simian Words

Custom Agents are Antipatterns

In the last few years I've seen people struggling to offer some value through the use of AI Agents. Across examples I noticed a common shape in them, and I now know how to articulate my problem with it.

By far the worst way to use Agents is to come up with your own custom text box in your website that runs an internal LLM using tools that are opaque to you.

You are telling me that I have to give up the convenience of my own setup in ChatGPT/Claude and use your custom harness?

The best example of this is Atlassian Rovo. They made this really fancy thing that hooks into their UI.

Why?!

Another classic example is GitLab's Duo Agent. For those who don't know, it is an Agent that perhaps can do fancy things but it is meant to be accessed in the Gitlab webapp.

Why? What's the value in this?

Dude... just make the damn MCP and let me use it in my own setup.

It's not just these two companies. Almost every company you've thought of has examples like this.

Why I think this happens

Fundamentally, it is a tension that companies face. Their thought process goes like this:

"If I allow customers so much flexibility, I lose control over my brand, lose data, and become indistinguishable."

Amazon's case is exactly like this. They couldn't take the plunge and understand where the world is heading. Instead they try to fight the battle they'll lose eventually.

I'm also seeing pathetic attempts internally in some enterprises.

You can imagine a side project of an internal team trying to offer internal tools. They follow the same anti-pattern.

Some org comes up with a fancy tool that does elaborate orchestration but can be accessed through a custom UI.

I remember asking one of these teams:

Dude, just let me access it from my Codex setup?!

The answer was vague and unsatisfying.

What's the answer?

I don't want your fancy agent.

Just make a plugin/MCP.

I know the truth is bitter.

But do the right thing by your customers!