Removing the “AI Flavor” from AI-Generated Fiction: Layered Collaboration and Dialogue Optimization
AI-generated fiction often sounds stiff because a single model handles too many tasks at once. This article explains how to separate dialogue design from prose generation, introduces a script layer to shape character speech and key actions before full-text expansion, and provides practical iteration checklists, cost control tips, and architectural recommendations for building more natural-sounding AI fiction.
Removing the “AI Flavor” from AI-Generated Fiction: Layered Collaboration and Dialogue Optimization
1. Problem Definition: Why AI-Generated Fiction Does Not Read Like Human Writing
When using large language models to generate fiction, the common “AI flavor” usually appears in three areas:
- Dialogue that is too polished: Characters sound like they are reading from a script. Sentences are complete, logic is tight, and the text lacks the omissions, repetitions, interruptions, and emotional redundancy of real speech.
- Abrupt emotional shifts: One paragraph states facts, and the next suddenly turns lyrical without proper buildup or transition, making the reading experience jarring.
- Template-like environmental descriptions: Regardless of the scene, descriptions tend to fall back on generic lines such as “sunlight streamed through the window and fell on the floor,” lacking details tied to plot and character state.
The root cause of these problems is not entirely insufficient model capability. It lies in an unclear division of responsibilities in the generation process. The same model is expected to handle narrative progression, natural character speech, pacing, and atmosphere all at once. When overloaded, it tends to produce the “safest” output, which is also the most polished and template-like.
Therefore, the optimization should not stop at repeatedly adjusting prompts. Instead, it should start from the process structure: let a model that is better at organizing interaction handle dialogue and action design, while the main writing model focuses on prose expansion. The rest of this article discusses practical implementation based on this idea.
2. Layered Collaboration Architecture: Separating “Speech” from “Narration”
2.1 Basic Division of Labor
The overall process can be abstracted into three layers:
- Planning layer: Responsible for chapter goals, plot nodes, character states, and key actions.
- Dialogue/Script layer: Responsible for turning the plan into specific lines and key actions, focusing on “who says what and does what under what emotional state.”
- Prose expansion layer: Responsible for expanding the script output into complete narrative text, including environmental descriptions, psychological activity, action details, and other elements.
The benefit of this layering is that the dialogue layer can be iterated independently. When character speech feels unnatural, you only need to adjust the input and model selection for the dialogue layer, without rewriting the entire chapter. This aligns with the principle of separation of concerns in software engineering: isolate the parts that change most often and optimize them separately.
2.2 Why the Dialogue Layer Needs Separate Handling
Dialogue is where the “AI flavor” is most concentrated, and it is also the hardest area to fix through rules alone. The reasons are:
- Natural dialogue depends on three simultaneous constraints: context, character relationships, and emotional state. Simply writing “do not make it too polished” in the prompt has limited effect.
- The “imperfection” of dialogue is precisely what makes it feel natural, while models tend to produce “perfect” sentences.
- Revising dialogue requires a global perspective. Within the same conversation, character attitudes evolve progressively. Editing line by line can easily break the overall rhythm.
For these reasons, handing dialogue over to a model that is good at organizing interaction is more effective than asking the main writing model to make incidental fixes.
3. Specific Approach to Dialogue Revision
3.1 Let the Main Model Produce the Draft First, Then Send It to a Dialogue Model for Revision
A practical approach is to let the main writing model handle the bulk of prose generation to ensure sufficient output, while dialogue is processed in a separate session by a model with stronger conversational ability. This controls cost while giving dialogue dedicated optimization resources.
In early attempts, the main writing model was also allowed to revise dialogue on its own, but the results were unstable. Sometimes sentences became more complete and redundant explanations were removed, which was useful. But often only a few words changed while the overall way of speaking remained the same. For example:
Character A listed two or three pieces of information in order, Character B confirmed each one, and Character C summarized. Every sentence had a clear purpose, but the whole exchange still read like meeting minutes.
Removing a few repeated words did not end the meeting. This shows that local word-level revision cannot solve the structural “report-like” quality of the dialogue. A model that is better at organizing interaction must be introduced.
3.2 Adding a Script Layer: Organize Lines and Key Actions First
On top of the dialogue model, add a “script” step: before expanding into full prose, ask the model to output the lines and key action list for the scene, including:
- Each character’s goal and emotional starting point in the current scene;
- Key actions, meaning who does what and when, rather than abstract descriptions such as “conducted a situation briefing”;
- Colloquial handling of lines: allow omissions, interruptions, irrelevant answers, and emphatic repetition;
- Attitudinal responses between characters, rather than one-way information transfer.
The value of the script layer is that it separates “speech” from “narration” early, giving dialogue a natural spoken rhythm before it enters the prose. The prose expansion layer only needs to add environment, psychology, and action details on top of it, without worrying about why a character speaks in a certain way.
3.3 Dialogue Revision Checklist
In practice, a checklist can be used to evaluate the output quality of the dialogue layer:
- If character names are covered, can you tell different characters’ speaking styles apart?
- Is there a pattern of “taking turns to report” information?
- Are emotional shifts supported by buildup or action?
- Are there sentences that respond to the other character’s attitude, rather than each character talking past the other?
- Are key actions specific, such as “shouted for help” or “forced the message through,” rather than abstract descriptions like “conducted a situation briefing”?
This checklist is not meant to be fully satisfied in one pass. It serves as a direction for iterative refinement.
4. Results and Unexpected Gains
4.1 Improved Dialogue Naturalness
After introducing the dialogue model and script layer, the most direct change was that character speech began to show “imperfect” naturalness. Sentences were no longer always complete, responses started to carry attitude, and key actions replaced abstract statements. Characters finally knew what to do and say in specific situations, instead of standing at an accident scene and delivering a situation briefing.
4.2 Unexpected Efficiency Improvement
Another unexpected gain was a reduction in overall generation time. Prose generation dropped from a longer duration to around the scale of twelve minutes, and even after adding the script layer, there was still some time saved. The reason is that the script layer clarifies lines and key actions in advance, so the prose expansion layer no longer needs to repeatedly “guess” how characters should speak, reducing the number of revisions and retries.
It should be noted that this speedup comes from a specific implementation environment. Results may vary with different models and task sizes, so it should not be treated as a universal performance benchmark.
5. Engineering Recommendations and Considerations
5.1 More Layers Are Not Always Better
Layering brings clearer responsibilities but also increases process complexity. A good starting point is two layers: a main writing model plus a dialogue revision model. Introduce the script layer only when dialogue problems still center on the structural “report-like” quality. Layers should be added gradually based on actual bottlenecks, not stacked all at once.
5.2 Practical Considerations for Quota and Cost Control
Prose generation requires a relatively sufficient model supply, so it is not practical to send every word to the most expensive or most quota-constrained model. A more realistic approach is: let the main writing model handle the bulk of the prose, and bring in the dialogue model only in key scenes. This preserves dialogue quality without blocking the overall process due to quota limitations.
5.3 Prompt Rules Still Have Value, but with Limits
Supplementary rules, such as “do not break sentences into fragments too aggressively,” “do not insert ‘he said’ every few words,” and “characters should respond to each other’s attitude,” can improve results locally. But when a draft keeps getting stuck at similar points, the problem has moved beyond the scope of prompt-level fixes. At that point, the process should be adjusted rather than piling on more prompt instructions.
5.4 Avoid Over-Reliance on a Single Model
Different models differ noticeably in their ability to organize interaction. The practical approach is to let a model strong at planning and natural dialogue handle the dialogue layer, while a model with sufficient supply handles the prose layer. This combination is more flexible and sustainable than relying on one model for everything.
6. Summary
The key to removing the “AI flavor” from AI-generated fiction is not making prompts longer, but breaking the generation process into layers with clear responsibilities: the planning layer sets direction, the dialogue/script layer manages how people speak and act, and the prose expansion layer manages how the world is presented. Handing the dialogue layer to a model better at organizing interaction, supported by a script layer that organizes lines and key actions in advance, can improve the naturalness of character speech while reducing repeated revisions in the prose layer and bringing some efficiency gains.
This method is not a one-time fix. It is an iterative engineering framework: first identify which layer contains the bottleneck, then adjust model selection and input structure for that layer, and converge gradually rather than expecting a single round of revision to completely eliminate the “AI flavor.”
