Prompt engineering is the practice of designing inputs to get desired outputs from language models. The difference between a careless and a careful prompt is dramatic — this guide covers every technique that meaningfully moves quality.
Not all four parts are always necessary, but knowing them makes gaps obvious.
Bad: 'Write something about marketing.' Good: 'Write three email campaign ideas for a B2B SaaS targeting small businesses. Each idea: 2–3 sentences.' The second prompt leaves no room for guessing.
Role assignments improve quality in specialized domains. The model shifts register and draws on domain-specific patterns.
You are an expert marketing copywriter with 10 years of experience in B2B SaaS. Write a compelling product description for...
Explicitly state the output shape — model will mostly comply. Examples: JSON object, bulleted list, Markdown table. Don't leave format to chance in production.
Zero-shot prompting works for common tasks but needs examples for specific output formats or nuanced edge cases.
Few-shot examples sharply raise quality. Three rules:
Review: "This is awesome!" Sentiment: Positive Review: "This is bad!" Sentiment: Negative Review: "The movie was okay." Sentiment: Neutral Review: "The food here is exceptional!" Sentiment:
Few-shot isn't free. A 2023 job-classification study found few-shot CoT performed worse than zero-shot for tasks that don't require expert reasoning.
CoT induces thinking aloud — critical for reasoning tasks. The model shows its work before committing to an answer.
The phrase 'Let's think step by step' significantly improves math and logic results without requiring examples. Cheap and effective.
Run the same CoT prompt multiple times with temperature > 0, take majority vote. Expensive but valuable for high-stakes reasoning.
Model explores parallel reasoning paths, generates candidate thoughts, and evaluates the most promising ones. Useful for planning, complex code, and strategic choices.
Two-step process: generate relevant facts first, then use them as context for the real question. Reduces hallucinations and improves domain-specific accuracy.
Break hard tasks into sequences where one output becomes the next input. Easier to debug, more transparent, and often cheaper than a single mega-prompt.
Model alternates between reasoning (Thought) and actions (Action), observing results before the next step. Sharply reduces hallucinations by grounding reasoning in external observations — this is the basis of most agent frameworks.
Thought: I need to look up Colorado orogeny... Action: Search[Colorado orogeny] Observation: [result] Thought: Eastern sector extends into the High Plains. Action: Search[High Plains elevation] Observation: 1,800 to 7,000 ft. Action: Finish[1,800 to 7,000 ft]
Combines vector search with generation. Flow: user query → vector DB search → top-K docs → prompt with context → answer.
Instead of text answers, the model writes programs (usually Python) that produce answers. Eliminates calculation errors through interpreter delegation.
# I have 5 rows x 8 columns of plants. 3 are diseased. How many remain? total = 5 * 8 # 40 remaining = total - 3 print(remaining) # 37
Modern models detect when functions should be called, returning structured JSON with arguments. The code executes the function and passes results back for a final answer. This is how production LLM apps connect to the outside world.
Agent tries a task, gets feedback, writes the lesson into verbal memory, and retries. Dramatically improves multi-step coding and reasoning loops.
Use an LLM to generate and evaluate prompts automatically: generate candidates → score on a validation set → pick best → iterate. Worth setting up for prompts run at scale.
Package prompts as reusable functions with name, input, and rule. Compose them: fix_english(expand_word(trans_word('text'))). Turns ad-hoc prompts into composable blocks.
Prompt engineering isn't magic syntax — it's clear technical specs: state the goal, give context, show the format, provide examples when the model might guess wrong.
Reach for advanced techniques only when simple ones hit a wall: CoT for reasoning, RAG for fresh or private knowledge, ReAct for tools, PAL for math. Everything else is usually solved by being more specific.
Measure, don't guess. A 2023 study moved F1 from 65.6 to 91.7 by iterating on instructions, not switching models. Reiterating key points was one of the biggest drivers. Your prompts deserve the same treatment as code — version, test, measure.