Post by sina yavary
Exploring AI, Web3 & Coding | Passionate Learner & Technology Enthusiast
🚀 دو هفته، ۱۸ هزار خط کد، و یک درس مهم درباره AI Engineering دو هفته پیش برای اولین بار به طور جدی با Cursor کار کردم. هدف اولیه خیلی ساده بود: ساخت یک چتبات پشتیبانی برای سایت شرکت. فکر میکردم چند پرامپت خوب، اتصال به دیتابیس و تمام. اشتباه میکردم. 📌 در نسخههای اولیه، مدل مستقیماً به دادههای WooCommerce دسترسی داشت و میتوانست اطلاعات محصولات را به کاربر برگرداند. همه چیز خوب بود تا زمانی که کاربر دقیقاً مثل چیزی که در دیتابیس بود سوال نمیپرسید. مثلاً به جای نام کامل محصول، فقط بخشی از اسم را مینوشت یا منظورش را به شکل دیگری بیان میکرد. از آنجا بود که مدل شروع میکرد به حدس زدن. و در یک سیستم پشتیبانی، حدس زدن یعنی پاسخ اشتباه. 💡 اولین راهحلی که به ذهنم رسید این بود که پرامپت را بهتر کنم. اما بعد از چند روز فهمیدم مشکل اصلی پرامپت نیست. مشکل این بود که سیستم قبل از پاسخ دادن، اصلاً نمیفهمید کاربر چه میخواهد. همین باعث شد کمکم معماری پروژه تغییر کند. به جای یک درخواست مستقیم به مدل، یک pipeline چندمرحلهای طراحی کردم: 🔹 تشخیص هدف کاربر (Intent Detection) 🔹 برنامهریزی برای پیدا کردن اطلاعات موردنیاز 🔹 انتخاب نوع پاسخ مناسب 🔹 ساخت داینامیک پرامپت براساس شرایط 🔹 اعتبارسنجی خروجی قبل از نمایش به کاربر در بعضی سناریوها حتی اگر مدل پاسخی تولید میکرد، یک لایه جداگانه آن را با دادههای واقعی سایت مقایسه میکرد و در صورت تناقض، پاسخ اصلاح میشد. ⚙️ جالبترین بخش ماجرا برای من این بود که بزرگترین چالش پروژه نه انتخاب مدل بود و نه حتی پرامپتنویسی. چالش اصلی مدیریت Context و مصرف Token بود. وقتی باید همزمان تاریخچه گفتگو، اطلاعات محصولات، قوانین پاسخگویی، دادههای سایت و اطلاعات کمکی را به مدل بدهی، خیلی سریع به محدودیتها میرسی. بخش زیادی از زمانی که روی پروژه گذاشتم صرف این شد که بفهمم چه اطلاعاتی واقعاً باید وارد Context شوند و چه چیزهایی فقط هزینه اضافی تولید میکنند. 🎯 چند چیزی که در این دو هفته یاد گرفتم: ✅ Cursor بیشتر شبیه یک توسعهدهنده بسیار سریع است تا یک معمار نرمافزار. ✅ هرچقدر مسئله را دقیقتر تعریف کنی، خروجی بهتری میگیری. ✅ Claude گاهی راهحلهایی پیشنهاد میدهد که اصلاً به ذهنت نرسیده، اما همیشه هم بهترین انتخاب نیستند. ✅ معماری سیستم معمولاً از انتخاب مدل مهمتر است. ✅ و مهمتر از همه: AI زمانی بهترین عملکرد را دارد که مسیر تصمیمگیری آن را طراحی کنی، نه فقط سوال بهتری از آن بپرسی. 🧠 پروژه هنوز در مرحله تست و تکمیل است و احتمالاً هنوز کلی باگ و ایراد دارد. اما چیزی که مطمئنم این است که این دو هفته بیشتر از چند ماه مطالعه تئوری به من یاد داد. تا قبل از این پروژه فکر میکردم AI Engineering یعنی انتخاب مدل بهتر و نوشتن پرامپت بهتر. الان فکر میکنم بخش مهمتر ماجرا طراحی سیستمهایی است که اجازه ندهند مدل اشتباه تصمیم بگیرد. 💬 دوست دارم تجربه بقیه را هم بشنوم. اگر با Cursor، Claude یا ابزارهای مشابه کار کردهاید، بزرگترین درسی که از یک پروژه واقعی گرفتهاید چه بوده؟