آخرین جمعه، OpenAI سیستم برنامهنویسی جدیدی به نام Codex معرفی کرد که به منظور انجام وظایف پیچیده برنامهنویسی از دستورات زبان طبیعی طراحی شده است. Codex OpenAI را وارد گروه جدیدی از ابزارهای برنامهنویسی خودکار میکند که همچنان در حال شکلگیری هستند. از Copilot اولیه GitHub گرفته تا ابزارهای معاصر مانند Cursor و Windsurf، اکثر دستیارهای برنامهنویسی هوش مصنوعی به عنوان یک نوع فوقالعاده هوشمند از تکمیل خودکار عمل میکنند. این ابزارها عموماً در محیطهای توسعه یکپارچه فعالیت میکنند و کاربران به طور مستقیم با کد تولید شده توسط هوش مصنوعی تعامل دارند. امکان محول کردن ساده یک وظیفه و بازگشت به آن پس از اتمام، به طور عمده خارج از دسترس است. اما این ابزارهای جدید خودکار، که شامل محصولاتی مانند Devin، SWE-Agent و OpenHands میشوند، طراحی شدهاند تا بدون نیاز به مشاهده کد توسط کاربران، عمل کنند. هدف این است که مانند مدیر یک تیم مهندسی عمل کرده، مشکلات را از طریق سیستمهای کار مانند Asana یا Slack محول کرده و پس از رسیدن به راهحل، از آنها اطلاع حاصل کنند. برای طرفداران هوش مصنوعی با تواناییهای بالا، این گام منطقی بعدی در روند اتوماسیون است که در حال تصرف بخشهای بیشتری از کارهای نرمافزاری است.
کیلیان لیرد، پژوهشگر دانشگاه پرینستون و عضو تیم SWE-Agent، توضیح میدهد: «در آغاز، مردم کد را با هر فشردن کلید مینوشتند. GitHub Copilot اولین محصولی بود که واقعاً تکمیل خودکار ارائه داد، که به نوعی مرحله دوم است. شما هنوز به طور کامل در جریان کار هستید، اما گاهی میتوانید یک میانبر بزنید.» هدف سیستمهای خودکار این است که فراتر از محیطهای توسعهدهنده بروند و در عوض، به عاملان برنامهنویسی یک مشکل ارائه دهند و آنها را به تنهایی برای حل آن رها کنند. لیرد گفت: «ما کار را به سطح مدیریت برمیگردانیم، جایی که من فقط یک گزارش خطا را محول میکنم و ربات سعی میکند آن را به طور کاملاً خودکار برطرف کند.»
این هدف بلندپروازانه است و تاکنون، به نظر میرسد که رسیدن به آن دشوار است. پس از این که Devin در اواخر سال 2024 به طور عمومی در دسترس قرار گرفت، به شدت مورد انتقاد قرار گرفت و این انتقادات از سوی کارشناسان یوتیوب و همچنین مزایای سنجیدهای از یک مشتری اولیه در Answer.AI صورت گرفت. برداشت کلی برای veterani-coders نرمافزار، این بود که با وجود تعداد زیادی از خطاها، نظارت بر مدلها به اندازه انجام کار به صورت دستی زمانبر است. با وجود این که راهاندازی Devin چندان بدون مشکل نبوده است، این موضوع مانع از جذب سرمایهگذاران از شناسایی پتانسیل آن نشده است – در ماه مارس، شرکت مادر Devin، Cognition AI، به گفتهها، صدها میلیون دلار با ارزشی بالغ بر 4 میلیارد دلار جمعآوری کرده است.
حتی حامیان این فناوری نیز در مورد برنامهنویسی خودکار بدون نظارت احتیاط میکنند و این عاملان برنامهنویسی را به عنوان عناصر قدرتمندی در فرآیند توسعه تحت نظارت انسان میبینند. رابرت برنان، مدیر عامل All Hands AI، که OpenHands را نگهداری میکند، میگوید: «در حال حاضر و به نظرم، برای آینده قابل پیشبینی، یک انسان باید در زمان بررسی کد وارد شود تا کدی که نوشته شده را بررسی کند. من دیدهام که چندین نفر با تایید خودکار هر بخش از کدی که عامل مینویسد، خود را به دردسر انداختهاند. این کار به سرعت از کنترل خارج میشود.» همچنین، مشکل توهمات (hallucinations) نیز همچنان وجود دارد. برنان به یاد میآورد یکی از وقایعی که در آن، وقتی از عامل در مورد یک API که پس از قطع دادههای آموزشی OpenHands منتشر شده بود، سوال شد، عامل جزئیاتی از یک API را تخیل کرد که با توصیف مطابقت داشت. All Hands AI اعلام کرده است که در حال کار بر روی سیستمهایی برای شناسایی این توهمات قبل از ایجاد مشکل است، اما راهحل سادهای وجود ندارد.
به طور کلی، بهترین معیار برای پیشرفت برنامهنویسی خودکار، لیدربردهای SWE-Bench است که در آن توسعهدهندگان میتوانند مدلهای خود را در برابر مجموعهای از مشکلات حلنشده از مخازن عمومی GitHub آزمایش کنند. OpenHands در حال حاضر در صدر این لیدربرد معتبر قرار دارد و 65.8 درصد از مشکلات را حل کرده است. OpenAI ادعا میکند که یکی از مدلهای پشتیبان Codex، codex-1، عملکرد بهتری دارد و در اعلان خود، امتیاز 72.1 درصدی را گزارش کرده است، هرچند این امتیاز با چند یادداشت همراه بود و تأیید مستقلی ندارد. نگرانیهای زیادی در صنعت فناوری وجود دارد که امتیازهای بالا لزوماً به معنی برنامهنویسی خودکار واقعی نیستند. اگر برنامهنویسهای خودکار فقط میتوانند سه مورد از هر چهار مشکل را حل کنند، آنها نیاز به نظارت قابلتوجهی از توسعهدهندگان انسانی خواهند داشت، بهویژه زمانی که با سیستمهای پیچیده و چند مرحلهای سر و کار دارند. مانند اکثر ابزارهای هوش مصنوعی، این امید وجود دارد که بهبود مدلهای پایه به طور مداوم صورت گیرد و در نهایت سیستمهای برنامهنویسی خودکار را به ابزارهای قابل اعتماد توسعهدهنده تبدیل کند. اما یافتن راههایی برای مدیریت توهمات و سایر مسائل قابلاعتماد بودن، برای رسیدن به این هدف حیاتی خواهد بود. برنان میگوید: «من فکر میکنم که کمی اثر موج صوتی وجود دارد. سوال این است که چقدر میتوانید اعتماد را به عاملها منتقل کنید تا آنها بار بیشتری از بار کاری شما را در پایان روز برمیدارند؟»