এই পোস্টটি ২৬শে মে, ২০২৬ তারিখে দাবাকোদান দাওল্যাব ভাইবকডিং গিল্ডে 'হারনেস ইঞ্জিনিয়ারিং' এর একটি কেস স্টাডি হিসাবে উপস্থাপিত বিষয়বস্তু।
নেক্সটেইন হল এমন একটি সংস্থা যা সফটওয়্যার পণ্য সহ সংস্থাগুলির AX-এর জন্য প্রযুক্তি বিকাশ ও সমর্থন করে। তারা কোরিয়ান চার্চ পোর্টাল অনমাম ডট কমের সিস্টেম অপারেশন গ্রহণ করেছে এবং AX-এর উপর কাজ করছে। তারা পুরানো IDC সেন্টারে থাকা লিগ্যাসি সিস্টেমের স্থানান্তর প্রক্রিয়া সম্পন্ন করেছে, এজেন্ট-ভিত্তিক ডেভেলপমেন্ট এবং অপারেশনের জন্য একটি পরিবেশ সেট আপ করেছে এবং স্থিতিশীলতা ও কার্যকারিতা উন্নতির কাজ করছে। এটি একটি পুরানো লিগ্যাসি সিস্টেম হওয়ায় কিছু পরীক্ষা-নিরীক্ষা এবং ত্রুটি হয়েছে, এবং naia-business-adk অনমাম ডট কমে প্রয়োগ করার মাধ্যমে তারা এটিকে তাদের সংস্থার অভিজ্ঞতা ও প্রযুক্তির সাথে একীভূত করছে। এই অভিজ্ঞতার অংশ হিসাবে, হারনেস ইঞ্জিনিয়ারিং ব্যাখ্যা করার একটি কেস স্টাডি হিসাবে এটি ইভেন্টে শেয়ার করা হয়েছিল।

