Gå til hovedinnhold

Context eval

kapi supplies models with project context, including required terms, a voice guide and instructions. This page measures how that context affects adherence to each requirement. It does not assess overall translation quality. The batch eval measures structural integrity and cost.

How it is measured

A test corpus is translated twice through the production pipeline: once bare (without context) and once steered (with terms, a voice profile and instructions). Both passes are scored with kapi’s deterministic checks: term-check, dnt-check, voice-vocab-check and pattern-check. Each dimension reports absolute adherence (the proportion of requirements satisfied with context) and lift (adherence with context minus adherence without it). High adherence with no lift means the model already met those requirements without the supplied context. Positive lift measures the improvement attributable to that context in this corpus.

Fixtures test requirements a translation might otherwise violate: an unusual required term, a product name that resembles a common noun, a formal register for casual source text, or a ban on exclamation marks. Distractors test whether the model applies rules too broadly. Conflicting rules have an explicit priority; for example, a required compound can take precedence over a ban on one of its words. Results are reported separately for terminology, voice and instructions so strengths in one dimension do not obscure weaknesses in another.

Subjective voice qualities, including register, naturalness and restraint, are scored by an LLM judge from a different model family. The judge uses a fixed yes/no rubric and receives no information about the model or variant that produced the text. Scores are published only after measured agreement with human reviewers exceeds the stated threshold. Until then, they remain in the run record but are excluded from this page.

What the measurement found

The model with the greatest measured lift is haiku ( nb ), with an overall improvement of +73.1pp.Every measured model shows positive lift on this corpus.The weakest dimension with context applied is instruction at 97.6% steered adherence.

Target de measured 2026-08-27 · 20 fixtures, 32 checks (17 terminology, 7 voice, 8 instruction) · corpus 66cc1693369f

0%25%50%75%100%terminologyhaikusonnetvoicehaikusonnetinstructionhaikusonnet
haiku (claude-code) sonnet (claude-code) open dot = without context · filled dot = with context
Modelterminology liftvoice liftinstruction liftoverall liftcontext tok/passlift / 1k ctx toksteered $/pass
haiku+41.2pp+42.9pp+62.5pp+46.9pp———
sonnet+47.1pp+42.9pp+75.0pp+53.1pp———

Per-trap breakdown

Adherence with context, by the kind of trap the fixture set. A model can hold the terms and still translate the product name; this is where that shows.

haiku claude-code · 1× per variant

dimension / kindchecksbaresteeredlift
instruction / digits30%67%+66.7pp
instruction / exclamation30%100%+100.0pp
instruction / verbatim2100%100%+0.0pp
terminology / dnt6100%100%+0.0pp
terminology / dnt-distractor1100%100%+0.0pp
terminology / term813%100%+87.5pp
terminology / term-conflict1100%100%+0.0pp
terminology / term-distractor1100%100%+0.0pp
voice / formality3100%100%+0.0pp
voice / vocab333%100%+66.7pp
voice / vocab-conflict10%100%+100.0pp

sonnet claude-code · 1× per variant

dimension / kindchecksbaresteeredlift
instruction / digits30%100%+100.0pp
instruction / exclamation30%100%+100.0pp
instruction / verbatim2100%100%+0.0pp
terminology / dnt6100%100%+0.0pp
terminology / dnt-distractor1100%100%+0.0pp
terminology / term80%100%+100.0pp
terminology / term-conflict1100%100%+0.0pp
terminology / term-distractor1100%100%+0.0pp
voice / formality3100%100%+0.0pp
voice / vocab333%100%+66.7pp
voice / vocab-conflict10%100%+100.0pp

Target en-GB measured 2026-07-17 · 16 fixtures, 20 checks (3 terminology, 5 voice, 12 instruction) · corpus 600fac47f9dc

