Mostly agree. But there is no LLM equivalent of prepared statements available, that's the problem. And I don't think this is necessary to have multi-turn statements. Assuming there's some other technical constraint, because you could otherwise expose a slightly more complex API that took a list of context with metadata rather than a single string and then added the magic tokens around it.