NC Bench
Overview
About
Tests
Categories
Models
Vendors
Compare
Run: 2026-02-25-01KJBKRH8MEVWJCZN2088WB9A0
Run Details
Model:
Qwen 3.5 Flash
Test:
Bad Writing Habits
Scenario:
Romance: separated couple reunites
Duration:
37.5s
Cost:
$0.002161
Provider:
Alibaba
Evaluation summary
Score
Evaluator
Details Link
100.00%
Adverbs in dialogue tags
(details)
94.00%
AI-ism adverb frequency
(details)
100.00%
AI-ism character names
(details)
100.00%
AI-ism location names
(details)
40.01%
AI-ism word frequency
(details)
100.00%
Cliché density
(details)
100.00%
Emotion telling (show vs. tell)
(details)
100.00%
Filter word density
(details)
100.00%
Gibberish response detection
(details)
100.00%
Markdown formatting overuse
(details)
100.00%
Missing dialogue indicators (quotation marks)
(details)
100.00%
Name drop frequency
(details)
23.42%
Narrator intent-glossing
(details)
100.00%
"Not X but Y" pattern overuse
(details)
100.00%
Overuse of "that" (subordinate clause padding)
(details)
100.00%
Paragraph length variance
(details)
98.77%
Passive voice overuse
(details)
55.70%
Past progressive (was/were + -ing) overuse
(details)
100.00%
Em-dash & semicolon overuse
(details)
100.00%
Purple prose (modifier overload)
(details)
100.00%
Repeated phrase echo
(details)
100.00%
Sentence length variance
(details)
36.43%
Sentence opener variety
(details)
100.00%
Adverb-first sentence starts
(details)
0.00%
Pronoun-first sentence starts
(details)
20.61%
Subject-first sentence starts
(details)
0.00%
Subordinate conjunction sentence starts
(details)
80.75%
Technical jargon density
(details)
34.09%
Useless dialogue additions
(details)
100.00%
Dialogue tag variety (said vs. fancy)
(details)
79.4589%
Overall
Model input
System
You are an expert novelist with a gift for vivid, immersive prose. You write in tight third-person limited point of view with a strong narrative voice. Your prose is clean, precise, and engaging — you favor strong verbs, concrete details, and natural-sounding dialogue. You will be given a story bible (codex) containing canonical details about characters, locations, items, and lore. Use these details to ground your writing in the established world. Stay consistent with the codex. Write only the prose of the scene. Do not include titles, chapter headings, markdown formatting, or any commentary before or after the scene.
User/Human
<codex> <character id="4412" name="Aurora Carter" aliases="Rory, Laila, Aurora, Carter, Malphora" pronouns="she/her" species="Human" storyRole="Protagonist"> <eyeColor>bright blue</eyeColor> <hair>straight shoulder-length black</hair> <height>5'6"</height> <age>25</age> <scar>small crescent-shaped scar on her left wrist from a childhood accident</scar> <description>Aurora, referred to by her friends as Rory, is cool-headed, intelligent, and known for quick out-of-the-box thinking.</description> <backstory>Born in Cardiff to an Irish barrister father (Brendan Carter) and Welsh teacher mother (Jennifer Carter née Ellis), Rory reluctantly pursued Pre-Law at Cardiff University. She fled to London at the behest of her childhood friend Eva after leaving an abusive ex named Evan. By day, Rory works part-time as a delivery person for Yu-Fei Cheung's Golden Empress restaurant. She lives in a flat above Silas' bar.</backstory> </character> <character id="4415" name="Lucien Moreau" aliases="Lucien, Luc, the Frenchman" pronouns="he/him" species="Half-Demon" storyRole="Ally"> <eyeColor>heterochromatic — one amber, one black</eyeColor> <hair>slicked-back platinum blond</hair> <height>5'11"</height> <age>32</age> <cane>ivory-handled cane that conceals a thin blade</cane> <dress>tailored charcoal suits</dress> <description>An impeccably dressed fixer and information broker in London's supernatural underworld. He speaks four languages fluently.</description> <backstory>Born in Marseille to a human mother and a demon father from the realm of Avaros.</backstory> </character> <location id="858" name="Eva's Flat" aliases="Eva's place, the flat on Brick Lane" realm="Earth"> <cat>tabby cat named Ptolemy</cat> <security>three deadbolts on the front door</security> <description>A cramped one-bedroom flat above a curry house on Brick Lane, East London. Every surface is covered with books, scrolls, and research notes.</description> </location> </codex> Write a fully fleshed out scene of at least 1000 words in the romance genre. Two people who parted on complicated terms are forced together again when one shows up unannounced at the other's flat. There's history between them — attraction, hurt, and things left unsaid. Write the scene from the moment the door opens. Use the codex entries above as your world reference for characters and setting. Only include the prose of the scene without any markdown or commentary.
Model response
Messages
Meta
AI
The three deadbolts had a
rhythm to them. Click, click, click.
The final one was a
heavy, brass thumb-turn that
felt like a seal on a wax letter
.
Aurora stood before the chain
lock, her fingers hovering over the cold metal, her
pulse
humming a nervous, erratic tune against her ribs. Outside, the
silence
of the London evening was a thick,
tangible
thing. She
wasn't expecting
anyone. She
was never expecting
anyone. But then the knock came, light and precise, like a metronome marking time for a song she didn't want to hear again. She moved to the chain, her shoulder-length black hair falling forward to obscure her face for a moment, and peeked through the peephole. The hallway light was dim, casting long shadows against the peeling wallpaper. There he was. Lucien.
She didn't have to wonder
how he found her. He always found things. But seeing him standing there in the hallway, framed by the peeling doorframe, felt like waking up from a dream she hadn't realized she was still trapped inside.
Her eyes adjusted to the
dim light, focusing on the tailored charcoal suit that she knew cost more than her monthly wages at the restaurant.
The fabric was immaculate, untouched
by the dust of the commute or the humidity of the city.
He held it differently than
she remembered—sharper, more contained. Her thumb turned the lock.
It clicked open with a
finality that made her breath catch.
She undid the chain, and
the door swung inward to reveal him fully.
Lucien Moreau stood five feet
eleven inches of composed
tension
.
The air changed the moment
the latch dissolved.
It grew heavier, charged with
the ozone smell of the supernatural he always carried beneath the cologne and the dry smoke of the clubs he frequented.
He didn't look at the
cat that sat on the floor near the coat rack—Ptolemy, the tabby who usually ignored the intruders unless they brought food.
Lucien’s gaze was locked solely
on her. One of his eyes was a warm, human brown, the other a deep, void-like black. That heterochromatic stare had always
unsettled
her, but now, with the flatness of his expression, it felt predatory. "Aurora," he said. The word was smooth, French vowels softened by years spent
navigating
the London underworld. "Lucien," she replied.
Her voice sounded thin in
the cramped hallway.
She stepped back, allowing him
entry, though the instinct to slam the door and call for her father was a phantom limb twitching in her chest. "You found it." "I found it,"
he said, stepping into the
room. He didn't wipe his shoes. He never did. The
silence
between them stretched, heavy with the history of the things they hadn't said when he left. "I thought I should check on you. Since you vanished." "I didn't vanish. I lived."
She crossed her arms, her
hands gripping her own forearms. The small crescent scar on her left wrist peeked out from under her sleeve.
She had worn it all
through the legal studies, all through the heartbreak, all through the escape. "Eva isn't here. You can't just barge in." "I didn't barge. I knocked." Lucien reached up to touch the ivory handle of his cane, leaning it casually against his thigh.
It looked like a walking
stick, but Rory knew the
weight
of it knew it concealed a blade. He shifted his
weight
, the leather of his dress shoes sighing against the floorboards. "I'm here because the information about Evan..." "Don't say it." She closed the distance to the door, though she didn't turn the lock again. "He's gone. I don't need you to tell me he's not coming back." "Is that what you told yourself?" Lucien took a step closer. The flat smelled of curry spices from the floor below, mixing with the paper and ink of the stacks of books scattered along the walls. Scrolls and research notes covered every surface he passed, as if they
were trying
to bury the space. He moved toward the sofa, brushing a finger over a stack of books. "You're shaking." "I'm not." "You're shaking."
He looked up, his amber eye narrowing slightly
. He was close now. She
could feel
the heat radiating from his body. He was dangerous, and she was the only one who knew it. That was the history between them. The way he watched her, the way he always knew where she went when she thought she
was hidden
. He was the fixer who cleaned up the messes she
tried to
make for herself. "Luc, I have a life. I work deliveries. I go to university. I don't have time for you to show up like a ghost in a suit." "Silence is safer than a life of noise," he said. He turned to face her fully, the shadows in the room playing across his face. "And I don't think you're safe." "I'm right here in the flat above the curry house. Three deadbolts. A cat with a temper. You think that's where the trouble comes from?" "It's not the flat I'm worried about." His voice dropped an octave, the English rolling into a rhythm she recognized from the late nights he used to spend in her company before she ran. "It's the things that follow you. They smell like the people you used to be." He stepped closer, invading her space. The attraction snapped between them like a physical wire, hot and sudden. He reached out, his hand moving toward her arm, but stopped an inch before making contact. He
was testing
her reaction. Always testing. "You look well," he said. "So do you." She didn't pull away, though her heart hammered against her ribs. "You look tired, Lucien." "I am." He dropped his hand, the movement careful, like an actor knowing the stage cues. "You know I can help you clear his name. Or at least
ensure
you never have to deal with him again." "He's not coming back. I made sure of it." She pushed off the wall, her blue eyes flashing with the frustration she couldn't hide. "I don't need a fixer. I don't need a savior." Lucien's smile was sharp, barely there. "You never needed me, did you? You just needed the things I know." "It's complicated." "It always is." He tapped the ivory handle of his cane against the floorboard. "I'm not here to drag you back to the life you left. I'm here because I saw him." The room
seemed to
tilt. "You saw him?" "He's back in Cardiff. He made a phone call. I intercepted it." Lucien's voice was level, but his eyes were dark with
tension
. "He's not dead, Rory." She felt the color drain from her face. The floor felt too soft. "He's dead," she whispered. "I know it is." "I didn't say that. I said he made a call. That means he's looking for you." Lucien took a step toward her, closing the gap until she could smell the tobacco on his breath, the steel of the blade hidden beneath the cane. "You can't stay here, not for long." "I have nowhere to go." "You have me." The offer
hung in the air
, dangerous and tempting. "We go to Marseille. I know a contact." She looked at him,
really
looked at him. The platinum blond hair slicked back, the tailored suit that cost more than her life, the eyes that saw more than they should. There was a
warmth
in his gaze that she had chased for so long, that she had run away from the moment he became a problem. "I'm a delivery driver, Lucien. I drop food off at people's doors. I don't do... anything else." "You do more than that." He reached out then, his fingers brushing a strand of black hair behind her ear. His touch was light, a ghost of a kiss on her skin. "You're the most intelligent person I know. You think in ways I can't predict." His hand lingered there. The
silence
stretched, thick with the unsaid. He knew why she left. He knew the name Evan. He knew the fear she carried like a second skin. And he knew there were better options for her, if she would only let him open the door to them. "I can't leave,"
she said, but her voice lacked conviction
. "I can't leave this flat. I can't leave..." "I know," he said. He stepped back, the moment breaking as the distance returned. He tapped his cane on the floor again. "The point is, you have to decide. Do you stay and hide? Or do you leave and fight?" She looked at the door, then at the books, then back to him. "When will you be back?" "I don't come back to this part of London," he said. "I come back when you call me." She walked to the door, her movements stiff. She placed her hand on the lock. "It's late, Lucien." "It never gets late for me." He turned, looking over his shoulder at the stacks of books, the clutter of her life. "Goodbye, Aurora." "Goodbye, Luc." He left without closing the door. She heard his
footsteps
recede down the hallway, then the soft click of the door closing. The deadbolts were still undone. She stood there in the dim light, the smell of curry rising from the floor below, the
silence
returning to the room. She looked at her wrist,
tracing
the crescent scar. It was just a mark from a childhood accident, but tonight it
felt like the only thing that was real
. She turned the thumb lock. Then the deadbolts. Then the chain.
Only when she heard the
cat purr from the corner did she
realize
she
was still holding
her breath. She let it out, a long, shuddering exhale that fogged the air. But the
warmth
of his hand on her cheek lingered, a ghost of a touch that promised trouble, and comfort, and a life she couldn't afford to miss.
created_at
"2026-02-25T23:57:15.416Z"
2/25/2026, 11:57:15 PM
model
"qwen/qwen3.5-flash-20260224"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
509
moderation_latency
(null)
generation_time
37439
tokens_prompt
808
tokens_completion
5449
native_tokens_prompt
806
native_tokens_completion
5201
native_tokens_completion_images
(null)
native_tokens_reasoning
3025
native_tokens_cached
0
num_media_prompt
(null)
num_input_audio_prompt
(null)
num_media_completion
0
num_search_results
(null)
origin
"https://ncbench.com/"
is_byok
false
finish_reason
"stop"
native_finish_reason
"stop"
usage
0.002161
router
(null)
provider_responses
0
endpoint_id
"5f6b71b5-8672-4b27-8b2d-f674429f9e63"
id
"chatcmpl-8bfb9444-88cd-90e3-9dc3-c42f18ec5a0f"
is_byok
false
latency
509
model_permaslug
"qwen/qwen3.5-flash-20260224"
provider_name
"Alibaba"
status
200
api_type
"completions"
id
"gen-1772063835-uEZxxSGKb9NzDkt0oZZD"
upstream_id
"chatcmpl-8bfb9444-88cd-90e3-9dc3-c42f18ec5a0f"
total_cost
0.002161
cache_discount
(null)
upstream_inference_cost
0
provider_name
"Alibaba"
Evaluation details
Result
Evaluator
Details
Meta Data
100.00%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
22
adverbTagCount
0
adverbTags
(empty)
dialogueSentences
56
tagDensity
0.393
leniency
0.786
rawRatio
0
effectiveRatio
0
94.00%
AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount
1667
totalAiIsmAdverbs
2
found
0
adverb
"slightly"
count
1
1
adverb
"really"
count
1
highlights
0
"slightly"
1
"really"
100.00%
AI-ism character names
Target: 0 AI-default names (17 tracked, −20% each)
codexExemptions
(empty)
found
(empty)
100.00%
AI-ism location names
Target: 0 AI-default location names (33 tracked, −20% each)
codexExemptions
(empty)
found
(empty)
40.01%
AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount
1667
totalAiIsms
20
found
0
word
"pulse"
count
1
1
word
"silence"
count
5
2
word
"tangible"
count
1
3
word
"tension"
count
2
4
word
"charged"
count
1
5
word
"unsettled"
count
1
6
word
"navigating"
count
1
7
word
"weight"
count
2
8
word
"could feel"
count
1
9
word
"ensure"
count
1
10
word
"warmth"
count
2
11
word
"footsteps"
count
1
12
word
"tracing"
count
1
highlights
0
"pulse"
1
"silence"
2
"tangible"
3
"tension"
4
"charged"
5
"unsettled"
6
"navigating"
7
"weight"
8
"could feel"
9
"ensure"
10
"warmth"
11
"footsteps"
12
"tracing"
100.00%
Cliché density
Target: ≤1 cliche(s) per 800-word window
totalCliches
1
maxInWindow
1
found
0
label
"hung in the air"
count
1
highlights
0
"hung in the air"
100.00%
Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells
0
narrationSentences
108
matches
(empty)
100.00%
Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount
1
hedgeCount
2
narrationSentences
108
filterMatches
0
"realize"
hedgeMatches
0
"tried to"
1
"seemed to"
100.00%
Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences
140
gibberishSentences
0
adjustedGibberishSentences
0
longSentenceCount
0
runOnParagraphCount
0
giantParagraphCount
0
wordSaladCount
0
repetitionLoopCount
0
controlTokenCount
0
maxSentenceWordsSeen
43
ratio
0
matches
(empty)
100.00%
Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans
0
markdownWords
0
totalWords
1665
ratio
0
matches
(empty)
100.00%
Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions
16
unquotedAttributions
0
matches
(empty)
100.00%
Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions
16
wordCount
1253
uniqueNames
8
maxNameDensity
0.64
worstName
"Lucien"
maxWindowNameDensity
1.5
worstWindowName
"Lucien"
discoveredNames
London
2
Moreau
1
Ptolemy
1
French
1
Rory
1
Lucien
8
English
1
Evan
1
persons
0
"Moreau"
1
"Rory"
2
"Lucien"
3
"English"
4
"Evan"
places
0
"London"
globalScore
1
windowScore
1
23.42%
Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences
79
glossingSentenceCount
4
matches
0
"felt like a seal on a wax letter"
1
"felt like waking up from a dream she ha"
2
"looked like a walking stick, but Rory kne"
3
"felt like the only thing that was real"
100.00%
"Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches
0
per1kWords
0
wordCount
1665
matches
(empty)
100.00%
Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount
0
totalSentences
140
matches
(empty)
100.00%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
47
mean
35.43
std
22.66
cv
0.64
sampleLengths
0
94
1
39
2
92
3
29
4
77
5
33
6
17
7
40
8
45
9
54
10
61
11
30
12
69
13
2
14
75
15
27
16
31
17
25
18
49
19
41
20
5
21
18
22
37
23
34
24
19
25
2
26
32
27
8
28
27
29
21
30
50
31
5
32
20
33
57
34
17
35
46
36
51
37
18
38
40
39
18
40
18
41
18
42
24
43
2
44
27
45
62
46
59
98.77%
Passive voice overuse
Target: ≤2% passive sentences
passiveCount
2
totalSentences
108
matches
0
"was locked"
1
"was hidden"
55.70%
Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount
5
totalVerbs
231
matches
0
"wasn't expecting"
1
"was never expecting"
2
"were trying"
3
"was testing"
4
"was still holding"
100.00%
Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount
2
semicolonCount
0
flaggedSentences
2
totalSentences
140
ratio
0.014
matches
0
"He held it differently than she remembered—sharper, more contained."
1
"He didn't look at the cat that sat on the floor near the coat rack—Ptolemy, the tabby who usually ignored the intruders unless they brought food."
100.00%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
1257
adjectiveStacks
0
stackExamples
(empty)
adverbCount
49
adverbRatio
0.03898170246618934
lyAdverbCount
14
lyAdverbRatio
0.011137629276054098
100.00%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
140
echoCount
0
echoWords
(empty)
100.00%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
140
mean
11.89
std
7.86
cv
0.661
sampleLengths
0
8
1
3
2
17
3
23
4
12
5
4
6
5
7
22
8
23
9
12
10
3
11
1
12
9
13
4
14
28
15
25
16
17
17
9
18
5
19
11
20
13
21
10
22
8
23
26
24
26
25
7
26
15
27
18
28
3
29
14
30
3
31
8
32
26
33
3
34
9
35
5
36
3
37
18
38
10
39
15
40
14
41
17
42
8
43
22
44
18
45
14
46
7
47
17
48
13
49
11
36.43%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
19
diversityRatio
0.21428571428571427
totalSentences
140
uniqueOpeners
30
100.00%
Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount
3
totalSentences
99
matches
0
"Then the deadbolts."
1
"Then the chain."
2
"Only when she heard the"
ratio
0.03
0.00%
Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount
59
totalSentences
99
matches
0
"She wasn't expecting anyone."
1
"She was never expecting anyone."
2
"She moved to the chain,"
3
"She didn't have to wonder"
4
"He always found things."
5
"Her eyes adjusted to the"
6
"He held it differently than"
7
"Her thumb turned the lock."
8
"It clicked open with a"
9
"She undid the chain, and"
10
"It grew heavier, charged with"
11
"He didn't look at the"
12
"Her voice sounded thin in"
13
"She stepped back, allowing him"
14
"he said, stepping into the"
15
"He didn't wipe his shoes."
16
"He never did."
17
"She crossed her arms, her"
18
"She had worn it all"
19
"It looked like a walking"
ratio
0.596
20.61%
Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount
87
totalSentences
99
matches
0
"The three deadbolts had a"
1
"The final one was a"
2
"Aurora stood before the chain"
3
"She wasn't expecting anyone."
4
"She was never expecting anyone."
5
"She moved to the chain,"
6
"The hallway light was dim,"
7
"She didn't have to wonder"
8
"He always found things."
9
"Her eyes adjusted to the"
10
"The fabric was immaculate, untouched"
11
"He held it differently than"
12
"Her thumb turned the lock."
13
"It clicked open with a"
14
"She undid the chain, and"
15
"Lucien Moreau stood five feet"
16
"The air changed the moment"
17
"It grew heavier, charged with"
18
"He didn't look at the"
19
"Lucien’s gaze was locked solely"
ratio
0.879
0.00%
Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount
0
totalSentences
99
matches
(empty)
ratio
0
80.75%
Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences
46
technicalSentenceCount
4
matches
0
"The final one was a heavy, brass thumb-turn that felt like a seal on a wax letter."
1
"Aurora stood before the chain lock, her fingers hovering over the cold metal, her pulse humming a nervous, erratic tune against her ribs."
2
"It clicked open with a finality that made her breath catch."
3
"He reached out, his hand moving toward her arm, but stopped an inch before making contact."
34.09%
Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags
22
uselessAdditionCount
4
matches
0
"She crossed, her hands gripping her own forearms"
1
"He looked up, his amber eye narrowing slightly"
2
"She didn't, though her heart hammered against her ribs"
3
"she said, but her voice lacked conviction"
100.00%
Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags
8
fancyCount
0
fancyTags
(empty)
dialogueSentences
56
tagDensity
0.143
leniency
0.286
rawRatio
0
effectiveRatio
0
79.4589%