For about six months I ran a multi-agent pipeline with a message broker sitting in the middle. One agent would write a task to a queue, another would pick it up, process it, and write the result somewhere the first agent could find it. It worked. It also cost me more than I wanted to pay, failed twice at inconvenient times, and required a non-trivial amount of configuration that I had to keep in sync across every agent that touched it. When I finally removed it, I replaced it with something much simpler: the agents just talk to each other directly. Here is what I learned doing that. Why I added a broker in the first place The honest answer is that a message broker was the obvious pattern for agent communication and I did not question it. Agent A needs to tell agent B to do something. Agent A does not know where agent B is. Agent B might not be running when A sends the message. A broker solves all of this. The broker I used was a managed Redis instance with Redis Streams .…