I've been thinking about this lately because I feel like people use the term "prompt engineering" to describe two very different things.
On one end, you have what most people are familiar with:
A person opens ChatGPT, Claude, Gemini, etc., and writes a carefully structured prompt.
They define a role, provide context, establish goals, set constraints, maybe include examples, and iterate until they get the output they want.
Most people seem to call this prompt engineering.
But on the other end, when I'm building AI systems, prompt engineering looks completely different.
The prompt isn't really a prompt anymore. It's much more of a dynamic pipeline.
Variables are injected from databases, user input, APIs, previous conversations, tools, memory systems, retrieval systems, business rules, and workflow state.
Decision trees determine which instructions are included and which are excluded.
Prompts become assembled in real time based on context.
In some cases, the "prompt" is really just an orchestration layer made up of dozens of smaller prompts, conditionals, guardrails, routing decisions, and context windows.
At that point, are we still talking about prompt engineering?
Or are we actually talking about system design, context engineering, workflow engineering, orchestration, or something else entirely?
Personally, I see prompt engineering as a spectrum:
Level 1: Writing a better prompt.
Level 2: Designing reusable prompt templates.
Level 3: Building dynamic prompts with variables and context injection.
Level 4: Engineering entire prompt-driven systems with routing, memory, tools, retrieval, and decision logic.
Curious where others draw the line.
When you hear "prompt engineering," are you thinking about writing prompts, building workflows, designing agent systems, or all of the above?
Has the term become too broad to be useful?
[link] [comments]