NC Bench
Overview
About
Tests
Models
Vendors
Run: 2026-02-17-01KHMQSTYPQ2QPBX7CCGZBJVEV
Run Details
Model:
GPT-4.1 Nano
Test:
Bad Writing Habits
Scenario:
Romance: separated couple reunites
Duration:
12.2s
Cost:
$0.000590
Provider:
OpenAI
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 sudden rap on the door
echoed
through the cramped confines of Eva’s flat just as Rory
was settling
into her evening routine: a half-eaten bowl of noodles balancing precariously on her knee, her laptop humming
softly
on the cluttered table. She paused, eyebrows
furrowing
, as if the sound had shattered some fragile peace she hadn’t realized she
was holding
onto. The knock came again, louder this time, impatient, persistent. Rory’s heart skipped a beat, her fingers tightening briefly around the chopsticks. Curious—or perhaps cautious—she leaned forward, glancing at the door with a mixture of wariness and mild irritation. “Who the hell…?” She hesitated, then
slowly
got to her feet, slipping her phone into her pocket before padding across the uneven floorboards. The door, a battered wooden thing she’d never bothered to replace,
loomed
in front of her. She reached out, hand hovering over the lock—then paused, her mind kicking into gear. She hesitated, the memory of past betrayals
flicker
ing somewhere behind her eyes, but before she could second-guess herself, she unlocked the deadbolt. With a flick of her wrist, she swung the door open. There, standing in the narrow doorway, was Lucien.Moreau. The Frenchman's signature impeccability was in full display, a tailored charcoal suit fitting his lean frame
perfectly
, his slicked-back platinum blond hair catching the dull light from the hallway. His heterochromatic eyes—one amber, one black—locked onto hers with that familiar blend of calm calculation and something far more complicated. In his gloved hand, he clutched the ivory-handled cane. For a moment, neither spoke. Rory’s breath hitched, her eyes narrowing just
slightly
before settling into a guarded expression. Her heart quickened, pounding somewhere behind her ribs, fighting the instinct to close the door again. Lucien tilted his head, a subtle smile creasing the corner of his mouth—a smile that never quite reached his eyes. “Rory,” he said
softly
, as if her name was both a greeting and a warning, “it’s been a while.” The air between them was thick with
unspoken
words, unresolved tension pulsing like quiet static. Rory’s fingers curled instinctively into fists, but she forced herself to stay still. She’d
known—that voice
, that calm, deliberate tone—meant he had a purpose, a reason for this surprise visit. Still, her mind raced with memories she’d long
tried to
suppress: the push and pull, the hurt beneath the surface, the confusing
flicker
of attraction she dared not indulge. “What do you want?” Her voice was steady, but the edge was unmistakable. She lifted her chin
slightly
, unsure whether she felt more like defending herself or just resisting the flood of old feelings. Lucien’s gaze lingered, then he took a slow step forward, the cane tapping
softly
against the threshold. “I need your help. Or perhaps,” he paused, a hint of a smirk tugging at his lips, “I need you to understand something.” Rory’s expression hardened. “Help? From you? After everything?” He tilted his head again, eyes flicking toward her scar—a small crescent-shaped mark on her left wrist that she’d never been able to fully conceal. He saw it, of course. Everyone did. Her past was a wound she’d learned to hide, but with Lucien, it was impossible to
forget that he
had seen her at her most vulnerable. “I wouldn’t be here if I didn’t believe it was necessary,” Lucien said
softly
. “Your skills are unmatched, Rory. And I am well aware of what this city hides beneath its surface. I need your insight. Your intelligence.” She hesitated, the warmth of her instinct to denounce him battling against the faint, lingering sense that perhaps he hadn’t come just to stir trouble or remind her of old wounds. Maybe he’d come because, despite everything, some part of her still remembered the man beneath the polished veneer—the part that had once, fleetingly, believed in something more. “I don’t have time,” she said finally, voice low, trying to keep her trembling emotions at bay. “Whatever’s brought you here, it’s too late for apologies, Lucien. Just go.” He chuckled
softly
, a strange, almost musical sound that
resonated
in the space between them. “So cold,” he said. “I thought you might be. But I remembered something you once said—about knowing when to walk away.” She didn’t step back, but her shoulders stiffened. “Maybe I did. Maybe I don’t anymore.” He studied her for a moment longer, then
slowly
, with an air of undeniable ease, he shifted, and with a graceful movement, pointed the cane at her. “There’s something you should see.” His tone held a quiet seriousness that cut through her defenses. “Something that changes everything.” Her pulse hammered louder, a tense mixture of suspicion and curiosity surging within her. She hesitated, then
slowly
reached out, her hand hovering above the doorframe as if testing whether she
was willing
to give him just a moment more. Beneath her steel exterior, her mind tangled with questions she couldn’t yet voice. The doorway
seemed to
shrink—or expand— depending on her choice. Her gaze
flickered
over Lucien’s face, noting the faint shadows
dancing
in the corners of his eyes, beneath that impeccably calm exterior. Reluctantly, she stepped aside. “Alright. Come in. But if you’re playing some game—” “I’d never,” Lucien replied smoothly, slipping into her flat with effortless grace, cane clicking
softly
against the floor. As he moved past her, she felt the faintest brush of his presence—an
unspoken
electric charge that never quite left them. Rory closed the door behind him a little more firmly than necessary, her shoulders trembling briefly before she steadied herself. She didn’t trust him, not entirely. But that wasn’t what mattered now. What mattered was the
flicker
of something she’d thought buried—an ember of awareness, of longing, ignited anew by his return. And somewhere deep inside, she wondered whether that
flicker
was enough to burn everything down or to finally, perhaps, set her free.
created_at
"2026-02-17T02:45:33.278418+00:00"
2/17/2026, 2:45:33 AM
model
"openai/gpt-4.1-nano-2025-04-14"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
1068
moderation_latency
(null)
generation_time
11991
tokens_prompt
808
tokens_completion
1599
native_tokens_prompt
754
native_tokens_completion
1286
native_tokens_completion_images
0
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
"completed"
usage
0.0005898
router
(null)
provider_responses
0
id
"resp_0888444031030dd1016993d6408d6881969e81ac7d617c0ba9"
status
200
is_byok
false
latency
106
endpoint_id
"9251cee5-5503-4be9-9439-7ae21ff062a3"
provider_name
"OpenAI"
model_permaslug
"openai/gpt-4.1-nano-2025-04-14"
api_type
"completions"
id
"gen-1771296320-FYyiBZSizJqen8a82zp5"
upstream_id
"resp_0888444031030dd1016993d6408d6881969e81ac7d617c0ba9"
total_cost
0.0005898
cache_discount
(null)
upstream_inference_cost
0
provider_name
"OpenAI"
Evaluation details
Result
Evaluator
Details
Meta Data
0.0000%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
6
adverbTagCount
4
adverbTags
0
"he said softly, as if her name was both a greeting and a warning [softly]"
1
"Lucien said softly [softly]"
2
"she said finally, voice low, trying to keep her trembling emotions at bay [finally]"
3
"Lucien replied smoothly, slipping into her flat with effortless grace, cane clicking softly against the floor [smoothly, softly]"
0.0000%
AI-ism adverb frequency
Target: <1% AI-ism adverbs (57 tracked)
wordCount
992
totalAiIsmAdverbs
13
found
0
adverb
"perfectly"
count
1
1
adverb
"reluctantly"
count
1
2
adverb
"slightly"
count
2
3
adverb
"slowly"
count
3
4
adverb
"softly"
count
6
highlights
0
"perfectly"
1
"reluctantly"
2
"slightly"
3
"slowly"
4
"softly"
100.0000%
AI-ism character names
Target: 0 AI-default names (17 tracked, −20% each)
codexExemptions
(empty)
found
(empty)
100.0000%
AI-ism location names
Target: 0 AI-default location names (33 tracked, −20% each)
codexExemptions
(empty)
found
(empty)
0.0000%
AI-ism word frequency
Target: <1% AI-ism words (140 tracked)
wordCount
992
totalAiIsms
11
found
0
word
"resonated"
count
1
1
word
"flickered"
count
1
2
word
"flicker"
count
3
3
word
"loomed"
count
1
4
word
"unspoken"
count
2
5
word
"furrowing"
count
1
6
word
"dancing"
count
1
7
word
"echoed"
count
1
highlights
0
"resonated"
1
"flickered"
2
"flicker"
3
"loomed"
4
"unspoken"
5
"furrowing"
6
"dancing"
7
"echoed"
100.0000%
Cliche density
Target: ≤1 cliche(s) per 800-word window
totalCliches
0
maxInWindow
0
found
(empty)
highlights
(empty)
100.0000%
Emotion telling (show vs. tell)
Target: ≤3% sentences with emotion telling
emotionTells
0
narrationSentences
54
matches
(empty)
100.0000%
Filter word density
Target: ≤12% sentences with filter/hedge words
filterCount
0
hedgeCount
2
narrationSentences
54
filterMatches
(empty)
hedgeMatches
0
"tried to"
1
"seemed to"
100.0000%
Overuse of "that" (subordinate clause padding)
Target: ≤10% sentences with "that" clauses
thatCount
2
totalSentences
61
matches
0
"known—that voice"
1
"forget that he"
73.0149%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
24
mean
40.54
std
16.44
cv
0.406
sampleLengths
0
61
1
38
2
39
3
47
4
66
5
35
6
39
7
74
8
34
9
40
10
8
11
58
12
38
13
58
14
29
15
36
16
15
17
47
18
53
19
32
20
13
21
18
22
53
23
42
100.0000%
Passive voice overuse
Target: ≤5% passive sentences
passiveCount
0
totalSentences
54
matches
(empty)
100.0000%
Past progressive (was/were + -ing) overuse
Target: ≤10% past progressive verbs
pastProgressiveCount
3
totalVerbs
150
matches
0
"was settling"
1
"was holding"
2
"was willing"
58.8651%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
865
adjectiveStacks
1
stackExamples
0
"small crescent-shaped mark"
adverbCount
62
adverbRatio
0.07167630057803469
lyAdverbCount
25
lyAdverbRatio
0.028901734104046242
100.0000%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
61
echoCount
0
echoWords
(empty)
100.0000%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
61
mean
15.95
std
8.08
cv
0.507
sampleLengths
0
41
1
20
2
9
3
12
4
17
5
23
6
16
7
14
8
22
9
11
10
8
11
29
12
20
13
9
14
5
15
14
16
16
17
20
18
19
19
15
20
13
21
17
22
29
23
13
24
21
25
17
26
23
27
3
28
5
29
25
30
5
31
2
32
26
33
14
34
24
35
31
36
27
37
17
38
12
39
15
40
4
41
17
42
8
43
7
44
27
45
16
46
4
47
14
48
26
49
13
75.9563%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
2
diversityRatio
0.47540983606557374
totalSentences
61
uniqueOpeners
29
0.0000%
Dialogue tag variety (said vs. fancy)
Target: ≤30% fancy dialogue tags
totalTags
6
fancyCount
5
fancyTags
0
"he said softly, as if her name was both a greeting and a warning (say softly, be)"
1
"he paused, a hint of a smirk tugging at his lips (pause, tug)"
2
"Lucien said softly (say softly)"
3
"she said finally, voice low, trying to keep her trembling emotions at bay (say finally, voice keep)"
4
"Lucien replied smoothly, slipping into her flat with effortless grace, cane clicking softly against the floor (reply smoothly, slip click softly)"
71.0492%