Multi-Model Collaboration for Removing the “AI Flavor” from AI-Assisted Fiction Writing
AI-generated fiction often fails not because of weak plots but because of a persistent “machine flavor”: dialogue that reads like meeting minutes, abrupt emotional shifts, and template-driven descriptions. This article presents a layered, multi-model generation workflow that separates planning, dialogue revision, and prose expansion into distinct stages. It explains how a structured “dialogue script” layer can constrain conversational intent and action, improve output naturalness, and reduce generation time in long-form writing scenarios with limited compute capacity.
Multi-Model Collaboration for Removing the “AI Flavor” from AI-Assisted Fiction Writing
When using AI to generate fiction, the most common reader complaint is not a clichéd plot but a lingering “machine flavor”: dialogue as tidy as meeting minutes, emotional turns that feel jarring, and environmental descriptions that carry a clear template stamp. Worse, these problems are often easy to fix locally but hard to adjust globally. You can delete a few repetitive phrases, yet the way characters speak throughout a scene remains unchanged.
This article approaches the problem from an engineering perspective. It describes a layered collaboration workflow in which dialogue writing and prose writing are assigned to different models, and a structured intermediate layer constrains conversational logic. The goal is to produce more natural text with stable quality under limited compute supply.
1. Problem Identification: Where the Machine Flavor Comes From
First, it helps to distinguish three typical symptom categories, because each requires a different fix.
- Dialogue level: Characters sound like they are reading bullet points. One person delivers two or three pieces of information in order, another confirms each one, and a third summarizes. Every sentence may look reasonable on its own, but together they read like meeting minutes.
- Pacing level: A character at an accident scene does not yell for help but instead stands nearby giving a situation report. The text does not push harder when it should, and it does not break off when interruption is needed.
- Description level: Environmental and action descriptions are highly templated and lack details tied to the current scene.
Among these, dialogue is the most stubborn. Adjusting prompts and adding more rules often fails at the same point. The rules accumulate, but the draft still stalls in roughly the same places. At that stage, adding more rules produces diminishing returns.
2. Overall Approach: Let the Model Better at Organizing Communication Do More
The core idea is layered generation and separation of responsibilities, rather than having a single model handle everything from start to finish.
- Planning layer: A model with stronger reasoning ability handles overall plot planning and chapter-level goal decomposition.
- Script layer: Before prose generation, the system produces a “dialogue script” that specifies who speaks in each scene, what their intent is, which key actions accompany the speech, and in what order information is released.
- Dialogue revision layer: A model better at generating natural conversation rewrites the lines in the script.
- Prose expansion layer: A model with ample supply and controllable cost expands the script and revised dialogue into full prose.
The immediate benefit is that prose generation no longer requires routing every token to the most expensive or most rate-limited model. The problematic conversational segments are isolated and handled in a separate session. An additional observed benefit is that adding the script layer reduced prose generation time from over 30 minutes to around 12 minutes. Even including script generation, the total time still dropped by about 10 minutes. The reason is that the model no longer has to “guess” what characters should say while writing. Stronger structural input reduces uncertainty during decoding.
3. Script Layer: Making Conversational Intent Explicit
The script layer is the key intermediate artifact. It is not prose but a structured scene specification. A usable script entry includes at least the following fields:
{"scene_id": "S03","location": "Runaway train carriage connection","participants": ["Veteran A", "Recruit B"],"goal": "B persuades A to cut the coupling and abandon the rear carriage","constraints": ["Loud environment, voices must be raised", "Time pressure under 10 seconds"],"beats": [{"speaker": "B", "intent": "warn", "content_hint": "The coupling is about to break", "action": "Grabs the handrail and shouts"},{"speaker": "A", "intent": "refuse", "content_hint": "There are still people in the rear carriage", "action": "Turns back and points toward the carriage"},{"speaker": "B", "intent": "pressure", "content_hint": "If we do not cut now, the whole train goes down", "action": "Reaches for the cutter"}]}
The key fields are intent and action. They fix in advance what each line is meant to accomplish and what the speaker is physically doing. The prose expansion model only needs to unfold each beat into natural language. It does not need to infer conversational logic on its own.
The “situation report at an accident scene” problem mentioned earlier is essentially what happens when intent is missing and the model defaults to the least demanding explanatory tone. Once labels such as “warn,” “pressure,” and “interrupt” are added, the urgency of the lines has a clear source.
4. Dialogue Revision: A Separate Round with the Right Model
After the script is produced, the dialogue should go through a separate revision round rather than being mixed into prose generation in one pass. There are two reasons. First, dialogue quality has an outsized impact on the reading experience. Second, different models show noticeable differences in conversational naturalness, so dedicated routing is worthwhile.
In practice, two approaches were compared.
- Letting the prose model self-check and self-revise: Under certain model tiers, this actually performed better and drifted farthest from the “neat and polished” AI tone. Some sentences became more complete, and redundant explanations were removed. But there were clear failure cases too. After fixing a few words, the way the whole conversation sounded remained unchanged. The meeting went on.
- Assigning revision to a separate model with stronger dialogue ability: The exchanges became noticeably more natural. Characters began to push their voices harder, shout for help, and interrupt each other instead of standing at the accident scene and broadcasting updates.
Therefore, the revision-layer prompt should focus on communicative behavior rather than wording polish. For example, it can require the model to preserve the intent values and beat order from the script, allow merging or splitting lines, forbid adding new information points, favor short sentences and interruptions, and adjust volume and tone according to the constraints. This way, the revision model changes how characters speak, not what they say.
5. Prose Expansion: Stable Output Requires Structured Input
The input to the prose expansion layer should include the chapter outline, the script entry, the revised dialogue, and a short style specification covering point of view, tense, and paragraph length limits. The key is to move uncertainty earlier. Anything that can be fixed at the script layer — who is present, what they want, and the order of information release — should not be left for the expansion model to decide on the spot.
The expansion prompt can use step-by-step constraints:
- First, lay out actions and dialogue according to the beat order without adding new plot points.
- Then add environmental details tied to the constraints, such as noise, lighting, or tight space.
- Finally, check tense and point-of-view consistency.
Combined with structured input, this step-by-step constraint raises naturalness and also produces the generation speedup mentioned earlier. The model no longer needs to repeatedly trace character relationships through a long context.
6. Engineering Recommendations
- Tiered quota allocation: Route prose generation to models with ample supply, and route planning and dialogue revision to models with stronger ability but tighter quota. Route by task type rather than by whole article.
- Failure detection: Apply lightweight rule checks to generated output. For example, if three consecutive lines follow a “statement — confirmation — summary” structure, flag the passage as suspected meeting-minute style and trigger a dialogue re-revision.
- Regression comparison: Keep a fixed set of test scenes whenever prompts or model combinations change. Compare naturalness and generation time to avoid “it feels better after the change” without verifiable evidence.
- Versioned script schema: Record changes when adding or removing fields. Otherwise, downstream expansion prompts and upstream script formats can easily fall out of sync.
Conclusion
Removing the machine flavor is not about writing a longer prompt. It is about splitting the generation process into stages that can be optimized separately: planning handles logic, the script layer handles conversational intent, revision handles tone and naturalness, and expansion handles prose efficiency. When each stage has clear boundaries and structured intermediate artifacts, the model has less room to guess, and text naturalness has a stable source. For long-form writing scenarios with limited compute supply, this layered collaboration is also a practical way to balance quality and cost.
