Skip to content
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

Enhancement: Enable AI Agents to Trigger Tools by Default #210

Open
dannleft opened this issue Feb 19, 2025 · 0 comments
Open

Enhancement: Enable AI Agents to Trigger Tools by Default #210

dannleft opened this issue Feb 19, 2025 · 0 comments
Labels
customization Issues that will help the library to be more customizable enhancement Suggestions that improve existing features. feature New feature or request feedback discord

Comments

@dannleft
Copy link
Collaborator

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:
  1. 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.
  2. 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.
  3. 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.
  4. Expose API Methods for Automatic Tool Usage:

    • Provide functions like enableAutoTools(), disableAutoTools(), and setDefaultTools().
    • Allow users to override defaults when necessary.

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 and Tool 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.
@dannleft dannleft added customization Issues that will help the library to be more customizable enhancement Suggestions that improve existing features. feature New feature or request feedback discord labels Feb 19, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
customization Issues that will help the library to be more customizable enhancement Suggestions that improve existing features. feature New feature or request feedback discord
Projects
None yet
Development

No branches or pull requests

1 participant