====== Zero-Shot Prompting ====== Zero-shot prompting is a fundamental prompt engineering technique where a large language model (LLM) is asked to perform a task using only a natural-language instruction, without any task-specific examples provided in the prompt. The model relies entirely on knowledge acquired during pretraining to understand and execute the task.((Original concept demonstrated in [[https://arxiv.org/abs/2005.14165|Brown et al. 2020, Language Models are Few-Shot Learners]])) ===== How It Works ===== In standard zero-shot prompting, the user provides a task description and input directly to the model. The prompt takes the form: [Task instruction] [Input] [Output indicator] For example, a sentiment classification task might be prompted as: Classify the following text as positive or negative. Text: "The movie was absolutely wonderful." Sentiment: The model generates its response based solely on patterns learned during pretraining, without any demonstrations of the expected input-output mapping. ===== Zero-Shot Chain-of-Thought ===== A landmark advancement in zero-shot prompting was introduced by Kojima et al. (2022) in their paper "Large Language Models are Zero-Shot Reasoners."((Kojima et al. 2022, [[https://arxiv.org/abs/2205.11916|Large Language Models are Zero-Shot Reasoners]], NeurIPS 2022)) The authors discovered that simply appending the phrase **"Let's think step by step"** to a prompt triggers multi-step reasoning in LLMs without any demonstrations. This technique, called **Zero-Shot Chain-of-Thought (Zero-Shot-CoT)**, operates in two stages: - **Reasoning extraction**: The prompt includes the trigger phrase, causing the model to generate intermediate reasoning steps. - **Answer extraction**: A follow-up prompt extracts the final answer from the generated reasoning. ==== Benchmark Results ==== Zero-Shot-CoT produced dramatic improvements over standard zero-shot prompting on reasoning benchmarks:((Results from Kojima et al. 2022 using GPT-3 175B and PaLM 540B)) | **Task** | **Zero-Shot** | **Zero-Shot-CoT** | **Gain** | | MultiArith | 17.7% | 78.7% | +61.0% | | GSM8K | 10.4% | 40.7% | +30.3% | | AQUA-RAT | — | Substantial | — | | SVAMP | — | Substantial | — | The approach also outperformed standard few-shot prompting (without CoT) on GSM8K, improving from 17.9% to 58.1%. ===== When to Use Zero-Shot Prompting ===== Zero-shot prompting is most appropriate when: * **No examples are available** or curating them is costly. * **Quick evaluation** of model capabilities on a new task is needed. * **Task-agnostic deployment** is desired, as a single prompt template works across domains. * **Simple, well-defined tasks** such as classification, translation, or summarization are involved. * **Rapid prototyping** before investing in few-shot example curation. ===== Limitations ===== * **Underperforms few-shot methods**: Without demonstrations, the model lacks task-specific guidance, often trailing few-shot or few-shot-CoT approaches on complex tasks.((See [[few_shot_prompting]] for comparison)) * **Model-scale dependent**: Zero-shot reasoning gains are most pronounced in very large models (100B+ parameters) and diminish significantly in smaller models. * **Post-processing required**: Zero-Shot-CoT's two-stage process requires additional prompt engineering to extract formatted answers. * **Not universally effective**: Fails on tasks requiring specialized domain knowledge or precise formatting not captured during pretraining. * **Sensitivity to phrasing**: Small changes in instruction wording can produce significantly different outputs. ===== Comparison to Few-Shot Prompting ===== | **Aspect** | **Zero-Shot** | **Few-Shot** | | Examples needed | None | 1-5+ demonstrations | | Setup effort | Minimal | Requires example curation | | Flexibility | Task-agnostic, single template | Task-specific, needs per-task examples | | Performance | Good baseline, strong with CoT | Generally higher on complex tasks | | Best for | Rapid prototyping, simple tasks | Production systems, complex reasoning | ===== See Also ===== * [[prompt_engineering]] * [[few_shot_prompting]] * [[chain_of_thought_prompting]] * [[active_prompt]] * [[automatic_prompt_engineer]] ===== References =====