What Is AI Question Grouping? How Duplicates Merge Without Losing Votes

Published: September 22, 2026 by Andrew Apell

Short answer: AI question grouping is a batch process that reads the incoming question stream, recognises which questions ask the same thing and merges them into one topic with one combined vote count, inside a transaction so no upvote is lost. It is the feature Google Moderator needed most and never had.

When three hundred people attend a webinar, the same underlying question arrives spelled ten different ways. "What does it cost for a team of five", "team pricing?" and "do you have group rates" are one question asked three times. Left ungrouped, they split the vote three ways and bury the signal. AI question grouping is the step that fixes this.

The Pipeline

New questions land in a queue rather than going to the model one at a time. A batch job runs about once a minute and processes everything pending in a single call. Working in batches keeps the cost per question near zero and gives the model something crucial for accuracy: context. Seeing all twenty questions together is what makes it possible to recognise that four of them are really one topic, something a question by question classifier cannot do.

What the Model Returns

The output is structured, not free text. For each group the model returns a rewritten headline in under a dozen words, a topic category, a one sentence summary and the exact identifiers of the questions in that group. The worker then validates every identifier against the batch before anything is written, so a hallucinated id is rejected rather than merged. If validation fails, the questions stay raw and the queue retries them in the next tick, which is the safe failure mode: no merge is strictly better than a wrong merge.

Where the Votes Go

The merge is the part that has to be exact. When a group is written, the earliest question becomes the primary and the cluster receives the sum of every member's upvotes. This happens inside a database transaction, which means an upvote arriving while the merge is running is counted, not lost. After the merge, the individual questions are marked as clustered so the audience interface can redirect new votes to the primary. The total is conserved: before and after the merge, the sum of all votes is identical.

Guardrails

Question text is generated by the audience, so the pipeline treats it as untrusted input. Control characters and over length text are stripped before the model sees anything, profanity is blocked to avoid spending tokens on spam, and the output is checked for prompt injection patterns before it reaches the host dashboard. The model is told explicitly never to follow instructions contained inside question text, and the validation layer enforces what the prompt asks for.

FAQ

Does merging questions lose any votes? No. The cluster receives the sum of every member's upvotes inside a database transaction, so the total before and after the merge is identical.

How fast does grouping run? A batch job processes pending questions roughly once a minute, so duplicates usually merge into a topic within a minute of arriving.

What happens if the AI makes a mistake? Every group is validated before it is written and a failed validation leaves questions unmerged. No merge is strictly better than a wrong merge, and the queue retries on the next pass.

Can question text manipulate the AI? The pipeline treats question text as untrusted input, strips control characters, blocks spam before the model call and instructs the model never to follow instructions inside questions.

Watch grouping work on sample data

The sandbox runs the same clustering demo locally in your browser, no account needed.

Open the sandbox
Project Slidecut