قبل از استفاده جدی از هوش مصنوعی در برنامهنویسی، تصورم این بود که AI فقط یک ابزار برای تولید سریع کد است؛ اما بعد از کار روی چند پروژه متوجه شدم تفاوت زیادی بین «گرفتن کد از هوش مصنوعی» و «توسعه نرمافزار با کمک هوش مصنوعی» وجود دارد.
هوش مصنوعی زمانی بهترین نتیجه را میدهد که شما هنوز نقش برنامهنویس و طراح پروژه را حفظ کنید، نه اینکه کل پروژه را بدون برنامه به آن بسپارید.
هر درخواست فقط یک وظیفه
یکی از مهمترین چیزهایی که یاد گرفتم این بود که در هر درخواست، فقط یک وظیفه مشخص به مدل بدهم.
به جای اینکه بگویم:
«یک سیستم کامل مدیریت معاملات برای من بساز»
کار را به بخشهای کوچکتر تقسیم میکنم:
- ساخت جدول کاربران
- اضافه کردن فرم ثبت معامله
- ساخت بخش گزارشگیری
- اضافه کردن فیلترها
- اصلاح یک باگ خاص
این کار باعث میشود مدل بهتر موضوع را درک کند و احتمال خراب شدن بخشهای قبلی کمتر شود.
توسعه مرحله به مرحله
من پروژه را از ابتدا بزرگ طراحی نمیکنم. ابتدا یک نسخه کوچک و قابل استفاده میسازم و بعد امکانات را مرحله به مرحله اضافه میکنم.
این روش مخصوصاً هنگام استفاده از مدلهای رایگان اهمیت بیشتری دارد، چون محدودیت حافظه، تعداد فایلهای قابل بررسی و کیفیت استدلال ممکن است باعث شود مدل تغییرات اشتباه ایجاد کند یا بخشهای قبلی را حذف کند.
بررسی کد بعد از تولید توسط AI
یکی از اشتباهات رایج این است که کد تولید شده توسط هوش مصنوعی را بدون بررسی استفاده کنیم.
روال من این است:
- درخواست تولید کد
- بررسی ساختار و منطق کد
- تست کردن بخش جدید
- پیدا کردن باگها
- اصلاح و سپس رفتن به مرحله بعد
هوش مصنوعی یک همکار سریع است، نه جایگزین کامل برنامهنویس.
استفاده از Git برای داشتن تاریخچه تغییرات
استفاده از Git یکی از چیزهایی است که در توسعه با AI اهمیت بیشتری پیدا میکند.
بعد از اینکه یک بخش کامل شد، تست شد و مطمئن شدم درست کار میکند، آن را Commit میکنم.
این کار چند مزیت دارد:
- اگر تغییر جدید باعث مشکل شد، میتوانم به نسخه قبل برگردم.
- تاریخچه توسعه پروژه حفظ میشود.
- میتوانم بفهمم هر تغییر چرا و چه زمانی انجام شده است.
ساختار فایلها و کوتاه نگه داشتن کد
یکی از چیزهایی که متوجه شدم این است که کدهای طولانی و فایلهای بزرگ، هم برای انسان و هم برای هوش مصنوعی مشکلساز میشوند.
سعی میکنم:
- هر فایل مسئولیت مشخصی داشته باشد.
- توابع کوتاه باشند.
- منطقهای تکراری حذف شوند.
- ساختار پروژه ساده و قابل فهم بماند.
هرچه ساختار پروژه بهتر باشد، AI هم بهتر میتواند روی آن کار کند.
فایل قوانین توسعه برای هوش مصنوعی
یکی از بهترین تجربههای من ایجاد یک فایل متنی مخصوص قوانین پروژه است.
در این فایل مواردی مثل:
- ساختار پروژه
- قوانین نامگذاری
- روش نوشتن کد
- تکنولوژیهای استفاده شده
- مواردی که نباید تغییر کنند
- قوانین مهم کسبوکار
را مینویسم.
این فایل مثل یک راهنما برای هوش مصنوعی عمل میکند و باعث میشود خروجیها هماهنگتر و باگها کمتر شوند.
نوشتن قوانین مهم داخل کامنت کد
بعضی قوانین فقط در فایل راهنما نیستند. گاهی داخل خود کد هم کامنت میگذارم.
مثلاً:
- این مقدار نباید مستقیم تغییر کند.
- این تابع فقط مسئول محاسبه است و نباید دیتابیس را تغییر دهد.
- این بخش به دلیل قوانین کسبوکار نباید حذف شود.
این توضیحات کمک میکنند مدل هنگام تغییرات بعدی تصمیم اشتباه نگیرد.
ارسال کل پروژه به صورت Bundle
یکی از مشکلات مدلهای رایگان محدودیت تعداد فایلهایی است که میتوان آپلود کرد.
برای حل این مشکل، گاهی کل پروژه را به صورت یک فایل Bundle یا متن یکجا آماده میکنم و همراه درخواست ارسال میکنم.
این کار باعث میشود مدل دید کاملتری از ساختار پروژه داشته باشد.
نتیجهای که گرفتم
تجربه من نشان داد که موفقیت در کدنویسی با هوش مصنوعی بیشتر از اینکه به مدل هوش مصنوعی وابسته باشد، به روش کار برنامهنویس وابسته است.
اگر بدون برنامه از AI بخواهیم یک پروژه کامل بسازد، احتمالاً با یک کد شلوغ و غیرقابل نگهداری مواجه میشویم.
اما اگر:
- پروژه را کوچک کنیم،
- مرحله به مرحله جلو برویم،
- بعد از هر تغییر تست کنیم،
- از Git استفاده کنیم،
- قوانین پروژه را مشخص کنیم،
- و همچنان معماری را خودمان کنترل کنیم،
هوش مصنوعی میتواند سرعت توسعه را چند برابر کند.
برای من، AI بیشتر از یک ابزار تولید کد است؛ یک همکار برنامهنویسی است که وقتی درست هدایت شود، باعث میشود سریعتر یاد بگیرم و بهتر نرمافزار بسازم.
![]()