مگر اینکه زیر سنگ زندگی کرده باشید، در مورد ChatGPT می دانید. چت بات که توسط هوش مصنوعی (AI) هدایت می شود و توسط OpenAI در سانفرانسیسکو، کالیفرنیا ایجاد شده است، تقریباً در مورد هر موضوعی به سؤالات کاربر (به نام اعلانات) پاسخ هایی شبیه انسان ارائه می دهد. ChatGPT بر روی مجموعه وسیعی از متن آموزش دیده است و توانایی آن برای مشارکت در مکالمه مبتنی بر متن به این معنی است که کاربران می توانند پاسخ های آن را اصلاح کنند. حتی اگر پاسخهای اولیه آن مبهم باشد، اغلب در نهایت نتایج دقیقی از جمله کد نرمافزار تولید میکند.
محققان میتوانند از ChatGPT برای اشکالزدایی و حاشیهنویسی کد، ترجمه نرمافزار از یک زبان برنامهنویسی به زبان دیگر و انجام عملیات Rote، Boilerplate، مانند ترسیم دادهها، استفاده کنند. پیشچاپ ماه مارس گزارش داد که این برنامه میتواند 76 درصد از 184 کار را در یک دوره مقدماتی بیوانفورماتیک، مانند کار با صفحات گسترده، پس از یک بار امتحان و 97 درصد در طی هفت تلاش حل کند.1.
این خبر خوبی برای محققانی است که احساس ناراحتی در کدنویسی دارند، یا فاقد بودجه لازم برای استخدام یک برنامه نویس تمام وقت هستند – برای آنها چت بات ها می توانند ابزاری دموکراتیک باشند.
با این حال، چت ربات ها با وجود تمام احساسات ظاهری خود، هوشمند نیستند. آنها طوطی های تصادفی نامیده می شوند که به طور تصادفی آنچه را که قبلا دیده اند بازتاب می دهند. امی کو، دانشمند کامپیوتر در دانشگاه واشنگتن در سیاتل، برای توصیف محدودیتهای این ابزار، از یک مسابقه طولانی مدت در ایالات متحده استفاده میکند و در سایت رسانه اجتماعی Mastodon مینویسد: «ChatGPT مانند یک شرکتکننده ناامید سابق Jeopardy است که دیگر پاپ را دنبال نمیکند. فرهنگ در سال 2021 اما واقعاً میخواهد به بازی بازگردد، و همچنین رباتی است بدون آگاهی، عاملیت، اخلاق، شناخت مجسم یا زندگی درونی احساسی.» (داده های مورد استفاده برای آموزش ChatGPT فقط تا سال 2021 گسترش می یابد.)
به طور خلاصه، ChatGPT و ابزارهای مرتبط مبتنی بر مدلهای زبان بزرگ (LLM) که شامل Microsoft Bing و GitHub Copilot هستند، کمکهای برنامهنویسی فوقالعاده قدرتمندی هستند، اما باید با احتیاط استفاده شوند. در اینجا شش راه برای انجام این کار وجود دارد.
برنامه های کاربردی خود را انتخاب کنید
چت بات ها برای کارهای برنامه نویسی کوچک و مجزا مانند بارگذاری داده ها، انجام دستکاری های اولیه داده ها و ایجاد تصاویر و وب سایت ها بهترین کار را دارند. نیل ارنست، دانشمند کامپیوتر در دانشگاه ویکتوریا در کانادا می گوید، اما این همان مهندسی نرم افزار نیست.
ChatGPT: پنج اولویت برای تحقیق
ارنست توضیح میدهد: «مهندسی نرمافزار بسیار بیشتر از حل یک معمای برنامهنویسی است. «در مورد چارچوبهای آزمایشی، نوشتن کد قابل نگهداری و درک معاوضههای مربوط به ساخت یک سیستم فکر میکنیم» – مانند مواردی که بین سرعت و خوانایی وجود دارد. من فکر نمی کنم که ابزارهای فعلی هیچ یک از این مسائل را حل کنند.»
این کار باعث میشود کارهای زیادی انجام دهند، مانند به خاطر سپردن نحو برای ایجاد تجسمها با Matplotlib، یک کتابخانه نموداری برای زبان برنامهنویسی پایتون. از این نظر، رباتهای گفتگو مانند یک رابط مکالمه برای Stack Overflow هستند، یک انجمن پرسش و پاسخ آنلاین برای برنامهنویسان. ارنست میگوید: «این چیزهایی نیست که کسی بخصوص از نوشتن آن لذت ببرد، و در وقت ما صرفهجویی میکند تا سؤالات تحلیلی سختی را که ممکن است درباره دادهها داشته باشیم بپرسیم».
چت بات ها همچنین در توضیح اینکه چرا کد کار نمی کند خوب هستند. امری برگر، دانشمند کامپیوتر در دانشگاه ماساچوست آمهرست، از این توانایی ها برای ساخت چندین ابزار مفید استفاده کرده است. یکی به نام cwhy از ChatGPT برای توضیح خطاهای کامپایلر در کدهای نوشته شده در زبان های برنامه نویسی C، C++ و Rust استفاده می کند. دیگری، ChatDBG، یک رابط مکالمه برای اشکال زدایی فراهم می کند و سومی، Scalene، از هوش مصنوعی برای پیشنهاد بهینه سازی کد برای بهبود عملکرد استفاده می کند.
چت بات ها حتی می توانند کد را از یک زبان برنامه نویسی به زبان دیگر ترجمه کنند. Mathieu Coppey، بیوفیزیکدان در موسسه کوری در پاریس، از ChatGPT برای کمک به او کمک می کند تا از MATLAB، زبان مورد علاقه خود، به پایتون برود. با استفاده از گوگل و انجمن های آنلاین، او معمولاً به چند روز زمان نیاز دارد تا کد پایتون خود را به کار ببرد. او میگوید: «اکنون، میتوانم این کار را ظرف یک ساعت یا بیشتر انجام دهم.
اعتماد کنید، اما تأیید کنید
رباتهای چت ممکن است همیشه ندانند درباره چه چیزی صحبت میکنند، اما مطمئناً به نظر میرسند. در برخی موارد، هوش مصنوعی این سوال را نمیفهمد. در موارد دیگر، پاسخ نادرستی ارائه می دهد. هنگامی که کد اجرا نمی شود، چنین اشتباهاتی آشکار است. با این حال، گاهی اوقات کد اجرا می شود اما نتیجه اشتباهی را به همراه دارد.
طبق یک مطالعه2 با همکاری امیلی مورگان زبان شناس در دانشگاه کالیفرنیا، دیویس، چت بات ها – مانند کدهای نوشته شده توسط انسان که روی آن آموزش دیده اند – اغلب چیزی را ایجاد می کنند که او آن را «اشکالات ساده و احمقانه» می نامد. این خطاهای تک خطی، مانند استفاده از > به جای >= در یک دستور شرطی، به راحتی قابل رفع هستند، اما به سختی یافت می شوند. او میگوید: «اگر به اندازه کافی نمیدانید که بین چیزی درست و چیزی که عملاً مزخرف است تفاوت قائل شوید، ممکن است خودتان را به دردسر بیندازید.
ChatGPT و هوش مصنوعی مولد چه معنایی برای علم دارند
ایزا رومانوفسکا، دانشمند پیچیدگی که تمدن های باستانی را در موسسه مطالعات پیشرفته آرهوس در دانمارک مطالعه می کند، از ChatGPT برای تولید کد به زبانی به نام NetLogo استفاده کرده است. از آنجایی که کد آنلاین کمتری نسبت به زبانهای Python و R در NetLogo نوشته شده است، ChatGPT کمتر به آن مسلط است. او میگوید گاهی اوقات، هوش مصنوعی کد پیشنهادی خود را با عملکردهایی که در واقع وجود ندارند، نشان میدهد – رفتاری که گاهی اوقات توهم نامیده میشود.
نکته اصلی این است که کورکورانه آنچه را که ChatGPT به شما می دهد نپذیرید – آن را با دقت بخوانید و آزمایش کنید. اطمینان حاصل کنید که در موارد لبه مطابق انتظار عمل می کند – به عنوان مثال، الگوریتمی برای مرتب سازی انجام می دهد n اعداد شامل nشماره ام؟ پاتریک لام، دانشمند کامپیوتر در دانشگاه واترلو در کانادا، میگوید: «به این موضوع بیشتر از حد توانم اعتماد نمیکنم.»
به ایمنی فکر کنید
چت بات ها کد خروجی می دهند که داده های آموزشی آنها را منعکس می کند. کو می گوید این همیشه چیز خوبی نیست. “کیفیت کلی کد در وب که به اشتراک گذاشته شده است، که اینها [chatbots] آموزش دیده اند، در واقع بسیار پایین است.»
همانطور که کد تصادفی آنلاین بعید است که کارآمد یا قوی باشد، کدهای تولید شده توسط ربات چت نیز چنین است. به عنوان مثال، ممکن است روی مجموعه داده های بزرگ به خوبی کار نکند و می تواند حاوی آسیب پذیری های امنیتی باشد.
آیا هوش مصنوعی می تواند به شما در نوشتن مقاله بعدی کمک کند؟
برندان دولان گاویت، دانشمند کامپیوتر در دانشگاه نیویورک، میگوید زمانی که ابزار برنامهنویسی Copilot Github در سال 2021 راه اندازی شد، او و تیمش آن را در 89 سناریو مرتبط با امنیت آزمایش کردند. یکی از این موارد، امکان بررسی پرس و جوهای نادرست با استفاده از زبان SQL بود که می تواند پایگاه داده را خراب کند – معروف به حمله تزریق SQL.3. «حدود 40 درصد مواقع، Copilot کدی تولید میکرد که آسیبپذیر بود». این یک هدف متحرک است – زمانی که Dolan-Gavitt آن سناریوها را در نسخه جدیدتری از LLM زیربنای ChatGPT به نام GPT-4 قرار داد، میزان خطا به 5 درصد کاهش یافت.
با این حال، بررسی کد شما مفید است. اما برنامه را نیز در نظر بگیرید – همه چیز برای ماموریت حیاتی نیست. برای مثال، رابط وب به یک پایگاه داده یا ابزار تجسم ممکن است به هوشیاری بیشتری نیاز داشته باشد. سایاش کاپور، دانشمند کامپیوتر در دانشگاه پرینستون در نیوجرسی، میگوید، اگر میدانید پاسخ مشکل برنامهنویسیتان چگونه باید باشد، «فقط به دنبال آن بروید، زیرا به راحتی میتوان بررسی کرد که آیا اشتباه میکنید یا خیر».
تکرار کنید
به گفته Ko، کدنویسی مبتنی بر چت بات “یک نوع تجربه نیست”. این یک مکالمه است. “شما چیزی می نویسید، چیزی را پس می گیرید، آن را با شک و تردید می خوانید، جزئیات بیشتری را می خواهید، برای اصلاح چیزی از آن می خواهید.”
Gangqing (مایکل) هو، که مرکز اصلی بیوانفورماتیک را در دانشگاه ویرجینیای غربی در مورگانتاون اداره میکند، از آن گردش کار تکراری برای توسعه روشی استفاده کرد که مبتدیان در بیوانفورماتیک میتوانند از آن برای بهینهسازی درخواستهای ربات چت به نام OPTIMAL استفاده کنند.4. کاربران اعلانهای دقیق ارائه میکنند، پاسخها را آزمایش میکنند و به ربات چت بازخورد میدهند تا پاسخهای آن را تغییر دهند. این می تواند شامل سوالاتی در مورد خطاها و همچنین تغییراتی در خود درخواست باشد. هو توضیح می دهد: “ارتباطات کلیدی است.”
Xijin Ge، بیوانفورماتیک دانشگاه ایالتی داکوتای جنوبی در بروکینگز، پیشنهاد میکند اگر گیر کردید، تنظیمات را تنظیم کنید. به عنوان مثال، تنظیمات «دما» ChatGPT، خلاقیت را کنترل می کند – هر چه دما بالاتر باشد، خروجی خلاقانه تر است. Ge میگوید: «گاهی اوقات کار میکند.
اما نه همیشه – در برخی موارد، “شما باید مداخله کنید و مسئولیت را به دست بگیرید”.
انسان سازی
چت ربات ها افراد نیستند، اما می توان با آنها این گونه رفتار کرد. Ge توصیه میکند: «با این هوش مصنوعی بهعنوان یک کارآموز تابستانی رفتار کنید.» دانشجویی سختکوش و مشتاق خوشحال کردن، اما بیتجربه و مستعد خطا.
پل دنی، دانشمند کامپیوتر در دانشگاه اوکلند نیوزلند، پیشنهاد می کند که از ابهام اجتناب کنید و مشکل خود را به قطعات کوچکتر تقسیم کنید.
مرکز NatureTech
نکته دیگر: ربات چت را هدایت کنید تا نقشی را به عهده بگیرد، مثلاً یک زیست شناس که به پایتون مسلط است. ابزارها یا کتابخانه های برنامه نویسی را که می خواهید استفاده کنید مشخص کنید. کو میگوید: چنین دستورالعملهایی میتوانند به ربات چت کمک کنند تا «به فضای احتمالی درست» وارد شود، یعنی متنی را که به احتمال زیاد از دستور پیروی میکند وارد شود.
به عنوان مثال، یک پیشنهاد در مطالعه هو4 از ChatGPT پرسید: «به عنوان یک بیوانفورماتیک باتجربه و مسلط به تجزیه و تحلیل دادههای ChiP-Seq عمل کنید، با نوشتن کد با تعداد خطوط تا حد امکان به من کمک خواهید کرد. در صورت درخواست، موضوع را بازنشانی کنید. اگر فهمیدید، «بله» پاسخ دهید.»
و در صورت امکان، کد شروع، نظرات و نتایج مورد انتظار را ارائه دهید. دونگ زو، دانشمند کامپیوتر در دانشگاه میسوری، کلمبیا، میگوید: «نمونهها واقعاً میتوانند به ChatGPT کمک کنند تا آن را در جهت درست هدف قرار دهد.
تغییر را در آغوش بگیرید
در نهایت، LLM ها دائما در حال تکامل هستند و قدرتمندتر می شوند. این خبر خوبی برای محققین است، هرچند که آنها را سرپا نگه می دارد. طول های سریع در حال افزایش است و پاسخ های ظریف تری را امکان پذیر می کند. و ابزارهای جدید دائما در حال ظهور هستند. یک افزونه به نام Code Interpreter ChatGPT را به یک تحلیلگر داده دیجیتال تبدیل می کند و به کاربران امکان می دهد مجموعه های داده را آپلود کنند، از داده های خود سؤال بپرسند و نتایج را دانلود کنند. همانطور که یکی از وبلاگ نویسان در زمینه هوش مصنوعی می گوید: «مثل گفتگو با داده های شماست. چقدر باحاله؟”