Use both.
See here (Switching from Assistants API to Chat Completion?) for more in-principle arguments.
See here (GitHub - icdev2dev/selfet) for some implementation level details.
See the video at the top of the post to see how conversations are modeled at roughly 5:20. The conversations are specialized threads (with Metadata) (Selfet -- Towards Fully Autonomous Multiple Agents)