interestingly enough, when using a flat architecture, ie 1 level of agents initially... it started getting confused when i started adding tools beyond 3+
when using only one ReactAgent powered by GPT4, it wouldn't choose the right tool (1 specifically) if i fed it more than 3-4 tools. And when it chose it, wouldn't ask the user for the required parameters.. would fill mock data and call that tool.
when using the OpenAIAgent , this agent specification wouldn't try tool number 2 if tool number 1 didn't find the answers. I don't know if there is a way to make it do react...
so i ended up using the OpenAIAgent with as main agent with tools: 4 individual tools + ReactAgent as additional tool The ReactAgent sub-agent had two tools itself.