পাঠ ২৮ · ৫৭-এর মধ্যে · মডিউল ৬
Home / AI Courses / Human-Centered AI / মডিউল ৬

সাধারণ AI UX প্যাটার্ন

Common AI UX patterns — suggestions, autocomplete, generative previews
৯ মিনিট পড়া মধ্যম · Intermediate Python কোডসহ সম্পূর্ণ বাংলায়

এই পাঠে যা শিখবেন

  • চারটি সাধারণ AI UX প্যাটার্ন এবং প্রতিটি কখন উপযুক্ত
  • রিভার্সিবিলিটি ও ইমপ্যাক্ট কীভাবে প্যাটার্ন-নির্বাচন নির্ধারণ করে
  • একটি সত্যিকারের কোড উদাহরণ যা এই সিদ্ধান্ত-যুক্তি প্রোগ্রাম্যাটিকভাবে প্রয়োগ করে
  • মডিউল ৬-এর (কগনিটিভ লোড, এরর ডিজাইন, অনবোর্ডিং, ফিডব্যাক লুপ) ধারণাগুলো এই প্যাটার্নগুলোতে কীভাবে একত্রিত হয়

১ · AI UX প্যাটার্ন কেন দরকার

M6-এর আগের পাঠগুলোতে আমরা আলাদাভাবে দেখেছি কগনিটিভ লোড (L24), এরর রিকভারি (L25), অনবোর্ডিং (L26), ও ফিডব্যাক লুপ (L27)। বাস্তব প্রোডাক্টে এই সবগুলো ধারণা একসাথে মিলে কয়েকটি পুনরাবৃত্ত, পরীক্ষিত ইন্টারঅ্যাকশন প্যাটার্নে রূপ নেয়। প্রতিটি নতুন AI ফিচারের জন্য শূন্য থেকে ইন্টারঅ্যাকশন ডিজাইন করার বদলে, এই প্যাটার্নগুলো চেনা এবং কখন কোনটি উপযুক্ত তা বোঝা একটি দ্রুত ও নির্ভরযোগ্য শুরুর বিন্দু দেয়।

২ · চারটি সাধারণ প্যাটার্ন

ইনলাইন সাজেশন
একটি সাজেশন ব্যবহারকারীর স্বাভাবিক কাজের প্রবাহের মধ্যেই দেখানো হয় (যেমন ইমেইল রিপ্লাই সাজেশন), কিন্তু গ্রহণ করা বাধ্যতামূলক নয়। উপযুক্ত যখন: আউটপুট মাঝারি-নির্ভরযোগ্য, এবং প্রত্যাখ্যান করা সহজ ও সস্তা।
অটোকমপ্লিট
টাইপ করার সময় সরাসরি পরবর্তী অংশ প্রেডিক্ট করা, প্রায়ই এক ট্যাব-চাপে গ্রহণযোগ্য। উপযুক্ত যখন: কনফিডেন্স উচ্চ, অ্যাকশন সম্পূর্ণ রিভার্সিবল (মুছে ফেলা সহজ), ও গতি গুরুত্বপূর্ণ।
জেনারেটিভ প্রিভিউ
AI একটি সম্পূর্ণ আউটপুট (ছবি, ডকুমেন্ট, কোড) তৈরি করে, কিন্তু ফাইনাল অ্যাপ্লাই করার আগে দেখায়। উপযুক্ত যখন: আউটপুট জটিল/বড়, তাই তুলনা করে দেখার প্রয়োজন আছে ঠিক আছে কি না।
কনফার্ম-বিফোর-অ্যাপ্লাই
একটি স্পষ্ট নিশ্চিতকরণ ধাপ বাধ্যতামূলক করা হয় অ্যাকশন কার্যকর হওয়ার আগে। উপযুক্ত যখন: অ্যাকশন অ-ফেরতযোগ্য বা উচ্চ-ঝুঁকির (M5-এর ওভারসাইট নীতির সরাসরি প্রয়োগ)।

৩ · একটি সত্যিকারের সিদ্ধান্ত-যুক্তি — প্যাটার্ন প্রোগ্রাম্যাটিকভাবে বেছে নেওয়া

নিচের কোড সেলে ৫টি ভিন্ন AI অ্যাকশন — প্রতিটির রিভার্সিবিলিটি, ইমপ্যাক্ট, ও কনফিডেন্স-সহ — একটি সরল সিদ্ধান্ত-ফাংশনের মধ্য দিয়ে পাঠানো হয়েছে যা উপরের চারটি প্যাটার্নের একটি সাজেস্ট করে।

