چگونه OpenAI با مهندسی مهار کدکس، توسعه بدون کد را متحول می کند؟

چگونه OpenAI با مهندسی مهار کدکس، توسعه بدون کد را متحول می کند؟

تیم تحریریه استاد آی تی گزارش می دهد: در دنیای پرشتاب فناوری امروز، که هر روز شاهد پیشرفت‌های خیره کننده در حوزه هوش مصنوعی هستیم، OpenAI بار دیگر با یک نوآوری جسورانه، مرزهای ممکن را جابجا کرده است. این شرکت پیشرو در زمینه هوش مصنوعی، اخیراً جزئیات یک آزمایش داخلی پنج ماهه را منتشر کرده که در آن یک محصول نرم افزاری کامل، بدون حتی یک خط کدنویسی دستی و صرفاً با استفاده از مدل هوش مصنوعی Codex توسعه یافته است. این دستاورد که تحت عنوان «مهندسی مهار» (Harness Engineering) معرفی شده، نه تنها یک موفقیت فنی بزرگ است، بلکه دیدگاهی هیجان انگیز از آینده توسعه نرم افزار را به ما ارائه می دهد.

این پروژه نشان می دهد که چگونه می توان با تغییر پارادایم از کدنویسی دستی به هدایت عامل های هوشمند، سرعت و کارایی در تولید نرم افزار را به طرز چشمگیری افزایش داد. محصول نهایی دارای کاربران روزانه داخلی و آزمایش کنندگان آلفای خارجی است و به طور مداوم در حال استقرار، رفع اشکال و بهبود است. نکته قابل توجه این است که تمامی جنبه های کد، از منطق برنامه و تست ها گرفته تا پیکربندی CI، مستندات، ابزارهای نظارتی و ابزارهای داخلی، توسط Codex نوشته شده اند. این تیم تخمین می زند که این پروژه در حدود یک دهم زمان لازم برای کدنویسی دستی به اتمام رسیده است.

انسان هدایت می کند، عامل اجرا می کند: تغییر نقش مهندسان

رویکرد «انسان هدایت می کند، عامل اجرا می کند» (Humans steer. Agents execute.) قلب تپنده مهندسی مهار کدکس است. این فلسفه، نقش مهندسان نرم افزار را از کدنویسان صرف به معماران سیستم، طراحان محیط و سازندگان حلقه های بازخورد تغییر می دهد. هدف اصلی این است که عامل های هوشمند مانند Codex بتوانند به طور مستقل و قابل اعتماد وظایف خود را انجام دهند. این تغییر پارادایم، به مهندسان اجازه می دهد تا بر روی مسائل سطح بالاتر و استراتژیک تر تمرکز کنند، در حالی که جزئیات کدنویسی به هوش مصنوعی واگذار می شود.

چالش ها و راه حل ها در مسیر توسعه عامل محور

در ابتدای این پروژه، پیشرفت کندتر از حد انتظار بود، نه به دلیل ناتوانی Codex، بلکه به دلیل عدم وضوح و مشخص نبودن محیط کاری عامل. عامل هوشمند فاقد ابزارها، انتزاعات و ساختار داخلی لازم برای پیشرفت به سمت اهداف سطح بالا بود. در نتیجه، وظیفه اصلی تیم مهندسی، توانمندسازی عامل ها برای انجام کارهای مفید شد. این به معنای شکستن اهداف بزرگتر به بلوک های کوچکتر (طراحی، کد، بررسی، تست و غیره)، و سپس هدایت عامل برای ساخت این بلوک ها و استفاده از آنها برای انجام وظایف پیچیده تر بود.

رونمایی اپلیکیشن Codex؛ مرکز فرماندهی جدید OpenAI برای مدیریت عامل های هوشمند

