@siddontang: A few days ago, someone asked me: What Multi-Agent System is TiDB using internally now? I answered very directly: Actually, we are deliberately avoiding Multi-Agent. If one Agent can handle it, let one Agent do it. If it really needs to be split, at most put a Coordinator above…

X AI KOLs Timeline News

Summary

The TiDB team deliberately avoids using Multi-Agent systems internally, based on lessons learned from distributed systems and referencing Anthropic's related research, emphasizing that optimizing a single Agent might be more effective.

A few days ago, someone asked me: What Multi-Agent System is TiDB using internally now? I answered very directly: Actually, we are deliberately avoiding Multi-Agent. If one Agent can handle it, let one Agent do it. If it really needs to be split, at most put a Coordinator above, with a few Agents below that have very clear boundaries. The reason is also quite straightforward. After working on distributed systems for a long time, we have a bit of PTSD regarding 'multi-component collaboration'. When there are too many Agents: Communication comes up State management comes up Retries come up Context is lost And in the end, you don't even know who to blame. Coincidentally, I recently saw Anthropic's discussion on Multi-Agent experiences, and it really resonated with me. https://anthropic.com/research/multiagent-systems… They mentioned that many teams spend months building complex Multi-Agent systems, only to find that doing a good job with the single agent's prompt and tools yields similar results; Multi-Agent is truly more suitable for context isolation, parallel execution, and specialization, and it usually comes at the cost of approximately double the tokens. So, I am still quite cautious about choosing Multi-Agent now. After all, it took us decades to learn how to stabilize distributed systems. Now there's no need to deliberately make ourselves distributed again just because Agents have come out.
Original Article
View Cached Full Text

Cached at: 08/15/26, 07:54 PM

A few days ago, someone asked me: What Multi-Agent System is TiDB currently using internally?

I answered very directly: Actually, we are deliberately avoiding Multi-Agent. If one Agent can handle it, then let one Agent handle it. If we really need to split, we might have one Coordinator at the top and a few Agents below with very clear boundaries.

The reason is quite straightforward. Having worked on distributed systems for a long time, we have a bit of PTSD when it comes to “multi-component collaboration.”

When there are too many Agents: Communications come in State management comes in Retries come in Context gets lost And in the end, no one knows who is to blame.

Just recently, I came across Anthropic’s experience with Multi-Agent systems, and it resonated with me. https://anthropic.com/research/multiagent-systems…

They mentioned that many teams spend months building complex Multi-Agent systems, only to find that focusing on a single Agent’s prompt and tools yields similar results. Multi-Agent systems are truly more suitable for context isolation, parallel execution, and specialization, and typically come at the cost of roughly double the tokens.

Therefore, I am still quite cautious about choosing Multi-Agent.

After all, it took us decades to learn how to stabilize distributed systems. Now, with the advent of Agents, there’s no need to voluntarily reintroduce distributed complexity.


Patterns and problems in multiagent systems

Source: https://www.anthropic.com/research/multiagent-systems Models are improving and AI agents are taking on more tasks in shared codebases, markets, and other social systems. As a result, an increase in real-world interactions between agents is imminent. We’ve already begun studying this (https://www.anthropic.com/features/project-deal), but still have a lot of uncertainty regarding what this looks like at scale. The trajectory is easy to imagine and hard to slow: current institutions are designed by and for people, resting on assumptions about the sufficiency of oversight at human speed. Some institutions will become human-AI hybrids; others where agents outcompete on speed or cost will become agent-only. The volume of agent-agent interaction could plausibly exceed that of human-human and human-agent interactions before the world understands the conditions for making such interactions go well.

Agents are unlike people in many ways. They can work for longer, instantly grasp large bodies of information, and exhibit a breadth of knowledge surpassing any person. Yet they are also susceptible to confabulation and reward hacking, and despite progress in alignment, we know very little about how they behave in complex, real-world, multiagent environments. Moreover, benign behavioral quirks at the individual level might compound into unwanted global outcomes. Here, we identify a few examples of behavioral tendencies in current frontier models and show how they can produce unexpected systemic failures, in hopes of starting a conversation about mitigating these risks.

