Skip to content

Five Sharp Questions: A Self-Interrogation on mq9

After finishing "The Next Decade of Message Queues: Forget Kafka" and "Our Answer: mq9," I asked Claude to play an infrastructure engineer with a deep understanding of distributed systems and a skeptical attitude toward new concepts, and to raise the sharpest possible challenges against mq9.

What follows is our conversation, preserved largely as-is.


Q1: Isn't This Just Renaming Things?

Challenge: You say mq9 is a "mailbox" rather than a "message queue," but underneath you're using message queue capabilities — persistence, routing, TTL, pub/sub. Isn't this just a renaming? What's the essential difference between mailbox semantics and NATS JetStream with a layer of subject naming conventions on top? If I define a $my.agent.inbox.* subject convention on NATS myself, haven't I just built my own mq9?

Answer: Yes, if you define a convention like that, that's your mq9.

But the question is: can your underlying capabilities keep up?

mq9 is fundamentally a combination of capabilities exposed by RobustMQ's underlying layer — selectable storage (memory, KV, persistent), broadcast, priority queues, clustering, single binary, low memory footprint, Rust-level performance. None of that comes from just adding a few lines of subject naming conventions on top of NATS.

If you build on NATS, is JetStream's stream and pub/sub flexible enough for you? Can storage tiering be selected on demand? Does it have priority queues? Are there a bunch of details you'd need to change and adjust? After all that modification, is it still NATS? Can you even make those changes?

You say I'm "just renaming" — yes, I'm composing. But I'm composing in exactly the right way, natively and seamlessly, not stitching together a pile of components. RobustMQ's core stays constant — single binary, high performance, elastic storage. The multi-protocol capability going forward may even become an additional asset.

Skeptic's verdict: The candor in admitting "it's composition" is appreciated — no manufactured concepts here. But flipping the question to "can your underlying layer keep up" is a counter-attack I'll tentatively accept. Still, how much better "natively seamless composition" is than "a pile of stitched components" ultimately depends on real-world performance. Plausible in concept; to be validated in engineering.


Q2: You've Given Up on "Volume" — What About the Future?

Challenge: You say the core need for Agent communication is "variety" not "volume," and mq9 doesn't need high throughput or high reliability. But isn't that judgment premature? Today's Agent systems are indeed temporary, lightweight, and retryable. But who can guarantee that three years from now there won't be scenarios with millions of Agents online simultaneously and hundreds of thousands of messages per second? If you design for "variety" today and sacrifice "volume" optimization, what if the future demands both?

Answer: Have I actually given up on "volume"?

I have the File Segment storage model; I can be compatible with Kafka semantics; I have "volume" capability. "Volume" has always been there in the underlying layer — I'm just not making it my only selling point.

I can even go further: for "variety"-type writes, I could build in a dual-write capability — one copy to temporary storage for functional interaction, one to permanent storage for analytics and stream processing. No need to leave the system; Kafka protocol can consume directly.

"Volume" and "variety" are not mutually exclusive. It's just that for the past decade everyone only looked at "volume." I'm saying "variety" matters too.

Skeptic's verdict: This answer directly dismantled my assumption. I assumed it was "variety OR volume," and he said both. If File Segment + Kafka compatibility really runs, this answer isn't just defense — it's a counter-attack. But "built-in dual-write" is still a concept for now; I'll revisit when there's a running benchmark.


Q3: Do Your Users Actually Exist?

Challenge: mq9's mailbox semantics depend on a premise — that Agents' communication pattern is async and loosely coupled. But in practice, mainstream frameworks like LangChain, CrewAI, and Dify use sync call chains: Orchestrator calls Agent A, waits for the result, then calls Agent B — serial execution. Their Agent communication doesn't go through any messaging system at all. Isn't mq9 solving a problem that most Agent frameworks simply don't have? Do your potential users actually exist?

Answer: Frameworks that use sync call chains are not my customers. I don't need to own the whole market.

But I want to turn the question around: is the sync call chain good enough?

I can say with 100% confidence — no, it can't be. Sync means the caller must wait; the other party must be online. When Agent counts go up, the fragility of sync chains amplifies exponentially. This problem exists today; people are just working around it with Redis and custom queues.

mq9 provides an async alternative. Where are my customers? Once I'm out there, they may come. What if they don't? Then I change direction — the underlying architecture is there; scenarios will grow from it.

