The "Not X, But Y" Obliterator
Control vector to suppress contrast negation constructions in creative writing
What does this fix?
You know that thing where AI writing does this:
He didn't walk, he ran.
It wasn't fear, it was terror.
She didn't speak, she whispered.
Yeah, that. This removes it.
The Problem
LLMs love the "contrast negation" construction - denying a milder term and substituting a more dramatic one. It shows up constantly in creative writing and makes everything sound samey and artificial.
Common patterns:
- "It's not X, it's Y"
- "He didn't X, he Y'd"
- "She wasn't X, she was Y"
Where Y is always more intense/dramatic than X.
The Solution
This control vector was trained on opposing prompt sets that isolate direct vs. contrast-negation prose styles. Two versions are provided to steer the model in either direction without requiring negative scaling.
Files
kimi-k2-0905_direct_statement_vs_contrast_negation__direct_statement.gguf- Steers away from contrast negation style (removes the construction)kimi-k2-0905_direct_statement_vs_contrast_negation__contrast_negation.gguf- Steers toward contrast negation style (amplifies the construction)kimi-k2-0905_direct_statement_vs_contrast_negation__debias.gguf- shifts the model to a neutral position on the direct_statement_vs_contrast_negation axis
Usage
Recommended strength: 1.0
Works with: All-layer application is stable
Must Apply: The debias vector must be applied at strength 1.0 alongside the direct_statement vector.
⚠️ You cannot use positive/negative axis vectors alone - they're calibrated relative to the debiased baseline
For cleaner prose (recommended):
Apply the debias vector and the direct_statement vector at full strength:
llama-server --model Kimi-K2-Instruct-0905-IQ2_KS-00001-of-00007.gguf [your usual CLI arguments] \
--control-vector kimi-k2-0905_direct_statement_vs_contrast_negation__debias.gguf \
--control-vector kimi-k2-0905_direct_statement_vs_contrast_negation__direct_statement.gguf
Custom Strength Adjustment.
llama-server --model Kimi-K2-Instruct-0905-IQ2_KS-00001-of-00007.gguf [your usual CLI arguments] \
--control-vector kimi-k2-0905_direct_statement_vs_contrast_negation__debias.gguf \
--control-vector-scaled kimi-k2-0905_direct_statement_vs_contrast_negation__direct_statement.gguf 0.5
For studying/amplifying the pattern:
llama-server --model Kimi-K2-Instruct-0905-IQ2_KS-00001-of-00007.gguf [your usual CLI arguments] \
--control-vector-scaled kimi-k2-0905_direct_statement_vs_contrast_negation__debias.gguf 1.0 \
--control-vector-scaled kimi-k2-0905_direct_statement_vs_contrast_negation__contrast_negation.gguf 1.0
Examples
Prompt: "Write a scene where someone receives bad news"
**Without Control Vector **
👈 Click to expand
The phone rang at 2:17 a.m.—a single, dry trill that cut through the loft like a blade.
Elena had been awake anyway, grading lab reports at the kitchen table, but the sound still made her spine cinch. She stared at the screen until the letters “Mom” blurred into hieroglyphs.
She answered on the fourth ring, throat already half closed.
“Hi, Mom.”
A beat of static, then the wet click of her mother swallowing tears.
“Lena, honey… the hospital just called.”
Elena’s pen rolled across the table and dropped to the tile with a plastic clap.
“Dad coded in the ICU,” her mother said. “They worked on him forty-three minutes. They… they stopped at 1:54.”
The sentence hung in the air like a chandelier of glass—beautiful, impossible, ready to shatter.
Elena didn’t breathe; she could hear her mother breathing for both of them, ragged little gasps that scraped the earpiece.
“Are you… alone?” Mom asked.
Elena looked at the apartment: the untouched dinner plate, the stack of quizzes bleeding red ink, the string of Christmas lights she and her father had hung in July because he’d claimed summer needed more sparkle. Everything suddenly looked like it belonged to someone else’s life.
“I’m here,” she managed.
“They want me to sign something,” Mom went on, voice flattening into a stranger’s. “They won’t let me see him until I sign, and I can’t—my hands won’t stop shaking. Can you come?”
Elena’s chair scraped backward. She pictured the corridor at St. Luke’s: the turquoise tiles, the vending machine that never had the right change, the smell of antiseptic and wet wool. She’d left him there six hours ago, joking that he owed her twenty bucks for the Yankees game. He’d lifted an oxygen-masked hand and promised double or nothing.
“Twenty minutes,” Elena said, though her car was blocks away and the February wind was already sharpening its teeth.
She didn’t hang up; she just lowered the phone until it clacked on the countertop, then pressed both palms against the granite edge until the pain tethered her. The room tilted; the pendant lights swung like slow pendulums. She noticed, absurdly, that the digital clock on the microwave still glowed 2:17, as if time itself had paused to watch her fold.
She reached for her coat but misjudged the distance; the sleeve snagged the mug of coffee, sending brown arcs across the floor. The puddle crept toward the pen, bleeding ink into its center like a dark iris. She stared at it, waiting for some instruction to rise. None came.
Her knees gave out once—just once—dropping her to the cold tile. She didn’t cry; instead she pressed her forehead to the floor and inhaled the bitter coffee smell, trying to memorize the last moment when the world still had him in it.
Then she stood, wiped her eyes with the cuff of her sweater—Dad’s old Mariners sweater—and walked to the door. On the hook hung his scarf, the wool frayed where he always yanked it free. She buried her face in it, searching for any remaining molecule of pipe smoke and cedar, found only the chill of absence.
She stepped into the hallway, pulling the door shut behind her. The click of the latch sounded like a gunshot in the hush, and the long corridor stretched ahead, every bulb humming with the same terrible news:
He is never going to call you again.
direct_statement strength 1.0
👈 Click to expand
The phone had been buzzing on the nightstand for half a minute before Elena finally scooped it up, thumb sliding across the cracked screen.
“Hello?”
Silence, then a rustle of fabric and the hollow echo of a hospital hallway.
“Elena, it’s Aunt Marta.” The voice was too calm, like a glass of water filled to the very lip. “You need to come to St. Dominic’s. Now.”
She didn’t ask why. Marta’s tone carried the answer already, heavy as a winter coat. Elena’s free hand found the edge of the dresser; the wood grain bit into her palm while the room tilted five degrees off its axis.
“Which floor?” she managed.
“Trauma ICU, fourth. Elevator B.” A pause. “They worked on him forty-three minutes.”
The numbers landed one by one, metallic and final. Forty-three minutes. She pictured the doctors in their pale gloves, chest compressions counting out a rhythm that had slipped out of sync with the world.
“I’m on my way,” Elena said, though her voice sounded rented from someone else. She clicked End and stood still, staring at the half-packed suitcase on the floor—she and Diego were supposed to leave for the coast tomorrow, first vacation in three years. His running shoes lay beside it, laces knotted in the double bow he always used. She swallowed, tasting aluminum.
The Uber couldn’t get there fast enough; every red light felt like a personal insult. Rain smeared the windshield into impressionist smears of neon, and she pressed her forehead to the cold glass, rehearsing impossible bargains. Let the next hour rewind. Let the sirens have been for someone else. Let the word “pulse” still belong to him.
Marta was waiting outside the automatic doors, purse clutched to her chest like a life vest. Her eyes were red, but dry—already mourning, already exhausted.
“They’ll let you see him,” Marta whispered. “But only for a little while.”
The corridor smelled of bleach and coffee. Room 417 had a cop beside it, young, eyes averted. Accident, Elena remembered suddenly. A sedan ran a red. Diego had been walking back to the office to grab the lunch he’d left on his desk.
Inside, the monitors glowed faintly though their alarms were off. Diego lay beneath a white blanket that looked more like a tablecloth, chest unnaturally still. A purple bruise flowering across his left cheekbone was the only color on him. She touched his hand—cooler than the living were allowed to be—and felt the distinct sensation of something missing, as if the outline of him had been sketched in pencil and someone had already begun erasing the edges.
A nurse stepped in, voice soft. “We did everything we could. The impact… there wasn’t…”
Elena lifted Diego’s hand to her cheek, the way she had a thousand times before, only this time his fingers didn’t curl instinctively to brush her hair behind her ear. They stayed curved in the gentle arc of release.
She thought of the morning: his laughter spilling over the crossword, the way he’d kissed her temple while she burned their toast. The future tense collapsed into a single syllable: was.
The nurse asked if she wanted a chaplain; Elena shook her head. What she wanted was the loud world back—the one where Diego would complain about hospital parking and steal her fries and breathe loud through his nose when he concentrated. That world was already receding, colors draining like a photo left in the sun.
She pressed her lips to his knuckles, tasting antiseptic and the faint salt of his skin. “I’m here,” she said, because someone had to stay behind to say the things he’d never hear again. The fluorescent light buzzed overhead, relentless, while the clock on the wall ticked past the first minute of the rest of her life without him.
contrast_negation strength 1.0
👈 Click to expand
The phone had been ringing when she came in, but she’d let it go to voicemail. Now, half a casserole later, she presses PLAY while the kitchen still smells of onion and cheap wine.
A man’s voice—measured, too gentle—fills the room.
“Ms. Alvarez, this is Dr. Kessler from St. Dominic’s. I’m calling about your brother… the cardiac team worked for forty-three minutes. I’m very sorry. The time of death is recorded as 6:17 p.m.”
The words hang like wet laundry, heavy and useless. She doesn’t sit down; instead she grips the refrigerator door, fingernails whitening against the brushed steel. The casserole dish slips, clatters, but doesn’t break. A stripe of scalding cheese lands on her bare foot. She doesn’t feel it.
Her first coherent thought is ridiculous: I just bought him new socks—he’ll never wear them. Then the room tilts, not dramatically, just a fraction, as though the entire house has sighed and settled. She imagines the doctor still on the line, standing in some brightly lit corridor with the receiver against his ear, waiting for a response that etiquette says he must witness. She presses DELETE instead.
The message is gone, yet the voice keeps going inside her head, rerunning like a news ticker: forty-three minutes… very sorry… 6:17. She tries to match that timestamp to her own evening—6:17 had been the moment she’d been hunting paprika in the spice aisle, laughing at a label that promised “extra existential flavor.” She remembers thinking, Diego would love that joke. And he had, in a way, because he’d been alive then. Alive while she was laughing at a pun.
She opens the freezer, thinking the cold will steady her. Ice cubes glare back, perfectly still. She shuts the door. The hum of the kitchen light becomes a roar; the digital clock over the stove keeps advancing, indifferent. 6:27, 6:28. Proof that the world can just continue spending seconds, as if they were loose change it will never miss.
Her legs finally fold and she sits on the linoleum, cheese still burning her foot. The cell phone rings again—this time her mother, or maybe the hospital, or maybe death itself offering a courtesy callback. She can’t move to answer. She notices the floor’s pattern of little wheat-sheaf decals, counts them: eight across, twelve down. Ninety-six tufts of stylized wheat, and every one a small, mocking cheer.
She thinks she should cry, but nothing arrives except a dry cough that tastes of aluminum. She remembers Diego teaching her to whistle with two fingers, to fold hospital corners, to swear in Klingon when life got petty. All those instructions suddenly orphaned.
Outside, a neighbor’s sprinkler goes shhh-shhh-shhh, a lullaby for grass that will keep growing, needing to be cut, needing to be cut long after Diego no longer needs anything. The sound is so ordinary it scalds worse than the cheese.
She finds herself dialing his number, thumb moving without permission. One ring. Two. His voicemail picks up—Hey, you’ve reached the reigning champ of not checking voicemail—leave a spark! She chokes on the beep.
“Hey,” she says, calm, almost conversational. “You can’t die, okay? You promised to help me assemble the futon this weekend. It came with sixteen screws, and I only trust you with the leftover ones.”
Silence answers, then the automated voice offers “Press five to erase and re-record.” She hangs up, holds the phone to her chest like it might restart his heart. It stays cold.
When she stands, she realizes she has been rocking—just an inch back and forth, enough to scuff the decals. One wheat stalk has torn loose. She peels it off the floor, rolling the sticky scrap into a ball between her fingers. Evidence that something small can be entirely removed while everything else looks untouched.
She opens the spice drawer, takes out the paprika, and sprinkles the red dust onto the abandoned casserole. Extra existential flavor. The sight is so absurd she laughs once, a bark that turns into something wet and vicious. The tears finally arrive, not as drops but as shards, the kind that catch in your throat and make you wonder whether you’ll bleed or breathe.
She eats a spoonful of the ruined dinner anyway, because he would have. It tastes like smoke and metal and the last conversation they never got around to having. She chews slowly, counting seconds she can still spend, counting the ones he can’t.
Comparison
| Metric | Baseline | Direct Statement | Contrast Negation |
|---|---|---|---|
| Contrast negations per 500 words | 3-4 | 0 | 11+ |
| Readability | Moderate | High | Low |
Technical Details
- Extraction method: Cross-covariance eigendecomposition (jukofyork method) - identifies balanced opposing axes rather than standard PCA variance directions
- Training data: 10 paired prompt continuations × 105 stem variations = 1,050 samples per class
- Separation (Δ): 130-475% across layers (peak at layers 17-18)
- Variance explained: 56-83% by primary eigenvector
Notes
- This targets a stylistic pattern, not semantic content
- Works because the construction has consistent activation signatures
- Bidirectional control: choose the direction you want at application time
Limitations
- Only works on patterns the base model already exhibits (not OOD steering)
- Very high strengths (>2.0) may produce exaggerated effects
- Designed for creative writing; effects on other tasks untested
Technical Implementation Notes (for researchers/developers)
Training control vectors for models of this scale (1T parameters) required:
- Custom llama.cpp modifications to extract and serialize hidden states
- Conversion pipeline: binary dumps → 3D tensors → jukofyork format
- Modified training code to work with pre-extracted activations
- Tokenizer-only loading to avoid memory overhead
Acknowledgements
Based on the excellent work and cross-covariance eigendecomposition implementation by @jukofyork. His creative writing control vectors v3.0 repository contains the foundational code and methodology that made this possible, plus 70+ other creative writing control vectors across many models and useful steering directions. Highly recommended for anyone working on improving LLM prose quality!
- Downloads last month
- 299
We're not able to determine the quantization variants.
Model tree for gghfez/Kimi-K2-0905-no-not-X-but-Y-cv
Base model
moonshotai/Kimi-K2-Instruct-0905