«هوش مصنوعی برای کار شما می آید» ممکن است پرگفته ترین جمله سال 2023 باشد. همه در معرض تهدید فرضی هوش مصنوعی مولد هستند و مهندسی نرم افزار نیز از این قاعده مستثنی نیست.
ابزارهایی مانند Copilot در مایکروسافت در حال حاضر در کنار توسعه دهندگان کار می کنند و «توسعه دهندگان شهروند» را کارآمدتر می کنند. پیشنهاداتی وجود دارد مبنی بر اینکه همه ما به زودی به چیزی مشابه دسترسی خواهیم داشت، اما یک فنشناس ارشد مالی و مشارکتکننده متن باز دکترا با این موضوع مخالف است.
ریچارد آیزنبرگ، طراح زبان کاربردی در شرکت تجاری جین استریت، اخیراً در پادکست این شرکت در مورد “آینده برنامه نویسی” صحبت کرد. او در مورد اینکه چه چیزی باعث می شود برنامه نویسی مبتنی بر ChatGPT کار کند و چه چیزی سر راه آن قرار می گیرد بحث کرد.
آیزنبرگ میگوید: «این تکامل برنامهنویسی به کمک هوش مصنوعی کاملاً دریای تغییری نیست که دیگران آن را دیدهاند. این یک گام بزرگ است، اما نیاز به برقراری ارتباط دقیق را برطرف نمیکند.»
پیچیدگی ها در ماهیت زبان های برنامه نویسی ذاتی هستند. آیزنبرگ آنها را بهسختی بهعنوان «شیوهای از ارتباط دقیق تعریف میکند. هر چیزی که در آن زبان گفته میشود معنایی دقیق دارد». برعکس، او میگوید که “زبان طبیعی بسیار بسیار شیطون است.”
این بدان معنا نیست که هوش مصنوعی در تبدیل دستورات به کد ناامید است. آیزنبرگ میگوید دستیارهایی که امروزه استفاده میشوند «بهطور شگفتانگیزی قدرتمند هستند و میتوانند کار خیرهکنندهای در گرفتن یک پرس و جو، درک آن و ارائه یک قطعه کد انجام دهند». با توجه به تفسیرپذیری ذاتی زبان طبیعی، “آنها همچنین به طرز شگفت انگیزی خطاپذیر هستند، آنها اشتباهات زیادی مرتکب می شوند.”
بنابراین چه کاری میتوانیم انجام دهیم تا مطمئن شویم که ChatGPT کد ما را همانطور که میخواهیم مینویسد؟
تکنیک مخفی که می تواند رمزگذاری هوش مصنوعی را متحول کند
قبل از پیوستن به جین استریت، آیزنبرگ یکی از همکاران منبع باز مهم زبان Haskell بود. قابل توجه ترین اضافه او اجرای انواع وابسته. این یک تکنیک نوآورانه است که می تواند کل فرآیند کدنویسی را تغییر دهد، چه به کمک هوش مصنوعی یا موارد دیگر.
آیزنبرگ در هسته خود می گوید که انواع وابسته «به شما امکان می دهد یک اثبات صحت را در برنامه خود رمزگذاری کنید»، پارامترهای قطعی را تنظیم می کند تا اطمینان حاصل شود که «برنامه شما همان کاری را انجام می دهد که فکر می کنید انجام می دهد».
این می تواند در هنگام نوشتن دستورات برای تولید کد ChatGPT مرتبط باشد.
به عنوان مثال، آیزنبرگ یک تابع ساده از مرتب سازی لیستی از اعداد صحیح به ترتیب صعودی را ارائه می دهد. یک نوع وابسته که می توانید استفاده کنید این است که از آن بخواهید یک خروجی را به ترتیب غیر نزولی نمایش دهد و مشخص کنید که اگر خروجی با این توضیحات مطابقت نداشته باشد، اجرا نخواهد شد.
هنوز مقداری آزادی در آنجا وجود دارد. کامپیوتر نمی تواند چیزی را برگرداند و این است از نظر فنی به ترتیب غیر نزولی انواع وابسته نهایی که آیزنبرگ در این مثال مشخص می کند این است که برنامه “لیستی از ints را می گیرد و نتیجه ای را به ترتیب غیر نزولی برمی گرداند. و یک جایگشت از لیست ورودی است.”
آیزنبرگ میگوید که با هوش مصنوعی استفاده میشود، این میتواند «ورودی شما در مدل زبان بزرگ» باشد، روشی برای سختتر کردن فرمانها و اطمینان از اینکه کد نوشته شده توسط دستگاه اهداف شما را برآورده میکند. استفاده از این توابع وابسته دقیق در اعلان شما اطمینان حاصل می کند که خروجی مطابق با مشخصاتی است که هدف شماست.
آیا نمی توانید فقط از ChatGPT بخواهید که تابع را نیز بنویسد؟ آیزنبرگ در مورد آن هشدار می دهد، یا می گوید که اگر این کار را می کنید، حداقل باید قبل از انجام این کار، درک کاملی از عملکردها داشته باشید. آیزنبرگ می گوید: «اگر انسان به اندازه کافی متخصص نباشد که مشخصات را بخواند و بداند که درست است، ما ضرر کرده ایم. اکنون رایانه می تواند خاموش شود و هر کاری که می خواهد انجام دهد، و ما هیچ راهی برای تشخیص درست یا غلط بودن آن نداریم.
انواع وابسته یک راه حل بی عیب نیستند. آنها به راحتی می توانند به قیمت از دست دادن سرعت انجام شوند که به ویژه در شرکتی مانند خیابان جین که سرعت کد حیاتی است، می تواند یک شکست بزرگ باشد.
همه زبان ها به طور کامل از انواع وابسته پشتیبانی نمی کنند. آیزنبرگ می گوید که “Coq، ACTA Idris Lean کسانی هستند که واقعاً آن را پذیرفته اند.” Coq و ACTA از دهه 80 وجود داشته اند و این نمونه دیگری از تکنیک های کدگذاری باستانی است که تحت فناوری جدید دوباره متولد شده اند.
برای ایجاد نمایه در eFinancialCareers اینجا را کلیک کنید. به طور ناشناس در مورد مقالات نظر دهید و خود را برای استخدام کنندگانی که برای مشاغل برتر در فناوری و امور مالی استخدام می کنند قابل مشاهده باشید.
آیا داستان، نکته یا نظر محرمانه ای دارید که می خواهید به اشتراک بگذارید؟ تماس با: alex.mcmurray@efinancialcareers.com در وهله اول.
اگر در پایین این مقاله نظری میگذارید با ما همراه باشید: همه نظرات ما توسط انسان تعدیل میشوند. گاهی اوقات ممکن است این افراد در خواب باشند یا از میز خود دور باشند، بنابراین ممکن است مدتی طول بکشد تا نظر شما ظاهر شود. در نهایت این کار خواهد شد – مگر اینکه توهین آمیز یا افتراآمیز باشد (در این صورت چنین نخواهد شد.)