Thread using multiple Assistants seems to blend all Assistants' Intructions

I have several Assistants that perform as part of a suite of tools for the backend of an app we are developing. User starts with Assistant “A”, enters their request and gets a response. User interacts in such a way that we realize they need Assistant B, so we add their message to the thread and start a Run using Assistant B. B’s output is used to prompt Assistant A again, refining its output. User again needs Assistant B, and gets its output, and that is used to refine Assistant A’s output. After 2-3 rounds of this iteration, when you use Assistant B’s output to refine A’s output, it responds as though it is Assistant B.

Both Assistants are set to JSON object output only, and have specific allowed JSON schemas defined in their instruction prompts. It is impossible for A to respond using B’s schema and impossible for B to respond using A’s schema. And, yet, we have Assistant A seeming to respond as though it is Assistant B.

It looks like both Assistant’s instructions are being added to the thread’s temporary vector store. I can share thread message contents that clearly show a run, using Assistant A, responding as though it is Assistant B.

Thanks,

Ken Adamson
CTO, Fake Mews LLC