I have been thinking about this kind of thing recently. I've got a hobby project that generates some AI content for the user and trying to figure out the most fair way to deal with the output being just plain bad. I haven't run into this case myself yet in testing after many quality passes to make the generation robust, but have no doubt that at scale there would be junk output at some point. Users would likely be non-technical and pay per-generation, not on a subscription model. So I would like to find a way to:
- Define some threshold for bad output
- Detect when a piece of output meets that threshold (vs just maybe not being what the user expected, which in my case is just fine)
- Refund the user credits so they can generate again
Text output is relatively easy to evaluate to some base threshold of quality in the generation process, but the final output is not text... it becomes harder.
Each failed generation would be very disruptive to the user on its own (in the scope of the app's purpose), so I'm also considering offering them an extra discount on their next purchase (in addition to the credit refund).
Do I get users to report generations they consider bad and then review them somehow? Do I try to auto-detect bad output before the output is delivered to the user? Probably a mix of all of the above... while attempting to mitigate the potential for abuse (people making dummy generations and then reporting them 'just to try it out', or try to game the system to get multiple free generations). Maybe I'd have to have some sort of time window for reporting a junk generation, and a max "use" count that flags if the user actually took benefit from the output before reporting it...
I guess this turned into a bit of a brain dump.