এই পোস্টের এক লাইনের বার্তা "AI ভালোভাবে ব্যবহার করার চেয়ে, এমন একটি পরিবেশ তৈরি করা বেশি গুরুত্বপূর্ণ যেখানে AI ভুল করবে না।"
১. প্রথমে, আমাদের পরিষেবা পরিচিতি
অনমাম ডট কম — সারা দেশের ১৩,৮৭৬টি গির্জা দ্বারা ব্যবহৃত গির্জা ব্যবস্থাপনা প্ল্যাটফর্ম
www.onmam.com ← গির্জা খুঁজুন, সদস্য পোর্টাল
home.onmam.com ← চ্যানেল অ্যাপ (বিষয়বস্তু/পেমেন্ট)
{গির্জার নাম}.onmam.com ← স্বতন্ত্র গির্জার ওয়েবসাইট
অবকাঠামো: পুরনো IDC সার্ভার → ২০২৬ সালের এপ্রিল মাসে GCP (গুগল ক্লাউড)-তে সম্পূর্ণ স্থানান্তর সম্পন্ন হয়েছে DB: ১৩,৮৭৬টি গির্জার ডেটা × Cloud SQL
২. একটি ঘটনা দিয়ে শুরু করা যাক
"২০২৬ সালের এপ্রিল মাসের কোনো একদিন"
সকাল ১১টা। হঠাৎ অনমাম ডট কমের সমস্ত পরিষেবা অচল।
ব্যবহারকারীরা: "সাইট কাজ করছে না কেন?"
কারণ অনুসন্ধান করে দেখা গেল — Board.php নামক ফাইলের বুলেটিন বোর্ড তালিকা অনুসন্ধানের কোড।
-- যে কোয়েরিটি সমস্যা সৃষ্টি করেছিল (সরলীকৃত)
SELECT * FROM boards
JOIN (
SELECT bbs_id, COUNT(*) FROM all_boards GROUP BY bbs_id -- ← এটাই সমস্যা
) AS summary ON boards.id = summary.bbs_id
WHERE church_id = ?
এই একটি কোয়েরি ১৩,৮৭৬টি গির্জার সম্পূর্ণ ডেটা প্রতিবার ফুল স্ক্যান করছিল। ট্রাফিক বেড়ে যাওয়ায় ৬০০-৮০০ সেকেন্ডের কোয়েরি ১৪৫টি একসাথে চলতে শুরু করে → সার্ভার সম্পূর্ণ অচল হয়ে পড়ে।
এর সাথে AI-এর কী সম্পর্ক?
এই কোডটি সম্ভবত প্রথম একজন মানব ডেভেলপারই লিখেছিলেন। কিন্তু আজকাল ডেভেলপাররা এই ধরনের কোড AI-এর সাহায্যে লেখেন।
সমস্যা হলো — AI জানে না "এই কোডটি ১৩,৮৭৬টি গির্জার পরিবেশে কীভাবে কাজ করবে।" AI শুধুমাত্র অনুরোধ করা কার্যকারিতা বাস্তবায়নে মনোযোগ দেয় এবং আমাদের পরিষেবার প্রেক্ষাপট সম্পর্কে জানে না।
তাই ডেভেলপাররা ভাবতে শুরু করলেন: "AI যদি আমাদের পরিষেবা না জেনেই কোড লেখে, তাহলে সেটা কীভাবে আটকানো যাবে?"
৩. হারনেস ইঞ্জিনিয়ারিং — ৩০ সেকেন্ডের ব্যাখ্যা
ঘোড়াকে নিয়ন্ত্রণ করতে যেমন লাগাম ও সাজ (Harness) প্রয়োজন,
তেমনি AI এজেন্টদের জন্যও সীমাবদ্ধতা, নির্দেশনা ও যাচাইকরণ ব্যবস্থা প্রয়োজন।
এজেন্ট = মডেল + হারনেস
হারনেস = AI যে পরিবেশে কাজ করে, সেই সম্পূর্ণ পরিবেশ ডিজাইন করা
এটি কেবল "AI-কে ভালো প্রশ্ন করা" নয়। এটি এমন একটি সিস্টেম ডিজাইন যা AI ভুল করলে কাঠামোগতভাবে একই ভুল পুনরায় করা থেকে বিরত রাখে।
৪. অনমাম ডট কমে বাস্তবে তৈরি হারনেসগুলো
[হারনেস #১] AGENTS.md — AI-কে দেওয়া "আমাদের পরিষেবার মানচিত্র"
alpha-adk/
├── CLAUDE.md ← AI সেশন শুরুর সময় আবশ্যিক পাঠ
├── AGENTS.md ← প্রজেক্টের নিয়মাবলী
└── .agents/
└── context/
└── agents-rules.json ← সুনির্দিষ্ট অপারেশনাল নিয়মাবলী
AI অনমাম ডট কমের কোড স্পর্শ করার আগে অবশ্যই এই ফাইলগুলো পড়ে। এতে নিম্নলিখিত বিষয়বস্তু রয়েছে:
- "পরীক্ষা এবং কোড পরিবর্তন শুধুমাত্র alpha পরিবেশে করা হবে"
- "home.onmam.com হল একটি আলাদা চ্যানেল অ্যাপ, কোনো পোর্টাল নয়"
- "Board.php-তে GROUP BY ডেরিভেড টেবিল প্যাটার্ন সম্পূর্ণ নিষিদ্ধ"
সেই ত্রুটি? এখন AI একই প্যাটার্ন তৈরি করার চেষ্টা করলে, এই নিয়ম দেখে থেমে যাবে।
[হারনেস #২] Hooks — AI-এর কাজের আগে ও পরে কাজ করা "নিরাপত্তা ব্যবস্থা"
বর্তমানে এই ওয়ার্কস্পেসে সক্রিয় হুকগুলো:
AI Bash কমান্ড চালানোর ঠিক আগে →
✓ pr-guard.js : পর্যালোচনা ছাড়া PR মার্জ করা বন্ধ
✓ commit-guard.js : নিয়ম লঙ্ঘনকারী কমিট বন্ধ
✓ deploy-guard.js : অনুমতি ছাড়া প্রোডাকশন সার্ভারে ডিপ্লয়মেন্ট বন্ধ
✓ git-push-guard.js : অনুমতি ছাড়া git push বন্ধ
✓ destructive-git-guard.js : git reset --hard-এর মতো ধ্বংসাত্মক কমান্ড বন্ধ
AI ফাইল পরিবর্তন করার ঠিক আগে →
✓ prod-gateway-guard.js : ডেভ পরিবেশে প্রোডাকশন API কী ব্যবহার করা বন্ধ
✓ design-doc-guard.js : ডিজাইন ডকুমেন্ট অননুমোদিতভাবে পরিবর্তন করা বন্ধ
AI ফাইল পরিবর্তন করার ঠিক পরে →
✓ cascade-check.js : পরিবর্তিত ফাইল দ্বারা প্রভাবিত অন্যান্য ফাইল পরীক্ষা করা
deploy-guard.js এর বাস্তব কার্যকারিতার উদাহরণ:
AI প্রোডাকশন ডিপ্লয়মেন্ট কমান্ড চালানোর চেষ্টা করছে:
$ gcloud run deploy onmam-web ...
→ [হারনেস] প্রোডাকশন ডিপ্লয়মেন্ট কমান্ড ব্লক করা হয়েছে: gcloud run deploy
প্রজেক্ট: onmam-web
প্রোডাকশন ডিপ্লয়মেন্টের জন্য পূর্বানুমতি প্রয়োজন।
অনুমোদনের পদ্ধতি: .claude/deploy/approvals.json-এ অনুমোদন এন্ট্রি যোগ করুন
AI সরাসরি প্রোডাকশন ডিপ্লয়মেন্ট চালাবে না।
AI ভুল করে, অথবা অতিরিক্ত সক্রিয়ভাবে প্রোডাকশন সার্ভারে কিছু আপলোড করার চেষ্টা করলেও শারীরিকভাবে তা ব্লক করা হয়।
[হারনেস #৩] Alpha পরিবেশ — AI-এর পরীক্ষার জন্য ডেডিকেটেড খেলার মাঠ
প্রোডাকশন (Production) : www.onmam.com ← বাস্তব গির্জাগুলো ব্যবহার করে
স্টেজিং (Staging) : staging.onmampick.org ← ডিপ্লয়মেন্টের আগে চূড়ান্ত যাচাই
আলফা (Alpha) : luke-*-alpha.onmampick.org ← AI-এর সাথে কাজ করার স্থান
নিয়ম: AI-এর সাথে করা সমস্ত কাজ শুধুমাত্র alpha-তে হবে।
কেন এটি গুরুত্বপূর্ণ — ২৬শে এপ্রিল, ২০২৬ তারিখে বাস্তবে যা ঘটেছিল:
AI
home.onmam.com-কেportalঅ্যাপ ভেবে ভুল vhost কনফিগারেশন লিখেছিল। যেহেতু এটি alpha পরিবেশে ছিল → বাস্তব পরিষেবার উপর কোনো প্রভাব পড়েনি। এই ভুলটি AGENTS.md-তে রেকর্ড করা হয়েছে → AI একই ভুল আর করবে না।
হারনেসের মূল বিষয় এখানে: একটি ভুল ঘটলে → হারনেসে রেকর্ড করা হয় → পরবর্তীতে সেই ভুল কাঠামোগতভাবে অসম্ভব হয়ে ওঠে।
[হারনেস #৪] Skills — AI-কে দেওয়া "আমাদের নিজস্ব সরঞ্জাম"
skills/
├── email/ ← ইমেল পাঠানোর স্কিল (প্রাপক, SMTP নিয়ম সহ)
├── sms/ ← SMS পাঠানো
├── web-monitoring/ ← পরিষেবা অবস্থা পর্যবেক্ষণ
└── service-management/ ← পরিষেবা পরিচালনার কমান্ড
AI যখন "ইমেল পাঠাও" বলে — তখন এই স্কিল ফাইলটি পড়ে স্বয়ংক্রিয়ভাবে জানে কাকে, কোন ফরম্যাটে, কোন SMTP দিয়ে পাঠাতে হবে। প্রতিবার "প্রাপকের ইমেল ঠিকানা কী?" জিজ্ঞাসা করার প্রয়োজন হয় না।
৫. ডেভেলপাররা কেন এতে আগ্রহী?
"AI ছাড়া ডেভেলপমেন্টের যুগের সমস্যা"
ডেভেলপারদের ব্যক্তিগত দক্ষতার উপর নির্ভরতা → সিনিয়র চলে গেলে গুণগত মান কমে যায়
কোড রিভিউ দ্বারা ধরতে হতো → মানুষকে সরাসরি দেখতে হতো
"AI আছে কিন্তু হারনেস নেই এমন টিমের সমস্যা"
AI দ্রুত কোড তৈরি করে কিন্তু → আমাদের পরিষেবার প্রেক্ষাপট জানে না
একই ভুল বারবার করে → বাগ AI তৈরি করে এবং মানুষ ঠিক করে
AI সরাসরি প্রোডাকশন সার্ভারে অ্যাক্সেস করতে পারে → কখন দুর্ঘটনা ঘটবে তা জানা নেই
"AI + হারনেস সহ টিম"
AI আমাদের নিয়ম জেনে কোড লেখে → প্রেক্ষাপট সহ তৈরি
ভুল ঘটলে হারনেসে রেকর্ড করা হয় → একই ভুল কাঠামোগতভাবে প্রতিরোধ
প্রোডাকশন অ্যাক্সেস মানুষ দ্বারা অনুমোদিত → নিরাপদ স্বায়ত্তশাসন
টস-এর অভিব্যক্তি ধার করে বলতে গেলে:
"হারনেস দিয়ে পুরো সংস্থার উৎপাদনশীলতার সর্বনিম্ন স্তরকে উপরে তোলা হয়। ব্যক্তিগত দক্ষতার উপর নির্ভর না করে, প্রতিটি টিম সদস্য একটি নির্দিষ্ট স্তরের বেশি ফলাফল দেয়।"
৬. সারসংক্ষেপ — অ-ডেভেলপারদের কাছে যা বলতে চাই
AI যুগে "ভালো করা"-এর সংজ্ঞা পরিবর্তিত হচ্ছে।
আগে: যে ডেভেলপার ভালো কোড লেখে এখন: যে ডেভেলপার AI-এর কোড লেখার পরিবেশ ভালোভাবে ডিজাইন করে
সেই পরিবেশ ডিজাইনের মূল চাবিকাঠি হল হারনেস ইঞ্জিনিয়ারিং।
এবং এটি কেবল ডেভেলপারদের গল্প নয়।
অ-ডেভেলপাররাও যে হারনেস তৈরি করতে পারে:
→ কাজের নিয়মাবলী স্পষ্টভাবে নথিভুক্ত করা
→ AI-কে "এটি করা যাবে, এটি করা যাবে না" তা সংজ্ঞায়িত করা
→ AI ভুল করলে "কেন ভুল করেছে" তা রেকর্ড করা
= এটিই হারনেস ইঞ্জিনিয়ারিংয়ের শুরু
অনমাম ডট কম হারনেস কাঠামো এক নজরে
alpha-adk/
├── CLAUDE.md ← [গাইড] AI সেশন শুরুর সময় আবশ্যিক পাঠ
├── AGENTS.md ← [গাইড] প্রজেক্টের নিয়মাবলী (SoT)
├── .agents/context/
│ └── agents-rules.json ← [গাইড] সুনির্দিষ্ট অপারেশনাল নিয়মাবলী
├── .claude/
│ ├── hooks/
│ │ ├── deploy-guard.js ← [সেন্সর] প্রোডাকশন ডিপ্লয়মেন্ট ব্লক করা
│ │ ├── prod-gateway-guard.js← [সেন্সর] প্রোডাকশন API কী ব্লক করা
│ │ ├── commit-guard.js ← [সেন্সর] কমিট নিয়ম যাচাই
│ │ ├── pr-guard.js ← [সেন্সর] PR অনুমোদন বাধ্যতামূলক
│ │ ├── session-inject.js ← [সেন্সর] প্রতিটি সেশনে প্রেক্ষাপট ইনজেক্ট করা
│ │ └── cascade-check.js ← [সেন্সর] পরিবর্তনের পর ক্যাসকেডিং প্রভাব যাচাই
│ └── settings.json ← [অনুমতি] হুক চালানোর সেটিংস
├── skills/
│ ├── email/ ← [টুল] ইমেল পাঠানোর স্কিল
│ ├── web-monitoring/ ← [টুল] পরিষেবা পর্যবেক্ষণ
│ └── service-management/ ← [টুল] পরিষেবা পরিচালনার কমান্ড
└── data-private/memory/ ← [ফিডব্যাক লুপ] ভুল রেকর্ড → পুনরাবৃত্তি প্রতিরোধ
├── project_onmam_incidents.md ← Board.php ত্রুটির প্যাটার্ন রেকর্ড
├── project_onmam_app_structure.md← home≠portal ভুলের রেকর্ড
└── feedback_alpha_only.md ← alpha-এর জন্য নির্দিষ্ট নিয়ম রেকর্ড
হারনেস = এই ফাইলগুলির সমষ্টি সবকিছু git রেপোতে কমিট করা হয়। টিমের সমস্ত প্রেক্ষাপট! কোড হিসাবে জমা হয়।