NC Bench
Overview
About
Tests
Models
Vendors
Run: 2026-02-17-01KHMQF9J44W924YDGGB66HM02
Run Details
Model:
GPT-4.1
Test:
Bad Writing Habits
Scenario:
Literary fiction: old friends reunite
Duration:
22.2s
Cost:
$0.017266
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="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> 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.
Model response
Messages
Meta
AI
The neon sign burned green against the smudged London sky. Aurora hesitated on the pavement, one trembling hand curled around the strap of her battered satchel. A dusty, pleasant glow spilled from the tall windows of The Raven’s Nest, refracted through the coils of cigarette smoke that clung to the awning. She counted three heartbeats, then ducked inside. The thick air pressed up against her with the smell of whisky, old varnish, and the faintest memory of oranges. Maps flaked on the walls between black-and-white photographs: a woman in a nurse’s uniform grinning, the sprawl of wartime Paris, a leveled city skyline. The bar itself ran half the room, walnut polished to a fretwork of fine cracks. Empty at this hour, save one man at the far end and Silas, the owner, methodically stacking tumblers in the hush. Aurora caught sight of herself in the glass behind the bar—her hair limp from drizzle, all sharpness and tired eyes—and almost turned back. But hunger and the chill outside braced her spine. She walked in, boots soft over scuffed boards. Silas’s reflection clocked her before he himself did. He glanced up, the light catching on the wedge of grey in his auburn hair, then smiled—a small, careful thing, like unsealing a letter you aren’t sure you want to read. The limp in his left leg slowed his steps as he came over. “Evening, Rory.” His voice held that quiet authority she remembered: not loud, not showy, just solid as stone foundations. The silver signet ring winked on his right hand. “Evening, Si,” she said. “Bar’s almost empty. You want me to come back when you’re busier?” He gave a soft huff. “Haven’t seen you in a week. Sit down. First round’s on me. Unless you’re working for Yu-Fei tonight, in which case I’ll need to see your menu.” She managed a smile. “Off the clock.” She slipped past the bar, perching on a high stool. Silas poured two whiskies with solemn precision—his hands had always moved like that, even when he
was passing
her a burner phone or covering her in a game of cards when she was nineteen and drunk, watching life streak past like taillights. Aurora took her glass, tracing the rim. The third man, his back to them, hunched over a pint, lost in some trouble of his own. “Feels different in here tonight,” she said. “Quieter. New maps?” “Rotates every six months. Keeps regulars attentive.” He sat across from her, stretching his bad leg. For a moment, neither spoke. In the vacuum, her years in London spread out behind her—boxes moved up the narrow stairs, tea with Eva, missing home, learning to force herself to laugh again. A shape moved in the corner of the bar. Aurora’s gaze caught on it and snagged. The man tilted his head. Not a stranger, after all. He half-turned. Thinner than she remembered, cheeks hollow under the spill of brown hair, but when he looked up, Rory saw the ruin and the boy both. Thomas Doyle. Lanky in every direction, eyes that once always found hers in a crowd. He was older, but the same in ways that pinched her heart. Recognition hit him too. His shoulders stiffened. “Rory?” He stood, just a little clumsy, the way he always was when nervous. “Tom.” Her voice almost broke. She clutched the glass before it could betray her. “Small world.” Silas, sensing something old and delicate, stood. “I’ll check the stock in the back.” He limped away, fading into maps and memory. Thomas drifted over, uncertainty in the set of his hands. He looked down at his own boots, then back at her face. “It’s been—what, seven years?” “About that. Eight, maybe.” She gestured to the stool beside her. “Sit or are you on your way out?” He hesitated, then sat, shoulders hunched like he
was braced
for impact. Up close, she saw he hadn’t shaved in a day or two, and the lines around his mouth were deeper. Some old bitterness—the mark London left on everyone. He’d been softer once. Or maybe she had. They sat. For a moment, the world was only soft jazz over the speakers and the puddle of whisky between them. “So.” He tried for casual, failed. “Didn’t expect to see you back here. I thought you swore off London.” She shrugged. “Things change. Flat upstairs now. Work for a restaurant. Glamorous life.” Thomas’s mouth quirked. “You always did land on your feet.” It wasn’t quite an accusation, but there was something sharp in it. Rory smiled, dry. “Feet, elbows, whatever breaks the fall.” The words made her
think
of the old days: daring each other into parties, spilled lamplight, running until their lungs burned just to see if the world was
really
that big. “What about you, Tom? Still playing guitar in Leamington pubs, or have you become respectable at last?” He looked away. “Not so much. Gave that up. Work in IT now, office near Westminster. It pays the bills, anyway.” He glanced sideways at her, as if checking for judgment. “You look… well. Different. Not just the hair.” She looked down, smoothing the sleeve over the crescent scar on her wrist. “London’ll do that to you.” She met his eyes, blue against his faded green. “You look different too. Is it the glasses?” He laughed, but there was a hitch in it, a memory of something left unsaid. “Glasses, five years, three heartbreaks, and about a gallon less hope. How’s the family?” “Still feuding with the neighbors and pretending Brexit never happened. Dad’s retired. Mum still teaches chemistry to teenagers who don’t want to learn.” Aurora felt the old urge to ask about everyone—Tom’s brother Will, their old friend Molly—but she bit it back. The words felt too fragile. “You still talk to anyone from Cardiff?” He shrugged. “Some. Molly moved to Brighton. Will’s got a kid now.” His gaze
flicked
down. “I heard about Evan. I—” He swallowed. “I
tried to
text you once, when I heard you left. Didn’t seem like my place.” Aurora drew a slow breath, feeling her chest tighten. “It was messy. Still is, sometimes. But it’s over. He’s not in the picture.” Thomas nodded. “Good.” Something like relief, sharp and sudden,
flickered
across his face. Then he fiddled with a ring on his finger—a plain, scratched thing. “Do you still—?” He gestured. “Write music? Paint?” She shook her head. “Not for a while. Time eats things. You know?” He nodded, tracing circles on the bartop. “Yeah. It does.” A silence settled, but it was thick with everything they might have said. She remembered the first time he kissed her, summer on the old Cardiff rail bridge, a dare and a promise in one. His laughter
echoing
under autumn leaves. Trying not to disappoint each other, and failing. “You’re different,” he said finally. “I had to be.” Her voice was smaller than she meant it. “I’m not her anymore.” He took another sip of his drink, the ice knocking like a warning. “I liked her. The you from before.” She winced. “She was naïve.” He studied the map beside her head—Italy in 1944, crumpled by thumbtacks. “She was brave,” he said. “She tried things. Believed people could be better.” Aurora stared into her glass, watching the light fracture. “That belief—” “Yeah,” he said, soft. “I lost it too.” She looked up and saw truth in his tired eyes, a hint of the boy from a decade past, the one who believed music could save them. Heat burned behind her eyes. She blinked it away. Silas reappeared then, leaning with practiced elegance on a cane she hadn’t noticed before. “Everything alright here?” He looked at Thomas, then Aurora. She nodded, smile thin but honest. “Just catching up.” Silas inclined his head. “You’re welcome to linger. Some ghosts need more than one round to rest.” He set a fresh glass by her hand, his silver ring
glinting
. She caught his gaze—careful, knowing—and wondered what stories he carried in the rooms behind that bookshelf. Thomas traced the rim of his glass. “We could… I mean, if you’re not busy, maybe talk a while longer.” The old hope lingered in his voice, but so did caution. She thought about all the words unsaid, about time gone and the shapes losses left behind. She nodded. “Yeah,” she said. “We could.” Outside, the neon sign burned against the dusk. Inside, two old friends
tried to
fit new selves around the places they’d been, and somewhere amid regret and the glow of old photographs, they found the patience to try.
created_at
"2026-02-17T02:39:58.073646+00:00"
2/17/2026, 2:39:58 AM
model
"openai/gpt-4.1-2025-04-14"
app_id
182717
external_user
(null)
streamed
true
cancelled
false
latency
331
moderation_latency
(null)
generation_time
22116
tokens_prompt
867
tokens_completion
2252
native_tokens_prompt
809
native_tokens_completion
1956
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.017266
router
(null)
provider_responses
0
id
"resp_0c6bf263f4cff440016993d4e715b48196a7872e1883466878"
status
200
is_byok
false
latency
128
endpoint_id
"c235abe8-11cc-42d3-95ad-72f4d198287a"
provider_name
"OpenAI"
model_permaslug
"openai/gpt-4.1-2025-04-14"
api_type
"completions"
id
"gen-1771295974-xoV9jVkCvvx1NdfKkcdy"
upstream_id
"resp_0c6bf263f4cff440016993d4e715b48196a7872e1883466878"
total_cost
0.017266
cache_discount
(null)
upstream_inference_cost
0
provider_name
"OpenAI"
Evaluation details
Result
Evaluator
Details
Meta Data
77.7778%
Adverbs in dialogue tags
Target: ≤10% dialogue tags with adverbs
totalTags
6
adverbTagCount
1
adverbTags
0
"he said finally [finally]"
93.0987%
AI-ism adverb frequency
Target: <1% AI-ism adverbs (57 tracked)
wordCount
1449
totalAiIsmAdverbs
1
found
0
adverb
"really"
count
1
highlights
0
"really"
100.0000%
AI-ism character names
Target: 0 AI-default names (16 tracked, −20% each)
codexExemptions
0
"Blackwood"
found
(empty)
100.0000%
AI-ism location names
Target: 0 AI-default location names (33 tracked, −20% each)
codexExemptions
(empty)
found
(empty)
72.3948%
AI-ism word frequency
Target: <1% AI-ism words (140 tracked)
wordCount
1449
totalAiIsms
4
found
0
word
"flickered"
count
1
1
word
"flicked"
count
1
2
word
"glinting"
count
1
3
word
"echoing"
count
1
highlights
0
"flickered"
1
"flicked"
2
"glinting"
3
"echoing"
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
104
matches
(empty)
100.0000%
Filter word density
Target: ≤12% sentences with filter/hedge words
filterCount
1
hedgeCount
1
narrationSentences
104
filterMatches
0
"think"
hedgeMatches
0
"tried to"
100.0000%
Overuse of "that" (subordinate clause padding)
Target: ≤10% sentences with "that" clauses
thatCount
0
totalSentences
131
matches
(empty)
100.0000%
Paragraph length variance
Target: CV ≥0.5 for paragraph word counts
totalParagraphs
50
mean
28.64
std
16.97
cv
0.592
sampleLengths
0
58
1
80
2
40
3
52
4
28
5
16
6
32
7
59
8
35
9
49
10
21
11
5
12
54
13
21
14
16
15
22
16
26
17
19
18
48
19
21
20
19
21
13
22
22
23
57
24
39
25
35
26
29
27
54
28
39
29
23
30
33
31
13
32
10
33
49
34
5
35
16
36
20
37
5
38
25
39
11
40
8
41
36
42
23
43
9
44
17
45
28
46
31
47
18
48
5
49
38
100.0000%
Passive voice overuse
Target: ≤5% passive sentences
passiveCount
1
totalSentences
104
matches
0
"was braced"
100.0000%
Past progressive (was/were + -ing) overuse
Target: ≤10% past progressive verbs
pastProgressiveCount
1
totalVerbs
198
matches
0
"was passing"
100.0000%
Purple prose (modifier overload)
Target: <4% adverbs, <2% -ly adverbs, no adj stacking
wordCount
1084
adjectiveStacks
0
stackExamples
(empty)
adverbCount
38
adverbRatio
0.03505535055350553
lyAdverbCount
6
lyAdverbRatio
0.005535055350553505
100.0000%
Repeated phrase echo
Target: ≤20% sentences with echoes (window: 2)
totalSentences
131
echoCount
0
echoWords
(empty)
100.0000%
Sentence length variance
Target: CV ≥0.4 for sentence word counts
totalSentences
131
mean
10.93
std
8.32
cv
0.762
sampleLengths
0
10
1
16
2
25
3
7
4
20
5
24
6
15
7
21
8
23
9
9
10
8
11
8
12
31
13
13
14
19
15
9
16
4
17
12
18
5
19
27
20
4
21
13
22
42
23
7
24
18
25
7
26
3
27
16
28
5
29
28
30
9
31
7
32
5
33
5
34
2
35
25
36
2
37
13
38
12
39
4
40
3
41
14
42
5
43
9
44
2
45
7
46
15
47
10
48
12
49
4
68.7023%
Sentence opener variety
Target: ≥60% unique sentence openers
consecutiveRepeats
5
diversityRatio
0.4351145038167939
totalSentences
131
uniqueOpeners
57
100.0000%
Dialogue tag variety (said vs. fancy)
Target: ≤30% fancy dialogue tags
totalTags
6
fancyCount
1
fancyTags
0
"he said finally (say finally)"
94.8220%