IN THIS BREAKDOWN · 10 SECTIONS
You can read 16% of this breakdown.
The paper in one minute
In 2023, most LLM applications were a single prompt or a fixed chain. Anything more ambitious, like a model that writes code, runs it, reads the error, fixes it and asks a person when stuck, had to be wired by hand for each task. Qingyun Wu, Chi Wang and colleagues at Microsoft Research, Penn State, the University of Washington and Xidian University built AutoGen, an open-source library that treats such applications as conversations between agents.
The first idea is the conversable agent. Every participant exposes the same interface: it can send a message, receive one and generate a reply. What sits behind the reply is configurable. An AssistantAgent answers with an LLM and, by default, writes Python to solve problems. A UserProxyAgent answers by executing the code it receives, by asking a human, or both. When an agent receives a message, it replies automatically unless a termination condition is met, so two agents can carry a task forward without a central controller.
The second idea is conversation programming. Building an application means deciding two things: what each agent computes when it replies, and the control flow, meaning who speaks next and when the conversation stops. Both can be set in code (registered reply functions, termination checks, reply limits) or in natural language (a system message telling the assistant to reply "TERMINATE" when done). A GroupChatManager extends this to many agents by picking the next speaker, collecting its reply and broadcasting it to the rest.
The paper then builds six applications: math problem solving, retrieval-augmented question answering and code generation, ALFWorld household tasks, a supply-chain coding assistant called OptiGuide, a dynamic group chat, and conversational chess. Each shows a gain or a new capability. Read closely, the biggest improvements came from giving one agent a specific job, such as a safety check or a commonsense rule, that a single agent had been doing badly or not at all.
Research notes: the problem, approach and results
MATH whole test set with AutoGen's two built-in agents and GPT-4, against 55.18% for GPT-4 alone
ALFWorld average success after adding a grounding agent, 54% to 69% on 134 unseen tasks
lines of core workflow code for OptiGuide after reimplementing it on AutoGen
Building an LLM application that writes code, runs it, retrieves documents, asks a human and recovers from errors meant hand-wiring every step. There was no common way to compose models, tools and people, or to reuse one setup in another task.
Make every participant a conversable agent with the same send, receive and reply interface, backed by a model, a tool, a human or a mix. Program the application as a conversation: what each agent computes when it replies, and when the conversation moves on or stops.
Six applications built on the same library, with gains on math, retrieval QA, ALFWorld and unsafe-code detection. Separating roles helped most where one model was asked to do two jobs at once, such as writing code and checking it.
Why it matters to an FDE
Customers ask for "multi-agent" systems because the term is popular. This paper is a good guide to when more agents help, because its own numbers are specific.
A second agent helps when it has a job the first was doing badly. OptiGuide's code writer and safety checker, run as two agents, caught unsafe code far better than one agent doing both, especially with the weaker model. The ALFWorld grounding agent added a rule the planner kept forgetting. A plain two-agent version of ReAct, by contrast, merely matched ReAct.
Termination is part of the design. Agents that reply to each other automatically will keep going. The paper's own pilot study found two-agent chats failing to terminate on up to 9 of 12 tasks. Every conversation needs a stop condition and a budget.
Start with a human in the loop. The authors' own guideline is to begin with human input always on, learn where the agents fail, and only then switch to autonomous mode.
Measure against a single, well-equipped agent. Several of AutoGen's comparisons pit it against systems with different models or no code execution. Your baseline should be one agent with the same tools and model.
Understand the mechanism. Try it on a real problem.
Unlock this breakdown and 99 more papers.
Premium opens every paper in full, plus every answer, concept, course and guide on the site. One payment for six months of access.
6 months · One payment · No auto-renewal
- ◇1 architecture diagram
- </>1 runnable code experiment
- ▦2 results tables
- ?5 interview questions with answers
- 03Key takeaways
The building blocks, results by application, and misreadings to avoid
Free account - 04How it works
The reply loop, termination, group chat, and how each application wires its agents
Premium - 05The numbers that matter
Each application's results, the ablations, and how much each one can carry
Premium - 06Try it yourself
A miniature conversable-agent loop, with a reply limit and a grounding agent changing the outcome
Premium - 07Where it breaks
The limits of the design and of the paper's evidence
Premium - 08Using it on a deployment
How to apply conversation programming for a customer without the loop running away
Premium - 09Interview angles
Five questions this paper prepares you for, with answer hints
Premium - 10Read next
Where to go from here on this site
Premium
