Can one API assistant be used in another API assistant through function calling?

Forgive the lack of knowledge, but would it be possible to set up an assistant “team” with different roles, and add each one of them individually as separate function calls to the master assistant? This would run off of the function description to choose the use case of when to use that particular function/assistant.


Yes. I have an application that uses a main “agent” to decide what “sub-agent” to use. The system message is something like “You are a helpful assistant that decides which agent to use for a specified task. The list of agents include [list of agent names with descriptions of what they do]”. Based on the response from the main agent (which is using function calling with a single function ‘choose_agent’), I then pass the user prompt to the appropriate sub-agent which has it’s own function descriptions.

I don’t see why not.

When you’re using the API you can do just about anything you want.

An assistant isn’t going to know or care what produces the response to their function call.

My main concern would be possibly timing out if you had a long chain of expert assistants.

Once you have more than 3 or 4 you’d probably want some kind of mechanical for keeping track of your depth.

But, it’s a very interesting idea to get around things like assistant file limits. Having several narrowly focused assistants will likely yield better results too.

You could even have your assistant reviewing call itself too.


Awesome, just to be clear, you’re saying this could be executed in the playground, using the new assistants feature, right?

I think, how to org-chart the assistants will not be so straightforeward. My naieve approach is to drill down vertically. But rigid top-down stuff is outperformed by more organic or emergent pathways (Yahoo vs. Google search)

I wonder if the next startup space will be assistant routing design and in six months OpenAI will announce their new feature and pull everybodys rug :joy:

In the playground? Probably not. The playground is just for basic, simple, “Hello World!” level exploration.