Key takeaways
The through-line
Prompt engineering stopped being clever wording and became context engineering — deciding what information occupies a finite window, in what order, under what structure. The prompt is a program whose runtime is a probability distribution.
The ideas that carry
- The system prompt sets the contract; the user turn is data. Conflating them is the root of most prompt-injection exposure and most inconsistent behaviour.
- Few-shot examples teach format far more reliably than they teach reasoning. If you need behaviour, demonstrate it; if you need knowledge, retrieve it. Examples are a poor substitute for either.
- Chain-of-thought buys accuracy with latency and tokens — and only on problems that decompose. On retrieval-shaped questions it mostly adds cost and surface area for error.
- Structured outputs are an engineering boundary, not a formatting preference. Constrained decoding and schemas turn a text generator into something a program can consume without a parser that guesses.
- Position in the context window is not neutral. Instructions at the edges survive; material buried mid-context gets lost. Long context is not the same as used context.
- Prompts are versioned artefacts. Un-versioned prompts silently drift, and nobody can say which change caused a regression. This is the single highest-leverage operational habit in the course.
- Defensive prompting assumes the input is hostile, because eventually it is — delimiters, instruction hierarchy, and never treating retrieved text as trusted.
What you can now do
Write a system prompt that holds under adversarial input. Choose deliberately between few-shot, CoT and retrieval. Ship structured outputs a downstream service can rely on. Version and A/B a prompt so a regression is attributable.
If one thing sticks
You are not writing instructions for a person. You are assembling the context that makes the right continuation the most probable one.