Concepts / Generation Capability

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.

  • Programming

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.

Definition

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.

Key point

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.

Question with fouroptionslettered choices A to DModel selects aletterone option chosenCompare with answerkeydoes the letter match?Mark right or wrongone result per questionCount correct resultssum over all questionsDivide by totalquestionsaccuracy scorepresented to modelcomparedmatch or mismatchrepeated per itemcombined
What happens to each answer, from the model's selected letter to the final accuracy number, and how correct and incorrect results combine into one score.

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.

Rule

Worked example

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?

  1. 1
    Record 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.

  2. 2
    Count the correct results

    There are 7 correct results. The incorrect results do not add to the count.

  3. 3
    Identify the total

    The quiz has 10 questions in total, so the denominator is 10.

  4. 4
    Divide

    Accuracy is $\frac{7}{10} = 0.7$, which is 70 percent.

Result

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
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.

Functionalcorrectnessdoes the code do its jobRuntime and memoryefficiency measured exactlyAI judgesfor readability, asubjective checkExact evaluationoutput checked for exactcorrectnessMultiple-choiceaccuracyclose-ended answersverified directly
How the evaluation methods for coding tasks differ from those for non-coding tasks, and which property of each task determines the method that fits.

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.

Telling good from badclassification-stylediscriminationKnowledge questionsfor example, capital citiesAccuracy scoremechanical to computeSummarizationquality not captured by aletterTranslationquality not captured by aletterEssay writingneeds different metrics
What a fixed-choice test can measure, and what it does not capture when the model must produce open-ended text.

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 like

    A model scores 80 percent on a multiple-choice benchmark, so it is assumed to write good essays.

    Why it fails

    Answering multiple-choice questions tests classification-style discrimination, not the ability to produce text from scratch.

    Do this instead

    Use 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 like

    Adding an extra space between the question and the answer, or adding a phrase such as Choices:, changes the model's answers.

    Why it fails

    Alzahrani 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 instead

    Keep 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 fails

    For 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 instead

    Choose 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

MEDIUM

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.

Related concepts

More concepts starting with G