چگونه مهندسان ارشد میتوانند از هوش مصنوعی برای تأثیرگذاری واقعی استفاده کنند

بیشتر مقالات مربوط به ابزارهای کدنویسی هوش مصنوعی بر تکمیل خودکار و تولید کدهای تکراری تمرکز دارند. این موضوع برای شروع خوب است، اما به ندرت به این موضوع میپردازد که این ابزارها چگونه میتوانند واقعاً در حل مسائل پیچیده مهندسی به شما کمک کنند.
چند سال پیش، به یک شرکت پیوستم و یک سیستم بزرگ و بدون مستندسازی را به ارث بردم که با فناوریهای ناآشنا ساخته شده بود. به عنوان یک مهندس ارشد، از شما انتظار میرود که آن را بفهمید، اما رویکرد معمول مطالعه بیپایان مستندات، آزمون و خطا و ایجاد وقفه در کار همتیمیها به طرز دردناکی کند بود. من نسبت به ابزارهای هوش مصنوعی تردید داشتم. آیا آنها کد کارآمد تولید میکنند؟ آیا تصمیمات درستی میگیرند؟
چیزی که نظرم را عوض کرد، تغییر نحوهی استفاده از آنها بود. به جای اینکه به هوش مصنوعی به عنوان یک تولیدکنندهی کد فکر کنم، با آن مانند یک همکار آگاه رفتار کردم که میتوانم با او ایدهپردازی کنم. هوش مصنوعی کتابخانهی عظیمی از دانش برنامهنویسی دارد. من زمینه را فراهم میکنم: الزامات پروژه، محدودیتها و آنچه برای تیم واقعبینانه است. این ترکیب در کنار هم، سرعت همه چیز را افزایش میدهد.
برای مثال، یک بار مجبور شدم سیستمی بسازم که سرویسها را در مرزهای شبکه و تحت الزامات امنیتی سختگیرانه به هم متصل کند. من جنبه تجاری را درک میکردم اما جزئیات شبکه را نه. به جای اینکه در مستندات جستجو کنم یا اشتباهات پرهزینه مرتکب شوم، هر جزء را با هوش مصنوعی بررسی کردم. آنچه را که میخواستم به آن دست یابم شرح دادم، هوش مصنوعی مفاهیم را تجزیه و تحلیل کرد و رویکردهایی را پیشنهاد داد و همه چیز را با مستندات رسمی اعتبارسنجی کردم.
نتیجه: یک راه حل کارآمد خیلی سریعتر ارائه شد، و من آن را عمیقاً درک کردم زیرا به جای کپی کردن و چسباندن کدهای مرموز، درگیر ماندم.
این در مورد تایپ سریعتر نیست. این در مورد تصمیمگیری هوشمندانهتر و تشخیص زودهنگام مشکلات است.
معماری: بررسی بدهبستانها، نه فقط رسیدن به پاسخها
ارزشمندترین کاربرد هوش مصنوعی برای من اصلاً کدنویسی نیست. بلکه بررسی تصمیمات معماری است. اینها لحظاتی هستند که چندین مسیر میتوانند کارساز باشند و شما تصمیم میگیرید که کدام بدهبستانها بیشترین اهمیت را دارند.
بیشتر بخوانید
اکنون Substack به نویسندگان این امکان را میدهد که فضاهای گفتگوی «چت» خود را دیوار پرداخت کنند
برای مثال، تصمیمگیری در مورد محل نگهداری دادهها، در سیستم شما یا سیستم مشتری، فقط فنی نیست. این موضوع بر هزینه، پیچیدگی عملیاتی و اینکه آیا شما در حال حل مشکل واقعی هستید یا به دنبال بهترین شیوهها هستید، تأثیر میگذارد. هوش مصنوعی میتواند به ترسیم واضح این عوامل کمک کند، که گفتگو با ذینفعان را آسانتر میکند و تضمین میکند که خطرات آشکار را از دست نمیدهید.
همچنین برای انتخابهای فناوری مانند سرویس مدیریتشده در مقابل ساخت سفارشی، دستهای در مقابل پخش جریانی و غیره مفید است. میتواند به شما کمک کند تا ببینید چه زمانی یک رویکرد ساده به اندازه کافی خوب است و چه زمانی پیچیدگی توجیهپذیر است. نکته کلیدی، فراهم کردن زمینه است. نپرسید چه چیزی بهترین است. بپرسید چه چیزی برای موقعیت خاص شما بهترین است.
یکی از الگوهایی که من استفاده میکنم این است: بر اساس محدودیتها، از طرح کلی شروع کنید، آن را محدود کنید، سپس بر اساس آنچه واقعاً دارید، آن را اصلاح کنید. این محدود کردن تدریجی، بهتر از تلاش برای طراحی همه چیز از ابتدا به طور کامل است، که به هر حال هرگز واقعاً جواب نمیدهد.
تله اصلی، تحلیل بیش از حد است. وقتی بتوانید رویکرد را به روشنی توضیح دهید، بدهبستانها را درک کنید و ریسکهایی را که میپذیرید بشناسید، بحث را متوقف کنید و شروع به ساختن کنید. پیادهسازی، بیش از یک ساعت دیگر بحث طراحی به شما خواهد آموخت.
اشکالزدایی: سیستماتیک، نه شانسی
هوش مصنوعی به طور جادویی اشکالات را برطرف نمیکند، اما اشکالزدایی را روشمندتر میکند، به خصوص برای پیکربندیهای پیچیده یا مسائل خاص محیطی.
یک سناریوی معمول زمانی است که یک سیستم به صورت محلی کار میکند اما در جای دیگر با خطاهای مرموز از کار میافتد. به جای حدس زدن، من خطا، پیکربندی مربوطه و زمینه را با هوش مصنوعی به اشتراک میگذارم. این به ساختاردهی تحقیقات کمک میکند: آیا اعتبارنامهها در حال بارگیری هستند؟ آیا اتصال شبکه سالم است؟ آیا میتوان به سرویس دسترسی پیدا کرد؟ آیا DNS مشکل را برطرف میکند؟
با آزمایش هر لایه و گزارشدهی، به تدریج دامنه را محدود میکنید.
یک بار، ساعتها وقتم را صرف یک خطای اتصال به پایگاه داده کردم که شبیه یک مشکل احراز هویت بود. با کار مرحله به مرحله با هوش مصنوعی، متوجه شدم که پایگاه داده روی یک شبکه خصوصی است و VPN من ترافیک را به درستی هدایت نمیکند. اعتبارنامهها در تمام این مدت خوب بودند. بدون آن رویکرد روشمند، زمان بیشتری را صرف دنبال کردن چیز اشتباه میکردم.
درس: زمینه همه چیز است. ردیابی کامل پشته، پیکربندی دقیق و آنچه که کار میکند در مقابل آنچه که کار نمیکند را ارائه دهید. اطلاعات ناقص منجر به توصیههای کلی و بیفایده میشود.
بررسی کد: یک جفت چشم دوم
هوش مصنوعی نمیتواند جایگزین یک بازرس انسانی شود، اما میتواند به عنوان یک مجموعه چشم اضافی عالی عمل کند، به خصوص برای تشخیص موارد خاص.
این ابزار در تشخیص اشارهگرهای تهی، خطاهای مدیریت نشده و شرایط مرزی که ممکن است نادیده بگیرید، خوب عمل میکند. من یک بار تابعی را که روی یک نقشه تکرار میشد، بررسی کردم و هوش مصنوعی بلافاصله تشخیص داد که نقشه میتواند تهی باشد و از کار بیفتد. من کاملاً متوجه این موضوع نشده بودم.
اما هوش مصنوعی نمیتواند به شما بگوید که آیا کد با معماری شما مطابقت دارد، مشکل واقعی کسبوکار را حل میکند یا برای توسعهدهندگان آینده قابل خواندن است. این فراخوانیها نیاز به قضاوت انسانی دارند.
فرآیند من: من ابتدا خودم کد را بررسی میکنم، سپس از هوش مصنوعی برای سوالات هدفمند در بخشهای پیچیده استفاده میکنم، مانند «چه موارد حاشیهای ممکن است از قلم بیفتد؟» یا «اگر سرویس خارجی دچار وقفه شود چه اتفاقی میافتد؟» این هوش مصنوعی فرضیات من را بدون جایگزینی قضاوت من به چالش میکشد.
بازسازی: جایی که هوش مصنوعی واقعاً برتری دارد
بازسازی کدها جایی است که هوش مصنوعی در آن میدرخشد، به خصوص در کارهای مکانیکی و تکراری.
من دو کلاس پیکربندی با حدود ۱۲۰ خط کد یکسان داشتم. هوش مصنوعی کمک کرد تا آن را در یک کلاس پایه استخراج کنم و هر دو را در کمتر از ۳۰ دقیقه برای ارثبری از آن، بازسازی کنم، کاری که میتوانست ساعتها طول بکشد.
اما مراقب باشید. در طول بازسازی کدها، هوش مصنوعی ممکن است به طور نامحسوس نحوه مدیریت موارد حاشیهای یا مقادیر تهی را تغییر دهد. ممکن است تستهای شما همه چیز را ثبت نکنند، بنابراین تفاوتها، به خصوص منطق شرطی و مقایسهها را با دقت بررسی کنید.
همچنین، همه موارد تکراری نباید حذف شوند. گاهی اوقات کد عمداً مشابه است اما باید به طور مستقل تکامل یابد. هوش مصنوعی نمیتواند آن زمینه را بشناسد. فقط شما میتوانید.
و همیشه در محیطهای واقعی آزمایش کنید. آنچه که به صورت محلی کار میکند ممکن است در مرحلهی تولید یا اجرا به دلیل تفاوت نسخهها، سیاستهای امنیتی یا شرایط شبکه با شکست مواجه شود.
دانستن اینکه چه زمانی نباید از هوش مصنوعی استفاده کرد
درک اینکه چه زمانی نباید از هوش مصنوعی استفاده کرد، به همان اندازه مهم است که بدانیم چه زمانی باید از آن استفاده کنیم.
هرگز در مورد کدهای حیاتی امنیتی مانند احراز هویت، مجوز یا رمزگذاری به آن اعتماد نکنید. هوش مصنوعی ممکن است راهحلهایی را پیشنهاد دهد که از نظر عملکردی کار میکنند اما حاوی آسیبپذیریهای ظریفی هستند. همین امر در مورد حوزههای حساس انطباق نیز صدق میکند که اشتباهات در آنها میتواند عواقب قانونی داشته باشد.
خطر بزرگتر، اتکای بیش از حد است. اگر از کد تولید شده توسط هوش مصنوعی استفاده میکنید که آن را نمیفهمید، در حال ایجاد بدهی فنی هستید. شما همیشه باید بتوانید خودتان آن کد را بنویسید، حتی اگر زمان بیشتری طول بکشد. اگر نمیتوانید، مفهوم اساسی را یاد بگیرید یا رویکرد خود را دوباره بررسی کنید.
هوش مصنوعی همچنین نمیتواند تصمیماتی با تأثیر بلندمدت سازمانی بگیرد. هوش مصنوعی از مهارتهای تیم شما، سیستمهای قدیمی، ظرفیت عملیاتی یا سیاستهای داخلی شما، عواملی که اغلب بر بهینهسازی فنی غلبه دارند، اطلاعی ندارد.
و گاهی اوقات، ارزشش را دارد که یک مسئله را بدون هوش مصنوعی حل کنید، فقط برای اینکه مهارتهای حل مسئلهتان را قوی نگه دارید. مانند رد شدن از آسانسور برای بالا رفتن از پلهها، این کار غرایز مهندسی شما را قوی نگه میدارد.
عملی کردن آن
بعد از چند سال استفادهی منظم از ابزارهای هوش مصنوعی، این چیزی است که یاد گرفتهام.
از آن به عنوان یک شریک فکری استفاده کنید، نه یک تولیدکننده کد. شما قضاوت و زمینه را به ارمغان میآورید، این وسعت دانش را به ارمغان میآورد. قدرت واقعی در این ترکیب است.
دقیق باشید. سوالات مبهم، پاسخهای مبهمی دارند. آنچه را که در حال ساخت آن هستید، محدودیتها و اهدافتان را توضیح دهید. با آن مانند یک مکالمه رفتار کنید: بپرسید، اصلاح کنید، تکرار کنید.
همیشه بررسی کنید. آنچه هوش مصنوعی پیشنهاد میدهد را درک و اعتبارسنجی کنید. شما همچنان مسئول آنچه در تولید اتفاق میافتد هستید. مرزها را نیز بشناسید زیرا امنیت، انطباق و منطق حیاتی همگی به تخصص انسانی نیاز دارند.
اگر تازه با این مسائل شروع کردهاید، از کوچک شروع کنید. این هفته یک سوال معماری انتخاب کنید. قبل از ادغام یک PR، از هوش مصنوعی برای بررسی موارد حاشیهای استفاده کنید. آن را روی یک ریفکتور ساده امتحان کنید. به تدریج اعتماد به نفس خود را افزایش دهید.
سوال این نیست که آیا هوش مصنوعی برای مهندسان ارشد مفید است یا خیر. واضح است که مفید است. سوال واقعی این است که آیا میتوانید بدون از دست دادن قضاوت و تخصصی که شما را ارزشمند میکند، به طور مؤثر از آن استفاده کنید. مهندسانی که این تعادل را به درستی برقرار میکنند، محصولات بهتر و سریعتری را عرضه خواهند کرد، نه به این دلیل که هوش مصنوعی جایگزین آنها میشود، بلکه به این دلیل که آنها را تقویت میکند.




ارسال نظر