How can a model recognize what it has never seen?
Through shared representation. Classic zero-shot systems align inputs and class descriptions in one embedding space: the model learns visual or textual features against semantic descriptions, so a new class, described by attributes, lands at a predictable place in that space, and inputs near it get the label. The textbook example: a model that knows horses, told that a zebra is a striped horse, flags zebras on first sight. The model is not learning the new class; it is locating it inside what it already learned, which is also why quality of the description bounds quality of the result.
Why did LLMs make zero-shot the default?
Because pretraining at scale built a representation broad enough for most tasks to land inside it. A capable LLM performs classification, extraction or rewriting from a bare instruction, no task examples, which is zero-shot machine learning delivered through a prompt. This is the extreme end of transfer learning: all knowledge transferred, nothing task-specific trained. The practical consequence for teams is the pilot economics: a zero-shot baseline costs an afternoon, so every task should start there and earn its way to anything more expensive.
When is zero-shot not enough?
When consistency, precision or distribution-shift bites. Zero-shot output varies with wording, struggles on classes that look alike, and biases toward what pretraining saw often; generalized settings, where seen and unseen classes mix, show the bias plainly. The escalation ladder is standard: add examples to the prompt, then fine-tune when volume and stability justify it. Judge the step by measurement, not instinct: a small labeled evaluation set tells you whether zero-shot’s convenience is costing accuracy you actually need. Move up the ladder only when the eval says so, because each rung adds cost and upkeep that the baseline avoids.