-
Notifications
You must be signed in to change notification settings - Fork 2
Refactor Agent-Tool Interaction for Simplified Design and Centralized Tool Management #63
Copy link
Copy link
Open
Open
Copy link
Labels
ai-agentTasks specific to the development, behavior, or configuration of individual AI agents.Tasks specific to the development, behavior, or configuration of individual AI agents.enhancementNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is neededmulti-agentTasks involving coordination between multiple agents.Tasks involving coordination between multiple agents.orchestrationCoordinates and manages the workflow of multiple agents or components.Coordinates and manages the workflow of multiple agents or components.tool-useTasks related to integrating and testing the use of external tools by AI agents.Tasks related to integrating and testing the use of external tools by AI agents.
Metadata
Metadata
Assignees
Labels
ai-agentTasks specific to the development, behavior, or configuration of individual AI agents.Tasks specific to the development, behavior, or configuration of individual AI agents.enhancementNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is neededmulti-agentTasks involving coordination between multiple agents.Tasks involving coordination between multiple agents.orchestrationCoordinates and manages the workflow of multiple agents or components.Coordinates and manages the workflow of multiple agents or components.tool-useTasks related to integrating and testing the use of external tools by AI agents.Tasks related to integrating and testing the use of external tools by AI agents.
Description:
The current design of the
GraphBuilderAgentand its interaction with theMindMapGraphBuildertool is overly complex. TheMindMapGraphBuildertool is instantiated within the agent itself, leading to tight coupling between the two components. This approach complicates sharing tools between agents and makes the system less scalable and maintainable.To simplify the design and prepare for a future where agents can share a common set of tools, we need to refactor how agents access and use their tools.
Problem Statement:
GraphBuilderAgentdirectly creates itsMindMapGraphBuildertool instance. This prevents other agents from using the same tool and requires redundant tool instantiation if multiple agents need the same functionality.Proposed Solution (Bucket List Item):
Refactor the system to use a centralized Tool Manager or Tool Registry. This manager would be responsible for:
MindMapGraphBuilder) would be registered with the manager at startup.tool_manager.get_tool('MindMapGraphBuilder')). This decouples the agent from the tool's creation logic.Acceptance Criteria:
ToolManagerclass is implemented to handle tool registration and retrieval.GraphBuilderAgentis modified to get itsMindMapGraphBuildertool from the newToolManagerinstead of instantiating it directly.__init__method no longer creates tool instances.