Apply to my task
arXiv:2510.16091 ★ 76 Oct 17, 2025

Staged Prompting: Two-Pass Screening to Balance Recall and Precision

Key result

The paradox: Ask an LLM to "find everything that fits" and it either misses important items (low recall) or hauls in everything in sight (low precision). In a single prompt, the model can't hold two conflicting criteria at once. Staged Prompting lets you get both full coverage and precise filtering in selection tasks (papers, resumes, ideas). Two passes with different prompts: the first is zero-shot for a wide net (miss nothing), the second is CoT-few-shot only on the borderline cases (cut the junk). Outcome: high recall from the first + high precision from the second.

01

TL;DR

Researchers compared how 5 prompt types perform with 6 models on the task of screening scientific papers. Zero-shot (no examples) maximizes recall: it finds almost everything relevant, but drags in a pile of junk. CoT-few-shot (reasoning + examples) gives the best balance: fewer false positives while keeping good coverage. Self-reflection (the model checks itself) performs worst of all: it includes way too much extra stuff while trying to justify itself.

The main pain point: when you ask an LLM to "find all matching options", it either misses important items (low recall) or hauls in everything in sight (low precision). Simple prompts (zero-shot) cast a wide but sloppy net. Structured prompts (CoT-few-shot) filter more accurately, but may let something slip. A model with self-reflection starts rationalizing its mistakes instead of fixing them ("this is relevant because you could read it this way") and drags in even more junk.

The fix: a staged approach, two passes with different prompts. The first pass is zero-shot for a wide net (miss nothing). The second pass is CoT-few-shot only on the borderline cases (cut the junk, keep the hits). That way you keep the coverage of the first pass and get the precision of the second.


Want this for your own case? Apply this study to your task: AI adapts its method to what you are working on and writes the prompt.

02

Method Blueprint

STAGE 1 (Wide Net): Zero-shot prompt
→ Maximum recall, lots of candidates
→ Goal: don't miss anything important

STAGE 2 (Precision Filter): CoT-few-shot prompt
→ Only on borderline cases from stage 1
→ Goal: cut false positives
→ Keep the true matches

Result: High recall + High precision

Both stages are separate requests in a regular chat.


03

Example in Practice

The task: You're hunting for the best articles on AI in US retail for an investor presentation. You need to (1) not miss important case studies and (2) not drag in every random piece about "digital transformation in retail".

Stage 1 prompt (Wide Net, Zero-shot):

From this list of articles, select everything that is in any way related to the use of artificial intelligence in US retail:

[a list of 50 articles with titles and abstracts]

Criterion: the article mentions AI/ML/neural networks AND the US retail market.
Answer with a list of the numbers of relevant articles.

Stage 2 prompt (Precision Filter, CoT-few-shot on borderline cases):

Several of the selected articles are borderline cases. For each one, explain step by step:
1. Which specific AI technology is mentioned?
2. Is this a deployed case study or just a mention of a trend?
3. Are there concrete outcome metrics?

Examples:
- "Walmart deployed computer vision for shelf monitoring, accuracy rose by 23%" → RELEVANT (concrete case + metrics)
- "An expert believes it's time for retail to adopt AI" → NOT RELEVANT (opinion without a case)

Borderline articles:
[articles from stage 1 where the model was unsure]

For each: reasoning → verdict (RELEVANT/NOT RELEVANT).

Result:

The first pass will return 20-25 articles out of 50: a wide net that may include pieces "about digital in general". The second pass will weed out the ones without specifics and leave 8-12 relevant case studies with metrics and rollout details. You get both coverage (nothing important missed) and precision (no junk in the final list).


04

Why It Works

LLMs struggle to hold two conflicting criteria at once: "find EVERYTHING relevant" (recall) vs "don't drag in junk" (precision). In a single prompt, the model picks one. Zero-shot without examples leans toward over-inclusion: the model reads "in any way related" as broadly as possible, because it doesn't know where the boundaries are. CoT-few-shot with examples leans toward caution: the model sees concrete "this is a yes, this is a no" samples and filters more strictly.

An LLM's strong suit is following a pattern from its context. Few-shot examples ("here's a good case, here's a bad one") calibrate the model: it starts demanding specifics instead of abstractions. CoT (chain of thought) makes the criteria explicit: "are there metrics? is the technology named?" instead of a vague "looks like AI in retail".

