বেশির ভাগ স্কুল সফটওয়্যার আসলে যা ঘটে গেছে তা লিখে রাখার জায়গা। কেউ হাজিরা খাতায় দাগ দেন, কেউ রসিদ তোলেন, কেউ বিজ্ঞপ্তি টাইপ করেন। সফটওয়্যার নিষ্ঠার সঙ্গে সেসব জমা রাখে। কিন্তু ফলো-আপটুকু — দ্বিতীয় রিমাইন্ডার, তৃতীয় ফোন, গোটা সপ্তাহ একটি বাচ্চার অনুপস্থিতি চোখে পড়া — সেটা রয়ে যায় এমন একজন মানুষের ঘাড়ে, যিনি এমনিতেই আরও চারটে কাজ সামলাচ্ছেন।
Autopilot হল EdunodeX-এর সেই অংশ যা ফলো-আপটা করে। এই লেখায় জিনিসটা যন্ত্রগতভাবে কী, সেটাই বলা হয়েছে — যাতে বিশেষণের উপর ভরসা না করে আপনি নিজে বিচার করতে পারেন।
EdunodeX-এর ভিতরে “Autopilot” বলতে কী বোঝায়
Autopilot আসলে pack-এর একটি তালিকা। Pack মানে একটি নির্দিষ্ট উদ্দেশ্যে বানানো, নাম দেওয়া, স্বয়ংসম্পূর্ণ অটোমেশন: বকেয়া ফি তাড়া করা, টানা অনুপস্থিতি চিহ্নিত করা, কোনও সরকারি সময়সীমার কথা অ্যাকাউন্ট্যান্টকে মনে করিয়ে দেওয়া। স্কুলের জন্য একটি pack চালু করলে আপনার স্কুলের নিজস্ব ডেটাবেস স্কিমায় এক বা একাধিক রুল লেখা হয়। তার পর থেকে একটি ব্যাকগ্রাউন্ড ওয়ার্কার নির্দিষ্ট সময়সূচি ধরে সেই রুলগুলি যাচাই করে এবং যা পাঠানোর কথা, পাঠায়।
এর জন্য কাউকে কোনও স্ক্রিন খুলতে হয় না। এটাই এর গোটা উদ্দেশ্য — এবং এই কারণেই নীচের নিরাপত্তা-বেড়াগুলি ফিচারের তালিকার চেয়ে বেশি গুরুত্বপূর্ণ।
Pack-গুলি এমন বিভাগে সাজানো, যেগুলি স্কুলের যে দফতর কাজটা দেখে তার সঙ্গে মেলে — ফি, উপস্থিতি, পঠনপাঠন, যোগাযোগ, কমপ্লায়েন্স, অপারেশনস আর পে-রোল। বর্তমান তালিকাটি, প্রতিটি pack-এর সেটিংস ও প্রতিবার চলার আনুমানিক খরচ সমেত, Automations স্ক্রিনে দেখা যায়।
একটি Pack-এর গড়ন: শর্ত, অ্যাকশন, সময়সূচি
Pack যে রুল তৈরি করে, তার ঠিক তিনটি অংশ।
শর্ত (Condition) — আপনার ডেটার উপর একটি নির্দিষ্ট ধরনের কোয়েরি। fee_ledger_overdue, সঙ্গে কত দিনের বকেয়া আর ন্যূনতম কত টাকা। ml_score_threshold, যা একটি ঝুঁকি-স্কোর পড়ে। attendance_pending_after_period, যা দেখে হাজিরা খাতা আদৌ তোলা হয়েছে কি না। শর্তগুলি সার্ভারেই একটি নির্দিষ্ট পরিভাষা-তালিকা থেকে তৈরি হয়; কোনও ভাষা-মডেল আপনার স্কুলের রেকর্ডের উপর SQL লেখে না।
অ্যাকশন (Action) — শর্ত মিললে কী হবে। যা যা হতে পারে: অনুমোদিত একটি WhatsApp টেমপ্লেট, SMS, ইমেল, অ্যাপের ভিতরের নোটিফিকেশন, পুশ নোটিফিকেশন, বা একটি নির্দিষ্ট অভ্যন্তরীণ intent ডেকে সারসংক্ষেপ তৈরি করা। প্রতিটি অ্যাকশনের সঙ্গে থাকে তার ভেরিয়েবল ম্যাপ, ডিডুপ্লিকেশন কী আর ডিডুপ্লিকেশন উইন্ডো।
সময়সূচি (Schedule) — cron, নির্দিষ্ট ব্যবধান, একবারের জন্য, বা ঘটনা-নির্ভর। Cron সময়সূচি লেখা হয় স্কুলের নিজের টাইমজোনে, তাই “১০:০০” মানে স্কুল যেখানে সেখানকার সকাল দশটা, কোনও দূরের সার্ভারের নয়।
তিনটি অংশই যেহেতু কোড নয়, ডেটা — তাই pack কী করছে তা দেখা যায় এবং বদলানো যায়। ফি রিমাইন্ডার সাত দিন থেকে দশ দিনে নিয়ে গেলে আপনি একটি থ্রেশহোল্ড সম্পাদনা করছেন, কাউকে নতুন করে কিছু ডিপ্লয় করতে বলছেন না।
Rule mode আর agent mode: pack দুইভাবে সিদ্ধান্ত নেয়
বেশির ভাগ pack চলে rule mode-এ। শর্ত মেলে, অ্যাকশন চলে, বার্তা যায় আগে থেকে অনুমোদিত টেমপ্লেটে, শুধু ভেরিয়েবলগুলি বসিয়ে। নির্ধারিত, সস্তা, অনুমেয় — সাত দিনের রিমাইন্ডার সাত দিনেই।
কিছু pack-এ agent mode-ও আছে। সেখানেও প্রার্থী সারিগুলি বাছে ও সমৃদ্ধ করে নির্দিষ্ট SQL — মডেল কখনও আপনার ডেটাবেসে কোয়েরি করে না — আর একটিমাত্র স্ট্রাকচার্ড কল বিচারধর্মী দিকটা ঠিক করে: এই অভিভাবকের ক্ষেত্রে কোন সুর ঠিক হবে, কোন অনুপস্থিতির ধারা মাঝেমধ্যের নয় বরং দীর্ঘস্থায়ী, সোমবারের ফোনটা আসলে কোন তিন জনকে করা দরকার। উত্তরটি একটি কড়া স্কিমার বিপরীতে যাচাই হয়, আর যা চেনা ছাঁচে পড়ে না তা বাদ দেওয়া হয়।
Agent mode pack-পিছু ঐচ্ছিক, আর প্রতিটি pack ঘোষণা করে তার এজেন্ট সরাসরি কোন কোন অ্যাকশন চালাতে পারে — সেই তালিকা সংকীর্ণ। তালিকার বাইরের কিছু হলে তা সরাসরি না ঘটে রিভিউ কিউ-তে যায়। মডেলকে দেওয়া স্কুলের ডেটা স্পষ্ট সীমানা-চিহ্নে মুড়ে দেওয়া হয়, সঙ্গে নির্দেশ থাকে যে এটিকে অবিশ্বস্ত বিষয়বস্তু হিসেবে ধরতে হবে — যাতে ছাত্রের রেকর্ডে টাইপ করা কোনও মন্তব্য নির্দেশ হিসেবে কাজ না করতে পারে।
নিরাপত্তা-বেড়া: ডিডুপ্লিকেশন, সার্কিট ব্রেকার, পাঠানোর সময়
যে অটোমেশন অভিভাবকদের স্প্যাম করতে পারে, তার চেয়ে অটোমেশন না থাকাই ভালো। ঠিক এটা আটকাতেই তিনটি ব্যবস্থা আছে।
ডিডুপ্লিকেশন। কোনও বার্তা যাওয়ার আগে অ্যাকশনের ডিডুপ্লিকেশন কী Redis-এ অ্যাটমিকভাবে দাবি করা হয়, নির্ধারিত উইন্ডোর সমান time-to-live দিয়ে। একই রুল একই টিকে যাচাই করা দুটি ওয়ার্কারের মধ্যে ঠিক একটিই দাবিতে সফল হবে। কী-গুলি স্কুল-পিছু আলাদা নামের ঘরে থাকে। সবচেয়ে জরুরি কথা, এই যাচাইটি ফেইল-ক্লোজড — অর্থাৎ সংশয় হলে সেটি পাঠানো বন্ধ রাখে। Redis না পাওয়া গেলে অ্যাকশনটি পাঠানো হয় না, বাদ দেওয়া হয়; কারণ বাদ পড়া একটি টিক পরের যাচাইয়ে সামলে নেওয়া যায়, কিন্তু পাঠিয়ে ফেলা দ্বিতীয় বার্তা আর ফেরানো যায় না।
সার্কিট ব্রেকার। প্রতিটি রুল পরপর হওয়া ত্রুটি গোনে। পাঁচটিতে রুলটি error অবস্থায় সরে যায় এবং একেবারেই চলা বন্ধ করে। Admin ও principal ব্যবহারকারীরা অ্যাপের ভিতরে নোটিফিকেশন পান — সেটিও ডিডুপ করা, যাতে ভেঙে পড়া রুল নিজেই নতুন হইচইয়ের উৎস না হয় — আর ব্রেকার ফেলে দেওয়া WhatsApp অ্যাকশন dead-letter টেবিলে জমা থাকে, দেখে নেওয়ার জন্য।
পাঠানোর সময়। Pack-গুলি ভদ্রস্থ, বদলানো-যায় এমন সময়ে বার্তা পাঠায় — ফি রিমাইন্ডার ডিফল্টে স্থানীয় সময় ১০:০০, কালেকশন ব্রিফিং ০৮:০০, উপস্থিতির দিনশেষের হিসাব রোল-কলের পর ১৭:০০। কয়েকটি pack-এ সপ্তাহান্ত ও ছুটির দিন এড়ানোর সেটিংও আছে। এর বাইরে, সরাসরি মনোযোগ কাড়ে এমন চ্যানেলে — পুশ, SMS, WhatsApp — ব্রডকাস্ট আটকে রাখা হয় স্কুলের ডিফল্ট নীরব সময়ে, রাত ২১:০০ থেকে সকাল ০৭:০০ IST; জরুরি শ্রেণির বার্তা এর বাইরে।
শুরু করার ক্রম: প্রথমে তিনটি pack
প্রথম দিনেই সব চালু করে দেওয়া — এভাবেই স্কুলগুলি অটোমেশনের উপর আস্থা হারায়। যে ক্রমটি কাজ করে:
- নিজেদের স্টাফের জন্য, শুধু পড়ার মতো কিছু। দৈনিক কালেকশন ব্রিফিং বা উপস্থিতির সারসংক্ষেপ। স্কুলের বাইরে কিছু যাচ্ছে না। আপনি বুঝে নিচ্ছেন সংখ্যাগুলি আপনার নিজের ধারণার সঙ্গে মেলে কি না।
- লেনদেনভিত্তিক ও স্বাগত কিছু। পেমেন্ট কনফার্মেশন। অভিভাবকরা এটা পেয়ে খুশি হন, আর WhatsApp-এর গোটা পথটা এতে যাচাই হয়ে যায়।
- তাড়া করার মতো কিছু। ফি ফলো-আপ বা টানা অনুপস্থিতি। ততক্ষণে এক সপ্তাহের firing history আপনার হাতে, আর আপনি জানেন সিস্টেমের সংখ্যা ঠিক আছে।
প্রতিটি ধাপের পর firing log পড়ুন। প্রতিটি যাচাইয়ে একটি সারি লেখা হয় — কী মিলল, কী পাঠানো হল, ডুপ্লিকেট বলে কী বাদ গেল, আর কী ব্যর্থ হল।
Autopilot ইচ্ছে করেই যা করে না
আপনার হয়ে কোনও সরকারি পোর্টালে সে কিছু জমা দেয় না। কমপ্লায়েন্স pack সময়সীমা সামনে আনে এবং সংশ্লিষ্ট ফাইল রিভিউয়ের জন্য তৈরি করে দেয়; জমা দেওয়াটা মানুষেরই কাজ থাকে।
আর্থিক সিদ্ধান্ত সে নেয় না। ওয়েভার, ছাড়, রিভার্সাল ও অ্যাডজাস্টমেন্ট — কোনও মডেল যা-ই পরামর্শ দিক, সবই মানুষের অনুমোদনের কিউ-তে যায়।
EdunodeX Lite-এ এটি নেই। ওই স্তরে pack runner স্পষ্টভাবেই বন্ধ; Lite স্কুলরা বদলে শুধু দেখার মতো AI সারফেস পান।
আর অডিট ট্রেল ছাড়া সে চলে না। প্রতিটি firing, প্রতিটি ডিডুপ্লিকেশন স্কিপ, প্রতিটি সার্কিট-ব্রেকার ট্রিপ — সবই এমন সারি যা আপনি পড়তে পারেন। যে স্বায়ত্তশাসনের কোনও রেকর্ড নেই, সেটা আসলে সফটওয়্যারের এমন কাজ যা আপনি যাচাই করতে পারছেন না।