9.7.5 Multi-Agent Practical Patterns
We have already covered:
- Multi-Agent architecture patterns
- Communication between Agents
- Task assignment and coordination
In this section, we will apply these ideas to scenarios that feel more like “real projects”:
In practical tasks, how are multiple Agents usually combined?
Learning Objectives
- Understand several high-frequency Multi-Agent practical patterns
- Learn how to choose a more suitable collaboration style based on task goals
- Read a small Multi-Agent workflow example
- Understand why “patterns” matter more than simply “adding more Agents”
Why talk about “practical patterns”?
Because real systems are usually not pure theoretical architectures
Many projects do not say:
- “I want a peer-to-peer Multi-Agent system”
They are more likely to say:
- “I want a research assistant team”
- “I want a writing + review workflow”
- “I want a software development team”
In other words, real projects are more like “task organization forms” than abstract architecture names.
So what is the point of learning practical patterns?
It helps you move from:
- understanding abstract structures
to:
- implementing concrete products
Pattern 1: Research Collaboration
Typical division of work
- Planner: breaks down the problem
- Researcher: retrieves information
- Synthesizer: integrates the results
What tasks is it good for?
- Background research
- Collecting materials
- Producing structured reports
A minimal example
def planner(query):
return ["collect refund policy", "organize time conditions", "form a conclusion"]
def researcher(task):
docs = {
"collect refund policy": "After course purchase, you can get a refund within 7 days if learning progress is below 20%.",
"organize time conditions": "Key conditions include the time window and learning progress."
}
return docs.get(task, "No information found")
def synthesizer(items):
return "Conclusion: " + " ".join(items)
plan = planner("What is the refund policy?")
materials = [researcher(task) for task in plan[:-1]]
answer = synthesizer(materials)
print(plan)
print(materials)
print(answer)
Expected output:
['collect refund policy', 'organize time conditions', 'form a conclusion']
['After course purchase, you can get a refund within 7 days if learning progress is below 20%.', 'Key conditions include the time window and learning progress.']
Conclusion: After course purchase, you can get a refund within 7 days if learning progress is below 20%. Key conditions include the time window and learning progress.
The key idea of this pattern is:
First expand to collect information, then converge to summarize it.
Pattern 2: Writing + Review
One of the most classic and practical patterns
The usual division of work is:
- Writer: writes the first draft
- Reviewer: checks for issues
- Reviser: revises based on feedback
Why is this pattern so common?
Because many tasks are naturally suited to:
- generation
- checking
- correction
For example:
- report writing
- answer generation
- code documentation
A minimal example
def writer(topic):
return f"Draft: The key point of {topic} is that refunds are available within 7 days."
def reviewer(draft):
if "within 7 days" in draft:
return "Suggest adding the learning progress condition."
return "Missing the time condition."
def reviser(draft, review):
return draft + " " + review
draft = writer("refund policy")
review = reviewer(draft)
final = reviser(draft, review)
print(draft)
print(review)
print(final)
Expected output:
Draft: The key point of refund policy is that refunds are available within 7 days.
Suggest adding the learning progress condition.
Draft: The key point of refund policy is that refunds are available within 7 days. Suggest adding the learning progress condition.
The biggest advantage of this pattern is:
It separates “generation ability” from “error-correction ability”.
Pattern 3: Development Team Mode
A common abstraction for an AI development team
For example:
- PM / Planner: defines requirements
- Coder: writes the implementation
- Reviewer: checks the code
- Tester: verifies whether the result meets expectations
Why is this pattern so common in AI coding scenarios?
Because software development already has this kind of role division. Multi-Agent simply makes it programmatic and automated.
A minimal example
workflow = [
{"agent": "planner", "task": "define the feature to implement"},
{"agent": "coder", "task": "write the implementation code"},
{"agent": "reviewer", "task": "check for logic issues"},
{"agent": "tester", "task": "verify whether the output meets expectations"}
]
for step in workflow:
print(step["agent"], "->", step["task"])
Expected output:
planner -> define the feature to implement
coder -> write the implementation code
reviewer -> check for logic issues
tester -> verify whether the output meets expectations
The key point of this pattern is not that the roles sound impressive, but that:
each layer can catch different types of problems.
Pattern 4: Double Verification / High-Risk Review
When is it needed?
If the task is high risk, such as:
- legal advice
- medical assistance
- financial decision-making
then in many cases, you should not let just one Agent produce the conclusion by itself.
Common approach
- One Agent generates the answer
- Another Agent performs fact-checking
- A third Agent checks risk and compliance
This kind of pattern is slower, but more stable.
A Small Multi-Agent Workflow Example
def planner(query):
return ["retrieve", "write", "review"]
def retriever(query):
return "Retrieval result: refunds require both time and progress conditions."
def writer(material):
return f"Answer draft: {material}"
def reviewer(draft):
if "progress conditions" in draft:
return {"approved": True, "comment": "The information is fairly complete"}
return {"approved": False, "comment": "Missing a key condition"}
query = "What is the refund policy?"
steps = planner(query)
material = retriever(query)
draft = writer(material)
review = reviewer(draft)
print("steps :", steps)
print("draft :", draft)
print("review :", review)
Expected output:
steps : ['retrieve', 'write', 'review']
draft : Answer draft: Retrieval result: refunds require both time and progress conditions.
review : {'approved': True, 'comment': 'The information is fairly complete'}

The trace matters because each printed row answers a different question: what the planner chose, what material was retrieved, and why the reviewer approved the draft.
Although this code is small, it already shows the core feel of practical patterns:
- plan first
- execute next
- review afterward
How do you choose the right practical pattern?
If the task mainly involves finding information
Prefer:
- research collaboration
If the task mainly involves content quality
Prefer:
- writing + review
If the task mainly involves engineering delivery
Prefer:
- development team mode
If the task is high risk
Prefer:
- double verification / high-risk review
So the real question is not:
“Which pattern is the coolest?”
but:
“Which pattern best fits the current task’s failure risk and goal structure?”
Common Beginner Pitfalls
Tying patterns to a fixed number of roles
It is not “3 Agents must mean one specific pattern.” The key is the responsibility relationship, not the number.
Adding patterns just to look complex
For many tasks, a single Agent or two Agents is already enough.
Not having clear evaluation criteria
If you do not know why one pattern is better than another, system iteration will be hard to move forward.
Summary
The most important point in this section is not memorizing labels like “research-oriented” or “development-oriented,” but understanding:
The value of Multi-Agent practical patterns is in mapping abstract collaboration structures to real task goals.
When you can match task shape with collaboration pattern, Multi-Agent will truly move from concept to product.
Exercises
- Choose a task you are familiar with and judge whether it is more like research collaboration, writing + review, or a development team.
- Add a
reviserAgent to the small workflow in this section so that it modifies the draft based on the review. - Think about this: why do high-risk tasks need a combination of “generation + verification + risk review”?
- Explain in your own words: why is the focus of Multi-Agent not the number of roles, but the collaboration structure?