-
Notifications
You must be signed in to change notification settings - Fork 5.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added an agent description field distinct from the system_message. #736
Conversation
…_message, and be used to for orchestration (e.g., GroupChatManager, etc.)
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## main #736 +/- ##
===========================================
+ Coverage 26.60% 48.39% +21.79%
===========================================
Files 28 28
Lines 3733 3742 +9
Branches 847 891 +44
===========================================
+ Hits 993 1811 +818
+ Misses 2667 1747 -920
- Partials 73 184 +111
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
I 100% agree, and I had/will have another PR to introduce changes to the GroupChatManager that do just that. But again, implementing that (and all other variants), depends on having a description field that can be used. So let's get this in, and then we can propose additional or modified Managers in another PR. For what it's worth, this is a prompt that I found to be very useful (but again, it needs the description field): autogen/autogen/agentchat/groupchat2.py Lines 96 to 116 in 4094367
And, autogen/autogen/agentchat/groupchat2.py Lines 118 to 141 in 4094367
|
…icrosoft#736) * Added an agent description field that can be distinct from the system_message, and be used to for orchestration (e.g., GroupChatManager, etc.) * Added debugging. * Moved default descriptions to constants. * Fixed conditions under which the assistant uses the default description. * Removed debugging. * Updated GroupChat prompt. * Re-added debugging. * Removed double [[ ]]. * Another update to GroupSelection prompt. * Changed 'people' to 'participants' since agents are not people. * Changed 'role' to 'name' * Removed debugging statements. * Restored the default prompt. Created a contrib class with new prompt. * Fixed documentation. * Removed broken link. * Fixed a warning message. * Removed GroupChatModerator contrib. Will re-add in another PR * Resolving comment. --------- Co-authored-by: Chi Wang <[email protected]>
@afourney Have you started a PR to merge in your groupchat2 into the latest codebase? If so, what #? I have used it a bit and it works much better than the current groupchat so looking forward to merge. |
…icrosoft#736) * Added an agent description field that can be distinct from the system_message, and be used to for orchestration (e.g., GroupChatManager, etc.) * Added debugging. * Moved default descriptions to constants. * Fixed conditions under which the assistant uses the default description. * Removed debugging. * Updated GroupChat prompt. * Re-added debugging. * Removed double [[ ]]. * Another update to GroupSelection prompt. * Changed 'people' to 'participants' since agents are not people. * Changed 'role' to 'name' * Removed debugging statements. * Restored the default prompt. Created a contrib class with new prompt. * Fixed documentation. * Removed broken link. * Fixed a warning message. * Removed GroupChatModerator contrib. Will re-add in another PR * Resolving comment. --------- Co-authored-by: Chi Wang <[email protected]>
Why are these changes needed?
GroupChat and other orchestrators currently rely on the system_message to determine what role each agent serves. However, system_messages are occasionally long and detailed (AssistantAgent), or are completely missing (UserProxyAgent). The messages are often also written in the wrong perspective #319. This can lead to all kinds of orchestration problems, with the GorupChatManager being no better than Round Robin or even Random in some cases #688.
This PR addresses these issues by adding a "description" field that defaults to the system_message (for backward compatibility), but can diverge. This description message is then used for GroupChat.
Related issue number
#319 and general orchestration issues.
Checks