هوش مصنوعی کد را مینویسد. اما چه کسی زمینه (Context) را به آن میدهد؟
هوش مصنوعی میتواند کد بنویسد. اما سیستم شما را نمیشناسد.
وقتی از هوش مصنوعی برای کدنویسی استفاده میکنید، اولین پاسخ بهندرت بهترین پاسخ است. شما باید زمینه (context) را اضافه کنید. باید اشتباهات را اصلاح کنید. باید توضیح دهید که قبلاً چه چیزهایی را امتحان کردهاید.
این فرآیند «مهندسی زمینه» (context engineering) نامیده میشود. این مهمترین بخشِ استفاده از هوش مصنوعی در مهندسی نرمافزار است.
هوش مصنوعی کدی باورپذیر تولید میکند. به نظر درست میآید. حتی ممکن است از تستها هم سربلند بیرون بیاید. اما نرمافزار در خلاء وجود ندارد. نرمافزار باید با دنیای خاص شما سازگار باشد.
یک هوش مصنوعی بهطور خودکار موارد زیر را نمیداند:
- قوانین معماری (Architecture rules)
- نیازهای امنیتی
- الگوهای موجود
- منطق دامنه (Domain logic)
- تصمیمات فنی
اگر این زمینه را فراهم نکنید، مشکل ایجاد خواهید کرد.
یکی از ریسکهای بزرگ، تکرار (duplication) است. هوش مصنوعی نمیداند که شما از قبل یک validation helper یا یک error handler خاص دارید. او صرفاً یک مورد جدید میسازد. حالا سیستم شما دو روش برای حل یک مشکل واحد دارد. این کار اصل «خودت را تکرار نکن» (DRY) را نقض میکند.
اگر فقط برای سرعت بهینهسازی کنید، آینده خود را کند میکنید. ممکن است ویژگیها را سریعتر عرضه کنید، اما تغییر دادن سیستمتان سختتر خواهد شد.
برای رفع این مشکل، باید دانش مهندسی را مانند کد با آن برخورد کنید. این دانش باید:
- نسخهبندی شده باشد (Versioned)
- بازبینی شده باشد (Reviewed)
- دارای مالکیت مشخص باشد (Owned)
- بهروز نگه داشته شود
مستندسازی به تنهایی کافی نیست. مستندات قدیمی خطرناک هستند. آنها به هوش مصنوعی اعتماد به نفس کاذب میدهند و باعث میشوند مدل از الگوهای قدیمیای پیروی کند که تیم شما دیگر از آنها استفاده نمیکند.
بهترین تیمها فقط پرامپتهای (prompts) بهتری نمینویسند؛ آنها نردههای حفاظتی (guardrails) بهتری میسازند.
به جای اینکه از هوش مصنوعی بخواهید از یک قانون پیروی کند، از تستهای خودکار برای اجرای آن استفاده کنید. از CI/CD برای بررسی موارد زیر استفاده کنید:
- خطاهای تحلیل استاتیک (Static analysis)
- آسیبپذیریهای امنیتی
- نقض مرزهای معماری
- مشکلات وابستگی (Dependency)
هوش مصنوعی تولید کد را ارزان میکند، اما اهمیت درک محصول را کم نمیکند. در واقع، «زمینه» (context) به ارزشمندترین منبع تبدیل میشود.
برندگان تیمهایی نخواهند بود که بیشترین کد را تولید میکنند؛ بلکه تیمهایی خواهند بود که شفافترین دستورالعملها را درباره نحوه کنار هم قرار گرفتن قطعات ارائه میدهند.
Source: https://dev.to/icetique/ai-can-write-the-code-who-gives-it-the-context-2l1b
Optional learning community: https://t.me/GyaanSetuAi