📝 Originally published (in Japanese) at forge.workstyle.tech.
The Challenge of "Silence" in Unmanned AI Avatar Live Streams When creating a live stream where an AI avatar operates autonomously, the first major hurdle you encounter is the issue of "silence." It’s not that there are no viewers—quite the opposite.
Yet the avatar falls silent for long stretches, or ignores comments for tens of seconds.
What human streamers do unconsciously—creating "space" in the conversation—is entirely missing from AI behavior.
In this article, I’ll summarize two key challenges we tackled to prevent unmanned streams from becoming boring.
The first: how to fill the silence when no comments arrive.
The second: how to handle response delays when comments do arrive.
The former deals with behavior during "no input," while the latter concerns the time between input and reaction.
Both are two sides of the same coin in live streaming, and neither worked with a straightforward implementation.
What they had in common was that brute-force attempts to "make it faster" or "make it smarter" missed the mark.
We had to observe long-running streams, measure breakdowns, and redesign priorities—mundane but essential work.
Reactive Alone Doesn’t Make a Stream Our initial implementation was straightforward: "Respond when a comment arrives." Functionally, it worked correctly and passed tests.
The problem was what happens when no comments arrive.
In an unmanned stream, the avatar stands frozen on screen for tens of seconds—blinking, but doing nothing.
This is nearly an accident for a live stream.
And for newly launched channels, this is the default state.
Comments come only after the stream has grown; until then, silence is the norm.
This was a design philosophy issue.
If built as a chatbot, the AI only outputs in response to input—just like a web request/response model.
But a streamer is different.
Their job is to keep talking even when no one says anything.
So we needed a mechanism that generates speech regardless of input.
Here’s what we implemented: How We Decided on the Silence Threshold The number 75 seconds isn’t backed by strong theory—we determined it by observing actual streams.
Here’s what guided us: Too short (30 seconds or less): The avatar jumps to a new topic before viewers finish typing.
Their comment becomes a reply to the previous topic, creating misalignment.
Too long (2+ minutes): The stream feels stale.
Viewers disengage.
Another critical factor was viewer delay.
Viewers’ screens lag by 15–30 seconds.
So when they react to a comment and hit "send," it takes time to reach the stream.
If the threshold is shorter than this round-trip, conversation breaks down.
This viewer delay reappears later as a dominant factor in response speed.
Though unmanned speech and response delay seem like separate features, they’re both constrained by the same "platform latency" in live streaming.
We made the silence threshold configurable so it can be adjusted per stream type.
Spontaneous Topics Go at the Bottom of the Priority Queue In implementation, utterances are managed in a priority queue.
Spontaneous topics go at the lowest priority.
Priority Type Highest Closing remarks at stream end High Events like tips or subscriptions Medium Responses to viewer comments Low Spontaneous topics to fill silence This ensures that if a comment arrives while a spontaneous topic is being generated, the response to the comment takes precedence.
Prioritizing monologue over waiting for viewers is clearly wrong for a stream. "Filler content" should always be interruptible.
What Should the Avatar Talk About?
Topics are generated from the stream’s theme, set when the stream is registered.
Since we already had a system where each stream specifies a character (personality) and theme, we reused that data.
We made sure to avoid repeating the same topic.
By referencing conversation history, we prevent immediate repetition.
In long streams, the amount of history kept directly determines how of