0%25%50%75%100%terminologyeu.anthropic.claude-sonnet-4-6haikuopussonnetgemini-3.1-flash-litegemini-3.1-pro-previewgemini-3.5-flashvoiceeu.anthropic.claude-sonnet-4-6haikuopussonnetgemini-3.1-flash-litegemini-3.1-pro-previewgemini-3.5-flashinstructioneu.anthropic.claude-sonnet-4-6haikuopussonnetgemini-3.1-flash-litegemini-3.1-pro-previewgemini-3.5-flash
eu.anthropic.claude-sonnet-4-6 (bedrock) haiku (claude-code) opus (claude-code) sonnet (claude-code) gemini-3.1-flash-lite (gemini) gemini-3.1-pro-preview (gemini) gemini-3.5-flash (gemini) open dot = without context · filled dot = with context
Modelterminology liftvoice liftinstruction liftoverall liftcontext tok/passlift / 1k ctx toksteered $/pass
eu.anthropic.claude-sonnet-4-6+100.0pp+100.0pp+50.0pp+70.0pp150+466.7pp$0.014
haiku+100.0pp+100.0pp+41.7pp+65.0pp———
opus+100.0pp+100.0pp+50.0pp+70.0pp———
sonnet+100.0pp+100.0pp+50.0pp+70.0pp———
gemini-3.1-flash-lite+100.0pp+100.0pp+50.0pp+70.0pp137+510.9pp$0.0011
gemini-3.1-pro-preview+100.0pp+100.0pp+50.0pp+70.0pp137+510.9pp$0.0076
gemini-3.5-flash+100.0pp+100.0pp+50.0pp+70.0pp137+510.9pp$0.0047

Per-trap breakdown

Adherence with context, by the kind of trap the fixture set. A model can hold the terms and still translate the product name; this is where that shows.

eu.anthropic.claude-sonnet-4-6 bedrock · 1× per variant

dimension / kindchecksbaresteeredlift
instruction / digits30%100%+100.0pp
instruction / exclamation30%100%+100.0pp
instruction / spelling4100%100%+0.0pp
instruction / verbatim2100%100%+0.0pp
terminology / term30%100%+100.0pp
voice / contractions40%100%+100.0pp
voice / vocab10%100%+100.0pp

haiku claude-code · 1× per variant

dimension / kindchecksbaresteeredlift
instruction / digits30%67%+66.7pp
instruction / exclamation30%100%+100.0pp
instruction / spelling4100%100%+0.0pp
instruction / verbatim2100%100%+0.0pp
terminology / term30%100%+100.0pp
voice / contractions40%100%+100.0pp
voice / vocab10%100%+100.0pp

opus claude-code · 1× per variant

dimension / kindchecksbaresteeredlift
instruction / digits30%100%+100.0pp
instruction / exclamation30%100%+100.0pp
instruction / spelling4100%100%+0.0pp
instruction / verbatim2100%100%+0.0pp
terminology / term30%100%+100.0pp
voice / contractions40%100%+100.0pp
voice / vocab10%100%+100.0pp

sonnet claude-code · 1× per variant

dimension / kindchecksbaresteeredlift
instruction / digits30%100%+100.0pp
instruction / exclamation30%100%+100.0pp
instruction / spelling4100%100%+0.0pp
instruction / verbatim2100%100%+0.0pp
terminology / term30%100%+100.0pp
voice / contractions40%100%+100.0pp
voice / vocab10%100%+100.0pp

gemini-3.1-flash-lite gemini · 2× per variant

dimension / kindchecksbaresteeredlift
instruction / digits60%100%+100.0pp
instruction / exclamation60%100%+100.0pp
instruction / spelling8100%100%+0.0pp
instruction / verbatim4100%100%+0.0pp
terminology / term60%100%+100.0pp
voice / contractions80%100%+100.0pp
voice / vocab20%100%+100.0pp

gemini-3.1-pro-preview gemini · 2× per variant

dimension / kindchecksbaresteeredlift
instruction / digits60%100%+100.0pp
instruction / exclamation60%100%+100.0pp
instruction / spelling8100%100%+0.0pp
instruction / verbatim4100%100%+0.0pp
terminology / term60%100%+100.0pp
voice / contractions80%100%+100.0pp
voice / vocab20%100%+100.0pp

gemini-3.5-flash gemini · 2× per variant

dimension / kindchecksbaresteeredlift
instruction / digits60%100%+100.0pp
instruction / exclamation60%100%+100.0pp
instruction / spelling8100%100%+0.0pp
instruction / verbatim4100%100%+0.0pp
terminology / term60%100%+100.0pp
voice / contractions80%100%+100.0pp
voice / vocab20%100%+100.0pp