The staged approach uses both sides: first, the maximum sensitivity of zero-shot captures every candidate, then the strict CoT-few-shot filter cuts the false positives. You don't have to choose between recall and precision; you get both.

Control knobs:

  • Width of the first pass: Make the criterion even looser ("mentions anything at all about AI") → you'll catch even more, but the second pass will take longer
  • Strictness of the examples in the second: Show very concrete cases → the model gets pickier
  • Number of passes: Add a third pass for the "really borderline" ones → even finer tuning

Self-reflection flopped because the model starts rationalizing its mistakes: "Hmm, this article is about digital, and AI is digital, so it's relevant", and drags in junk complete with a "justification".


05

Prompt Template

Stage 1: Wide Net (Zero-shot for maximum recall)

From the list of {item_type}, select everything that is in any way related to {your_task}.

{item_list}

Inclusion criterion: {broad_criterion}.
Answer with a list of the numbers/names of relevant items.

Stage 2: Precision Filter (CoT-few-shot for precision)

Some of the selected items are borderline cases. For each one, explain step by step:
1. {check_criterion_1}
2. {check_criterion_2}
3. {check_criterion_3}

Worked examples:
- "{relevant_example}" → RELEVANT ({why})
- "{irrelevant_example}" → NOT RELEVANT ({why})

Borderline items:
{items_from_stage_1}

For each: reasoning → verdict.

Notes:

  • {broad_criterion} is a loose condition that captures as much as possible ("mentions topic X")
  • {check_criterion_N} are concrete questions for the second pass ("Are there numbers? Is the technology named?")
  • {examples} are real samples from your field; show the boundary between "yes" and "no"

06

Limitations

⚠️ Two requests instead of one: The staged approach requires manually passing results between stages, copying the candidates from the first prompt into the second. With hundreds of items, that gets clunky.

⚠️ Subjective criteria: If "relevance" is fuzzy ("creative idea" vs "boring idea"), even CoT-few-shot won't give stable results; the model will still be guessing.

⚠️ Class imbalance: If relevant items are very rare (5 out of 1000), even the staged approach can miss the rare cases; zero-shot isn't all-powerful either.


07

How They Studied It

The team took 1,376 scientific papers on automating systematic literature reviews and hand-labeled them at two levels: (1) whether the paper is relevant to SLR automation (yes/no), and (2) which SLR stages it covers (search, screening, extraction, synthesis, writing) + whether it uses LLMs. That produced a gold standard: expert labels to compare against.

Then they ran all 1,376 papers through 6 models (GPT-4o, GPT-4o-mini, DeepSeek, Gemini-2.5-Flash, Claude-3.5-Haiku, Llama-4-Maverick) with 5 prompt types (zero-shot, few-shot, CoT, CoT-few-shot, self-reflection). That's 30 model+prompt combinations in total. For each one they computed accuracy, precision, recall, F1 against the expert labels.

Key finding: CoT-few-shot delivered the best F1 (0.913), balancing precision and recall. Zero-shot delivered the highest recall (0.971): it found almost everything, but with a pile of junk (precision 0.834). Self-reflection flopped: lowest F1 (0.835), worst precision (0.753), because the model tried to justify its mistakes instead of fixing them.

Why the staged approach follows from this data: If zero-shot finds 97% of what's relevant (but with 16% junk), and CoT-few-shot finds 93% of what's relevant (but with 10% junk), then combining them gives you the best of both: a wide net on the first pass → precise filtering on the second. This wasn't directly tested in the paper, but it follows logically from the precision-recall trade-off.

Interesting bit about the models: GPT-4o-mini turned out to be very cost-effective: with CoT-few-shot it hit F1=0.910 at $0.18 per 1,000 papers, while GPT-4o cost $3.04 for nearly the same F1=0.918. DeepSeek also struck a good balance: F1=0.914 at low cost.

On self-reflection: This was the only prompt that made results worse for almost every model. The mechanism: the model generates an answer → critiques it → revises it. But on classification tasks it starts rationalizing its original decision ("Well, actually, you could argue this paper is also about automation...") instead of checking honestly. It's a classic problem with self-reflection that lacks external grounding: the model talks itself into things.


