Supporting agent tool retrieval using RAG to allow large amount of tools per agent

Hi,

I am looking into a use case in which an agent holds a large amount of tools (e.g., 100, 1000, etc.).
Currently, when giving an agent a set of tools, the tools’ descriptions are inserted as a prompt to the agent (part of its context), and then the agent chooses a tool based on the current task it is trying to perform.
In the use case I’m talking about, it is impractical to load 100+ tools to the agent’s context (nor does it make any sense).

The solution for this problem is to allow an agent to use RAG over a large set of tool descriptions in order to choose the best tool (or set of tools) for the task at hand.
However, currently, such functionality is not supported.

I’d like to know if anyone encountered such a use case, and if so how did you solve it?

In addition, for the crewAI team, do you have any plans to add support for 100+ tools for a single agent?

Thanks