AI Creates, AI Delivers, AI Fails โ Quality Assurance for Unwatched Systems
๐ Originally published (in Japanese) at forge.workstyle.tech . Building a Fully Automated AI Avatar Streaming System on YouTube and Twitch I built a system that lets AI avatars stream continuously on YouTube and Twitch without human intervention. Once you register a show, the system automatically creates a stream at the scheduled time, boots up the GPU, responds to viewer comments with voice,โฆ
Building a Fully Automated AI Avatar Streaming System on YouTube and Twitch, the author shares their experience in creating a system that streams AI avatars continuously on YouTube and Twitch without human intervention. The writer faced the challenge of testing the system's quality, as the output varied each time and correctness was subjective. Moreover, failure did not stop the stream, making it difficult for viewers or monitoring systems to notice any issues.
The author discusses three assumptions that traditional testing relies on which are not applicable in the unmanned AI streaming system. The first assumption is that input is fixed, which is untrue in this case as viewer input is unpredictable. The second assumption is that the output can be judged, but in this system, the LLM output varies each time, making it impossible to find a correct string.
The third assumption is that failure stops the system, but in fact, failure does not stop the system, as the stream continues in silence.
The author then shifted their focus from output correctness to system behavior, guaranteeing four concrete aspects: stopping when it should, noticing when it breaks, recovering when it breaks, and controlling the output boundaries. They implemented stop conditions, such as ending the stream when its runtime is over, treating a delayed stream start as a failure, and terminating the Pod when the renderer repeatedly recovers.
To notice when it breaks, they defined the worst-case state as "alive but not functioning" and explicitly defined how each layer should behave when its upstream dies. They also introduced recovery code and performed measurements to test its effectiveness. Finally, they controlled output boundaries by filtering NG words and spam at the chat entry point and declaring AI-generated content to the platform.
While automated checks are essential, the author emphasizes the need for human intervention in certain cases. They mention a bug where all performance metrics were normal, but the video was broken due to a flickering character face. In such situations, a human eye is necessary to identify and fix the issue. The writer concludes by stating that even with extensive automated testing, some bugs only appear after long runs, making the duration of the run itself a test condition.
Written by urgent.news from Dev.to's reporting โ not their text. Machine-written โ may contain errors; check the original before relying on it.