Back to course
Module 2 · Day 4

Prompts as Engineering Artifacts

Module 1-এ শিখেছো LLM ভেতরে কী করে। আজ থেকে Module 2 — এখন শিখবে prompt আসলে কী: magic spell না, engineering artifact। Version করা যায়, test করা যায়, মাপা যায়, iterate করা যায়। রাফির complaint-categorizer দিয়ে পুরো flow — success criteria থেকে eval পর্যন্ত।

~120 min read5 learning objectives
What you'll learn
  • একটা বাক্য মুখস্থ বলতে পারা: “একটা prompt হলো software — version করা যায়, test করা যায়, মাপা যায়, iterate করা যায়।” এই mental shift-টাই Module 2-এর gateway।
  • prompt engineering-এর canonical ৫-ধাপ flowchart মনে রাখা: success criteria → test cases → preliminary prompt → iterate with measurement → ship।
  • Grading-এর ৩টা tier আলাদা করতে পারা — code-based, human, LLM-based — আর তার নিচে ৪টা assertion type (equals, contains, regex, llm-rubric) কখন কোনটা।
  • “Vibes-based iteration” vs “eval-based iteration”-এর পার্থক্য নিজের ভাষায় বলা — কেন প্রথমটায় regression লুকিয়ে থাকে।
  • Day 4-এর English vocabulary মুখে আসা — success criteria, baseline, regression, eval, assertion, rubric, pass rate, edge case — যাতে team meeting আর PR review-এ confident-ভাবে বলতে পারো।
Before this
  • Module 1 শেষ (Day 1–3) — token, embedding, attention-এর basic মাথায় আছে।
  • ChatGPT বা Claude-এ অন্তত কয়েকবার prompt পাঠানোর অভিজ্ঞতা।
  • আজ কোনো code লিখব না — কিন্তু একটা YAML eval config পড়ব। Coding background না থাকলেও চলবে।
1

The Big Picture

একটা prompt কীভাবে production-এ পৌঁছায় — একটা standard ৫-ধাপ loop দিয়ে শুরু।

Module 1-এর রাফিকে মনে আছে? একটা logistics কোম্পানির junior dev, যাকে ৩০০টা customer complaint category করতে বলা হয়েছিল। এবার ধরো রাফি একটা prompt লিখে ফেলেছে — ৩টা complaint-এ চালিয়ে দেখল, ঠিকঠাক লাগছে। Boss জিজ্ঞেস করল, “কতটা ভালো, আসলে?” রাফির কাছে কোনো সংখ্যা নেই — শুধু “ভালো লাগছে” একটা feeling। এই ফাঁকটাই আজকের lesson। আজ থেকে prompt লেখা মানে শুধু ভালো লেখা না — measure করে লেখা।

Prompts as softwarethe mental shift

Prompt কোনো magic spell না — engineering artifact। যেকোনো function-এর মতোই: version-এ থাকে, একটা কাজ আছে, test থাকে (eval), measurement-এর সাথে iterate হয়, PR-এ review হয়, production-এ ship হয়। আজকের পর থেকে “একবার লিখে ছেড়ে দিলাম” attitude বন্ধ। প্রতিটা serious prompt একটা ছোট module — যার নিজের lifecycle আছে।

Why it matters

Module 2-এর বাকি সব এই shift-এর ফল। Prompt structure, few-shot, structured output, CoT, eval harness — সব ধরে নেয় তুমি prompt-কে software ভাবছ। এটা না বুঝলে সামনের প্রতিটা lesson বিচ্ছিন্ন trick মনে হবে। ২০২৬-এ এটা আর metaphor না — “promptware engineering” রীতিমতো একটা গবেষণার নাম।

prompt engineering best-practice-এ একটা canonical ৫-ধাপ loop আছে — success criteria থেকে শুরু করে ship পর্যন্ত। নিচে এক এক ধাপ চেপে দেখো।

এই ৫টা box-এর প্রতিটার ভেতরে আরও কিছু concept আছে — success criteria আসলে কেমন দেখতে, test case কী দিয়ে বানে, edge case কেন জরুরি। পরের অংশে এক এক করে।

2

Core Concepts

Success criteria থেকে regression পর্যন্ত — prompt-কে software বানানোর ৭টা ধারণা।

Success criteria“done”-এর definition