هنگامی که مشکلی پیش می آمد، راه حل تقریباً هرگز «تلاش بیشتر» نبود. از آنجایی که تنها راه پیشرفت، وادار کردن Codex به انجام کار بود، مهندسان انسانی همیشه وارد عمل می شدند و می پرسیدند: «چه قابلیتی از دست رفته است و چگونه می توانیم آن را برای عامل قابل فهم و قابل اجرا کنیم؟» این رویکرد، به جای حل مستقیم مشکل، بر روی بهبود محیط و ابزارهای عامل تمرکز داشت. کارشناسان OstadIT معتقدند که این تغییر در نحوه تفکر مهندسی، یکی از مهمترین درس های این پروژه است و می تواند آینده توسعه نرم افزار را شکل دهد.

مدیریت زمینه و دانش در مخازن کد

یکی از بزرگترین چالش ها در کارآمد کردن عامل های هوشمند برای وظایف بزرگ و پیچیده، مدیریت زمینه (Context Management) است. OpenAI دریافت که به جای ارائه یک «کتابچه راهنمای هزار صفحه ای»، باید یک «نقشه» به Codex داد. رویکرد اولیه استفاده از یک فایل AGENTS.md بزرگ و جامع با شکست مواجه شد، زیرا زمینه یک منبع کمیاب است و یک فایل دستورالعمل غول پیکر، وظیفه اصلی، کد و مستندات مرتبط را تحت الشعاع قرار می داد. همچنین، راهنمایی بیش از حد به «عدم راهنمایی» تبدیل می شد و عامل ها به جای حرکت هدفمند، به تطبیق الگوهای محلی می پرداختند.

در عوض، تیم OpenAI AGENTS.md را به عنوان «فهرست مطالب» در نظر گرفت. پایگاه دانش مخزن در یک دایرکتوری ساختاریافته docs/ قرار گرفت که به عنوان سیستم رکورد عمل می کند. یک AGENTS.md کوتاه (حدود ۱۰۰ خط) به عنوان نقشه ای با اشاره گر به منابع عمیق تر، به زمینه تزریق می شود. این رویکرد، افشای تدریجی اطلاعات را امکان پذیر می کند: عامل ها با یک نقطه ورود کوچک و پایدار شروع می کنند و آموزش می بینند که در کجا به دنبال اطلاعات بعدی بگردند، به جای اینکه از ابتدا با حجم زیادی از اطلاعات مواجه شوند.

این روش به طور مکانیکی نیز اعمال می شود؛ لینترهای اختصاصی و وظایف CI تأیید می کنند که پایگاه دانش به روز، دارای لینک های متقابل و به درستی ساختار یافته است. یک عامل «باغبانی مستندات» به طور منظم مستندات قدیمی یا منسوخ شده را اسکن می کند و درخواست های پول ریکوئست (Pull Request) برای رفع آنها باز می کند.

افزایش خوانایی برنامه برای عامل های هوشمند

با تکامل پایگاه کد، چارچوب تصمیم گیری طراحی Codex نیز باید تکامل می یافت. از آنجایی که مخزن به طور کامل توسط عامل تولید شده است، در وهله اول برای خوانایی Codex بهینه شده است. به همان شیوه ای که تیم ها به دنبال بهبود قابلیت ناوبری کد خود برای مهندسان تازه استخدام شده هستند، هدف مهندسان انسانی OpenAI این بود که عامل بتواند دامنه کامل کسب و کار را مستقیماً از خود مخزن درک کند. هر چیزی که عامل در زمان اجرا نتواند به آن دسترسی داشته باشد، عملاً وجود ندارد. دانش موجود در Google Docs، چت ها یا ذهن افراد برای سیستم قابل دسترسی نیست. تنها مصنوعات محلی مخزن و نسخه بندی شده (مانند کد، مارک داون، شماتیک ها، برنامه های اجرایی) قابل مشاهده هستند.

آغاز رسمی تبلیغات در ChatGPT: ببینید چگونه تست توسط OpenAI انجام شد