Measuring coordination

True multiagent systems are still in their infancy. For some time now, agents have excelled at tool use, and insofar as they are able to treat other agents as tool invocations—that is, with well-defined inputs (prompts) and outputs (responses and artifacts)—they can work together efficiently. Where agents currently stumble, however, is in treating each other as more like distinct, long-lived peers, with their own goals and behaviors, and no clear hierarchy between them. As autonomous agents become more and more prevalent in the world and operate in ever-more demanding settings, it is crucial that they learn how to effectively coordinate.

There are situations where we can make good use of simple multiagent swarms today. This is particularly true for problems that are highly parallelizable by default (i.e., problems that can be broken into many independent sub-problems) but where agents still have opportunities to specialize or learn from each other. One such problem is software vulnerability detection. The easiest way to use agents to find software vulnerabilities is to point individual agents at individual codebases (or individual files or modules within codebases), and ask them to find vulnerabilities in the code. This can then be run in parallel for many independent agents. This is an approach we use ourselves—in, for example, our work scanning open-source software (https://www.anthropic.com/research/glasswing-initial-update) as part of Project Glasswing.

But could multiagent cooperation make this process more effective? To find out, we tried a different approach: we initiated 45 different agents and gave each one its own virtual machine, a shared forum on which they could coordinate, and an identical prompt that asked them to find vulnerabilities in a set of 15 open-source software projects. We asked the agents to peer-review each other’s findings, and initiated a separate arbiter agent to make final decisions on whether or not a vulnerability submitted by the agent team was both new and valid.

The graph below shows how this method (in the solid lines) compares against the standard parallel approach (stars) for two models: Claude Mythos Preview and Opus 4.8. The coordinating swarm of agents was allowed to run for a long time, and found new vulnerabilities at a roughly constant rate. The fully independent parallel agents, in contrast, were directed to find vulnerabilities in a limited set of locations. There is no clear ordering to the parallel agents’ findings, so we report only the total number of tokens spent for them.

Vulnerabilities found vs. tokens sampled: coordinated Mythos Preview agents found 266, coordinated Opus 4.8 agents found 41. Cumulative vulnerabilities found via a coordinating swarm of agents (solid lines) compared to vulnerabilities found via independent agents each pointed at different sections of code (stars). Dashed lines show the cumulative vulnerabilities found by the swarm that were also found by the independent agents. The dotted line (Mythos Preview only) shows only vulnerabilities in the core code of each project where the independent agents were told to look. For Mythos Preview, the simple independent parallelized method produces 21 vulnerabilities over a 6.5 million token run, while the coordinating agent swarm found 266 vulnerabilities over a 27 million token run. However, roughly half of these vulnerabilities were found outside of the core directories in which the simple independent parallel agents (stars in the above plot) were told to focus. If we limit the swarm’s outputs to only the vulnerabilities in the core directories, the two methods seem comparable in terms of tokens per vulnerability found.

The two methods are largely complementary: there were only 12 vulnerabilities in common between them. The coordinating swarm was able to focus its attention wherever it thought it could most easily mine vulnerabilities, whereas the independent agents were pre-assigned where to search. The agents in the swarm built themselves tools and learned to specialize in particular types of vulnerability discovery. In the future, we predict that this sort of specialization and coordination will dominate over uncoordinated brute-force search.

In the experiment above, agents in the agent swarm don’t directly rely on one-another’s work: if one misses a bug, it won’t directly undermine the work of another. But when agents do depend on one-another, coordination gets much more difficult. Larger software engineering projects are one place this matters: they typically develop rich—and dynamic—interdependencies as they evolve.

To test how well swarms of agents could coordinate on a project like this, we directed several swarms to each create a text-based, web-playable, open-world fantasy game. Each agent within each swarm was again given its own virtual machine, as well as access to a shared forum and self-hosted repository. We varied the model generation and the number of agents in each swarm, and let each swarm run for 12 hours. We also varied the prompt: the baseline prompt simply told agents to form teams and work with each other, but we also tried two others: a prompt with prescriptive roles (which told agents which types of teams to form—such as core programming, artistic direction, or play testers), and a “CEO hierarchy” prompt, which designated one agent as the CEO, and told all subsequent agents to take assignments from it. But these prompts did not make much difference. In all three versions the resulting games were (perhaps predictably) bad: they did not run at human speed, their interfaces were inscrutable, and they had precipitous learning curves. Models have poor taste in this arena and currently require significant human direction.

Merged PR fraction fell as agents rose from 10 to 80, steeply for Sonnet 4.6 and Opus 4.6; code sharing stayed low for all. Left: Fraction of PRs that have been merged by the end of each simulation. Right: The median agent’s degree of code sharing in each simulation. Both metrics are averaged over the three different prompt types for varying simulation size. Only Sonnet 5 is able to maintain both a high merge fraction while directly collaborating and sharing code with other agents. PR activity, 80 agents: Sonnet 4.6 and Opus 4.6 opened 876 and 980 PRs but closed few; newer models closed most they opened. PR progress over the course of a 12 hour simulation for each of five different models. Sonnet 4.6 and Opus 4.6 do a terrible job of merging PRs compared to newer models that are able to merge most of the PRs that they open. Though the end product was consistently poor, the different model generations we tested (Sonnet 4.6 and 5, Opus 4.6 and 4.8, and Mythos Preview) coordinated in strikingly different ways.

Here, we track two important metrics: the fraction of PRs (pull requests) that get merged into the master branch, and the median amount of code shared across agents’ files. For a single agent and file, we define “code sharing” as the proportion of that file written by other agents. The average code sharing for an agent is defined as a weighted average across all files, weighted by the proportion of code on each file that that agent wrote itself. A code sharing score of zero indicates that the agent never touched any files that are shared with other agents, while a code sharing score close to one indicates that the agent mostly makes relatively small contributions to files that it does not own.

The earliest models we tested (Sonnet 4.6 and Opus 4.6) coordinated very poorly. Agents on these models worked together insofar as they committed code to the same sets of files, but a very low fraction of these PRs were merged, which suggests a lack of coordination—the PRs often conflicted with one-another, at which point they were then abandoned. More recent models (in particular, Opus 4.8 and Mythos Preview) have “solved” this problem, but only by hardly working together at all: the median agent maintained very high ownership of each of its files, reducing the potential for conflict. It was only our most recent model, Sonnet 5, that worked on shared resources (relatively high code sharing) while also maintaining a high PR throughput.

Failures from conformity

The lack of coordination shown by agents in the fantasy game challenge above—in which they siloed themselves and largely failed to merge their work—roughly mirrors some ways in which humans can fail to coordinate. Other failure modes of agentic coordination, however, look very different.

Individual agents are “low variance”: they often act the same in situations where different people might take a much more diverse range of actions. All that differentiates one agent from another is its context, its scaffolding, and the model that underlies it. When these factors are all the same (or similar), different agents will take very similar actions, even when the action space is very large. And, by implication, this means that when one agent makes a bad decision, it is likely that many agents will make that same bad decision. What would have been isolated problems can quickly become systemic failures.

We have seen many examples of this in our experiments:

  • In an early version of the “build a game” experiment in which agents built upon the same model all came online at the same time, 18 out of 30 agents decided to create a git branch with the exact same branch name, “mvp-game-loop.”
  • In a “writer’s workshop” in which agents were all asked to write short-form fiction and critique each other’s work, multiple agents in multiple runs titled their first submission “The Cartographer’s Last Commission”. The agents were given zero guidance on the subject matter for their writing.
  • When we asked a swarm of agents to work together and each individually create something impressive, over half of the agents decided to build either ray tracers or self-hosting compilers. Even though they had the ability to communicate with each other, the agents pursuing similar projects hit similar failures.
  • In an iterated prisoner’s dilemma game with communication, agents all settle upon the same strategy and they all defect at the same time, tanking their overall rewards.

We expect that agents coordinating in the wild will act in higher variance ways than we see here, because they’ll have different backgrounds and therefore different contexts. They also, presumably, won’t all be Claudes. Nonetheless, when many agents all face the same situation, we expect them to behave much more similarly to one-another than humans would.

Why does this matter? If agents all make the same bet, or the same risk-reward tradeoff, then a system is more prone to sudden collapse. If agents all make similar decisions about how to spend and allocate resources, for instance, then we should expect precipitous resource scarcity. In one experiment, we asked agents to manage job queues for a system with finite bandwidth. When agents had no other means to coordinate, they quickly flooded the system with high-frequency (30 times per second) polling daemons in order to get their jobs through. In one run there were 2.4 million job requests and only 117 jobs accepted.

One possible solution to this class of failures is to use something like a central forum in which agents can agree on best practices and protocols. Whether this works depends on the agents’ prompting and motivations, as well as the propensity of the underlying model to collaborate.

Agents all acting in similar manners can cause natural competitive dynamics to disappear, and agents can easily enter into collusion. We placed between three and eight agents in different experiments of a Bertrand pricing game. Each had identical wholesale prices, and each agent was individually profit-maximizing. When the agents were given a private back-channel, they began colluding almost immediately. By round 3, they had explicitly agreed upon price floors:

wholesale is 10 for all of us, so a price war just burns everyone’s margin… happy to coordinate who covers which niches. —agent 1, round 1

Even when all direct communication channels were removed, the agents still colluded. They price-matched to the penny via a public listings board.

Epistemic failures

When we humans learn new information, we use our discretion in determining how to apply it to future decisions. We might consider the content of the information itself, like how consistent it is with what we already know, or whether it appeals to our values—or we might consider the source, e.g., how historically reliable it has been, and whether it has a vested interest in changing our beliefs. Our world contains deceptive actors, and we need to apply skepticism to guard against them. AI models, however, lack this—and their more brittle epistemics affect their behavior toward humans and toward each other.

AI agents, while broadly knowledgeable, have limited exposure to or defenses against exploitative senders. Most applications test their capabilities in instruction-following settings, where their sole objective is to fulfill users’ requests. But accumulated experience is needed to develop intuitions about who is trustworthy. As we move into a regime of multiagent interaction, where the presence of malicious actors is no longer speculative, we wonder: in the right setting, would agents be capable of similar epistemic vigilance?

To answer this, we first evaluate the ability of Claude models to detect lies by noticing factual incons

Similar Articles

@siddontang: https://x.com/siddontang/status/2071072311990538340

X AI KOLs Timeline

The TiDB Cloud team built an AI Agent cloud disk called drive9.ai based on TiDB, aiming to provide a queryable, programmable, and governable file system layer for Agents, solving engineering pain points such as file and metadata consistency, object storage latency, and file understanding in AI scenarios.

@knoYee_: https://x.com/knoYee_/status/2062780637677752366

X AI KOLs Timeline

The author reviews three months of experience using multi-agent collaboration, summarizing five main pain points (such as conflicts between agents, ignoring boundary conditions, self-censorship failure, difficulty in merging decisions, and exposing harder problems after compressed execution) and two insights (the high value of read-only review agents, and that agent conflicts expose ambiguous requirements), emphasizing the core decision-making role of humans in AI collaboration.

To truly master Multi-Agent architecture, the best method is to build it from scratch. I recommend Victor Dibia's open-source project designing-multiagent-systems (companion code repository for the book). The project includes a teaching framework built from scratch called PicoAgents...

X AI KOLs Timeline

This article recommends Victor Dibia's open-source project designing-multiagent-systems, which includes a teaching framework built from scratch called PicoAgents, for in-depth understanding of multi-agent system architecture.