NC Bench
Overview
About
Tests
Models
Vendors
Run: 2026-02-20-01KHY8G1QPXK2KA026MMJZ62YM
Run Details
Model:
Gemma 3 4B
Test:
Bad Writing Habits
Scenario:
Literary fiction: old friends reunite
Duration:
20.9s
Cost:
$0.000191
Provider:
DeepInfra
Evaluation summary
Score
Evaluator
Details Link
100.00%
Adverbs in dialogue tags
(details)
91.99%
AI-ism adverb frequency
(details)
100.00%
AI-ism character names
(details)
100.00%
AI-ism location names
(details)
15.93%
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)
100.00%
Narrator intent-glossing
(details)
39.62%
"Not X but Y" pattern overuse
(details)
100.00%
Overuse of "that" (subordinate clause padding)
(details)
100.00%
Paragraph length variance
(details)
100.00%
Passive voice overuse
(details)
100.00%
Past progressive (was/were + -ing) overuse
(details)
100.00%
Em-dash & semicolon overuse
(details)
86.39%
Purple prose (modifier overload)
(details)
100.00%
Repeated phrase echo
(details)
100.00%
Sentence length variance
(details)
57.58%
Sentence opener variety
(details)
0.00%
Adverb-first sentence starts
(details)
0.00%
Pronoun-first sentence starts
(details)
7.62%
Subject-first sentence starts
(details)
0.00%
Subordinate conjunction sentence starts
(details)
95.24%
Technical jargon density
(details)
0.00%
Useless dialogue additions
(details)
11.54%
Dialogue tag variety (said vs. fancy)
(details)
73.5301%
Overall
Model input
System
You are an expert fiction writer. Always keep the following rules in mind: - Write in past tense and use General English spelling, grammar, and colloquialisms/slang. - Write in active voice - Always follow the "show, don't tell" principle. - Avoid adverbs and cliches and overused/commonly used phrases. Aim for fresh and original descriptions. - Convey events and story through dialogue. - Mix short, punchy sentences with long, descriptive ones. Drop fill words to add variety. - Skip "he/she said said" dialogue tags and convey people's actions or face expressions through their speech - Avoid mushy dialog and descriptions, have dialogue always continue the action, never stall or add unnecessary fluff. Vary the descriptions to not repeat yourself. - Put dialogue on its own paragraph to separate scene and action. - Reduce indicators of uncertainty like "trying" or "maybe" When writing text: - NEVER conclude the scene on your own, follow the beat instructions very closely. - NEVER end with foreshadowing. - NEVER write further than what I prompt you with. - AVOID imagining possible endings, NEVER deviate from the instructions. - STOP EARLY if the continuation contains what was required in the instructions. You do not need to fill out the full amount of words possible.
User/Human
Take into account the following glossary of characters/locations/items/lore... when writing your response: <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="4413" name="Silas Blackwood" aliases="Silas, Si, the Spymaster" pronouns="he/him" species="Human" storyRole="Mentor"> <eyeColor>hazel</eyeColor> <hair>grey-streaked auburn</hair> <height>6'1"</height> <age>58</age> <beard>neatly trimmed, matching his grey-streaked auburn hair</beard> <limp>slight limp in his left leg from an old knee injury</limp> <signetRing>silver signet ring, always worn on his right hand</signetRing> <description>Silas is a retired intelligence operative turned bar owner. He carries himself with quiet authority.</description> <backstory>Former MI6 field agent who retired after a botched operation in Prague left him with a permanent knee injury. He opened "The Raven's Nest" bar in Soho as a front for his network of contacts.</backstory> </character> <location id="854" name="The Raven's Nest" aliases="the Nest, Raven, Silas' bar" realm="Earth"> <signColor>distinctive green neon sign above the entrance</signColor> <secretRoom>hidden back room accessible through a bookshelf, used for clandestine meetings</secretRoom> <description>A dimly lit bar in Soho, London. The walls are covered with old maps and black-and-white photographs.</description> </location> </codex> Continue the story using the following instructions: <instructions> Write a fully fleshed out scene of at least 1000 words in the literary fiction genre. Two old friends who haven't seen each other in years run into each other unexpectedly at a bar. One of them has changed significantly. Through their conversation and the tension between who they were and who they've become, reveal the weight of time and unspoken regret. 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. </instructions>
Model response
Messages
Meta
AI
The rain hammered against the
windows of The Raven’s Nest, a steady, insistent rhythm mirroring
the
slow burn in my chest.
Silas polished glasses behind the
bar,
the
silver of his signet ring flashing in
the
dim light.
He didn't look up when
I entered, just continued his work, a practiced, economical motion.
The air hung thick with
the
smell of gin and stale cigarettes.
I found a stool at
the
far end,
the
worn leather cool against my jeans.
A shadow fell across my
table. “Rory?” The voice was gravelly, unfamiliar. I turned. Standing there, a little unsteady, was Liam.
Not *the* Liam, not the Liam from school, but a version of him sculpted by a decade of hard living
and something darker.
His hair was shorter, threaded
with grey at
the
temples.
Scars, thin and white, crisscrossed
his knuckles.
He’d traded the nervous energy
of youth for a stillness that felt… brittle. “Liam,”
I replied, the word tasting
like ash.
He pulled out a chair
and sat,
the
metal legs scraping against
the
floor. He didn’t smile. “Wow. You haven’t changed much.” “That’s not entirely true,”
I said, gesturing to my
work uniform. “Delivery girl. Not exactly glamorous.” “Golden Empress,”
he stated, stating the obvious
. “Cheung’s place. Good food.” A
silence
stretched between us, punctuated only by
the
rain and
the
muted murmur of conversation from
the
handful of other patrons. It felt like an eternity. Like wading through thick mud. “You look… weathered,”
I finally offered
.
He tilted his head, considering
me. “You look… like you’ve been carrying something.” I didn’t answer. How could I? There was a
weight
, a constant companion, that I’d been hauling for years. It wasn’t a physical thing, not exactly. “So,”
he began, swirling the amber
liquid in his glass. “What brings you to Silas’ little corner of Soho?” “Needed a quiet drink,”
I shrugged, avoiding his gaze
. “It’s been a day.” “Always is, isn't it?”
He took a long swallow
of his whiskey. “You seemed…
determined
, back then. All that studying,
the
ambition. Law school?” “Left before I finished,”
I said, the words tumbling
out, a dam breaking. “Didn't fit.” “Evan?”
He prompted, his eyes sharp
. I pushed my glass away. “Don’t.” He didn't argue. He simply observed, a silent, assessing presence. “He wasn’t good for you,” he stated flatly. “He was… complicated,”
I conceded, the familiar defenses rising
. ‘Complicated’ was my go-to, my shield against unpacking
the
ugly truth. “Complicated often translates to abusive,”
he said, his voice low
. “You ran. That takes guts.” “I needed to,” I said,
the
phrasing clipped. “Eva helped me get away.” “Eva,” he repeated,
the
name tasting like a ghost. “Last I heard, she was off backpacking through Southeast Asia. Living some kind of… nomadic life.” “She is,” I confirmed. “She's happy.” Another
silence
settled, heavier this time. “I… I haven’t been.” He finally looked me in
the
eye, and
the
hazel
depths
held a
flicker
of something raw, something wounded. “I’ve been… moving. Jobs. Places. Trying to avoid everything.” “Trying?” I raised an
eyebrow
. “It’s not working,”
he admitted, a humorless chuckle escaping his lips
. "Each place I go, it's always
the
same. The fight. The darkness." I studied his face,
the
lines
etched
around his eyes,
the
subtle
tension
in his jaw. It wasn’t just
the
tattoos snaking across his arms,
the
signs of a life lived on
the
wrong side of
the
law. It was something deeper, something that
resonated
with
the
echoes
of my own past. “You look like you’ve been fighting a war,”
I said, my voice softer now
. He didn’t deny it. He just nodded, his eyes fixed on
the
rain-streaked windows. “It doesn’t end. It just… changes shape.” “What happened?” The question
hung in the air
, a fragile plea for understanding. He hesitated, his hands
clenching
around
the
glass. “Let’s just say Prague wasn't a vacation. MI6… they didn’t appreciate my methods.” He paused, taking a deep breath. "A sting operation went sideways. Lost a lot of good people. Myself included." He referred to
the
limp with a slight, almost imperceptible movement of his leg. "Silas helped me when I left," he said. "He doesn't ask questions, just offers a drink and a quiet corner." “Silas?” I knew him from
the
bar, a
solitary
figure with a reputation for discretion. I’d occasionally seen him talking to Liam, brief, guarded exchanges. “He’s a good listener," Liam said, a rare, almost vulnerable expression crossing his face. "He reminds me that sometimes,
the
only victory is surviving
the
night." “I always thought you were… different,”
I said, the words surprising even myself
. “Ambitious. Focused.” “That was a performance,” he said, a sardonic twist to his lips. “A mask I wore to keep people at arm’s length. Learned
the
hard way that trust is a luxury I can’t afford.” The rain intensified, drumming against
the
glass like a frantic heartbeat. I looked around
the
bar, at
the
shadowy figures huddled in booths, at Silas polishing glasses with a practiced precision. It was a
sanctuary
, a place where secrets
were traded
and lives
were lived
in
the
margins. “You ever think about… what could have been?”
he asked, his voice barely audible above the rain
. I considered
the
question, a tangle of memories and regrets. There were so many ‘what ifs’ swirling within me, ghosts of paths not taken, of choices made in
the
heat of
the
moment. But with Liam,
the
regret felt sharper, more immediate,
the
wound more recent. “Sometimes,”
I admitted, my voice low
. “I wonder about Cardiff. About school.” "Did you ever go back?" "Not
really
. Not after...everything." He took another drink, his gaze distant. “I tried to find Eva once,”
he said, his voice strained
. “Used some contacts. Found her… okay. She’s built a life. A good one, apparently. Happy. I left a message. Didn’t expect a response.” He looked up at me, a
flicker
of
something akin to pain in his eyes
. "It didn't change anything." “It’s not your fault,”
I said, instinctively
. “You can’t force anyone to… fit back into your life.” “Maybe,” he conceded. “Or maybe I just wasn’t worth
the
effort.” The
silence
returned, heavier than before, laden with
unspoken
accusations and
the
crushing
weight
of time. I reached across
the
table and
gently
touched his hand. He didn’t pull away. “It’s raining hard,”
I observed, attempting to lighten the mood
. He nodded, his gaze still fixed on
the
rain. “It always seems to rain when we run into each other.” "Or when we remember,"
I said, the words catching in my throat
. He finally met my gaze, his eyes shadowed with a sorrow that mirrored my own. “Let’s just… not talk about it,”
he said, his voice firm, determined
. “Let’s just have a drink.” And for a moment, suspended in
the
dim light of The Raven’s Nest, surrounded by
the
relentless drumming of
the
rain, I understood. Some things were better left unsaid, some wounds were too deep to heal. We were strangers now, irrevocably shaped by
the
choices we’d made,
the
paths we’d taken. Silas placed a fresh whiskey in front of Liam. He raised his glass in a silent toast, then turned back to
the
bar, resuming his work with a quiet efficiency. The rain continued to fall, washing against
the
windows, a constant
reminder
of
the
relentless passage of time, and
the
inescapable truth that some encounters, no matter how unexpected, simply left you feeling… colder.
created_at
"2026-02-20T19:30:15.428Z"
2/20/2026, 7:30:15 PM
model
"google/gemma-3-4b-it"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
152
moderation_latency
(null)
generation_time
20712
tokens_prompt
1117
tokens_completion
2066
native_tokens_prompt
1039
native_tokens_completion
1867
native_tokens_completion_images
(null)
native_tokens_reasoning
0
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.00019092
router
(null)
provider_responses
0
endpoint_id
"d3de3bd4-81bc-48fb-924f-2a87b2a36e75"
id
"chatcmpl-RLct7dMGvYxCVcP6aP3iilbX"
is_byok
false
latency
49
model_permaslug
"google/gemma-3-4b-it"
provider_name
"DeepInfra"
status
200
api_type
"completions"
id
"gen-1771615815-6s4iO1Bucy3g5Od77WFu"
upstream_id
"chatcmpl-RLct7dMGvYxCVcP6aP3iilbX"
total_cost
0.00019092
cache_discount
(null)
upstream_inference_cost
0
provider_name
"DeepInfra"
Evaluation details
Result
Evaluator
Details
Meta Data
100.00%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
34
adverbTagCount
1
adverbTags
0
"he stated flatly [flatly]"
dialogueSentences
65
tagDensity
0.523
leniency
1
rawRatio
0.029
effectiveRatio
0.029
91.99%
AI-ism adverb frequency
Target: <2% AI-ism adverbs (58 tracked)
wordCount
1249
totalAiIsmAdverbs
2
found
0
adverb
"really"
count
1
1
adverb
"gently"
count
1
highlights
0
"really"
1
"gently"
100.00%
AI-ism character names
Target: 0 AI-default names (16 tracked, −20% each)
codexExemptions
0
"Blackwood"
found
(empty)
100.00%
AI-ism location names
Target: 0 AI-default location names (33 tracked, −20% each)
codexExemptions
(empty)
found
(empty)
15.93%
AI-ism word frequency
Target: <2% AI-ism words (290 tracked)
wordCount
1249
totalAiIsms
21
found
0
word
"silence"
count
3
1
word
"weight"
count
2
2
word
"determined"
count
2
3
word
"familiar"
count
1
4
word
"depths"
count
1
5
word
"flicker"
count
2
6
word
"eyebrow"
count
1
7
word
"etched"
count
1
8
word
"tension"
count
1
9
word
"resonated"
count
1
10
word
"echoes"
count
1
11
word
"clenching"
count
1
12
word
"solitary"
count
1
13
word
"sanctuary"
count
1
14
word
"unspoken"
count
1
15
word
"reminder"
count
1
highlights
0
"silence"
1
"weight"
2
"determined"
3
"familiar"
4
"depths"
5
"flicker"
6
"eyebrow"
7
"etched"
8
"tension"
9
"resonated"
10
"echoes"
11
"clenching"
12
"solitary"
13
"sanctuary"
14
"unspoken"
15
"reminder"
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
90
matches
(empty)
100.00%
Filter word density
Target: ≤3% sentences with filter/hedge words
filterCount
0
hedgeCount
0
narrationSentences
90
filterMatches
(empty)
hedgeMatches
(empty)
100.00%
Gibberish response detection
Target: ≤1% gibberish-like sentences (hard fail if a sentence exceeds 800 words)
analyzedSentences
121
gibberishSentences
0
adjustedGibberishSentences
0
longSentenceCount
0
runOnParagraphCount
0
giantParagraphCount
0
wordSaladCount
0
repetitionLoopCount
0
controlTokenCount
0
maxSentenceWordsSeen
38
ratio
0
matches
(empty)
100.00%
Markdown formatting overuse
Target: ≤5% words in markdown formatting
markdownSpans
1
markdownWords
1
totalWords
1247
ratio
0.001
matches
0
"the"
100.00%
Missing dialogue indicators (quotation marks)
Target: ≤10% speech attributions without quotation marks
totalAttributions
30
unquotedAttributions
0
matches
(empty)
100.00%
Name drop frequency
Target: ≤1.0 per-name mentions per 100 words
totalMentions
14
wordCount
846
uniqueNames
4
maxNameDensity
0.83
worstName
"Liam"
maxWindowNameDensity
1.5
worstWindowName
"Liam"
discoveredNames
Raven
2
Nest
2
Liam
7
Silas
3
persons
0
"Raven"
1
"Nest"
2
"Liam"
3
"Silas"
places
(empty)
globalScore
1
windowScore
1
100.00%
Narrator intent-glossing
Target: ≤2% narration sentences with intent-glossing patterns
analyzedSentences
62
glossingSentenceCount
1
matches
0
"something akin to pain in his eyes"
39.62%
"Not X but Y" pattern overuse
Target: ≤1 "not X but Y" per 1000 words
totalMatches
2
per1kWords
1.604
wordCount
1247
matches
0
"Not *the* Liam, not the Liam from school, but a version of him sculpted by a decade of hard living"
1
"not the Liam from school, but a version of him sculpted by a decade of hard living"
100.00%
Overuse of "that" (subordinate clause padding)
Target: ≤2% sentences with "that" clauses
thatCount
0
totalSentences
121
matches
(empty)
100.00%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
54
mean
23.09
std
17.88
cv
0.774
sampleLengths
0
80
1
6
2
1
3
67
4
8
5
22
6
16
7
11
8
32
9
6
10
13
11
26
12
19
13
13
14
24
15
15
16
6
17
6
18
18
19
20
20
15
21
13
22
25
23
6
24
10
25
28
26
5
27
23
28
52
29
14
30
21
31
13
32
54
33
20
34
25
35
26
36
15
37
34
38
48
39
17
40
46
41
12
42
5
43
4
44
60
45
17
46
11
47
30
48
10
49
20
100.00%
Passive voice overuse
Target: ≤2% passive sentences
passiveCount
1
totalSentences
90
matches
0
"were traded"
1
"were lived"
100.00%
Past progressive (was/were + -ing) overuse
Target: ≤2% past progressive verbs
pastProgressiveCount
0
totalVerbs
155
matches
(empty)
100.00%
Em-dash & semicolon overuse
Target: ≤2% sentences with em-dashes/semicolons
emDashCount
0
semicolonCount
0
flaggedSentences
0
totalSentences
121
ratio
0
matches
(empty)
86.39%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
522
adjectiveStacks
0
stackExamples
(empty)
adverbCount
29
adverbRatio
0.05555555555555555
lyAdverbCount
9
lyAdverbRatio
0.017241379310344827
100.00%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
121
echoCount
0
echoWords
(empty)
100.00%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
121
mean
10.31
std
6.55
cv
0.635
sampleLengths
0
21
1
17
2
15
3
12
4
15
5
6
6
1
7
5
8
2
9
7
10
23
11
10
12
7
13
12
14
1
15
8
16
14
17
3
18
5
19
11
20
5
21
7
22
4
23
22
24
5
25
5
26
6
27
6
28
7
29
3
30
3
31
13
32
7
33
10
34
9
35
9
36
4
37
12
38
12
39
13
40
2
41
6
42
5
43
1
44
3
45
7
46
8
47
9
48
11
49
10
57.58%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
12
diversityRatio
0.4049586776859504
totalSentences
121
uniqueOpeners
49
0.00%
Adverb-first sentence starts
Target: ≥3% sentences starting with an adverb
adverbCount
0
totalSentences
84
matches
(empty)
ratio
0
0.00%
Pronoun-first sentence starts
Target: ≤30% sentences starting with a pronoun
pronounCount
61
totalSentences
84
matches
0
"He didn't look up when"
1
"I found a stool at"
2
"His hair was shorter, threaded"
3
"He’d traded the nervous energy"
4
"I replied, the word tasting"
5
"He pulled out a chair"
6
"He didn’t smile."
7
"I said, gesturing to my"
8
"he stated, stating the obvious"
9
"It felt like an eternity."
10
"I finally offered"
11
"He tilted his head, considering"
12
"I didn’t answer."
13
"It wasn’t a physical thing,"
14
"he began, swirling the amber"
15
"I shrugged, avoiding his gaze"
16
"He took a long swallow"
17
"I said, the words tumbling"
18
"He prompted, his eyes sharp"
19
"I pushed my glass away."
ratio
0.726
7.62%
Subject-first sentence starts
Target: ≤72% sentences starting with a subject
subjectCount
76
totalSentences
84
matches
0
"The rain hammered against the"
1
"Silas polished glasses behind the"
2
"He didn't look up when"
3
"The air hung thick with"
4
"I found a stool at"
5
"A shadow fell across my"
6
"The voice was gravelly, unfamiliar."
7
"His hair was shorter, threaded"
8
"Scars, thin and white, crisscrossed"
9
"He’d traded the nervous energy"
10
"I replied, the word tasting"
11
"He pulled out a chair"
12
"He didn’t smile."
13
"I said, gesturing to my"
14
"he stated, stating the obvious"
15
"A silence stretched between us,"
16
"It felt like an eternity."
17
"I finally offered"
18
"He tilted his head, considering"
19
"I didn’t answer."
ratio
0.905
0.00%
Subordinate conjunction sentence starts
Target: ≥2% sentences starting with a subordinating conjunction
subConjCount
0
totalSentences
84
matches
(empty)
ratio
0
95.24%
Technical jargon density
Target: ≤6% sentences with technical-jargon patterns
analyzedSentences
30
technicalSentenceCount
2
matches
0
"It was something deeper, something that resonated with the echoes of my own past."
1
"He finally met my gaze, his eyes shadowed with a sorrow that mirrored my own."
0.00%
Useless dialogue additions
Target: ≤5% dialogue tags with trailing filler fragments
totalTags
34
uselessAdditionCount
15
matches
0
"I said, the words tumbling out, a dam breaking"
1
"He prompted, his eyes sharp"
2
"I conceded, the familiar defenses rising"
3
"he said, his voice low"
4
"he admitted, a humorless chuckle escaping his lips"
5
"I said, my voice softer now"
6
"I said, the words surprising even myself"
7
"he asked, his voice barely audible above the rain"
8
"I admitted, my voice low"
9
"he said, his voice strained"
10
"He looked up, a flicker of something akin to pain in his eyes"
11
"I said, instinctively"
12
"I observed, attempting to lighten the mood"
13
"I said, the words catching in my throat"
14
"he said, his voice firm, determined"
11.54%
Dialogue tag variety (said vs. fancy)
Target: ≤10% fancy dialogue tags
totalTags
24
fancyCount
9
fancyTags
0
"he stated (state)"
1
"he stated flatly (state)"
2
"I conceded (concede)"
3
"he repeated (repeat)"
4
"I confirmed (confirm)"
5
"he admitted (admit)"
6
"I admitted (admit)"
7
"he conceded (concede)"
8
"I observed (observe)"
dialogueSentences
65
tagDensity
0.369
leniency
0.738
rawRatio
0.375
effectiveRatio
0.277
73.5301%