08

Adaptations and Extrapolations

💡 Adaptation for hiring: Resume screening: use a wide pass to pick everyone with the right skills, then a second pass to cut those whose skills exist only in their job title.

Stage 1:

From these 100 resumes, select everyone who has worked with Python and data in any way.
Criterion: the resume mentions Python AND data (analysis/processing/visualization).

Stage 2:

For each shortlisted candidate, analyze:
1. Which specific Python libraries do they name? (pandas, numpy, sklearn...)
2. Do they describe data projects, or just list it under skills?
3. Are there metrics for their results? (sped up processing by X%, built a model with Y% accuracy)

Examples:
- "Built a data processing pipeline in pandas, cut reporting time by 40%" → FIT
- "Skills: Python, working with data, Excel" → NOT A FIT (no specifics)

[candidates from stage 1]

🔧 Technique: Add temperature to the stages → control strictness

For the wide net, use temperature=1.0 (more variability, fewer misses). For the precision filter, use temperature=0 (determinism, strict scoring against the criteria).


💡 Extrapolation: Staged prompting for review analysis

First pass: zero-shot to find every mention of product problems (wide). Second pass: CoT-few-shot to cut plain grumbling and keep bugs and concrete defects.

Stage 1:
From these reviews, select all the ones where the customer complains about problems with {product}.
[500 reviews]

Stage 2:
For each complaint, explain:
1. Is this a concrete product defect or general dissatisfaction?
2. Are the steps to reproduce the problem described?
3. Does it say what exactly doesn't work?

Examples:
- "The app crashes when I tap the Pay button on iOS 17" → BUG (specific, reproducible)
- "Awkward to use, everything is badly made" → NOT A BUG (emotion without details)

09

Resources

Evaluating Prompting Strategies and Large Language Models in Systematic Literature Review Screening: Relevance and Task-Stage Classification by Binglan Han, Anuradha Mathrani, Teo Susnjak (Massey University, New Zealand)


Research digest

Key result

The paradox: Ask an LLM to "find everything that fits" and it either misses important items (low recall) or hauls in everything in sight (low precision). In a single prompt, the model can't hold two conflicting criteria at once. Staged Prompting lets you get both full coverage and precise filtering in selection tasks (papers, resumes, ideas). Two passes with different prompts: the first is zero-shot for a wide net (miss nothing), the second is CoT-few-shot only on the borderline cases (cut the junk). Outcome: high recall from the first + high precision from the second.

Principle

Stage 1 (Wide Net): A zero-shot prompt with a loose criterion: the model captures as many candidates as possible and reads "in any way related" broadly. You get 20-30 items out of 50, some of them extra. Stage 2 (Precision Filter): Take the borderline cases from the first stage → CoT-few-shot with concrete "this is a yes, this is a no" examples. The model sees the samples and starts demanding specifics instead of abstractions: "are there metrics? is the technology named?". You're left with 8-12 precise matches. Both stages are separate requests; you copy the results of the first into the second by hand.

Why it works

LLMs struggle to hold "find EVERYTHING" (recall) and "don't drag in junk" (precision) at the same time; in a single prompt they pick one. Zero-shot without examples leans toward over-inclusion: the model doesn't know the boundaries and reads the criteria as broadly as possible. CoT-few-shot with examples leans toward caution: the model sees concrete samples, filters more strictly and demands details. The staged approach uses both sides: first, maximum sensitivity captures every candidate, then a strict filter cuts the false positives. You don't choose between coverage and precision; you get both. Bonus: self-reflection ("check yourself") performs worst of all: the model starts rationalizing its mistakes ("this article is about digital, and AI is digital, so it's relevant") and drags in even more junk complete with a "justification".

When to apply

