-
Notifications
You must be signed in to change notification settings - Fork 751
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
feat: Add Workforce #713
feat: Add Workforce #713
Conversation
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (invoked as PR comments)
Additionally, you can add CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for review.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @yiyiyi0817 and @WHALEEYE !
The current implementation is task-solving oriented, I think in the long term we also need to support multi-agent communication for society simulation, like agents doing debate, we can explore this part later.
I feel it's not so necessary to set role_playing_workforce and single_agent_workforce just to convert roleplaying/agent into workforce, from user's side it's also complex to set up one workforce flow with current design, can we allow user input their agent, roleplaying, workforce objs directly into child_workforces list and do the transfer internally? WDYT?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for your review! @Wendong-Fan
I helped resolve the conflicts in the pr withe master branch, including the issue of docstring format and pytest example. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can temporarily merge this PR and to the enhance further for the 2nd version as described here: #796
The compose method of Task
also need to be improved
Description
Consider one layer structure first, big workforce containing small leaf workforces + agents.
Motivation and Context
A workflow/workforce for task completing.
task_agent_config={…},… workforce = [], description=”xx”)→ ChatResult & Message
Human Task → Task A, Task B, Task C (Message) by Task Agent
Manager Agent initialize the first round task assignment
Task A -> Agent A (model=Model A, tool=[T1, T2],knowledgebase=[KB1, KB2])
Task B -> Agent B (model=Model B, tool=[T1, T3, T5],knowledgebase=[KB2, KB3, KB4])
Task C ....
environment for Agent A = related tasks information + all agents information
environment for Manager Agent = all tasks information + all agents information
If Agent A can solve task A, CAMEL Task A done, back to Manager Agent.
If Agent A can’t solve task A, Agent A will ask Task Agent split Task A, make it into Task A.1, Task A.2…, from Agent A’s environment information, Agent A find another agent can solve Task A.1, send message to that Agent, assign Task A.1, once finished ,back to Manager Agent.
Society pipeline? sequential, hierarchical, star, or other topology..
Task A.1 → Workforce with 3 agents
Types of changes
What types of changes does your code introduce? Put an
x
in all the boxes that apply:Checklist
Go over all the following points, and put an
x
in all the boxes that apply.If you are unsure about any of these, don't hesitate to ask. We are here to help!