The short answer is: no, prompt engineering isn't dead. It's becoming one layer of a larger system.
The term "harness engineering" (not a formal industry standard, but increasingly used by practitioners) refers to building the entire environment around the model rather than obsessing over the perfect prompt.
For a solo indie hacker, that's actually good news. You don't need a research team—you need a repeatable workflow.
Here's how I'd think about it.
| Prompt engineering | Harness engineering |
|---|
| Write a clever prompt | Build a system that consistently produces good outputs |
| One-shot interaction | Multi-step workflow |
| Static instructions | Dynamic context assembly |
| Hope it works | Test, evaluate, iterate |
| Manual prompting | Code + prompts + tools + memory + evaluation |
A harness usually has these pieces:
User Input
│
▼
Context Builder
├─ retrieve docs
├─ user memory
├─ project files
└─ examples
▼
Planner Prompt
▼
LLM
▼
Tool Calls
├─ search
├─ code
├─ database
└─ APIs
▼
Evaluator
├─ tests
├─ rubric
└─ retry if needed
▼
Final Output
A practical solo-indie harness
Suppose you're building an AI product that writes blog posts.
Instead of:
Write me a blog post.
you build something like:
Step 1
Extract:
- audience
- topic
- search intent
- tone
Step 2
Retrieve:
- company voice guide
- previous posts
- SEO keywords
Step 3
Generate outline
Step 4
Critique outline
Step 5
Rewrite weak sections
Step 6
Generate final article
Step 7
Score:
- readability
- SEO
- factual support
If score < 8/10
repeat.
Notice the prompt itself isn't dramatically more sophisticated. The workflow is.
The four harnesses I think every indie hacker should have
1. Retrieval harness
Don't stuff everything into one prompt.
Instead:
Question
↓
Search
↓
Retrieve top 5 docs
↓
Summarize
↓
Answer
This is essentially retrieval-augmented generation (RAG) in miniature.
2. Planning harness
Instead of:
Build me a SaaS.
Do:
Plan
↓
Review
↓
Expand
↓
Implement
↓
Review implementation
Each stage uses a different prompt.
3. Evaluation harness
This is probably the biggest improvement most people aren't using.
Generate answer
↓
Judge answer
↓
List flaws
↓
Rewrite
↓
Judge again
Models are often much better at criticizing than getting everything right on the first attempt.
4. Tool harness
Instead of expecting the model to know everything:
Need data?
↓
Search
↓
Need code?
↓
Run code
↓
Need docs?
↓
Retrieve docs
↓
Answer
The model becomes an orchestrator rather than the sole source of information.
A simple Python pattern
Many agent frameworks ultimately reduce to a loop like this:
context = build_context(user)
draft = writer(context)
score = evaluator(draft)
while score < 8:
feedback = critic(draft)
draft = rewrite(draft, feedback)
score = evaluator(draft)
return draft
The important idea is that you're engineering the process, not just the prompt.
Version your prompts
Treat prompts like code.
prompts/
planner.md
writer.md
evaluator.md
rewriter.md
Then:
v1
↓
test
↓
change one thing
↓
test again
↓
commit
Avoid editing prompts directly in your application.
Keep examples separate
Rather than embedding examples inside prompts:
examples/
cold_email_1.md
cold_email_2.md
cold_email_3.md
Retrieve only the examples relevant to the current task.
This keeps prompts shorter and makes updating examples easier.
Add automated evaluation early
Even a simple rubric helps.
Rate 1-10:
- accuracy
- clarity
- usefulness
- style match
Return JSON only.
You can then:
- compare prompt versions
- compare models
- measure regressions
- A/B test changes
Without evaluation, it's easy to mistake anecdotal improvements for real ones.
Resist building a giant autonomous agent
Many solo builders start with:
"I'm making an AI employee."
A more reliable pattern is:
Tiny workflow
↓
Works well
↓
Add one capability
↓
Measure
↓
Repeat
Constrained, observable workflows are typically easier to debug and improve than fully autonomous agents.
Frameworks worth looking at
If you're exploring existing tooling rather than building everything from scratch:
- OpenAI Agents SDK — Lightweight orchestration for agents, tools, handoffs, and guardrails.
- LangGraph — Graph-based workflows with durable execution and state.
- PydanticAI — Strong typing and structured outputs for Python AI applications.
- DSPy — Optimizes prompts and pipelines programmatically rather than relying on manual prompt tuning.
For many solo projects, you don't need a heavyweight framework immediately. A few well-defined functions connected in code can take you surprisingly far.
A mindset shift
A useful way to frame the transition is:
- 2023: "How do I write the perfect prompt?"
- 2024: "How do I give the model the right context?"
- 2025+: "How do I build a reliable system around the model?"
That last question is what people increasingly mean by "harness engineering." The prompt still matters, but it's one component alongside retrieval, tools, memory, structured outputs, evaluation, retries, and observability. For most successful indie AI products, those surrounding pieces contribute more to reliability than squeezing another 5% out of a single prompt.