Reasoning Techniques: Chain-of-Thought & Self-Critique
Module 2-র শেষ দিন। Model-কে ধাপে ধাপে ভাবতে বলা — কখন সাহায্য করে, কখন করে না, production-এ structured রাখবে কীভাবে, আর প্রতিটা technique নিজের eval harness-এ কীভাবে re-measure করবে।
- •Chain-of-Thought (CoT) কী আর কেন কাজ করে — “কাজ দেখাও”-এর প্রভাব।
- •CoT কখন সাহায্য করে (math/logic) আর কখন করে না বা ক্ষতি করে (simple classification) — বুঝে use করা।
- •Production-এ structured CoT — `<thinking>` tags দিয়ে reasoning আর parseable answer আলাদা রাখা।
- •Self-critique loop চালানো — generate → critique → refine, এক model তিন ভূমিকায়।
- •Self-consistency বোঝা — multiple path sample করে majority vote, accuracy বনাম খরচ।
- •Modern reasoning model (adaptive thinking) আর prompted CoT-র পার্থক্য — কখন কোনটা।
- •যেকোনো reasoning technique eval harness-এ re-measure করা — Module 2-র শেষ শিক্ষা।
- •Day 8 — zero-shot baseline prompt + hand-built test cases।
- •Day 11 — runner + assertions (exact_match) working।
- •Day 12 — prompt versioning + pass-rate trajectory; v3-এ CoT কীভাবে regression এনেছিল মনে আছে।
The Big Picture
Module 2-র শেষ দিন — reasoning technique-ও নিজের eval harness দিয়ে মাপতে হয়।
Module 2-র শেষ দিন এটা (Day 4–13)। এতদিন prompt বানিয়েছ, structure শিখেছ, evaluate করেছ। আজ শেখা প্রতিটা reasoning technique — CoT, self-critique, self-consistency — একই নিয়মে চলবে: “smarter লাগছে” যথেষ্ট না, নিজের eval harness-এ re-measure করে দেখাতে হবে। এটাই আজকের capstone।
Chain-of-ThoughtCoT — “show your work”
উত্তরের আগে model-কে ধাপে ধাপে যুক্তি লিখতে বলা। Zero-shot trigger এক লাইন — `Let's think step by step`; few-shot হলে কয়েকটা worked example দেখাও। Intermediate steps লেখায় multi-step সমস্যায় ভুল কমে।
অঙ্ক পরীক্ষায় শিক্ষক বলেন “কাজ দেখাও” — সরাসরি উত্তরে এক ভুলে শূন্য, ধাপ লিখলে নিজের ভুল নিজে ধরা পড়ে। Model-এর বেলায়ও তাই: ধাপ লেখার জায়গা পেলে হিসাব হারায় না। ২০২২-এর একটা landmark paper দেখায় এটা বড় model-এ emergent।
নিচের multi-step bKash হিসাবটা দেখো — সরাসরি উত্তর আর ধাপে ধাপে উত্তর পাশাপাশি। Run চেপে দেখো ধাপ আসতে আসতে উত্তরটা কীভাবে ঠিক হয়ে যায়।
Selective reasoningCoT কখন সাহায্য, কখন ক্ষতি
CoT universal switch না। ১০০+ paper-এর একটা 2024-এর meta-analysis: math, logic, symbolic — বড় গেইন; simple classification, commonsense, factual lookup — প্রায় শূন্য, কখনো negative। উপরন্তু প্রতিবার বেশি token + latency।
রাফির complaint-categorizer এক-শব্দের label দেয় — এখানে CoT জুড়লে accuracy বাড়ে না, উল্টো reasoning preamble এসে exact_match ভাঙে (Day 12-র v3)। “সব prompt-এ CoT লাগাও” — এটাই সবচেয়ে common ভুল। কখন লাগাবে, সেটাই আসল skill।
Core Concepts
CoT কখন কাজ করে, production-এ কীভাবে structure করবে, আর self-critique loop।
উপরের bKash উদাহরণে CoT জিতেছে। কিন্তু সব জায়গায় জেতে না। নিচের ৬টা task-type চাপ দিয়ে দেখো — কোথায় CoT বড় সাহায্য করে, কোথায় প্রায় কিছুই বদলায় না, আর কোথায় উল্টো ক্ষতি করে।
Structured CoT<thinking> tags + last-line answer
Reasoning `<thinking>...</thinking>`-এ আটকাও, final answer শেষ লাইনে একা রাখো। তাহলে parser শুধু শেষ লাইন নেয় — reasoning থাকল, কিন্তু output পরিষ্কার, exact_match মেলে।
Day 12-র গল্প: v3 raw CoT যোগ করে pass rate ৭৮% → ৭৩% (preamble leak)। v4 `<thinking>` tags + “final label on the LAST line, alone” দিয়ে ৮৪%। একই reasoning, শুধু format — তফাত eval-এ সরাসরি দেখা গেছে। Production CoT মানেই structured CoT।
Day 12-র v3 মনে আছে? CoT যোগ করার পর pass rate পড়ে গিয়েছিল — কারণ output-এর শুরুতে reasoning preamble চলে এসেছিল, exact_match মেলেনি। নিচে raw বনাম structured দুটো version toggle করে দেখো কোনটা parser-এ টেকে।
Self-critiquegenerate → critique → refine
এক model তিন ভূমিকায়: প্রথমে draft লেখে (generator), তারপর সেই draft-কে দেওয়া criteria দিয়ে যাচাই করে (critic), শেষে critique মেনে আবার লেখে (refiner)। কোনো extra training লাগে না। একটা landmark study-তে (Self-Refine পদ্ধতি) গড়ে ~২০% উন্নতি।
নিজের লেখা ভুল ধরা সহজ, এক চেষ্টায় perfect লেখা কঠিন — model-এর জন্যও তাই। তবে শর্ত: criteria দিতে হবে (“delay উল্লেখ করেছ? concrete date দিয়েছ?”)। এই generate→critique→refine loop-টাই পরের কোনো module-এর self-correcting agent-এর বীজ।
Structured CoT output পরিষ্কার রাখে। Self-critique আরেক ধাপ এগিয়ে — model নিজের output-কেই criteria দিয়ে যাচাই করে, তারপর ঠিক করে। নিচে রাফির একটা delayed-order English reply-তে পুরো loop-টা চালাও।
Try It Yourself
একাধিক reasoning path sample করে ভোট, আর modern reasoning model-এ কী বদলায়।
Self-consistencysample N paths, majority vote
একই কঠিন প্রশ্ন temperature দিয়ে N বার চালাও — আলাদা আলাদা reasoning path আসে। শেষে final answer-গুলোর majority vote নাও। একটা path ভুল করলেও বাকিরা টেনে তোলে। একটা landmark study-তে GSM8K ৫৬% → ৭৪% (৪০ sample-এ)।
একটা reasoning chain ভুল মোড় নিতে পারে; কিন্তু বেশিরভাগ পথ ঠিক উত্তরে মেলে। ভোট সেই common উত্তর বেছে নেয়। দাম: N গুণ token + latency। তাই free না — শুধু high-value, hard problem-এ।
Self-critique এক model-কে নিজের ভুল ধরতে শেখায়। Self-consistency ভিন্ন approach — একই প্রশ্ন কয়েকবার চালিয়ে ভোট নেওয়া। নিচের marble-probability সমস্যায় ৫টা path sample করো, দেখো ভোট কীভাবে একটা ভুল path-কে ছাপিয়ে যায়।
Reasoning modelsadaptive / extended thinking
Modern frontier model (Claude adaptive thinking, o-series) ভিতরে ভিতরেই reason করে — তুমি `<thinking>` না লিখলেও। কত ভাববে নিজেই ঠিক করে (effort/budget)। এর উপর হাতে “think step by step” জুড়লে redundant, কখনো overthinking বাড়ায়।
তাই prompted CoT (তুমি লেখো) আর built-in reasoning (model করে) — দুটো আলাদা। Manual CoT এখন fallback: thinking off থাকলে, ছোট/পুরোনো model-এ, বা reasoning trace দেখাতে চাইলে। এখন default frontier model-এ আগে মাপো, তারপর দরকার হলে হাতে reasoning জোড়ো।
Re-measurereasoning ও eval harness-এ মাপো
CoT, self-critique, self-consistency — যেটাই যোগ করো, শেষ ধাপ একটাই: Day 11-র runner আবার চালাও, pass rate দেখো। “Smarter লাগছে” কোনো প্রমাণ না।
এটাই পুরো Module 2-র সমাপ্তি। Day 4 বলেছিল vibes না, evals। Day 13 সেটাকে reasoning technique-এও খাটায়: CoT যোগ করে v3-তে মনে হয়েছিল smarter, eval বলল −5pp। কাকে বিশ্বাস করবে? eval-কে। এটাই তোমার measured production prompt — Module 2 milestone।
আজ তিনটা জিনিস করো — (১) নিজের project-এর একটা multi-step task নাও, zero-shot বনাম `Let's think step by step` দুটো version try করো; (২) CoT যোগ করলে output structured রাখো — `<thinking>` tags-এ reasoning, final answer শেষ লাইনে একা; (৩) Day 11-র runner দিয়ে দুই version-ই re-run করো — pass rate compare করো, শুধু “ভালো লাগছে” বলে থেমো না।
Check Your Understanding
ভুল হলে সমস্যা নেই — প্রতিটার ব্যাখ্যা আছে।
CoT সব prompt-এ যোগ করলেই model smarter হয় — always add “think step by step”
Modern reasoning model-এও prompt-এ “Let's think step by step” লিখতে হয়
Self-critique সবসময় answer ভালো করে — শুধু “critique yourself” বললেই হলো
CoT-র reasoning টেক্সটটাই উত্তর — পুরো output-টা return করে দাও
Self-consistency = free accuracy boost — সবসময় চালাও
CoT কোন ধরনের task-এ সবচেয়ে বেশি সাহায্য করে?
ভুল হলেও সমস্যা নেই — প্রতিটা option-এর সাথে ব্যাখ্যা আছে।
Day 12-এ v3-তে CoT যোগ করে pass rate পড়ে গেল — কেন, আর fix কী?
ভুল হলেও সমস্যা নেই — প্রতিটা option-এর সাথে ব্যাখ্যা আছে।
Zero-shot CoT-র trigger phrase কোনটা?
ভুল হলেও সমস্যা নেই — প্রতিটা option-এর সাথে ব্যাখ্যা আছে।
Self-consistency কীভাবে কাজ করে?
ভুল হলেও সমস্যা নেই — প্রতিটা option-এর সাথে ব্যাখ্যা আছে।
Adaptive-thinking model-এ (Claude latest) prompt-এ “think step by step” যোগ করবে?
ভুল হলেও সমস্যা নেই — প্রতিটা option-এর সাথে ব্যাখ্যা আছে।
Reasoning technique যোগ করার পর শেষ ধাপ কী?
ভুল হলেও সমস্যা নেই — প্রতিটা option-এর সাথে ব্যাখ্যা আছে।
Prove It To Yourself
চারটা takeaway মনে রাখো। Module 2 এখানেই শেষ।
চারটা জিনিস মনে রাখো — CoT মানে কাজ দেখানো: multi-step math/logic-এ বড় সাহায্য করে, simple classification-এ প্রায় কিছুই না — selective, universal না। Reasoning-এর দাম আছে: latency, token, parser ভাঙার ঝুঁকি — প্রতিটা technique eval harness-এ মাপো, “smarter লাগছে” প্রমাণ না। Generate → critique → refine: self-critique মানে এক model তিন টুপি, concrete criteria দিয়ে — এটাই self-correcting agent-এর বীজ। Modern model ভিতরেই ভাবে: reasoning model-এ হাতে “step by step” জুড়ো না — prompted CoT বনাম built-in reasoning চেনো, দু'ভাবেই মাপো।
আজকের শব্দগুলো — chain-of-thought, CoT, zero-shot CoT, structured CoT, thinking tags, self-critique, self-refine, self-consistency, majority vote, reasoning model, extended thinking, adaptive thinking, overthinking — এখন থেকে English-ই থাকবে; prompt লেখার সময়, PR review-এ এভাবেই দেখবে। পুরো তালিকা নিচের glossary-তে। Module 2 এখানেই শেষ — পরের module থেকে নতুন অধ্যায়।
শব্দার্থ — পরে ফিরে দেখার জন্য
একনজরে সব key term। কোনো শব্দ ভুলে গেলে এখানে এসে খুঁজে নিও।
- “Let's think step by step”
- Zero-shot CoT-র canonical trigger phrase।
- <thinking> tags
- Reasoning আর final answer আলাদা করার XML marker — exact_match বাঁচায়।
- Adaptive thinking
- Model নিজেই ঠিক করে কখন ও কতটা ভাববে (effort/query complexity-র উপর)।
- Chain-of-Thought (CoT)
- উত্তরের আগে ধাপে ধাপে reasoning লেখানো — “show your work”।
- Critic / verifier
- Output যাচাই করা component — নিজেই হতে পারে, আলাদা call-ও হতে পারে।
- Extended thinking
- Model-এর built-in reasoning block — prompted CoT না, inference-এর অংশ।
- Few-shot CoT
- কয়েকটা worked-out example দেখিয়ে reasoning-এর প্যাটার্ন শেখানো।
- Intermediate steps
- Final answer-এর আগে model যে reasoning ধাপগুলো লেখে — reasoning trace।
- Majority vote
- একাধিক answer-এর মধ্যে যেটা সবচেয়ে বেশিবার এলো সেটা বেছে নেওয়া।
- Overthinking
- দরকারের বেশি reasoning — latency/cost বাড়ায়, কিছু task-এ accuracy কমায়।
- Reasoning model
- ভিতরে ভিতরে reason করা model (Claude adaptive thinking, o-series)।
- Self-consistency
- Multiple reasoning path sample করে majority vote।
- Self-critique
- Model নিজের draft-কে criteria দিয়ে যাচাই করে — critic-এর ভূমিকা।
- Self-refine
- Generate → critique → refine loop; এক model তিন ভূমিকায়।
- Structured CoT
- Reasoning <thinking> tags-এ, answer শেষ লাইনে একা — parseable রাখার pattern।
- Thinking budget / effort
- Model কত token reasoning-এ খরচ করবে তার নিয়ন্ত্রণ।
- Zero-shot CoT
- কোনো example ছাড়া এক লাইন (“Let's think step by step”) দিয়ে reasoning চালু।
Sources consulted to author this lesson. Citation style is informal — follow the links if you want to dig deeper.
- Chain-of-Thought Prompting Elicits Reasoning in Large Language Models — Wei et al. (2022)
- Large Language Models are Zero-Shot Reasoners — Kojima et al. (2022)
- Self-Consistency Improves Chain of Thought Reasoning in Language Models — Wang et al. (2022)
- Self-Refine: Iterative Refinement with Self-Feedback — Madaan et al. (2023)
- To CoT or not to CoT? Chain-of-thought helps mainly on math and symbolic reasoning — Sprague et al. (2024)
- Prompting best practices — Thinking and reasoning, chain complex prompts — Anthropic (2025)
- Extended thinking — Anthropic (2025)
দুই বাক্যে নিজের ভাষায় লেখো
নিজের ভাষায় দুই বাক্যে লেখো — নিজের কোন task-এ CoT ব্যবহার করবে (আর কেন), এবং সেটা যোগ করার পর pass rate re-measure করতে কী করবে।