Generation Capability
Choosing the benchmark is the first decision in any evaluation, because a benchmark that does not match your target task cannot tell you whether your target capability is present.
Checking a Model Before Building on It
Suppose you want to build a coding assistant, or an application that translates Latin into English. It is tempting to start with the application logic: the user interface, the prompts, the way results are displayed. But before you write any of that, you need to know whether the model underneath can do the job at all. A beautifully built application cannot make a model understand a language it has never learned. This is the central idea of generation capability: a model's domain-specific capabilities are constrained by its configuration and training data, so evaluation has to check whether the needed capability is actually present.
Domain-specific capabilities are abilities tied to a particular domain or task rather than to language use in general. Coding and English-to-Latin translation are both examples. A model may be fluent in everyday English and still lack the specific capability your application depends on.
Where Domain Capability Comes From
A model's domain-specific capabilities are limited by two things. The first is its configuration, such as its architecture and size. The second is the data it was trained on. Configuration determines what kinds of abilities the model could in principle develop, while training data determines which abilities it actually picked up. Both factors set the ceiling on what the model can do in a given domain.
The consequence is blunt. If a model never saw Latin during training, it will not understand Latin, no matter how well the surrounding application is built. A model that lacks the capability your application needs will not work for you, and a good application wrapper does not change that.
The tool for gathering evidence is the domain-specific benchmark. Benchmarks can be public or private. Public benchmarks cover a very wide range of abilities, including code generation, code debugging, grade school math, science knowledge, common sense, reasoning, legal knowledge, tool use, and game playing. Choosing a benchmark that matches your target task is the first decision in any evaluation.
Choosing the benchmark is the first decision in any evaluation, because a benchmark that does not match your target task cannot tell you whether your target capability is present.
Following a Multiple-Choice Question Through Scoring
Multiple-choice questions are one of the most common ways to evaluate non-coding capabilities. A typical item presents a question followed by lettered options, and the model must select one. The MMLU benchmark has this form: it asks why governments regulate monopolies and offers four lettered options, and the model must choose one. Every item in this format comes with an answer key, which is the single correct letter. That is what makes scoring mechanical.
Each question produces exactly one result: the model's letter either matches the answer key or it does not. Accuracy is then the number of questions answered correctly divided by the total number of questions. It is the most common metric for multiple-choice benchmarks, and it is simple to compute.
Computing accuracy from a set of results
A model answers a 10-question multiple-choice quiz. Its selected letters are compared with the answer key. Seven selections match the key and three do not. What is the accuracy?
- 1Record each result
Questions 1, 2, 4, 5, 7, 8, and 10 match the answer key, so each earns a correct mark. Questions 3, 6, and 9 do not match, so each earns an incorrect mark.
- 2Count the correct results
There are 7 correct results. The incorrect results do not add to the count.
- 3Identify the total
The quiz has 10 questions in total, so the denominator is 10.
- 4Divide
Accuracy is $\frac{7}{10} = 0.7$, which is 70 percent.
The model's accuracy on this quiz is 0.7, or 70 percent.
What do you think happens?
The answer key says the correct option is C. The model outputs A. Is the model's answer counted as correct, and does the judgment require any interpretation?
Reveal answer
The answer is counted as incorrect, and no judgment call is needed.
Close-ended outputs are easy to check. The model's letter either matches the key or it does not, so the result is mechanical. This is one of the main reasons close-ended tests are popular.
Coding Tasks Versus Non-Coding Tasks
The right evaluation method depends on the kind of output the task produces. For coding-related capabilities, the usual method is functional correctness, which checks whether the generated code does what it is supposed to do. Functional correctness is one kind of exact check applied to code. For domain-specific capabilities in general, the common approach is exact evaluation, which checks whether an output is exactly correct. Non-coding capabilities are often tested with close-ended tasks, and multiple-choice questions are the most common form, because their answers can be verified directly.
What decides the method is whether the output can be checked exactly. Code that runs can be tested for function, and its runtime and memory can be measured. Readability is different. There is no obvious exact procedure for judging whether code is easy to understand, so evaluators often fall back on subjective evaluation, such as AI judges.
Correctness is rarely the only concern. A car that runs but burns an excessive amount of fuel is a useful comparison: code can be correct and still be a poor fit for a real system. An SQL query from a text-to-SQL model may return the right rows yet take too long or need too much memory to be usable. The BIRD-SQL benchmark illustrates this. It combines the execution accuracy of a generated query with its efficiency, measured by comparing the generated query's runtime with the runtime of the ground-truth SQL query.
Readability matters for a related reason. Code that runs but that nobody can understand is hard to maintain and hard to incorporate into a larger system. So a complete picture of coding capability usually combines an exact check of correctness and efficiency with a judgment-based check of readability.
Where Close-Ended Testing Stops Working
Close-ended testing has a deeper limit. Answering a multiple-choice question tests the ability to tell good responses from bad ones. That is a classification-style skill. It is not the same as the ability to produce a good response from scratch. Multiple-choice questions suit two kinds of evaluation well: knowledge, such as whether a model knows that Paris is the capital of France, and reasoning, such as whether it can infer from a table of business expenses which department spends the most.
Generation capabilities such as summarization, translation, and essay writing are a poor fit for multiple-choice tests. These tasks ask a model to produce text, and the quality of that text cannot be captured by picking a letter. Generation capability is the ability of a model to generate text or code, and it has to be evaluated with different metrics than multiple-choice questions use.
Mistakes When Reading Multiple-Choice Scores
Common mistake Treating a multiple-choice score as a measure of generation quality
What it looks likeA model scores 80 percent on a multiple-choice benchmark, so it is assumed to write good essays.
Why it failsAnswering multiple-choice questions tests classification-style discrimination, not the ability to produce text from scratch.
Do this insteadUse metrics suited to generated output when the task asks the model to produce text.
Common mistake Assuming a score is independent of how the question is formatted
What it looks likeAdding an extra space between the question and the answer, or adding a phrase such as Choices:, changes the model's answers.
Why it failsAlzahrani et al. (2024) found that small presentation differences could change the model's answers, so a score reflects both the model and the exact formatting used.
Do this insteadKeep the formatting fixed when comparing models, and report the setup alongside the score.
Common mistake Using accuracy for every classification task without considering other metrics
Why it failsFor classification, where every question shares the same set of choices, metrics beyond accuracy such as F1 scores, precision, and recall are also relevant.
Do this insteadChoose the metric that matches the kind of errors that matter for the task.
Common mistake Judging code only by whether it runs
Practicing Evaluation Choices
You are evaluating a model for two purposes. First, a coding assistant that writes SQL queries for a reporting team. Second, a summarizer for legal documents. For each purpose, name the evaluation approach you would use, and explain which property of the task determines that choice. Then say what a multiple-choice benchmark could and could not tell you about each.
Hints
- Ask whether the output can be checked exactly, or whether it needs a judgment call.
- For SQL, consider correctness and efficiency. The source describes a query that returns the right rows but runs too slowly.
- For summaries, consider whether a letter choice can capture the quality of the text produced.
Key Takeaways
- A model's domain-specific capabilities are limited by its configuration and its training data, so evaluation must confirm that the needed capability is present before you build on it.
- Coding tasks are usually checked with functional correctness and exact measures such as runtime and memory, while readability often needs subjective judgment such as AI judges. Non-coding tasks are often close-ended, so exact checks such as multiple-choice accuracy apply.
- A multiple-choice score is accuracy: the number of correct answers divided by the total number of questions. Scores can shift with small presentation changes, so the format is part of the result.
- Multiple-choice tests measure discrimination among given options, which suits knowledge and reasoning checks. They do not measure the quality of generated text, so tasks such as summarization, translation, and essay writing need different metrics.