Prompt engineering is the practice of designing the input to a large language model so the output is reliable enough to build on. That input is more than a question: it is a system instruction that sets role and constraints, a set of examples that demonstrate the wanted shape, an output contract that the response must satisfy, whatever retrieved context the answer must be grounded in, and the sampling and reasoning settings that govern how the model generates. Getting a good answer once is easy. Getting the same quality across ten thousand varied inputs is the engineering problem.
The scope has widened considerably. A prompt now frequently ships alongside a set of tool definitions the model can call, a retrieval step that grounds the answer in the organisation's own documents, a structured output schema that downstream code parses, and a reasoning or effort setting that trades cost and latency against answer quality. Context windows on frontier models now reach a million tokens, which removes some problems and creates others — cost, latency and the fact that a model can attend to far more irrelevant material than before.
The part that separates practitioners from enthusiasts is evaluation. Prompt engineering without an eval set is guessing: a change that looks better on three hand-picked examples routinely makes things worse across the distribution. Serious work means building a labelled evaluation set, defining a rubric or automated judge, running regressions on every prompt change, and monitoring the same signals in production alongside token cost, latency and failure rate. This course treats prompting as a software discipline with tests, versions and budgets — not as a collection of tricks.
Why this skill matters now
Organisations have moved past the demo stage. The pilot that impressed a steering committee is now expected to run against real customer volume, and the gap between those two states is almost entirely engineering: reproducibility, evaluation, grounding, error handling, cost control and safety. Teams that never built an eval set discover the problem when a model upgrade silently changes behaviour and nobody can tell whether quality went up or down.
The technical surface has also changed under people's feet. Tool calling turned language models into components that act rather than only answer. Retrieval-augmented generation became the default way to ground answers in proprietary content. Structured output constraints made responses parseable. Reasoning and effort controls introduced a real cost-quality dial. Prompt caching changed the economics of long, stable system prompts. None of this was standard practice two years ago.
The demand is for people who can treat an LLM as an unreliable component and engineer around it — writing prompts that fail predictably, retrieving the right context rather than more context, validating tool arguments, measuring quality before shipping, defending against prompt injection, and keeping token cost and latency inside a budget somebody has to sign off.