Sharing thread memory between assistants

Hello community!

I am facing challenges in creating an intelligent assistant because RAG (Retrieval-Augmented Generation) does not scale well. Consequently, I am considering a modular assistant architecture. In this setup, I envision having a basic assistant and, when certain user requests are detected, redirecting operations to another assistant with more specialized knowledge. However, it’s crucial to maintain user context and information across different assistant threads.

Is there a way to share a thread between different assistants?



A thread is not connected to a particular model, except by logs of which one created an assistant response. It exists as a store of messages.

That means when you invoke a run as you do, and specify both an assistant ID and a thread ID, that pairing can be at your discretion.

There is just the fact that some threads may have data stores and returns from code interpreter in past messages besides the messages themselves that would confuse another assistant, perhaps giving it the idea that it wrote that previous AI output, and adapting its personality or assuming it can use similar tools.

Thank you, as always, for your reply!

I’m very glad to hear that we can follow this approach and maintain the thread context between assistants.

Do you have any recommendations on how to semantically identify the right assistant and orchestrate it effectively?

Thanks again,