But I genuinely believe the mailbox is a good entry point. Nothing is ever certain; you're always on the road.

Skeptic's verdict: The counter-question "is sync good enough" does hit a real point — today's frameworks do have scaling limits. But "once I'm out there, customers might come" sounds like confidence if you're being generous, or unvalidated if you're not. Can you move from "I feel like the mailbox is a good entry point" to finding one specific team and running one real case? One user is worth more than a thousand judgments.


Q4: Zero Barrier — What Happens When Big Players Arrive?

Challenge: You say mq9 is based on the NATS protocol, zero ecosystem cost, all NATS SDKs work out of the box. But think about the flip side — this also means zero barrier to entry. If a big player thinks this direction has value, they can just build it themselves. NATS itself could add an Agent semantics layer directly on top of JetStream. What's your moat?

Answer: If it reaches that point, I've already won.

First: if big players or NATS start building this, it means I defined the direction — I defined what this thing is. That itself is winning.

Second: can this actually be built by modifying NATS? I personally think it's hard. Storage tiering, multi-protocol interoperability, clustering — these can't be solved by just adding a semantic naming layer.

Third: if it is built, I'm impressed. Basic infrastructure isn't a zero-sum game — the best minds competing, each on their own merits.

Fourth: my moat is RobustMQ's own architectural advantage — no legacy baggage, unified storage, native multi-protocol support — combined with my ideas and first-mover advantage. When others start defining conventions, we'll have already traveled a long way. And when others start walking, we'll still be moving forward.

Nobody rules that big players can't play. We don't fear competition.

Skeptic's verdict: "If others come, it confirms the direction is right" is logically sound and the mindset is healthy. But "we don't fear competition" is easy to say. When NATS officially ships an Agent communication feature, why would users choose you over the original? How long first-mover advantage lasts depends on how many real users and how much ecosystem you've built before that point. The window won't stay open forever.


Q5: What If the Agent Era Doesn't Come?

Challenge: This is the most fundamental question. Your entire narrative is built on one core assumption — the Agent era is coming, and Agents will need extensive async communication. But what if the dominant form of Agents isn't multiple independent Agents collaborating, but one increasingly capable monolithic model doing everything? GPT-5, the next Claude — capability boundaries keep expanding; many tasks that today require multi-Agent decomposition could be handled by a single model tomorrow. Multi-Agent collaboration might only be a transitional phase while model capabilities are still insufficient. If this assumption doesn't hold, mq9 is solving a problem that doesn't exist.

Answer: Then we change direction.

What I fear isn't doing the wrong thing — it's doing nothing. Nobody knows how the future will unfold, right? Otherwise, what a dull world it would be — so many talented people all doing the wrong thing.

We're on the road. If we're wrong, it means we got it wrong while on the road. We can keep walking and choose another path.

And I'm convinced that even if we're wrong, the process of being on the road will still reveal new directions — just as when we started building multi-protocol unified storage a few years ago, we had no idea that mq9 was at the end of that road. mq9 didn't fall from the sky; it was "seen" after three years of walking. If we hadn't started moving, we wouldn't even have this judgment today.

Only those on the road can see the scenery along the way.

Skeptic's verdict: This question was meant to back him into a corner, but this answer can't be refuted with logic. He doesn't deny the risk; he doesn't force-argue that "the Agent era will definitely come." He says "if we're wrong, we change direction — but being on the road itself has value." The fact that mq9 was "seen" after three years of accumulation, not designed from scratch — that fact is itself the best argument. As a challenger, I still maintain my uncertainty about the direction. But about the person doing the work, there's nothing left to criticize.


A Final Note

Five questions — from technical to competitive to existential assumptions, each sharper than the last.

After answering them, my honest feeling is: mq9's greatest risk isn't technical implementation, isn't competitors — it's timing. Whether and when the scenarios actually arrive. But I'm clear-eyed about this risk; I'm not avoiding it, and I'm not anxious about it.

The underlying architecture is there. The directional judgment is there. The people are on the road. If we're wrong, we change direction. If we're right, we keep walking.

In basic infrastructure, nothing is certain. You're always just on the road.

🎉 既然都登录了 GitHub,不如顺手给我们点个 Star 吧!⭐ 你的支持是我们最大的动力 🚀