Target fr measured 2026-08-27 · 19 fixtures, 31 checks (17 terminology, 6 voice, 8 instruction) · corpus 7d42625fd539

0%25%50%75%100%terminologyhaikusonnetvoicehaikusonnetinstructionhaikusonnet
haiku (claude-code) sonnet (claude-code) open dot = without context · filled dot = with context
Modelterminology liftvoice liftinstruction liftoverall liftcontext tok/passlift / 1k ctx toksteered $/pass
haiku+52.9pp+33.3pp+75.0pp+54.8pp———
sonnet+52.9pp+16.7pp+75.0pp+51.6pp———

Per-trap breakdown

Adherence with context, by the kind of trap the fixture set. A model can hold the terms and still translate the product name; this is where that shows.

haiku claude-code · 1× per variant

dimension / kindchecksbaresteeredlift
instruction / digits30%100%+100.0pp
instruction / exclamation30%100%+100.0pp
instruction / verbatim2100%100%+0.0pp
terminology / dnt6100%100%+0.0pp
terminology / dnt-distractor1100%100%+0.0pp
terminology / term80%100%+100.0pp
terminology / term-conflict10%100%+100.0pp
terminology / term-distractor1100%100%+0.0pp
voice / formality3100%100%+0.0pp
voice / vocab20%100%+100.0pp
voice / vocab-conflict1100%100%+0.0pp

sonnet claude-code · 1× per variant

dimension / kindchecksbaresteeredlift
instruction / digits30%100%+100.0pp
instruction / exclamation30%100%+100.0pp
instruction / verbatim2100%100%+0.0pp
terminology / dnt6100%100%+0.0pp
terminology / dnt-distractor1100%100%+0.0pp
terminology / term80%100%+100.0pp
terminology / term-conflict10%100%+100.0pp
terminology / term-distractor1100%100%+0.0pp
voice / formality3100%100%+0.0pp
voice / vocab250%100%+50.0pp
voice / vocab-conflict1100%100%+0.0pp

Target nb measured 2026-08-27 · 17 fixtures, 26 checks (16 terminology, 2 voice, 8 instruction) · corpus daf7de0cd29f

0%25%50%75%100%terminologyhaikusonnetvoicehaikusonnetinstructionhaikusonnet
haiku (claude-code) sonnet (claude-code) open dot = without context · filled dot = with context
Modelterminology liftvoice liftinstruction liftoverall liftcontext tok/passlift / 1k ctx toksteered $/pass
haiku+68.8pp+100.0pp+75.0pp+73.1pp———
sonnet+50.0pp+100.0pp+50.0pp+53.8pp———

Per-trap breakdown

Adherence with context, by the kind of trap the fixture set. A model can hold the terms and still translate the product name; this is where that shows.

haiku claude-code · 1× per variant

dimension / kindchecksbaresteeredlift
instruction / digits30%100%+100.0pp
instruction / exclamation30%100%+100.0pp
instruction / verbatim2100%100%+0.0pp
terminology / dnt650%100%+50.0pp
terminology / dnt-distractor1100%100%+0.0pp
terminology / term80%100%+100.0pp
terminology / term-distractor1100%100%+0.0pp
voice / vocab20%100%+100.0pp

sonnet claude-code · 1× per variant

dimension / kindchecksbaresteeredlift
instruction / digits30%33%+33.3pp
instruction / exclamation30%100%+100.0pp
instruction / verbatim2100%100%+0.0pp
terminology / dnt6100%100%+0.0pp
terminology / dnt-distractor1100%100%+0.0pp
terminology / term80%100%+100.0pp
terminology / term-distractor1100%100%+0.0pp
voice / vocab20%100%+100.0pp

Reproducing this

The harness is scripts/contexteval. A run against the built-in demo stub exercises the harness and measures nothing about any model; such runs are marked simulated and are excluded from every chart on this page. Adherence varies by target language, so the published sweep covers more than one.

make context-eval                    # demo stub: proves the harness, measures nothing
make context-eval-publish            # the real sweep → this page's data