Prompt লেখা শুরুর আগেই — “কাজ শেষ” মানে কী, সেটা মেপে লেখা। SMART: Specific (“accurate complaint categorization”), Measurable (৮৫%+ সঠিক label), Achievable (frontier model-এ বাস্তব), Relevant (তোমার আসল use case)। “Bot ভালো কাজ করবে” — too vague। “৩০০টা complaint-এর ৮৫%-এ সঠিক category” — কাজের। প্রায়ই একসাথে কয়েকটা মাত্রা লাগে — accuracy + latency + cost।

Why it matters

Vague criteria মানে vague evaluation মানে “vibes-এ ship করা।” যেসব AI product fail করে, তাদের প্রায় সবার এক মূল কারণ — robust evaluation system বানাতে না পারা। Criteria-ই সেই system-এর প্রথম ইট।

Test caseinput + expected output

একটা নির্দিষ্ট input + সেই input-এ যা output হওয়া উচিত। ১০–২০টা test case-এর একটা set = তোমার ground truth। Mix থাকা চাই — typical input (বেশিরভাগ user), edge case (কম আসে কিন্তু জরুরি), adversarial input (sarcasm, typo, খালি, খুব লম্বা)। YAML-জাতীয় eval tool এই test-গুলো এভাবেই লেখে।

Why it matters

canonical flowchart-টা test cases দিয়ে শুরু — preliminary prompt-এরও আগে। কারণ test না থাকলে prompt edit-এর কোনো feedback signal নেই — শুধু feeling। আর একটা মজার নিয়ম: “prioritize volume over quality” — ৫টা নিখুঁত hand-graded test-এর চেয়ে ২০টা rough automated test ভালো signal দেয়।

Test case লেখা হলে পরের প্রশ্ন — pass/fail কীভাবে ঠিক হবে? Grading-কে তিন tier-এ ভাগ করা যায় — code-based, human, LLM-based — fastest থেকে সবচেয়ে scalable পর্যন্ত order-এ। নিচের ৪টা assertion type ওই tier-এর ভেতরেই পড়ে। একটা ট্যাব বেছে দেখো — concrete example + কখন এটা সেরা choice।

Edge casethe rare but critical input

অস্বাভাবিক input যেটা production-এ আসবেই — খালি input, খুব লম্বা input, sarcastic tone, অন্য ভাষা, typo, “আসলে complaint-ই না” এমন message। Test set-এ এগুলো না থাকলে ৮০% pass দেখে “done” বলে ফেলবে — কিন্তু production-এ exactly এই ২০%-ই ভাঙবে। Edge case-গুলো বরং বেশি করে রাখো।

Why it matters

বেশিরভাগ prompt failure কোনো exotic জিনিসে না — boring edge case-এ। রাফির bot-এর সবচেয়ে বড় ফাঁদ “বাহ, দারুণ সার্ভিস!” — একটা sarcastic complaint, যেটা আসলে delivery_delay।

Baselinethe starting floor

প্রথম reasonable prompt-এর pass rate। সাধারণত ৫০–৭০%-এ থাকে। এটাই তোমার measurement floor — সব future change এই number-এর সাথে compare হবে। “v2-তে ৬১% থেকে ৮৬% হলো — improvement।” Baseline ছাড়া এই বাক্যটাই বলা যায় না।

Why it matters

Baseline না থাকলে team meeting-এ “আমি prompt improve করেছি” — এই দাবির পেছনে কোনো proof নেই। Pass rate before/after = যেকোনো AI team-এ PR review-এর standard মুদ্রা।

Regressionthe hidden danger

এমন change যেটা আগে-pass করা test fail করিয়ে দেয় — অর্থাৎ improvement ভেবে আসলে বিগড়ে দিলে। Eval ছাড়া regression অদৃশ্য — কারণ “কিছু একটা output” তো এসেছেই। Eval থাকলে report-এ লাল — “v4: pass rate ৮৬% → ৮০%” — তখন revert।

Why it matters

Software engineering-এর regression-এর মতোই। যেমন কোনো PR test fail করালে block হয় — তেমন prompt change eval fail করালে ship হবে না। “Prompts as software” বাস্তবে এটাই মানে।

Vibes vs evalsthe trap to avoid

