কীভাবে আমি অটোমেশন সিগন্যাল লুকিয়ে রাখার জন্য একটি QC গেট তৈরি করেছি

অটোমেশন এমন সব উপায়ে নিজেকে প্রকাশ করে যা আপনি আশা করেন না।

আমি Bluesky-এর জন্য একটি অটোমেটেড কন্টেন্ট পাইপলাইন চালাচ্ছিলাম। একটি পোস্টে "the content pipeline" কথাটি উল্লেখ করে পোস্ট করা হয়েছিল। একটি টেকনিক্যাল ব্লগে এটি ঠিক আছে, কিন্তু একটি সোশ্যাল টাইমলাইনে এটি একটি রেড ফ্ল্যাগ (সতর্ক সংকেত)। এটি পাঠকদের জানিয়ে দেয় যে তারা একটি বটের সাথে কথা বলছে।

এটি বন্ধ করার জন্য আমি একটি কোয়ালিটি কন্ট্রোল (QC) স্ক্রিপ্ট তৈরি করেছি। এটি জেনারেশন ধাপ এবং পোস্টিং ধাপের মধ্যে একটি গেট হিসেবে কাজ করে।

নতুন ওয়ার্কফ্লোটি দেখতে এইরকম: bluesky-qc.mjs → (PASS) bluesky-post-queue.mjs → Bluesky API

স্ক্রিপ্টটি প্রতিটি এন্ট্রি পরীক্ষা করার জন্য চারটি গেট ব্যবহার করে:

  • Gate 1: Phrase Filtering (বাক্যাংশ ফিল্টারিং) অটোমেশনের সংকেত দেয় এমন শব্দগুলো ধরার জন্য আমি একটি regex লিস্ট ব্যবহার করি। এটি "AI-generated," "cron," "content pipeline," বা "batch test"-এর মতো শব্দগুলো ব্লক করে দেয়। যদি কোনো পোস্ট ডেভেলপার রিপোর্টের মতো শোনায়, তবে সেটি ফেল (fail) করে।

  • Gate 2: Staleness Checks (অপ্রাসঙ্গিকতা পরীক্ষা) আমি দুই ধরনের স্টেল (stale) কন্টেন্ট পরীক্ষা করি: • Stale phrasing: এটি "today" বা "just launched"-এর মতো শব্দগুলো শনাক্ত করে, যা পোস্টটি দেরি করে গেলে তার অর্থ হারিয়ে ফেলে। • Stale timestamps: যদি কোনো এন্ট্রি ১৪ দিনের বেশি পুরনো হয়, তবে সেটি রিজেক্ট করা হয়।

  • Gate 3: Engagement Prediction (এনগেজমেন্ট প্রেডিকশন) স্ক্রিপ্টটি আমার গত ৩০০টি পোস্ট দেখে। এটি প্রেডিক্ট করে যে একটি নতুন পোস্টে থাকা হ্যাশট্যাগগুলো ভালো পারফর্ম করবে কি না। বর্তমানে এটি শুধুমাত্র একটি ওয়ার্নিং লগ করে, তবে আমি শীঘ্রই এটিকে একটি 'hard fail' হিসেবে পরিবর্তন করব।

  • Gate 4: Quality Pass (পরিকল্পিত) সূক্ষ্ম ভুলগুলো ধরার জন্য আমি একটি কোয়ালিটি প্রোটোকল ব্যবহার করে একটি চূড়ান্ত লেয়ার যোগ করার পরিকল্পনা করছি।

প্রতিটি ব্যর্থতা একটি রিজেকশন লগে জমা হয়। আমি সপ্তাহে একবার এই লগটি রিভিউ করি। এটি আমাকে আমার প্রম্পটগুলো ঠিক করতে সাহায্য করে। যদি গেটটি বারবার "content pipeline" শনাক্ত করে, তবে আমি বুঝতে পারি যে এআই (AI) কীভাবে লিখছে তা পরিবর্তন করা প্রয়োজন।

শুধু উন্নত প্রম্পট ব্যবহার না করে কেন একটি গেট ব্যবহার করবেন? প্রম্পট হলো প্রোবাবিলিস্টিক (probabilistic)। সেগুলো ব্যর্থ হতে পারে। গেট হলো ডিটারমিনিস্টিক (deterministic)। এটি কঠোর নিয়ম অনুসরণ করে।

মানুষের মতো টোন বজায় রাখার জন্য এই দুটি লেয়ার ব্যবহার করাই সবচেয়ে নিরাপদ উপায়।

Source: https://dev.to/morinaga/how-i-built-a-pre-post-qc-gate-that-blocks-bluesky-automation-from-self-revealing-41ja