mirror of
https://github.com/microsoft/autogen.git
synced 2025-08-15 20:21:10 +00:00

This PR introduces `WorkBench`. A workbench provides a group of tools that share the same resource and state. For example, `McpWorkbench` provides the underlying tools on the MCP server. A workbench allows tools to be managed together and abstract away the lifecycle of individual tools under a single entity. This makes it possible to create agents with stateful tools from serializable configuration (component configs), and it also supports dynamic tools: tools change after each execution. Here is how a workbench may be used with AssistantAgent (not included in this PR): ```python workbench = McpWorkbench(server_params) agent = AssistantAgent("assistant", tools=workbench) result = await agent.run(task="do task...") ``` TODOs: 1. In a subsequent PR, update `AssistantAgent` to use workbench as an alternative in the `tools` parameter. Use `StaticWorkbench` to manage individual tools. 2. In another PR, add documentation on workbench. --------- Co-authored-by: EeS <chiyoung.song@motov.co.kr> Co-authored-by: Minh Đăng <74671798+perfogic@users.noreply.github.com>
AutoGen Extensions
AutoGen is designed to be extensible. The autogen-ext
package contains many different component implementations maintained by the AutoGen project. However, we strongly encourage others to build their own components and publish them as part of the ecosytem.