Filtering and selection → specifically for tasks where both coverage and precision matter: screening papers for a literature review, shortlisting resumes against requirements (don't miss the strong ones + cut the misfits), filtering ideas for a presentation (capture every option + keep only those with metrics), finding case studies in a large database. Especially when: the selection criteria can be broken down into concrete questions ("are there numbers?", "is the technology named?", "is a result mentioned?"); the second pass needs clear samples of the "yes/no" boundary. NOT a fit for: subjective criteria like "a creative idea" or "an interesting article": even CoT-few-shot won't give stable results, and the model will be guessing. Class imbalance (5 relevant out of 1000): even a wide net can miss the rare cases.

Mini recipe

1. Wide Net (first pass): Run a zero-shot prompt with a loose criterion: `From the list [items], select everything that is in any way related to [task]. Criterion: [broad condition]. Answer with a list of numbers.` The goal is to capture as much as possible; extras are fine. 2. Precision Filter (second pass): Take the borderline cases from the first stage → CoT-few-shot with concrete questions and examples: `For each one, explain step by step: 1) [criterion_1]? 2) [criterion_2]? 3) [criterion_3]? Examples: "[YES_sample]" → RELEVANT (why), "[NO_sample]" → NOT RELEVANT (why). Borderline items: [list from stage 1]. For each: reasoning → verdict.` 3. Tune the knobs: Make the first criterion looser ("mentions anything at all about X") → you'll catch more, but the second pass gets longer. Show very concrete examples in the second → the model gets pickier. Add a third pass for the "really borderline" ones → even finer.

Examples

[BAD]: `From these 50 articles, select all the relevant ones about AI in US retail. Criterion: the article should be useful for an investor presentation.` (One request, a fuzzy criterion: the model will either miss case studies or drag in everything about "digital transformation" with no specifics) [GOOD]: Stage 1: `From the 50 articles, select everything that is in any way related to AI in US retail. Criterion: mentions AI/ML/neural networks AND the US retail market. Answer with a list of numbers.` → Got 22 candidates. Stage 2: `Some of the 22 selected articles are borderline. For each one, explain: 1) Which AI technology? 2) Deployed case or trend? 3) Are there metrics? Examples: "Walmart deployed computer vision, +23% accuracy" → RELEVANT (concrete case + numbers). "An expert believes it's time for retail to adopt AI" → NOT RELEVANT (opinion without a case). Borderline: [list of 22 articles]. For each: reasoning → verdict.` → 9 articles with concrete case studies and metrics remain.

In plain words

Models don't filter information like a rigid algorithm. They filter like a burned-out assistant who's terrified of getting chewed out for missing an important document. When you ask a model to pick out scientific papers or case studies, it faces an internal tug-of-war: either bury you in junk but miss nothing, or be strict and accidentally toss out a gem. The study showed that LLMs can't balance these extremes within a single simple request; they always tip to one side depending on how you framed the task.

It's like asking an intern to find every edible mushroom in the woods. If you just say "grab anything that looks like a mushroom" (Zero-shot), they'll haul back three baskets of toadstools with a couple of porcini mixed in. But if you hand them a field guide with examples and make them think out loud over every find (CoT-few-shot), they'll turn suspicious and bring back just five perfect mushrooms, tossing half the edible ones just in case.

Here's how the numbers and methods shake out: Zero-shot (a request with no examples) gives maximum recall: the model finds nearly 100% of what you need, but you also get a mountain of slag. The most sensible balance comes from CoT-few-shot (chain of thought plus examples): the model sees where the boundaries are and starts filtering deliberately. Meanwhile, the much-hyped Self-reflection, where the model double-checks itself, turned out to be a total flop. Instead of fixing mistakes, the model starts playing defense attorney for its own nonsense, trying to justify why extra junk belongs on the final list.

The principle is universal: whether you're hunting for papers for a dissertation or picking the best case studies for an investor deck, the strategy depends on the cost of a mistake. If it's critical to not miss a single mention, use a bare prompt with no examples and get ready to clean up the output by hand. If you need quality without extra noise, give the model 3-5 clear "yes/no" examples and make it spell out its reasoning for each item.

Bottom line: there's no universal "make it perfect" prompt. Either you cast a wide net and dig through the catch yourself, or you set a hard filter and accept that some useful content will end up in the trash. The big letdown of the study is that model self-checking doesn't work: models are too smug to admit their slip-ups when filtering, so quality control is still on you.

AI lab assistant

Apply this study to your task

Describe what you're working on. AI takes the method and the measured results from this paper and adapts them to your case, or writes a ready prompt built on them.

Based on Staged Prompting: Two-Pass Screening to Balance Recall and Precision arXiv:2510.16091

Sign in to apply this study New accounts get 50 free credits.