𝗢𝗹𝗹𝗮𝗺𝗮 দিয়ে একটি লোকাল 𝗔𝗜 কোড রিভিউয়ার তৈরি করুন

আপনার CI সবুজ দেখাচ্ছে কিন্তু তা যথেষ্ট গভীর নয়। ব্যস্ততার কারণে আপনার একজন সহকর্মী হয়তো একটি সাধারণ বাগ (bug) মিস করতে পারেন। আপনি একটি লোকাল LLM ব্যবহার করে একটি দ্বিতীয় জোড়া চোখ (second pair of eyes) তৈরি করতে পারেন।

আপনি একটি TypeScript CLI তৈরি করতে পারেন যা কমিট করার আগে আপনার staged git diff রিভিউ করবে। এটি আপনার কোডকে ব্যক্তিগত (private) রাখে। এতে কোনো API key বা ক্লাউড প্রোভাইডারের প্রয়োজন হয় না।

টুলটি যেভাবে কাজ করে:

git diff --cached ব্যবহার করে staged diff সংগ্রহ করুন। • একটি নির্দিষ্ট প্রম্পটসহ diff-টি Ollama-তে পাঠান। • JSON আউটপুট রিকোয়েস্ট করুন এবং Zod দিয়ে সেটি ভ্যালিডেট করুন। • আপনার টার্মিনালে ফলাফলগুলো প্রিন্ট করুন। • এটিকে একটি pre-commit hook হিসেবে সেট করুন।

আরও ভালো ফলাফলের জন্য প্রযুক্তিগত পছন্দসমূহ:

• প্রম্পট থেকে ANSI কোড সরিয়ে ফেলতে --no-color ব্যবহার করুন। • মডেলকে তিনটি লাইনের কনটেক্সট দিতে -U3 ব্যবহার করুন। • নিশ্চিত বা ডिटरমিনিস্টিক (deterministic) ফলাফলের জন্য temperature ০ সেট করুন। • স্টাইল এবং নামকরণের পছন্দগুলোকে উপেক্ষা করতে একটি নির্দিষ্ট system prompt ব্যবহার করুন।

মডেলটিকে লজিক এরর (logic errors), null access এবং সিকিউরিটি ইস্যুগুলোর দিকে ফোকাস করতে বলুন। তাকে কী উপেক্ষা করতে হবে তা বলে দিন। একটি ছোট মডেলকে কী খুঁজতে হবে তা বলার চেয়ে কী রিপোর্ট করতে হবে না তা বলা বেশি কার্যকর।

লোকাল মডেলগুলোর জন্য একটি ব্যবহারিক ওয়ার্কফ্লো:

• আপনার git hook-এর জন্য qwen2.5-coder:7b ব্যবহার করুন। • দ্রুত লোকাল টেস্টিংয়ের জন্য qwen2.5-coder:1.5b ব্যবহার করুন। • শুধুমাত্র উচ্চ মাত্রার (high severity) বাগের ক্ষেত্রে কমিট ব্লক করুন। • মাঝারি (medium) এবং নিম্ন মাত্রার (low severity) ফলাফলগুলোকে পরামর্শমূলক (advisory) হিসেবে রাখুন।

লোকাল মডেলগুলো স্টাফ ইঞ্জিনিয়ার নয়। তারা একাধিক ফাইল জুড়ে থাকা জটিল লজিক ধরতে পারে না। তারা ফলস পজিটিভও (false positives) তৈরি করতে পারে। তবে, তারা missing awaits বা ভুল অপারেটরের মতো ছোটখাটো ভুলগুলো ধরতে পারে।

পুল রিকোয়েস্ট (pull request)-এ পৌঁছানোর আগেই অসাবধানতাবশত হওয়া বাগগুলো ধরার জন্য এই টুলটি ব্যবহার করুন। এটি আপনার টিমের সময় বাঁচাবে এবং আপনার কোডকে পরিচ্ছন্ন রাখবে।

উৎস: https://dev.to/pavelespitia/building-a-local-ai-code-reviewer-with-ollama-that-catches-bugs-before-your-team-49d3

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