Documentation Index
Fetch the complete documentation index at: https://private-04b27de1.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.

TL;DR
AutoGen 0.2.2 introduces a description field to ConversableAgent (and all subclasses), and changes GroupChat so that it uses agentdescriptions rather than system_messages when choosing which agents should speak next.
This is expected to simplify GroupChat’s job, improve orchestration, and make it easier to implement new GroupChat or GroupChat-like alternatives.
If you are a developer, and things were already working well for you, no action is needed — backward compatibility is ensured because the description field defaults to the system_message when no description is provided.
However, if you were struggling with getting GroupChat to work, you can now try updating the description field.
Introduction
As AutoGen matures and developers build increasingly complex combinations of agents, orchestration is becoming an important capability. At present, GroupChat and the GroupChatManager are the main built-in tools for orchestrating conversations between 3 or more agents. For orchestrators like GroupChat to work well, they need to know something about each agent so that they can decide who should speak and when. Prior to AutoGen 0.2.2, GroupChat relied on each agent’ssystem_message and name to learn about each participating agent. This is likely fine when the system prompt is short and sweet, but can lead to problems when the instructions are very long (e.g., with the AssistantAgent), or non-existent (e.g., with the UserProxyAgent).
AutoGen 0.2.2 introduces a description field to all agents, and replaces the use of the system_message for orchestration in GroupChat and all future orchestrators. The description field defaults to the system_message to ensure backwards compatibility, so you may not need to change anything with your code if things are working well for you. However, if you were struggling with GroupChat, give setting the description field a try.
The remainder of this post provides an example of how using the description field simplifies GroupChat’s job, provides some evidence of its effectiveness, and provides tips for writing good descriptions.
Example
The current GroupChat orchestration system prompt has the following template:- It is hard to make out where each agent’s role-description ends
Youappears numerous times, and refers to three separate agents (GroupChatManager, AssistantAgent, and GuardrailsAgent)- It takes a lot of tokens!
An Experiment with Distraction
To illustrate the impact of thedescription field, we set up a three-agent experiment with a reduced 26-problem subset of the HumanEval benchmark. Here, three agents were added to a GroupChat to solve programming problems. The three agents were:
- Coder (default Assistant prompt)
- UserProxy (configured to execute code)
- ExecutiveChef (added as a distraction)
With versions prior to 0.2.2, using system_message:
- The Agents solve 3 out of 26 problems on their first turn
- The ExecutiveChef is called upon 54 times! (almost as much as the Coder at 68 times)
With version 0.2.2, using description:
- The Agents solve 7 out of 26 problems on the first turn
- The ExecutiveChef is called upon 27 times! (versus 84 times for the Coder)
description field doubles performance on this task and halves the incidence of calling upon the distractor agent.
Tips for Writing Good Descriptions
Sincedescriptions serve a different purpose than system_messages, it is worth reviewing what makes a good agent description. While descriptions are new, the following tips appear to lead to good results:
- Avoid using the 1st or 2nd person perspective. Descriptions should not contain “I” or “You”, unless perhaps “You” is in reference to the GroupChat / orchestrator
- Include any details that might help the orchestrator know when to call upon the agent
- Keep descriptions short (e.g., “A helpful AI assistant with strong natural language and Python coding skills.”).
Conclusion
AutoGen 0.2.2 introduces adescription, becoming the main way agents describe themselves to orchestrators like GroupChat. Since the description defaults to the system_message, there’s nothing you need to change if you were already satisfied with how your group chats were working. However, we expect this feature to generally improve orchestration, so please consider experimenting with the description field if you are struggling with GroupChat or want to boost performance.
