𝗩𝗶𝗯𝗲 𝗖𝗼𝗱𝗶𝗻𝗴 𝗜𝘀𝗻'𝘁 𝗧𝗵𝗲 𝗣𝗿𝗼𝗯𝗹𝗲𝗺. 𝗡𝗼𝘁 𝗨𝗻𝗱𝗲𝗿𝘀𝘁𝗮𝗻𝗱𝗶𝗻𝗴 𝗧𝗵𝗲 𝗦𝘁𝗮𝗰𝗸 𝗜𝘀.

একটি AI টুল একবার আমাকে এই কনফিগ ফাইলটি দিয়েছিল: DATABASE_URL = "postgresql://admin:SuperSecret123@db.internal:5432/app" API_KEY = "sk-live-4f9a..."

এটি কাজ করে। এটাই হলো ফাঁদ। ডেমোটি চলে এবং রিভিউয়ার মাথা নাড়ায়। কিন্তু সেই সিক্রেটটি এখন আপনার গিট হিস্টোরিতে চিরস্থায়ীভাবে থেকে গেল। যে কেউ আপনার রিপোজিটরিতে প্রবেশ করলে তা দেখতে পাবে।

আমি ডেভেলপার নই। আমি সিস্টেম ইঞ্জিনিয়ারিংয়ে বিশ বছর কাটিয়েছি। অ্যাপ্লিকেশনগুলো যে ভিত্তির ওপর চলে, আমি সেই ভিত্তি তৈরি করি। আমি হোস্ট, নেটওয়ার্ক এবং ডাটাবেস তৈরি করি।

আমি যখন AI টুল ব্যবহার করি, আমি অন্যদের মতো ব্যর্থ হই না। তার কারণ এখানে দেওয়া হলো।

Andrej Karpathy "throwaway projects"-এর জন্য "vibe coding" সম্পর্কে কথা বলেছিলেন। কিছু মানুষ এটিকে অনেক বেশি এগিয়ে নিয়ে গেছে। তারা কোড দেখা বন্ধ করে দিয়েছে। এখন, তারা সিস্টেম দেখা বন্ধ করে দিচ্ছে। আপনি কোড উপেক্ষা করতে পারেন, কিন্তু সিস্টেম উপেক্ষা করতে পারেন না। সিস্টেমই আসলে সবকিছু পরিচালনা করে।

আমি প্রায়ই AI-এর পরামর্শগুলো অগ্রাহ্য করি কারণ মডেলটির অপারেশনাল কনটেক্সট (operational context) থাকে না:

  • অপারেটিং সিস্টেম: একটি AI সিকিউরিটি অ্যাপের জন্য Windows সাজেস্ট করতে পারে। এটি লাইসেন্সের খরচ উপেক্ষা করে। একটি ফ্রি Ubuntu বক্স একই কাজ অনেক কম খরচে করতে পারে।
  • ডাটাবেস: একটি AI MySQL বেছে নিতে পারে। এটি জানে না যে এক বছর পর রাত ২টায় আমি কোন ইঞ্জিনটি পরিচালনা করতে পারব।
  • সিকিউরিটি: একটি AI "লগইন কাজ করছে" এই পর্যায়ে থেমে যায়। প্রকৃত নিরাপত্তার জন্য প্রয়োজন কন্ডিশনাল অ্যাক্সেস এবং ট্রাস্টেড ডিভাইস। আপনি কেবল 'ভাইব' দিয়ে এটি খুঁজে পাবেন না।
  • নেটওয়ার্কিং: একটি AI প্রায়ই পুরো ইন্টারনেটের জন্য পোর্ট খুলে দেওয়ার পরামর্শ দেয়। আমি অ্যাক্সেস নির্দিষ্ট ম্যানেজমেন্ট নেটওয়ার্কের মধ্যে সীমাবদ্ধ রাখি।

AI নেটওয়ার্ককে অন্য কারো সমস্যা হিসেবে গণ্য করে। কিন্তু আসলে তা নয়।

হার্ডকোডেড সিক্রেটের সমাধান সহজ। এনভায়রনমেন্ট ভেরিয়েবল ব্যবহার করুন: import os DATABASE_URL = os.environ["DATABASE_URL"]

আপনি না থামানো পর্যন্ত মডেলটি আপনার ফাইলের ভেতরেই সিক্রেটগুলো ইনলাইন করে দেবে।

ভাইব কোডাররা ব্যর্থ হয় কারণ তারা মনে করে অ্যাপ্লিকেশন কোডই পুরো সিস্টেম। তা নয়। অ্যাপ্লিকেশন হলো একটি ভবনের মাত্র একটি তলা। আপনি যদি ভিত্তি না ঢালেন, তবে ভবনটি ভেঙে পড়বে।

আমি যখন AI ব্যবহার করি, আমি "আমাকে X তৈরি করে দাও" দিয়ে শুরু করি না। এটি এমন ডেমো তৈরি করে যা প্রোডাকশনে ভেঙে পড়ে। আমি প্রথমে সীমাবদ্ধতা (constraints) এবং ট্রেড-অফ (tradeoffs) নিয়ে কথা বলতে ত্রিশ মিনিট সময় ব্যয় করি। আমি সেই লজিকের ওপর ভিত্তি করে মডেলটিকে একটি স্পেক (spec) লিখতে বলি। এটি পরবর্তীতে ঘণ্টার পর ঘণ্টা ক্লিনআপ করার ঝামেলা থেকে বাঁচায়।

সমস্যাটি টুলের নয়। সমস্যাটি হলো কী পরিবর্তন করা হচ্ছে তা না দেখে পরিবর্তন করা। আপনি যদি ভিত্তিটি বোঝেন, তবে ভাইব অনুসরণ করা নিরাপদ।

পার্থক্যটা কোড লেখার পরিমাণের ওপর নির্ভর করে না। বরং পার্থক্যটা হলো আপনি আপনার কোডটি যে ভিত্তির ওপর দাঁড়িয়ে আছে, তা আপনি কতটা বোঝেন।

মডেলটি প্রতিবার ভুল করার কারণে আপনাকে কোন ওভাররাইডটি বারবার করতে হয়?

উৎস: https://dev.to/kkierii/vibe-coding-isnt-the-problem-not-understanding-the-stack-is-4kif

ঐচ্ছিক লার্নিং কমিউনিটি: https://t.me/GyaanSetuAi