“Vibes” — output পড়ে চোখে ভালো/খারাপ লাগা। “Evals” — মাপা pass rate, সংখ্যা। ফাঁদ: ছোট ছোট prompt change-এ vibes confidence দেয়, কিন্তু সংখ্যা উল্টোদিকে যায়। এই lesson-এর একটা round exactly তাই — চোখে “cleaner”, কিন্তু eval-এ pass rate নিচে। বড় scale-এ চোখ মিথ্যা বলে; সংখ্যা বলে না।

Why it matters

AI engineer হিসেবে তোমার সবচেয়ে দামি অভ্যাস এটাই — চোখে রায় দেওয়ার আগে eval চালাও। একবার শিখলে আর পেছনে ফিরবে না।

Versioning promptsgit for prompts

Prompt-গুলো `.txt`, `.md`, বা `.yaml` ফাইলে রেখে codebase-এর সাথে commit করা। তখন diff দেখা যায়, branch করা যায়, PR-এ review হয়, tag-এ release হয়। বাস্তব উদাহরণ — editor-জুড়ে চেনা project-instruction ফাইলের standard (যেমন `.cursorrules`, `AGENTS.md`)। ২০২৬-এর teams prompt-এর জন্যও dev/staging/prod environment রাখে — staging-এ eval pass করলে তবে prod-এ promote।

Why it matters

তিন সপ্তাহ পরের তুমি মনে রাখবে না কোন version-এ best pass rate ছিল। Git মনে রাখে। আর team-এর বাকিরা কী try করেছে — সেটাও history-তে দেখা যায়।

3

Try It Yourself

পড়া বন্ধ — রাফির complaint-categorizer দিয়ে নিজে eval পড়ো আর চালাও।

রাফির আসল data দিয়ে এবার হাতে-কলমে দেখা যাক — একটা real eval config কেমন দেখতে, আর দুটো prompt version পাশাপাশি চালালে সংখ্যা কী বলে।

উপরের run-টা ছিল দুটো prompt version-এর এক-দফা তুলনা। রাফির আসল iteration ৫ round গিয়েছিল — প্রতি round-এ vibes আর eval কী বলেছিল, পাশাপাশি দেখো।

4

Check Your Understanding

ভুল হলে সমস্যা নেই — প্রতিটার ব্যাখ্যা আছে।

Misconception check

আগে prompt লিখি, সময় থাকলে পরে test যোগ করব

Misconception check

Eval শুধু production-এর জন্য, আমি তো এখন experiment করছি

Misconception check

Playground-এ আমার prompt দারুণ লাগছে — done

Misconception check

Claude-কেই জিজ্ঞেস করি আমার prompt ভালো কিনা

Misconception check

LLM-as-judge reliable না — এড়িয়ে চলব

Misconception check

ছোট project-এ prompt version control overkill

Misconception check

৮০% pass rate মানে prompt done

Quick check

best-practice অনুযায়ী prompt engineering শুরুর আগে তিনটা জিনিস থাকতে হয় — কোনগুলো?

ভুল হলেও সমস্যা নেই — প্রতিটা option-এর সাথে ব্যাখ্যা আছে।

Quick check

রাফির complaint-categorizer (label আগে থেকেই নির্দিষ্ট) — সবচেয়ে fit assertion কোনটা?

ভুল হলেও সমস্যা নেই — প্রতিটা option-এর সাথে ব্যাখ্যা আছে।

Quick check

Customer reply “empathetic” কিনা check করার সবচেয়ে practical assertion কোনটা?

ভুল হলেও সমস্যা নেই — প্রতিটা option-এর সাথে ব্যাখ্যা আছে।

Quick check

Prompt-engineering vocabulary-তে “regression” মানে কী?

ভুল হলেও সমস্যা নেই — প্রতিটা option-এর সাথে ব্যাখ্যা আছে।

Quick check

“Vibes-based iteration” কেন dangerous?

ভুল হলেও সমস্যা নেই — প্রতিটা option-এর সাথে ব্যাখ্যা আছে।

Quick check

দুটোর মধ্যে কোনটা ভালো eval — eval design principle অনুযায়ী?

ভুল হলেও সমস্যা নেই — প্রতিটা option-এর সাথে ব্যাখ্যা আছে।

5

Prove It To Yourself

চারটা ধারণা মনে রাখো। নিজের ভাষায় লেখো। Day 4 শেষ।

Note