Python
actions = [
    {"name": "পরবর্তী শব্দ প্রেডিকশন (টাইপ করার সময়)", "reversible": True, "impact": "low", "confidence": 0.9},
    {"name": "ইমেইলের সম্পূর্ণ রিপ্লাই বসিয়ে দেওয়া", "reversible": True, "impact": "low", "confidence": 0.7},
    {"name": "AI-জেনারেটেড ছবি তৈরি (ফাইনাল আউটপুটের আগে দেখানো)", "reversible": True, "impact": "medium", "confidence": 0.6},
    {"name": "১০০ জনকে বাল্ক ইমেইল পাঠানো", "reversible": False, "impact": "high", "confidence": 0.8},
    {"name": "একটি ফাইল স্থায়ীভাবে ডিলিট করা", "reversible": False, "impact": "high", "confidence": 0.95},
]

def recommend_pattern(action):
    if not action["reversible"] and action["impact"] == "high":
        return "confirm-before-apply"
    if action["impact"] in ("medium", "high") and action["reversible"]:
        return "generative-preview"
    if action["confidence"] >= 0.85:
        return "autocomplete"
    return "inline-suggestion"

counts = {}
for action in actions:
    pattern = recommend_pattern(action)
    counts[pattern] = counts.get(pattern, 0) + 1
    print(f"{action['name']} -> {pattern}")

print("\nপ্যাটার্ন অনুযায়ী সারাংশ:")
for pattern, count in counts.items():
    print(f"  {pattern}: {count}টি অ্যাকশন")

    
৫টি অ্যাকশনের মধ্যে "পরবর্তী শব্দ প্রেডিকশন" (উচ্চ কনফিডেন্স, রিভার্সিবল, কম ইমপ্যাক্ট) পায় autocomplete; "ইমেইল রিপ্লাই বসানো" (মাঝারি কনফিডেন্স, কম ইমপ্যাক্ট) পায় inline-suggestion; "ছবি তৈরি" (মাঝারি ইমপ্যাক্ট, রিভার্সিবল) পায় generative-preview; আর দুটো অ-ফেরতযোগ্য উচ্চ-ঝুঁকির অ্যাকশন ("বাল্ক ইমেইল" ও "ফাইল ডিলিট") দুটোই পায় confirm-before-apply — মোট ২টি অ্যাকশন সেই সবচেয়ে কড়া প্যাটার্নে পড়ে। লক্ষ্য করুন সিদ্ধান্তটি কনফিডেন্স স্কোরের উপর একা নির্ভর করেনি — "ফাইল ডিলিট"-এর কনফিডেন্স ০.৯৫ (খুবই উচ্চ) হওয়া সত্ত্বেও, অ-ফেরতযোগ্যতা ও উচ্চ-ইমপ্যাক্ট থাকায় এটি এখনও নিশ্চিতকরণ দাবি করে।
মূল কথা · Key takeaway

উচ্চ কনফিডেন্স কখনোই একাই নিশ্চিতকরণ-ধাপ বাদ দেওয়ার যথেষ্ট কারণ নয় — রিভার্সিবিলিটি ও সম্ভাব্য ক্ষতির মাত্রা সবসময় অগ্রাধিকার পাওয়া উচিত। এটি M5-এর হিউম্যান-ওভারসাইট নীতির (L23) এবং M6-এর কগনিটিভ-লোড নীতির (L24) একটি সরাসরি সংশ্লেষণ: কম-ঝুঁকির, রিভার্সিবল অ্যাকশনে কম ঘর্ষণ দিন (কগনিটিভ লোড কমান), কিন্তু উচ্চ-ঝুঁকির, অ-ফেরতযোগ্য অ্যাকশনে ইচ্ছাকৃতভাবে বাড়তি ঘর্ষণ যোগ করুন (মানুষকে নিয়ন্ত্রণে রাখুন)।

ভাবনার প্রশ্ন

প্রতিটি প্রশ্ন নিজে কিছুক্ষণ ভাবুন — তারপর "→ উত্তর" চাপুন।

প্র ০১ উপরের কোড সেলে "ফাইল স্থায়ীভাবে ডিলিট করা" অ্যাকশনের কনফিডেন্স ছিল সবচেয়ে বেশি (০.৯৫), তবুও এটি সবচেয়ে কড়া প্যাটার্ন পেয়েছে। এটি কেন ঠিক সিদ্ধান্ত?

কারণ কনফিডেন্স শুধু বলে AI কতটা নিশ্চিত যে তার অনুমান সঠিক — এটি বলে না ভুল হলে ক্ষতি কতটা বড়। একটি অ-ফেরতযোগ্য অ্যাকশনে এমনকি ০.৯৫ কনফিডেন্সেও ৫%-এর মতো ভুলের সম্ভাবনা থাকে, এবং সেই ভুলের ফলাফল স্থায়ী। তাই সিদ্ধান্ত-যুক্তিতে কনফিডেন্সের চেয়ে রিভার্সিবিলিটি ও ইমপ্যাক্টকে বেশি অগ্রাধিকার দেওয়া হয়েছে — এটি একটি ইচ্ছাকৃত ডিজাইন সিদ্ধান্ত, ভুল নয়।

প্র ০২ একটি অটোকমপ্লিট প্যাটার্ন যদি ভুলভাবে একটি উচ্চ-ঝুঁকির অ্যাকশনে (যেমন একটি আর্থিক লেনদেনের পরিমাণ) ব্যবহার করা হয়, কী সমস্যা হতে পারে?

অটোকমপ্লিট ডিজাইন করা হয় দ্রুত, প্রায়-নিশ্চিন্ত গ্রহণের জন্য — ব্যবহারকারী প্রায়ই না-দেখেই ট্যাব চাপে। যদি এটি একটি আর্থিক পরিমাণে ব্যবহৃত হয় এবং AI ভুল সংখ্যা প্রেডিক্ট করে, ব্যবহারকারী সেটি লক্ষ্যই নাও করতে পারে, এবং অ্যাকশনটি অ-ফেরতযোগ্য হলে ক্ষতি স্থায়ী হয়ে যায়। এটাই দেখায় কেন প্যাটার্ন বাছাই শুধু "ব্যবহারকারীর অভিজ্ঞতা মসৃণ করা" নয় — এটি একটি ঝুঁকি-ব্যবস্থাপনা সিদ্ধান্তও।

প্র ০৩ একটি অ্যাপের কথা চিন্তা করুন যেখানে জেনারেটিভ প্রিভিউ প্যাটার্ন ব্যবহৃত হয় (যেমন ছবি বা টেক্সট তৈরির টুল)। প্রিভিউ দেখানো ছাড়া সরাসরি ফাইনাল আউটপুট প্রয়োগ করলে কী সমস্যা হতো?

জেনারেটিভ আউটপুট প্রায়ই অনির্দেশ্য এবং তুলনামূলকভাবে জটিল (একটি সম্পূর্ণ ছবি বা লম্বা টেক্সট) — একটি একক সংখ্যা বা ছোট সাজেশনের মতো তাৎক্ষণিকভাবে "ঠিক না ভুল" বিচার করা কঠিন। প্রিভিউ ছাড়া সরাসরি প্রয়োগ করলে ব্যবহারকারীকে বাধ্য করা হতো এমন কিছু গ্রহণ করতে যা সে এখনও মূল্যায়ন করেনি — এটি ঠিক L25-এর "ডেড-এন্ড" সমস্যার মতোই, কারণ ভুল আউটপুট হলে ফিরে যাওয়ার কোনো সহজ পথ থাকে না।

অনুশীলন

  1. চিন্তা করুন: উপরের কোড সেলে recommend_pattern ফাংশনে যদি একটি নতুন অ্যাকশন যোগ করা হয় — {"name": "স্প্যাম হিসেবে ফ্ল্যাগ করা", "reversible": True, "impact": "medium", "confidence": 0.75} — এটি কোন প্যাটার্ন পাবে বলে আপনার ধারণা?

    ফাংশনের যুক্তি অনুসরণ করলে: এটি রিভার্সিবল এবং ইমপ্যাক্ট "medium" — তাই দ্বিতীয় শর্ত (impact in ("medium", "high") and reversible) সত্য হবে, ফলাফল হওয়া উচিত generative-preview।

  2. পরীক্ষা করুন: উপরের কোড সেলে actions তালিকায় নতুন অ্যাকশনটি যোগ করে Run চেপে আপনার অনুমান যাচাই করুন।

    অনুমান সঠিক — নতুন অ্যাকশনটি generative-preview পায়, এবং সারাংশে সেই প্যাটার্নের কাউন্ট ১ থেকে বেড়ে ২ হয়। এটি নিশ্চিত করে যে ফাংশনের শর্ত-ক্রম (reversible+impact আগে চেক হয়, confidence পরে) ঠিকভাবে কাজ করছে।

আরও পড়ুন · ABCL TECH-এ আপনার পরবর্তী পদক্ষেপ

আগের পাঠ
ফিডব্যাক লুপ — ব্যবহারকারীকে সংশোধন ও শেখানোর সুযোগ দেওয়া