Trail content
8 minEnglish narration, Portuguese subtitlesPodcast (RSS)
Chapters
  1. 0:00Opening
  2. 0:57The diagnosis
  3. 1:47The ablation test
  4. 2:28A challenge
  5. 3:09Why it happens
  6. 4:14What it costs
  7. 5:09The treatment
  8. 6:48Is it this smell?
  9. 7:52Wrap-up
Transcript

Opening

An agency built a virtual team to produce market reports. Five agents. A senior researcher, a data analyst, a writer, a reviewer, and an editor in chief.

Look at the configuration. Only the researcher has a tool, web search.

All the others have none. And the flow is always the same sequence.

The trace shows what happens. The researcher runs the searches, and writes a summary. The analyst rewrites the summary in other words. The writer turns it into a report. The reviewer changes a few sentences. And the editor replies: approved. Five large calls, each rereading the previous one's text. A single agent, with the search tool, delivers the same report. In this lesson, you'll learn to tell decoration from real division of work.

The diagnosis

Here's the shape. The only agent with a tool does the real work.

The others read the whole text, and return a similar version.

And the result costs five times as much, and takes five times as long.

How do you spot it? The agents have human job titles, like researcher, analyst or manager, instead of technical responsibilities.

Only one or two agents have tools. The others only read, and rewrite.

The flow is always the same sequence, with no decision about who works.

Each agent receives the previous one's entire text, and returns a similar text.

And removing an agent doesn't change quality in the eval. While the cost is several times that of one call.

The ablation test

The honest way to see this smell is to drop an agent, and measure. Say the agency's eval has forty reports, and a rubric. Claims with sources, numbers that match the page, the agreed structure.

You turn off the reviewer and the editor in chief. The score doesn't move.

You turn off the analyst. The writer works straight from the researcher's summary, and the score stays the same.

One agent that researches and writes is left. The other four were job titles.

And if the score drops when you remove someone, that split is paying for something. Then you name the technical reason, and keep only that.

A challenge

Here's one for you. You turn off the reviewer and the editor in chief, on an eval of forty reports. The rubric score doesn't change. What's the most useful diagnosis?

Those two roles are decorative. They reread and rewrite, without doing any new work. Collapsing them is the next step. Not reinforcing the job title.

A bigger model on the reviewer, with no criterion of its own, only makes the rewrite more expensive. And adding a sixth agent, an auditor, to catch what the reviewer misses, would be the same smell, with a new badge.

Why it happens

The metaphor is appealing. A team of agents is easy to explain, and looks good in a presentation. A loop with two tools and a rubric in code, much less so.

Frameworks encourage it. Many tutorials open with roles and goals written in HR language. You copy the example, swap the names, and in an afternoon you have five agents running. The demo talks. The cost shows up next month.

Splitting by human role, not by context. In a company, splitting by role makes sense, because people have memory, hours and a specialty. For a model, the reasons to split are different. The context window, tool permissions, review that mustn't see the maker's reasoning, and work that can run in parallel.

And no eval. Without measuring, nobody notices that three of the five agents change nothing. The reviewer improved the tone is a feeling. The rubric says whether it improved what matters.

What it costs

The cost. Each agent rereads the previous work, so cost grows with the number of roles, not with the value delivered. With illustrative numbers, the first call starts at three thousand tokens of input. Each later role receives the previous one's entire text. Five, seven, nine, eleven thousand. You pay for the same text several times, and what the extra buys is four rewrites. Prompt caching makes the repeated start cheaper. It doesn't erase the four extra calls.

And latency adds up too, because the roles run in a queue. Quality can get worse, like a game of telephone. A correct number in the researcher's summary becomes a different number in the writer's text. And when the report comes out wrong, there are five prompts to investigate, and nobody knows at which pass the fact changed.

The treatment

The treatment is a refactoring called collapse agents. Merge the agents that only pass text along into one agent, with the right tools. And keep separate only what has a technical reason. Those reasons do exist.

Context isolation. Whoever reads forty pages shouldn't write the report in that same context.

Restricted tools. Whoever summarizes a lead's website shouldn't hold the send email tool.

Independent review. Whoever scores doesn't see the writer's reasoning, and the eval shows a gain.

And parallelism, like twenty different repositories explored in twenty separate contexts.

Quick check. The eval shows that merging the page reader with the writer hurts the rubric. The context fills up with web pages, and the report loses its sources. The team still wants the five job titles from the slide deck. What's the most useful next step? Keep only the measured split, the reader and the writer, and collapse the rest. The eval proved one technical reason between two roles. Context isolation. Not five job titles.

And the classic trap, for someone starting out. Adding a reviewer, because a human team always has one. With no rubric and no eval, that reviewer learns to say approved. You paid for a stamp. And if the sequence of steps is always fixed, search, then write, then format, you may not need an agent at all. A chain, with code in the middle, does it, and each step has a contract.

