আপনার দৈনন্দিন ডেভেলপমেন্ট ওয়ার্কফ্লোতে AI ব্যবহার করা
AI ইঞ্জিনিয়ারিং বিচারবুদ্ধিকে (engineering judgment) প্রতিস্থাপন করে না। এটি কোনো সমস্যায় আটকে যাওয়া এবং সমাধান খুঁজে পাওয়ার মধ্যবর্তী সময় কমিয়ে দেয়।
AI-কে "make code better" বা "কোড আরও ভালো করো" বলা বন্ধ করুন। এর পরিবর্তে এই পাঁচটি ব্যবহারিক পদ্ধতি অনুসরণ করুন।
- পারফরম্যান্সের বাধা (performance bottlenecks) খুঁজে বের করুন আপনার অডিটের জন্য চেকলিস্ট তৈরি করতে AI ব্যবহার করুন। নিচের মতো নির্দিষ্ট পরিমাপের জন্য জিজ্ঞাসা করুন:
- ডাটাবেস কলের সংখ্যা (Database call counts)
- নেটওয়ার্ক ওয়াটারফল (Network waterfalls)
- বান্ডেল সাইজ (Bundle sizes)
- RUM এবং সার্ভার টাইমিং (RUM and server timings)
- Lighthouse স্কোর (Lighthouse scores)
- অপ্রত্যাশিত টেস্ট কেস তৈরি করুন AI-কে একটি ফাংশন সিগনেচার (function signature) বা স্পেসিফিকেশন দিন। নিচের বিষয়গুলো জানতে চান:
- বাউন্ডারি কেস (Boundary cases)
- অদ্ভুত ইনপুট (Strange inputs)
- রেস কন্ডিশন (Race conditions)
- প্রপার্টি-বেসড টেস্টিং আইডিয়া (Property-based testing ideas) নির্ভরযোগ্যতা বাড়াতে এই পরামর্শগুলোকে প্রকৃত টেস্টে রূপান্তর করুন।
- সীমাবদ্ধতা বা কনস্ট্রেইন্টসহ (constraints) রিফ্যাক্টর করুন অস্পষ্ট প্রম্পট খারাপ কোডের দিকে নিয়ে যায়। সুনির্দিষ্ট নির্দেশনা ব্যবহার করুন:
- "আচরণ পরিবর্তন না করে সাইক্লোম্যাটিক কমপ্লেক্সিটি (cyclomatic complexity) কমান।"
- "পিওর ফাংশন (pure functions) আলাদা করুন এবং সাইড ইফেক্টগুলো (side effects) স্পষ্ট করুন।"
- "পাবলিক API একই রাখুন তবে নামকরণ উন্নত করুন।" সীমাবদ্ধতাগুলো আউটপুট রিভিউ করা সহজ করে তোলে।
- প্রেক্ষাপট-ভিত্তিক (context-specific) ব্যাখ্যা চান আপনি যখন আপনার প্রজেক্টের বিস্তারিত তথ্য প্রদান করেন, তখন AI আপনাকে দ্রুত শিখতে সাহায্য করে। জিজ্ঞাসা করুন:
- "StrictMode-এ কেন এই React রেন্ডারটি দুবার ঘটে?"
- "এই SQL কুয়েরি প্ল্যানের ভিত্তিতে, ল্যাগ বা ধীরগতির কারণ কী?"
- "এই নির্দিষ্ট কোডবেসে আমার এই ভ্যালিডেশনটি কোথায় রাখা উচিত?"
- ভ্যালিডেশন লুপ অনুসরণ করুন AI প্রায়ই অত্যন্ত আত্মবিশ্বাসের সাথে ভুল তথ্য প্রদান করে। এই নিয়মগুলো মেনে চলুন:
- যদি এটি কম্পাইল হয়, তবে এটি টেস্ট করুন।
- যদি এটি সিকিউরিটির বিষয় স্পর্শ করে, তবে এটি দুবার রিভিউ করুন।
- যদি এটি কোনো তথ্য প্রদান করে, তবে উৎস যাচাই করুন।
আরও ভালো ফলাফলের জন্য এই প্রম্পট টেমপ্লেটটি ব্যবহার করুন:
- Goal: আপনি কী অর্জন করতে চান।
- Context: আপনার ব্যবহৃত ল্যাঙ্গুয়েজ এবং ফ্রেমওয়ার্ক।
- Input: আপনার কোড, লগ বা এরর।
- Output format: বুলেট পয়েন্ট, ধাপ বা একটি ডিফ (diff)।
- Constraints: পারফরম্যান্স, রিডাবিলিটি বা কোনো নতুন ডিপেন্ডেন্সি না থাকা।
Example: Goal: API ল্যাটেন্সি কমানো। Context: Node.js এবং Postgres। Input: এন্ডপয়েন্ট কোড এবং কুয়েরি। Output: ৫টি উন্নতির একটি তালিকা। Constraints: এই স্প্রিন্টে কোনো স্কিমা পরিবর্তন করা যাবে না।
আপনি আপনার দৈনন্দিন কাজে AI কীভাবে ব্যবহার করেন?
Source: https://dev.to/imkrunal/using-ai-in-your-daily-dev-workflow-without-the-hype-57b1
Optional learning community: https://t.me/GyaanSetuAi