این امر به این معنی است که باید هر چه بیشتر زمینه به مخزن منتقل شود. بحث های Slack که تیم را در مورد یک الگوی معماری همسو می کرد، اگر برای عامل قابل کشف نباشد، به همان اندازه برای یک تازه وارد که سه ماه بعد به تیم می پیوندد، ناشناخته خواهد بود.

ارائه زمینه بیشتر به Codex به معنای سازماندهی و نمایش اطلاعات صحیح است تا عامل بتواند بر روی آن استدلال کند، نه اینکه آن را با دستورالعمل های موقت تحت فشار قرار دهد. این شبیه به آموزش یک هم تیمی جدید در مورد اصول محصول، هنجارهای مهندسی و فرهنگ تیم است که منجر به خروجی های همسو تر می شود.

اجرای معماری و سلیقه مهندسی

مستندات به تنهایی نمی توانند یک پایگاه کد کاملاً تولید شده توسط عامل را منسجم نگه دارند. با اعمال ثابت ها، بدون مدیریت جزئیات پیاده سازی، به عامل ها اجازه داده می شود تا بدون تضعیف پایه و اساس، به سرعت کار کنند. به عنوان مثال، OpenAI از Codex می خواهد که شکل داده ها را در مرز تجزیه کند، اما در مورد نحوه انجام آن هیچ الزامی ندارد.

عامل ها در محیط هایی با مرزهای سختگیرانه و ساختار قابل پیش بینی بیشترین کارایی را دارند. بنابراین، برنامه حول یک مدل معماری سختگیرانه ساخته شده است. هر دامنه کسب و کار به مجموعه ای ثابت از لایه ها تقسیم می شود، با جهت های وابستگی به شدت تأیید شده و مجموعه ای محدود از لبه های مجاز. این محدودیت ها به طور مکانیکی از طریق لینترهای سفارشی (که البته توسط Codex تولید شده اند!) و تست های ساختاری اعمال می شوند.

این نوع معماری معمولاً تا زمانی که صدها مهندس داشته باشید به تعویق می افتد. اما با عامل های کدنویسی، این یک پیش نیاز اولیه است: محدودیت ها همان چیزی هستند که سرعت را بدون افت کیفیت یا انحراف معماری امکان پذیر می سازند. در یک گردش کار انسان محور، این قوانین ممکن است سختگیرانه یا محدود کننده به نظر برسند. اما با عامل ها، آنها به یک عامل چند برابر کننده تبدیل می شوند: پس از کدگذاری، در همه جا به طور همزمان اعمال می شوند. این رویکرد تضمین می کند که حتی با افزایش حجم کد تولید شده توسط هوش مصنوعی، کیفیت و انسجام معماری حفظ می شود.

تحول در فلسفه ادغام کد و مدیریت بدهی فنی

با افزایش توان عملیاتی Codex، بسیاری از هنجارهای مهندسی مرسوم ناکارآمد شدند. مخزن با حداقل دروازه های ادغام مسدود کننده کار می کند. درخواست های پول ریکوئست کوتاه مدت هستند. اشکالات تست اغلب با اجرای مجدد برطرف می شوند تا اینکه پیشرفت به طور نامحدود مسدود شود. در سیستمی که توان عملیاتی عامل بسیار بیشتر از توجه انسان است، اصلاحات ارزان هستند و انتظار کشیدن گران است. این در یک محیط با توان عملیاتی پایین غیرمسئولانه خواهد بود، اما در اینجا، اغلب یک مبادله صحیح است. این نشان دهنده تغییر عمیق در نحوه مدیریت پروژه های نرم افزاری در عصر هوش مصنوعی است.

جمع آوری زباله و اصول طلایی

استقلال کامل عامل همچنین مشکلات جدیدی را ایجاد می کند. Codex الگوهایی را که از قبل در مخزن وجود دارند، حتی الگوهای نامنظم یا نامطلوب را تکرار می کند. با گذشت زمان، این امر به ناچار منجر به انحراف می شود. در ابتدا، انسان ها این مشکل را به صورت دستی برطرف می کردند. تیم OpenAI هر جمعه (۲۰ درصد از هفته) را صرف پاکسازی «ضایعات هوش مصنوعی» می کرد. اما این رویکرد مقیاس پذیر نبود.

