#From prompt engineering to context engineering
In my recent training sessions, I’ve often been asked to share the secrets of “prompt engineering”. So, to cover the basics: a good prompt has four building blocks. Persona, context, task, expected format.
If you want to go further, Google has published a fairly thorough guide on the subject.
But honestly, all this fascination with prompt engineering doesn’t match what I see day to day. Yes, it’s a useful skill. Yes, there are good practices. But no, it isn’t some esoteric art. It’s a know-how you pick up quickly, and there’s no reason to overthink it in normal use. The “prompt engineer” job we were sold two years ago as the career of the future vanished before it ever existed.
In 2025, we no longer work with LLMs the way we did in 2024, especially with the new reasoning models like OpenAI o3 or Gemini Pro.
Of course, there are cases where the exact wording really matters. On some projects I’ve spent time refining each word and testing many variants, because the output had to be precise, stable and reproducible at scale. In those situations, tuning a prompt is like tuning a hyperparameter in data science: every detail counts.
But in everyday use, with an LLM as an assistant, the structure of the prompt turns out to matter only so much. What matters most is the quality of the context you give it.
It’s a question of balance: enough information for the model to understand the task, but not so much that you clutter it for no reason.
That’s why I find the term “context engineering”, which has been popping up over the past few weeks, far more fitting. It’s a much better description of what working with an LLM actually looks like today.
Tobi Lütke, Shopify’s CEO, put it well:
I really like the term “context engineering” over prompt engineering. It describes the core skill better: the art of providing all the context for the task to be plausibly solvable by the LLM.
That’s exactly it.
A concrete example: when I code with Copilot in VS Code, I spend my time opening and closing files so it sees just what it needs, no more, no less.
The real work isn’t writing perfect incantations, it’s laying out a clear picture so the model can reason properly without going astray.