চারটা ধারণা মনে রাখো — prompt কোনো magic spell না, engineering artifact; version করা যায়, test করা যায়, মাপা যায়, iterate করা যায়, review করা যায়, ship করা যায়। Test case আসে prompt লেখারও আগে — canonical flowchart-টা এটা দিয়েই শুরু, “good” মানে কী না জানলে prompt edit করা মানে অন্ধকারে ঢিল ছোঁড়া। Grading সবসময় সস্তা tier দিয়ে শুরু করো — code-based (equals/contains/regex) সবচেয়ে fast, না খাটলে তবেই llm-rubric; human grading যতটা সম্ভব এড়াও। আর শেষ কথা — সংখ্যা কখনো মিথ্যা বলে না, “cleaner লাগছে” বা “better মনে হচ্ছে” চুপচাপ regression ship করিয়ে দেয়; pass rate before/after-ই আসল সত্যি।

আজকের শব্দগুলো — success criteria, baseline, regression, eval, assertion, rubric, pass rate, edge case, test case, ground truth, iterate, version, ship — এখন থেকে English-ই থাকবে; team meeting, PR review, docs-এ এভাবেই দেখবে। কাল কেউ “baseline” বললে তুমি জানো সেটা কী। পুরো তালিকা নিচের glossary-তে।

Glossary

শব্দার্থ — পরে ফিরে দেখার জন্য

একনজরে সব key term। কোনো শব্দ ভুলে গেলে এখানে এসে খুঁজে নিও।

Assertion
Test case-এর সাথে যুক্ত programmatic check — output পেয়ে নিজে নিজে pass/fail ঠিক করে।
Baseline
প্রথম reasonable prompt-এর pass rate। সব future change এর সাথে মাপা হয়।
CI/CD
Continuous Integration/Deployment — code (আর prompt) commit হওয়ার সাথে সাথে test auto-চালানো + deploy-এর pipeline।
Code-based grading
Output-এ সরাসরি প্রোগ্রাম চালিয়ে check (equals/contains/regex)। সবচেয়ে fast, reliable, scalable।
Edge case
অস্বাভাবিক input — খালি, খুব লম্বা, sarcastic, অন্য ভাষা। Eval set-এ ইচ্ছে করে রাখতে হয়।
Eval / Evaluation
Prompt-এর performance মাপার পদ্ধতি — test case + assertion চালিয়ে pass rate বের করা।
Golden answer / Ground truth
Test case-এর expected correct output — যার সাথে model-এর output মেলানো হয়।
Held-out set
যে test case দিয়ে iterate করোনি — final validation-এ চালানো হয়, overfitting এড়াতে।
Iterate
Prompt বদলে eval আবার চালানোর cycle। ১৫–৩০ মিনিটে এক round, কয়েক round পর criteria পূরণ।
LLM-as-judge
আরেকটা LLM-কে rubric দিয়ে output rate করানো। Subjective quality-র জন্য — code-assertion যেখানে খাটে না।
Pass rate
কত শতাংশ test case-এ assertion pass হলো। ৮০% pass = ২০% fail — সেগুলো দেখতে হবে।
Prompt template
Variable slot-যুক্ত prompt — যেমন `Categorize {{complaint}}`। Eval-এ একই template-এ আলাদা test case বসে।
Regression
আগে-pass করা test fail করিয়ে দেওয়া change। Eval ছাড়া অদৃশ্য।
Rubric
LLM-judge-কে দেওয়া detailed criteria — “Reply empathetic কিনা; concrete next step আছে কিনা।” Specific হলে judge consistent।
Ship
Final prompt version production-এ ছাড়া। Git tag + version note + deploy = ship।
SMART criteria
Specific, Measurable, Achievable, Relevant — success criteria লেখার format।
Success criteria
“Done” মানে কী, তার specific + measurable definition। canonical flowchart এটা দিয়ে শুরু।
Test case
একটা input + expected output pair। ১০–২০টা মিলে ground truth।
Version
একটা prompt-এর নির্দিষ্ট snapshot (v1, v2, v3) — git-এ commit হিসেবে save।
References

Sources consulted to author this lesson. Citation style is informal — follow the links if you want to dig deeper.

Exit check

দুই বাক্যে নিজের ভাষায় লেখো

নিজের ভাষায় দুই বাক্যে লেখো — prompt কেন engineering artifact (কোন কোন জিনিস তাকে magic spell থেকে আলাদা করে), আর vibes-based iteration কেন dangerous।

0 chars
Back to course