در عوض، آنها شروع به کدگذاری آنچه «اصول طلایی» می نامند، مستقیماً در مخزن کردند و یک فرآیند پاکسازی دوره ای ایجاد کردند. این اصول، قوانین مکانیکی و با دیدگاهی خاص هستند که پایگاه کد را برای اجراهای آینده عامل، خوانا و سازگار نگه می دارند. به عنوان مثال، آنها بسته های ابزار مشترک را به جای کمک کننده های دست ساز ترجیح می دهند تا ثابت ها متمرکز بمانند.

این فرآیند مانند جمع آوری زباله (Garbage Collection) عمل می کند. بدهی فنی مانند یک وام با بهره بالا است: تقریباً همیشه بهتر است آن را به طور مداوم در مقادیر کم پرداخت کرد تا اینکه اجازه داد انباشته شود و سپس در دوره های دردناک با آن مقابله کرد. سلیقه انسانی یک بار ثبت می شود، سپس به طور مداوم در هر خط کد اعمال می شود. این همچنین به آنها امکان می دهد الگوهای بد را به صورت روزانه شناسایی و حل کنند، به جای اینکه اجازه دهند برای روزها یا هفته ها در پایگاه کد گسترش یابند. این رویکرد هوشمندانه، پایداری و کیفیت کد را در بلندمدت تضمین می کند.

آینده مهندسی نرم افزار در دنیای عامل محور

این استراتژی تاکنون در راه اندازی و پذیرش داخلی در OpenAI به خوبی کار کرده است. ساخت یک محصول واقعی برای کاربران واقعی به آنها کمک کرده تا سرمایه گذاری های خود را در واقعیت لنگر اندازند و آنها را به سمت قابلیت نگهداری طولانی مدت هدایت کند. آنچه هنوز مشخص نیست این است که انسجام معماری در طول سال ها در یک سیستم کاملاً تولید شده توسط عامل چگونه تکامل می یابد. آنها هنوز در حال یادگیری هستند که قضاوت انسانی بیشترین اهرم را در کجا اضافه می کند و چگونه این قضاوت را کدگذاری کنند تا ترکیب شود. همچنین مشخص نیست که این سیستم با افزایش توانایی مدل ها در طول زمان چگونه تکامل خواهد یافت.

آنچه روشن شده است این است که ساخت نرم افزار هنوز به نظم و انضباط نیاز دارد، اما این نظم بیشتر در داربست ها (scaffolding) و نه در کد ظاهر می شود. ابزارها، انتزاعات و حلقه های بازخوردی که پایگاه کد را منسجم نگه می دارند، به طور فزاینده ای اهمیت پیدا می کنند. چالش برانگیزترین مسائل کنونی حول طراحی محیط ها، حلقه های بازخورد و سیستم های کنترلی است که به عامل ها کمک می کند تا به هدف نهایی دست یابند: ساخت و نگهداری نرم افزار پیچیده و قابل اعتماد در مقیاس بزرگ.

با توجه به اینکه عامل هایی مانند Codex بخش های بزرگتری از چرخه عمر نرم افزار را بر عهده می گیرند، این سوالات اهمیت بیشتری پیدا خواهند کرد. این خبر از OpenAI بینش های ارزشمندی را در مورد آینده مهندسی نرم افزار و نقش هوش مصنوعی در آن ارائه می دهد.


منبع:
Harness engineering: leveraging Codex in an agent-first world

این پست چقدر مفید بود؟

بر روی یک ستاره کلیک کنید تا به آن امتیاز دهید!

میانگین امتیاز ۵ / ۵. میانگین امتیاز: ۱

تاکنون هیچ رأیی ثبت نشده است! اولین نفری باشید که به این پست امتیاز می‌دهد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *