পাঠ ০৬ · ৫৭-এর মধ্যে · মডিউল ২
Home / Courses / Ethics in Computing & AI Safety / ডিয়ন্টোলজি

ডিয়ন্টোলজি — নিয়ম-ভিত্তিক এথিক্স ও অধিকার

Deontology — rule-based ethics and rights
৯ মিনিট পড়া শুরু · Beginner Python কোডসহ সম্পূর্ণ বাংলায়

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

  • ডিয়ন্টোলজি ও রাইটস-ভিত্তিক এথিক্সের সংজ্ঞা, এবং এটি ইউটিলিটারিয়ানিজম থেকে মৌলিকভাবে কীভাবে আলাদা
  • হার্ড কনস্ট্রেইন্ট কী এবং কেন সেগুলো "সাধারণত ভালো নির্দেশিকা" নয়, বরং প্রায়-নিরঙ্কুশ নিয়ম হিসেবে ডিজাইন করা হয়
  • Python দিয়ে একটি সত্যিকারের রুল-চেক — তিনটি ডিজাইনকে তিনটি কনস্ট্রেইন্টের বিপরীতে যাচাই
  • ইউটিলিটারিয়ান ও ডিয়ন্টোলজিক্যাল রায়ের মধ্যে একটি বাস্তব, গণনা করা সংঘাত

১ · ডিয়ন্টোলজি কী

ডিয়ন্টোলজিDeontologyএকটি নৈতিক তত্ত্ব যেখানে কোনো কাজের নৈতিক সঠিকতা নির্ধারিত হয় তা নির্দিষ্ট কর্তব্য/নিয়ম মেনে চলছে কিনা তা দিয়ে, পরিণতি নির্বিশেষে। (গ্রিক deon, অর্থ "কর্তব্য") হলো ঐতিহাসিকভাবে দার্শনিক ইমানুয়েল কান্টের সাথে যুক্ত একটি দৃষ্টিভঙ্গি, যেখানে কিছু কাজ নিজে থেকেই ভুল — তাদের পরিণতি যত ভালোই হোক না কেন। পাঠ ০৫-এর ইউটিলিটারিয়ানিজম জিজ্ঞেস করে "এই কাজের ফলাফল কতটা ভালো?"; ডিয়ন্টোলজি জিজ্ঞেস করে "এই কাজটি কি নিজে থেকেই অনুমোদিত?" — একটি সম্পূর্ণ ভিন্ন প্রশ্ন।

ব্যবহারিকভাবে, ডিয়ন্টোলজি প্রায়ই একটি হার্ড কনস্ট্রেইন্টের তালিকা হিসেবে প্রয়োগ করা হয় — যেমন "কখনো প্রোটেক্টেড ক্যারেক্টারিস্টিকের ভিত্তিতে বৈষম্য করা যাবে না" বা "ঝুঁকিপূর্ণ ডেটা সংগ্রহের ক্ষেত্রে সবসময় অবগত সম্মতি (informed consent) নিতে হবে"। এই নিয়মগুলো পাস/ফেল — একটি ডিজাইন একটি নিয়ম ভাঙলে, সেটি কতটা লাভজনক বা জনপ্রিয় তা বিবেচ্য নয়, ডিজাইনটি অননুমোদিত।

নিয়ম, ফলাফল নয়
একটি কাজ মূল্যায়িত হয় তার নিজের প্রকৃতি দিয়ে, তার ফলাফল দিয়ে নয়।
পাস/ফেল, স্কেল নয়
একটি কনস্ট্রেইন্ট হয় সন্তুষ্ট হয়, না হয় ভাঙা হয় — "৯০% মানা হয়েছে" জাতীয় আংশিক স্কোর নেই।
ব্যক্তি একটি "end", উপায় নয়
কান্টের বিখ্যাত নীতি — মানুষকে শুধু অন্য কারও লক্ষ্য অর্জনের হাতিয়ার হিসেবে ব্যবহার করা যাবে না।
অধিকার (rights)
ডিয়ন্টোলজি প্রায়ই "অধিকার" ভাষায় প্রকাশ পায় — যেমন প্রাইভেসির অধিকার, সম্মতি দেওয়ার অধিকার।

২ · তিনটি ডিজাইন, তিনটি হার্ড কনস্ট্রেইন্ট

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

Python
# একই সিন্থেটিক দৃশ্যকল্প (Lesson 5), তিনটি ডিজাইন বিকল্প -- এবার পরিণতি না দেখে শুধু
# হার্ড কনস্ট্রেইন্ট (pass/fail) দিয়ে যাচাই করা হচ্ছে

designs = {
    "ship_as_is": {
        "discriminates_by_protected_characteristic": False,
        "obtains_informed_consent_for_risky_feature": False,
        "has_opt_out_for_at_risk_users": False,
    },
    "no_ship": {
        "discriminates_by_protected_characteristic": False,
        "obtains_informed_consent_for_risky_feature": True,
        "has_opt_out_for_at_risk_users": True,
    },
    "ship_with_safeguards": {
        "discriminates_by_protected_characteristic": False,
        "obtains_informed_consent_for_risky_feature": True,
        "has_opt_out_for_at_risk_users": True,
    },
}

constraints = [
    ("কখনো protected characteristic-এর ভিত্তিতে বৈষম্য করা যাবে না",
     lambda d: d["discriminates_by_protected_characteristic"] is False),
    ("ঝুঁকিপূর্ণ ফিচারের ক্ষেত্রে সবসময় informed consent নিতে হবে",
     lambda d: d["obtains_informed_consent_for_risky_feature"] is True),
    ("known সিরিয়াস-ক্ষতির ঝুঁকিতে থাকা গোষ্ঠীর জন্য opt-out/সুরক্ষা থাকতে হবে",
     lambda d: d["has_opt_out_for_at_risk_users"] is True),
]

for name, data in designs.items():
    print(f"=== {name} ===")
    all_pass = True
    for description, check in constraints:
        result = check(data)
        all_pass = all_pass and result
        print(f"  [{'PASS' if result else 'FAIL'}] {description}")
    verdict = "অনুমোদিত (PERMISSIBLE)" if all_pass else "অননুমোদিত (IMPERMISSIBLE)"
    print(f"  -> সামগ্রিক রায়: {verdict}\n")

    
Run করলে দেখা যাবে ship_as_is দুটি কনস্ট্রেইন্ট ভাঙে (informed consent ও opt-out উভয়ই নেই) এবং তাই অননুমোদিত, যেখানে no_ship এবং ship_with_safeguards — দুটোই তিনটি নিয়মই মেনে চলে এবং তাই অনুমোদিত। লক্ষ্য করুন — এই রায়ের জন্য কোনো উপযোগের হিসাব লাগেনি; শুধু প্রতিটি নিয়ম পাস করছে কিনা তা দেখা হয়েছে।

৩ · একটি বাস্তব ফ্রেমওয়ার্ক-সংঘাত

এবার পাঠ ০৫-এর ফলাফল স্মরণ করুন — সেখানে ship_as_is-এর ইউটিলিটারিয়ান মোট প্রত্যাশিত উপযোগ ছিল প্রায় +1,935,008.55, যা no_ship-এর প্রায় +89,998.20-এর চেয়ে বহুগুণ বেশি — অর্থাৎ ইউটিলিটারিয়ান দৃষ্টিতে ship_as_is-ই ছিল স্পষ্টত ভালো পছন্দ। কিন্তু এই পাঠের রুল-চেক দেখাচ্ছে ঠিক সেই ship_as_is ডিজাইনটিই ডিয়ন্টোলজিক্যালি অননুমোদিত — কারণ এটি ব্যবহারকারীদের কাছ থেকে অবগত সম্মতি নেয় না এবং ঝুঁকিতে থাকা গোষ্ঠীর জন্য কোনো সুরক্ষা রাখে না।

এটিই দুই ফ্রেমওয়ার্কের মধ্যকার মৌলিক দ্বন্দ্ব: ইউটিলিটারিয়ানিজম বলে "যা সর্বোচ্চ সামগ্রিক উপযোগ দেয় তা করো", ডিয়ন্টোলজি বলে "উপযোগ যতই বেশি হোক, একজন মানুষের মৌলিক অধিকার (এখানে: অবগত থাকার ও সম্মতি দেওয়ার অধিকার) লঙ্ঘন করে এমন কিছু করা যাবে না।" কান্টের ভাষায় — ship_as_is ঝুঁকিতে থাকা ব্যবহারকারীদের নিজেদের সম্মতি ছাড়াই কোম্পানির ব্যবসায়িক লক্ষ্য অর্জনের একটি "উপায়" হিসেবে ব্যবহার করছে, যা তাদের নিজস্ব "end" হিসেবে সম্মান না করার শামিল।

ন্যায্য দৃষ্টিভঙ্গি · Fair perspective

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

মূল কথা · Key takeaway

ডিয়ন্টোলজি ইউটিলিটারিয়ানিজমের ঠিক সেই ফাঁকটি ভরাট করে যেখানে অ্যাগ্রিগেশন একটি সংখ্যালঘুর অধিকার লঙ্ঘন করতে পারে — কিন্তু এর বিনিময়ে এটি এমন সিদ্ধান্তও নিতে পারে যা উপযোগের বিচারে স্পষ্টভাবে খারাপ। বাস্তব ইঞ্জিনিয়ারিং সিদ্ধান্তে প্রায়ই ship_with_safeguards-এর মতো তৃতীয় বিকল্প খোঁজাই — যা উভয় ফ্রেমওয়ার্কের দাবি একসাথে মেটাতে পারে কিনা — একটি বাস্তবসম্মত পরবর্তী পদক্ষেপ।

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

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

প্র ০১ ডিয়ন্টোলজি কেন ship_as_is-কে অননুমোদিত মনে করে, যদিও এটির ইউটিলিটারিয়ান উপযোগ সবচেয়ে বেশি?

কারণ ডিয়ন্টোলজির রায় পরিণতির উপর নির্ভর করে না — এটি শুধু দেখে ডিজাইনটি নির্দিষ্ট হার্ড কনস্ট্রেইন্ট মেনে চলছে কিনা। ship_as_is ব্যবহারকারীদের অবগত সম্মতি না নিয়ে এবং ঝুঁকিতে থাকা গোষ্ঠীর জন্য কোনো সুরক্ষা না রেখে তাদের উপর ফিচারটি চাপিয়ে দেয় — এটি দুটি নিয়ম ভাঙে, তাই এর উপযোগ যতই বেশি হোক তা অপ্রাসঙ্গিক থেকে যায়।

প্র ০২ নিয়মগুলোকে "সাধারণত ভালো নির্দেশিকা" না বানিয়ে প্রায়-নিরঙ্কুশ কনস্ট্রেইন্ট হিসেবে ডিজাইন করার পেছনে দার্শনিক যুক্তি কী?

কান্টের কেন্দ্রীয় ধারণা হলো মানুষকে সবসময় "end" (নিজস্ব লক্ষ্য/মর্যাদাসম্পন্ন সত্তা) হিসেবে দেখতে হবে, শুধুই অন্য কারও লক্ষ্য অর্জনের "উপায়" হিসেবে নয়। যদি একটি অধিকারকে "সাধারণত মানা উচিত, তবে সুবিধাজনক হলে ভাঙা যায়" পর্যায়ে রাখা হয়, তাহলে ক্ষমতাবান পক্ষ (এখানে: কোম্পানি) প্রায় সবসময়ই "এই ক্ষেত্রে ভাঙাটা ন্যায্য" বলে যুক্তি দিতে পারবে — তাই অধিকারকে কার্যকর সুরক্ষা দিতে সেটিকে প্রায়-নিরঙ্কুশ রাখা হয়।

প্র ০৩ যদি ship_as_is-এ শুধু obtains_informed_consent_for_risky_feature-কে True করা হয় কিন্তু has_opt_out_for_at_risk_users Falseই থেকে যায়, তাহলে কি এটি অনুমোদিত হয়ে যাবে?

না। কোডে all_pass তখনই True থাকে যখন প্রতিটি কনস্ট্রেইন্ট পাস করে — একটি নিয়ম পাস করলেও অন্যটি ফেল করলে সামগ্রিক রায় এখনও "অননুমোদিত" থাকবে। এটিই দেখায় ডিয়ন্টোলজিক্যাল চেক একটি "AND" যুক্তি — সব নিয়ম একসাথে মানতে হবে, আংশিক সম্মতিতে চলে না।

অনুশীলন

  1. চিন্তা করুন: এমন একটি নিয়ম/অধিকারের কথা ভাবুন যা আপনি মনে করেন কখনোই ভাঙা উচিত নয়, তার পরিণতি যতই ভালো হোক। কেন এই নিয়মটিকে আপনি এত গুরুত্বপূর্ণ মনে করেন?

    অনেকেই এমন উদাহরণ ভাবেন যেমন "কারও সম্মতি ছাড়া তার ব্যক্তিগত তথ্য ব্যবহার করা যাবে না" বা "নির্দোষ কাউকে ইচ্ছাকৃতভাবে শাস্তি দেওয়া যাবে না" — এগুলোর পেছনের সাধারণ যুক্তি প্রায়ই এটাই যে, একবার এই ধরনের নিয়মে ব্যতিক্রম মেনে নেওয়া শুরু হলে, ক্ষমতাবান পক্ষের জন্য প্রায় যেকোনো সিদ্ধান্তকে ন্যায্যতা দেওয়া সহজ হয়ে যায় — ঠিক এই পাঠের ডিয়ন্টোলজিক্যাল যুক্তির মতোই।

  2. পরীক্ষা করুন: কোড সেলে একটি চতুর্থ ডিজাইন "ship_targeted_ads" যোগ করুন যেখানে discriminates_by_protected_characteristic হলো True (ধরুন এটি বয়সের ভিত্তিতে ফিচারটি ভিন্নভাবে প্রয়োগ করে), বাকি দুটি কনস্ট্রেইন্ট True। Run করে দেখুন এর সামগ্রিক রায় কী হয়।

    এটিও অননুমোদিত হবে — যদিও এটি বাকি দুটি কনস্ট্রেইন্ট (সম্মতি, অপ্ট-আউট) পাস করে, প্রথম কনস্ট্রেইন্টটি (protected characteristic-এর ভিত্তিতে বৈষম্য না করা) ভাঙায় সামগ্রিক all_pass এখনও False থেকে যায়। এটি নিশ্চিত করে যে একটিমাত্র নিয়ম ভাঙাও সম্পূর্ণ ডিজাইনকে অননুমোদিত করে দেওয়ার জন্য যথেষ্ট।

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

আগের পাঠ
ইউটিলিটারিয়ানিজম — টেক সিদ্ধান্তে কনসিকোয়েনশিয়ালিস্ট যুক্তি