-
Notifications
You must be signed in to change notification settings - Fork 127
Description
Is your feature request related to a problem? Please describe.
Currently, KaibanJS requires explicit configuration for agents to trigger tools, meaning that unless a tool is manually assigned and invoked, agents do not use them by default. This limits automation and requires additional setup for each agent, even when a tool is commonly used.
Without default tool invocation, users face challenges such as:
- Increased manual setup, as every tool must be explicitly assigned and invoked in the agent's configuration.
- Reduced agent autonomy, since agents cannot decide when to use a tool unless explicitly coded to do so.
- Missed opportunities for optimization, as certain tools (e.g., Tavily for research) could be automatically leveraged when relevant.
User feedback: "Ability to trigger tools by default."
Describe the solution you'd like
To enhance agent autonomy and workflow automation, KaibanJS could introduce default tool invocation capabilities, allowing agents to automatically recognize and use relevant tools without requiring explicit calls.
Proposed Improvements:
-
Automatic Tool Assignment Based on Agent Role:
- If an agent is created with a specific role, KaibanJS could suggest or automatically assign relevant tools.
- Example: A Research Agent automatically gets access to
Tavily
without needing manual configuration.
-
Rule-Based Tool Invocation:
- Allow users to define triggers where tools are automatically used when conditions are met.
- Example: If an agent receives a task requiring external data retrieval, it automatically calls
Tavily
.
-
Configurable Default Tools per Agent Type:
- Introduce a global configuration where users can set default tools for specific agent types.
- Example: Agents categorized as "Analysts" automatically get a predefined set of tools.
-
Expose API Methods for Automatic Tool Usage:
- Provide functions like
enableAutoTools()
,disableAutoTools()
, andsetDefaultTools()
. - Allow users to override defaults when necessary.
- Provide functions like
Describe alternatives you've considered
- Manually Assigning Tools (Current Approach):
- While functional, this requires explicit tool assignment for each agent, increasing setup time.
- Using External Logic to Determine Tool Usage:
- This adds unnecessary complexity, as users have to manually script when tools should be used.
Additional context
- Relevant KaibanJS Features:
Agent
class andTool
integration framework.Task
execution and agent processing logic.
- Expected Benefits:
- Reduce manual setup by making tool usage more intuitive.
- Improve agent autonomy, allowing them to determine when a tool is needed.
- Increase workflow efficiency, as agents can execute tasks with fewer dependencies on user input.