Is it this smell?

Four quick cases. A pipeline with one agent that researches, and a second that writes from the sources, with no tools. And the eval shows that merging them hurts quality. Not this smell. The split has a measured technical reason.

Three agents debate in rounds. The optimist, the pessimist and the moderator. No criterion, no eval, and the final answer is usually the moderator's first one. That is this smell. A debate is only justified with a judge, a written criterion, and an eval showing improvement.

A main agent sends twenty subagents to explore twenty different repositories in parallel, and gets a one page summary from each. Not this smell. That's real, independent work, in separate contexts.

And after collapsing, you add an evaluator with a written rubric, that only sees the final report, and the score goes up. Not this smell either. That's independent review, with a measured gain.

Wrap-up

So here's the idea to take with you. A model doesn't need an org chart. It needs the right tools and a clean context. Drop each agent and measure. Keep only the splits that move the score, name their technical reason, and collapse the rest into one agent that does the work.

In the next lesson, we'll do that collapse step by step: collapse agents. See you there.

SmellDispensables

Decorative Multi-Agent

Multi-Agente Decorativo

Decorative Multi-Agent is an AI code smell, a sign of trouble in LLM systems, in the Dispensables group. Five agents with job titles passing text to each other without splitting any real work.

Element
22/37
Level
Intermediate
Read
6 min
Updated
On this page 7
  1. 01Signs and symptoms
  2. 02Reasons
  3. 03Cost of ignoring
  4. 04Treatment
  5. 05Payoff
  6. 06When to ignore
  7. 07Is it this smell?
  8. ··Quick answers

Signs and symptoms

An agency built a “virtual team” to produce market reports. The configuration (anonymized):

agents:
  - role: Senior Researcher
    goal: Find relevant information on the topic
    tools: [web_search]
  - role: Data Analyst
    goal: Analyze the researcher's information
    tools: []
  - role: Writer
    goal: Write the report based on the analysis
    tools: []
  - role: Reviewer
    goal: Review and improve the writer's text
    tools: []
  - role: Editor-in-Chief
    goal: Approve the final version
    tools: []
flow: sequential

The trace shows what happens: the researcher runs the searches and writes a summary. The analyst rewrites the summary in other words. The writer turns it into a report. The reviewer changes a few sentences. The editor replies “approved”. Five large calls, each rereading the previous one’s text. A single agent with the search tool delivers the same report.

The ablation test

The honest way to see the smell is to drop an agent and measure. Imagine the agency’s eval has 40 reports and a rubric: claims with sources, numbers that match the page, agreed structure. You turn off the Reviewer and the Editor-in-Chief. The score does not move. You turn off the Analyst: the Writer works from the Researcher’s summary, and the score stays the same. One agent that researches and writes is left. The other four were job titles.

If the score drops when you remove someone, that split is paying for something. Then you name the technical reason (context isolation, blind review, parallelism) and keep only that.

Signs of Decorative Multi-Agent:

  • Agents have human job titles (researcher, analyst, manager) instead of technical responsibilities.
  • Only one or two agents have tools; the others only read and rewrite text.
  • The flow is always the same sequence, with no decision about who works.
  • Each agent receives the previous one’s entire text and returns a similar text.
  • Removing an agent does not change quality in the eval.
  • Cost is several times that of one call, with no measurable gain.
flowchart LR
  P(["1. Researcher"]):::llm --> A(["2. Analyst"]):::llm
  A --> R(["3. Writer"]):::llm
  R --> V(["4. Reviewer"]):::llm
  V --> E(["5. Editor"]):::llm
  E --> OUT(["6. Nearly the same text"]):::io
  1. The only agent with a tool does the real work.
  2. to 5. The others read the whole text and return a similar version.
  3. The result costs five times as much and takes five times as long.
Check +20 XP on first tryYou turn off the Reviewer and the Editor-in-Chief on an eval of 40 reports. The rubric score does not change. What is the most useful diagnosis?

Reasons

  • The metaphor is appealing. A “team of agents” is easy to explain and looks good in a presentation. Clients and leadership get “researcher, writer, reviewer” immediately. They get “a loop with two tools and a rubric in code” less easily.
  • Frameworks encourage it. Several tutorials open with roles and goals written in HR language. You copy the example, swap the names, and in an afternoon you have five agents in the air. The demo talks. The cost shows up the next month.
  • Splitting by human role, not by context. In companies, splitting by role makes sense because people have memory, hours, and a specialty. For a model, the reasons to split are different: context window, tool permission, review that must not see the maker’s reasoning, work that can run in parallel.
  • No eval. Without measuring, nobody notices that three of the five agents change nothing. “The reviewer improved the tone” is a feeling. The rubric says whether it improved what matters.

Anthropic’s “Building effective agents” guide (Dec. 2024) recommends starting with the simplest design that solves the task, usually one model with tools, and adding orchestration only when the measurement shows a need. Multi-agent is not the starting point.

