Adding AI to a product with real users is a different job from building one around it. The schema is already decided.
So is the permission model, so is the latency your users are accustomed to, and so is the support queue that will catch whatever the feature gets wrong.
You are not choosing those constraints. You are integrating into them, which is why most of the work sits at the boundaries rather than in the prompt.
We add AI features to products already in production: retrieval built on your real data and your real access rules, an eval set written before the feature, so regressions are caught by CI instead of by a customer.
We add spend ceilings per user and per tenant, and a flag that turns the whole thing off without a deploy.
Which model you use is the least durable decision here. It will change at least twice before the feature is a year old, and swapping it should be a config change rather than a project.
The question that decides whether any of this works is what happens when the model is confidently wrong in front of a paying customer — and who finds out first, you or them.
When the problem is search rather than generation, a decent index and good ranking answer it for less money, with none of the hallucination surface.
If nobody has decided what to build yet, that conversation is AI consulting, not this page.