# Prompt Engineering

> Prompt engineering is the practice of designing an LLM's inputs — instructions, context, examples, and format — to reliably get the output you want.

**Prompt engineering is the practice of designing the inputs to a large language model — instructions, context, examples, and output format — to reliably get the response you want, without changing the model's weights.**

The core levers are few and learnable. Write clear, specific instructions and put durable behavior in a [system prompt](/glossary/system-prompt). Show the model what good looks like with [few-shot examples](/glossary/few-shot-prompting). Specify the output format you need (JSON, a list, a single word). For hard problems, decompose the task or ask the model to reason step by step, the idea behind [chain-of-thought](/glossary/chain-of-thought) prompting. And give the model an out — permission to say "I don't know" — so it stops guessing when it lacks the answer.

Prompt engineering is empirical, not theoretical: small wording changes shift behavior in ways you can't fully predict, so you iterate and test against real examples rather than reasoning your way to the perfect prompt. It contrasts with [fine-tuning](/glossary/fine-tuning), which alters the model itself; prompting leaves the model untouched and is faster, cheaper, and reversible.

As applications grew into agents, the focus expanded from wording one prompt to curating everything that enters the model's window — a shift toward [context engineering](/glossary/context-engineering). For a catalog of reusable techniques, see the [prompt patterns guide](/guides/prompting/prompt-patterns).

---

_Source: https://agentscamp.com/glossary/prompt-engineering — Term on AgentsCamp._