Cost of ignoring

  • Cost. Each agent rereads the previous work. Cost grows with the number of roles, not with the value delivered.
  • Latency. In sequence, each role adds time. The agency’s client is waiting for the report; five large turns become minutes.
  • Quality. Each rewrite can lose details or introduce errors, like a game of telephone. A correct number in the researcher’s summary becomes another number in the writer’s text.
  • Debugging. When the report comes out wrong, there are five prompts to investigate. Nobody knows at which pass the fact changed.

A bill for the queue

The numbers below are illustrative. Suppose a report of 2,000 output tokens and a context that starts at 3,000 tokens (system prompt plus the request). Each later role receives the previous one’s entire text.

Design Calls Input tokens (approx.) What the extra buys
One agent with search 1, plus the tools 3,000 plus the results The work
Five roles in a queue 5, plus the same tools about 3,000 + 5,000 + 7,000 + 9,000 + 11,000 Four rewrites

The queue pays for the text several times. If search already cost something, you pay again for each title to reread the same summary. Prompt cache cheapens the repeated prefix; it does not erase the four extra calls or the serial latency.

Treatment

Refactoring Choose it when
Collapse Agents The agents only pass text along. Merge them into one agent with the right tools, and keep separate only what has a technical reason. Targets: ReAct Loop and Tool Use.

Technical reasons to separate do exist. Context isolation: whoever reads 40 pages should not write the report in the same context. Restricted tools: whoever summarizes the lead’s site should not hold send_email. Independent review: whoever scores does not see the writer’s reasoning, and the eval shows a gain. Parallelism: twenty different repositories, twenty contexts. See Extract Subagent for those cases.

Naive versus technical

Split Reason Keep it?
Researcher, analyst, writer, reviewer, editor in a queue Job titles from a human newsroom No, until ablation shows a gain
One agent researches and writes The task fits in one context Yes, start here
Page reader separate from writer A window full of HTML hurts the writing Yes, if the eval confirms it
Evaluator with a rubric, without the internal draft Measured blind review Yes, that is Evaluator-Optimizer
Subagents in parallel on distinct sources Independent work Yes, that is Subagent Delegation

The classic trap for someone starting out: adding a Reviewer because “a human team always has one”. With no rubric and no eval, that reviewer learns to say “approved”. You paid for a stamp.

If the sequence of steps is fixed (search, then write, then format), you may not need an agent at all: a chain with code in the middle will do, and each step has a contract. The neighboring smell is Agent Where a Chain Would Do.

Check +20 XP on first tryThe eval shows that merging the page reader with the writer hurts the rubric: the context fills with HTML and the report loses sources. The team still wants the five job titles from the slide deck. What is the most useful next step?

Payoff

  • Cost and latency proportional to the real work.
  • One prompt to maintain instead of five.
  • Less information lost between steps.
  • Any remaining splits have a clear reason and can be measured.

When to ignore

  • Independent review with its own criteria. An evaluator with a rubric, who does not see the writer’s reasoning, can improve quality. That is Evaluator-Optimizer, and it is not decorative if the eval shows a gain.
  • Truly parallel work. Several agents researching different subtopics at the same time divide real work. An orchestrator that splits the topic and joins summaries is Orchestrator-Workers.
  • A separation requirement. In some domains, whoever generates and whoever approves must be distinct processes by rule. Then the split exists for compliance, and each side still needs a contract and a measurement.

None of those cases asks for five job titles in a queue rewriting the same paragraph.

Is it this smell?

Check +20 XP on first tryA pipeline has one agent that researches with web search and a second agent that receives the sources and writes the report, with no tools. The eval shows that merging them hurts quality, because the context fills up with pages. Is this Decorative Multi-Agent?

Check +20 XP on first tryThree agents discuss a problem in rounds: the 'optimist', the 'pessimist', and the 'moderator'. There is no decision criterion and no eval, and the final answer is usually the moderator's from round one. Is this Decorative Multi-Agent?

Check +20 XP on first tryA main agent delegates exploring 20 different repositories to subagents, in parallel, and gets a one-page summary from each. Is this Decorative Multi-Agent?

Check +20 XP on first tryAfter collapsing the queue, you add an evaluator with a written rubric. It receives only the final report, not the writer's reasoning. The eval score goes up. Is that evaluator Decorative Multi-Agent?

Quick answers

What is Decorative Multi-Agent?

Decorative Multi-Agent is an AI code smell, a sign of trouble in LLM systems, in the Dispensables group. Five agents with job titles passing text to each other without splitting any real work.

How do you fix Decorative Multi-Agent?

With Collapse Agents. Each refactoring has safe step-by-step mechanics with an eval before and after.

Where does Decorative Multi-Agent show up in practice?

In the real-world scenarios Deep research with citations.

Go further

Relations

Refactorings that treat it 1
Shows up in scenarios 1
Part of the tracks 1
Search