Talking to Models · 3 of 5
Zero-Shot and Few-Shot Learning
How models use instructions and examples at run time, why it works, and when it is not enough.
Zero-shot and few-shot are simple names for a powerful idea: sometimes a model can do a task without being retrained, because the task is described in the prompt, and sometimes it does better when the prompt includes a few examples. This shifts part of software behavior from code and training data into language. That is useful, but it also creates a new engineering problem: the prompt becomes a small, fragile interface between human intent and statistical prediction.
Start with the problem
Suppose you want a system to sort customer messages into categories such as billing, technical support, cancellation, and sales. In older machine learning workflows, you would usually collect many labeled examples, train a model on those examples, test it, and then deploy it. If the categories changed, you might need to repeat much of that process.
A large language model, often shortened to LLM, gives you another option. You can write an instruction such as, "Classify this message as billing, technical support, cancellation, or sales," paste in the customer message, and ask for an answer. If the model has never seen your exact category scheme before, that is still a zero-shot attempt: it is asked to perform the task from the instruction alone.
If you add a few sample messages and their correct categories before the new message, that is a few-shot attempt. The examples show the model what the words in your instruction mean in your particular setting.
What happens inside the interaction
A prompt is the input you send to the model. It may include an instruction, background facts, examples, constraints, and the new item to process. The model then produces text that is likely to follow from that prompt, based on patterns learned during training.
The important point is that zero-shot and few-shot usually happen at inference time, which is the moment the trained model is used to answer a request. The model is not normally changing its internal parameters, often called weights, when you add examples to a prompt. It is using those examples as temporary context.
This behavior is often called in-context learning. The phrase can be misleading if it sounds like permanent learning. In many practical systems, the model "learns" only for the duration of the current request. Send a new request without the examples, and the model may no longer behave the same way.
Why a few examples help
Instructions are often under-specified. If you ask for a "short summary," one person may write one sentence and another may write five bullet points. If you ask whether a customer is "angry," the boundary between annoyed, disappointed, and angry may be unclear. Examples reduce that ambiguity.
Examples communicate several things at once: the output format, the level of detail, the meaning of each label, how to handle edge cases, and what not to include. In a classification task, examples can show that "I was charged twice" belongs to billing even if the message also mentions an app error. In a writing task, examples can show tone and structure more clearly than adjectives like "professional" or "friendly."
Few-shot prompting is especially useful when the task is easy for a person to demonstrate but hard to describe completely. It is less useful when the task requires facts that are not in the prompt, calculations that need exactness, or policies that have many exceptions.
How to design a few-shot prompt
Good few-shot prompts are small teaching sets. They should be representative, consistent, and close to the real inputs the system will see. One perfect-looking example is rarely as useful as three varied examples that expose the boundaries of the task.
Order can matter because the model reads the prompt as a sequence. The last example may have an outsized influence, especially when the prompt is long or the examples conflict. Consistent formatting helps because the model can copy the structure instead of guessing it.
Do not include examples that leak the answer to the new case, and do not use examples that contain private or regulated information unless your data handling rules allow it. A prompt is still data moving through a system.
- Use examples that match real input length, style, and messiness.
- Cover common cases and at least one important edge case.
- Keep labels and output format identical across examples.
- Place the new case after the examples and mark it clearly.
- Test whether removing or reordering examples changes the answer.
Where zero-shot works best
Zero-shot prompting works well when the task is common, the instruction is clear, the stakes are modest, and there is little domain-specific ambiguity. Asking a model to rewrite a paragraph in plainer language, extract a date from a sentence, or produce a draft email often works without examples.
It struggles when the task depends on private definitions, local policy, unusual formats, or high precision. For example, "Is this contract risky?" is not a single universal task. Risk depends on your organization, jurisdiction, tolerance, and negotiating position. Zero-shot answers may sound confident while using the wrong standard.
A useful rule is to start zero-shot when exploration is cheap, then add examples when you see repeated misunderstandings. If examples become long, numerous, or hard to maintain, you may be reaching the limit of prompting.
How to evaluate it
Prompts should be tested like product behavior, not treated as magic text. Create a small evaluation set: real or realistic inputs with expected outputs. Include easy cases, common failures, and cases that should trigger refusal, escalation, or uncertainty.
Measure what matters for the task. For classification, that may be accuracy by label, not just overall accuracy. For extraction, it may be exact match on fields. For writing, human review may be needed, but reviewers should use a clear rubric rather than personal taste.
Evaluation should also include stability. Try small changes in wording, example order, and input phrasing. If tiny changes produce large swings, the prompt may not be safe enough for automation without additional controls.
The real decision: prompt, retrieve, or train
Leaders and practitioners often face the same choice in different language: should we solve this with a better prompt, a few examples, a search layer, or a trained model? The answer depends on change rate, risk, cost, and how much task-specific knowledge is needed.
Zero-shot is fastest and cheapest to try. Few-shot is a good next step when the model understands the general task but needs your conventions. Retrieval-augmented generation, often shortened to RAG, adds a retrieval step that brings relevant documents into the prompt so the model can use current or private information. Fine-tuning changes a model by training it further on task-specific data, which can improve consistency but adds operational responsibility.
A practical architecture may use more than one method. For example, a support assistant might retrieve the latest policy, use a few examples to format the answer, and reserve fine-tuning for a high-volume classification step where consistency justifies the cost.
Common traps
The first trap is using examples that are too clean. Real inputs contain typos, missing context, mixed intentions, and irrelevant details. A prompt that only sees polished examples may fail quietly in production.
The second trap is treating the prompt as a private note rather than a maintained artifact. Prompts deserve versioning, review, tests, and owners. If changing one sentence can change customer-facing behavior, that sentence belongs in your engineering process.
The third trap is asking the model to infer policy that the organization has not defined. Few-shot examples can demonstrate decisions, but they cannot resolve a governance gap. If humans disagree about the correct answer, the model will not make the ambiguity disappear.
Key takeaways
- Zero-shot means asking a trained model to do a task from the instruction alone.
- Few-shot means adding a small number of examples to show the desired pattern.
- Examples guide behavior at inference time; they usually do not permanently change the model.
- Few-shot prompting is most useful when the task is easy to demonstrate but hard to fully describe.
- Prompts should be evaluated with test cases, failure analysis, and version control.
- Use retrieval or fine-tuning when the issue is missing knowledge, scale, or repeatable precision rather than prompt wording.
Glossary
- Zero-shot
- A way of using a model where the prompt gives an instruction but no task-specific examples.
- Few-shot
- A way of using a model where the prompt includes a small number of examples that demonstrate the desired input and output pattern.
- Large language model
- A model trained on large amounts of text to predict and generate language-like outputs.
- Prompt
- The input sent to a model, including instructions, context, examples, and the item to process.
- Inference
- The stage when a trained model is used to produce an output for a given input.
- In-context learning
- A model's ability to adapt its output to examples or instructions provided inside the current prompt.
- Retrieval-augmented generation
- A method that retrieves relevant information and includes it in the prompt so the model can use it when generating an answer.
- Fine-tuning
- Additional training of an existing model on selected data to change its behavior for a task or domain.