Comment by repelsteeltje
3 days ago
Sounds ambitious and exciting. How do you intend to provide support to users given that the system will likely evolve and diverge beyond what you can reasonably test for during development? Will you be able to ship software updates without introducing regressions?
Good question — this is one of the tricky parts.
I don’t think you can support something like this if it’s a total black box. If behavior drifts, users need some way to see what state the system thinks it’s in and why it did what it did, otherwise support becomes guesswork.
On updates, I’m pretty cautious about changing behavior silently. I’d expect versioned behavior, explicit migrations, and being careful about what auto-updates versus what users opt into.
And if people are paying over time, updates need to be real improvements they can understand, not just maintenance or regressions.
This feels more like a design problem than a testing problem.
I don't see how design plays a role. Imo first and foremost predictability/compatibility/stability isa QA problem. And I would not know where to start even if testing (ie avoiding regressions during development) were properly in place.
For plain old software development, supporting installed base was always far more difficult than designing and building new features. Doable, but hard.
With LLMs it's much harder. For instance, we built a transcript summarization service that customers were happy with. Then we improved the LLM, but we could not just yank the old LLM and replace it with the new version. Some customers would see the improvements, but others would complain that the new tone was ... just different.
I can't imagine how much more complicated it would be if the LLM was not under our control and had evolved to better help the customer.
But maybe I'm just misunderstanding what you're intending to build?