By Mario Alexandre · March 27, 2026 · 9 min read
I remember the first time I used ChatGPT. I typed "write me a blog post about productivity" and got back something that sounded good but said nothing. It took me months of experimentation to understand why — and the answer changed how I think about AI communication forever.
If you are new to prompt engineering, this guide will save you those months. I will explain what prompt engineering actually is, why most prompts fail, and how to fix it using a simple framework called sinc-LLM.
Prompt engineering is the practice of writing instructions for AI models that produce exactly the output you want. It is not magic, it is not hacking, and it is not about finding secret keywords. It is about specification — telling the AI precisely what you need instead of hoping it guesses correctly.
Think of it like ordering food at a restaurant. "Give me something good" is a bad order. "Grilled salmon, medium, with roasted vegetables, no butter, extra lemon on the side" is a good order. The chef can execute both, but only the second one gives you what you actually want.
The average prompt is 12 words long. The average specification for a human freelancer is 2,000 words long. That gap — 12 words versus 2,000 — is where things go wrong. You would never hire a freelancer and say "make me a website" with no other details. But that is exactly what most people do with AI.
When the AI receives an underspecified prompt, it has to guess what you meant. And AI guessing has a name: hallucination. Not because the AI is broken, but because you gave it too little information to work with.
In signal processing, this is called aliasing — when you sample a signal with too few data points, the reconstruction contains artifacts that were never in the original signal:
This formula is the mathematical basis of sinc-LLM, but you do not need to understand the math to use the tool. The key insight is simple: more specification = less guessing = better output.
I developed a framework that breaks every prompt into exactly 6 parts. I call them "bands" because they are like frequency bands in a radio signal — each carries a different type of information, and together they capture your full intent.
Here are the 6 bands:
Instead of letting the AI default to "helpful assistant," tell it exactly what expert to act as. Not "be a writer" but "senior tech journalist who writes for Wired, known for explaining complex topics to non-technical audiences."
Give the AI the background. "I am preparing a presentation for my company's board meeting next Tuesday. The board consists of 5 non-technical investors. They are evaluating whether to increase our AI budget by $2M."
Provide specific facts, examples, numbers, or reference material. Do not make the AI invent data — give it real data. "Our AI spending last quarter was $150K. Revenue attributed to AI features: $890K. Customer satisfaction for AI features: 4.2/5."
This is the most important band. Tell the AI what to do AND what not to do. "Maximum 10 slides. No technical jargon. Each slide must have one key number. No pie charts — use bar charts only. Must end with a clear recommendation."
Be specific about structure. "Markdown document with H2 headers for each slide. Each section has: slide title, key message (one sentence), supporting data point, speaker notes (3 bullet points)."
State the action clearly. Not "help me with my presentation" but "create the complete slide deck outline with speaker notes for a 20-minute board presentation on our AI ROI."
Let me show you what all 6 bands look like together in sinc JSON format:
{
"formula": "x(t) = \u03a3 x(nT) \u00b7 sinc((t - nT) / T)",
"T": "specification-axis",
"fragments": [
{"n": 0, "t": "PERSONA", "x": "Expert data scientist with 10 years ML experience"},
{"n": 1, "t": "CONTEXT", "x": "Building a recommendation engine for an e-commerce platform"},
{"n": 2, "t": "DATA", "x": "Dataset: 2M user interactions, 50K products, sparse matrix"},
{"n": 3, "t": "CONSTRAINTS", "x": "Must use collaborative filtering. Latency under 100ms. No PII in logs. Python 3.11+. Must handle cold-start users with content-based fallback"},
{"n": 4, "t": "FORMAT", "x": "Python module with type hints, docstrings, and pytest tests"},
{"n": 5, "t": "TASK", "x": "Implement the recommendation engine with train/predict/evaluate methods"}
]
}
You can generate this structure automatically by pasting your raw idea into sinc-LLM. The tool fills in all 6 bands for you.
Now that you understand the 6-band framework, here is how to go deeper: