Letting the AI write JSON-LD for service pages is where most of the risk sits, and it's not about syntax. The output is almost always valid, so the rich results test passes. The problem is the schema saying things the page doesn't. FAQ answers that never show up visibly, or a price in the markup that differs from the rendered one, will both pass the test and then get flagged in Search Console weeks later.
The safer setup is to have the AI build the markup only from the visible page text, then compare each page against its rendered copy before it goes live. It's slower, but it keeps the markup from running ahead of the content. Does anyone just trust the output and clean up after Search Console complains?