داستان بازگشت تیبـو در کودکس؛ چگونه در کمتر از یک سال از ChatGPT پیشی گرفت؟

eu.36kr.com

انتشار در منبع: انتشار در سایت ما:

مقاله اصلی · English

چند روز پیش، دن شیپر، هم‌بنیان‌گذار و مدیرعامل رسانه فناوری Every، گزارشی مفصل با عنوان «چگونه کودکس شکل گرفت» منتشر کرد که روند کامل تغییر مسیر عامل برنامه‌نویسی Codex متعلق به OpenAI را طی حدود یک سال گذشته، از دوران افول تا بازگشت، شرح می‌دهد.

شیپر برای تهیه این گزارش، طی چند ماه با شش نفر از افراد اصلی دخیل در توسعه کودکس مصاحبه کرد:

  • گرگ براکمن، رئیس و هم‌بنیان‌گذار OpenAI
  • تیبو سوتیو (Thibault Sottiaux)، مدیر کودکس که با نام تیبو نیز شناخته می‌شود
  • الکساندر امبیریکوس، مدیر پیشین محصول کودکس
  • میا گلیز، پژوهشگر
  • اندرو آمبرسینو، طراح و مهندس
  • اد بیز، طراح

شیپر خود نیز شاهد بخشی از این تحولات بوده است. رسانه Every مدت‌ها پیش از عرضه عمومی مدل‌های جدید به آن‌ها دسترسی آزمایشی داشته و ارزیابی‌هایی با عنوان «Vibe Check» منتشر کرده است. او در آستانه عرضه GPT-5 نیز در دفتر OpenAI حضور داشت.

شیوه ارائه این گزارش هم ویژگی خاصی دارد. او آن را مقاله‌ای «عامل‌محور» می‌نامد: متن کامل هر شش مصاحبه همراه گزارش منتشر شده، خوانندگان با کلیک روی هر نقل‌قول می‌توانند به گفت‌وگوی اصلی مراجعه کنند و حتی از عامل‌های هوش مصنوعی خود بخواهند متن مصاحبه‌ها را با هم مقایسه کنند، تجربه‌های محصولی را استخراج کنند یا نکاتی را بیابند که از چشم نویسنده دور مانده است. به گفته Every، خود این گزارش نیز با کمک کودکس، هم در فرایند گزارش‌نویسی و هم در نگارش، تهیه شده است.

این گزارش جزئیات قابل‌تأمل زیادی دارد. برای نمونه، اپلیکیشن دسکتاپ فعلی ChatGPT در سیستم مک هنوز نام خود را به‌صورت com.openai.codex ثبت می‌کند؛ گویی کودکس از درون، ChatGPT را بلعیده است. درحالی‌که بسیاری تصور می‌کردند تصمیم مدیران ارشد برای ایجاد یک خط مدل مستقل برای کودکس، اقدامی دوراندیشانه بوده، تیبو صریحاً می‌گوید اساساً چنین تصمیمی در کار نبوده است.

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

نتایج چشمگیر بود. بر اساس گزارش Every، کودکس در ژوئن سال جاری بیش از پنج میلیون کاربر فعال هفتگی داشت. در ژوئیه، اپلیکیشن دسکتاپ کودکس مستقیماً به نسخه جدید اپلیکیشن دسکتاپ ChatGPT تبدیل شد. اکنون کودکس و ChatGPT for Work در مجموع بیش از ۴۰ میلیون کاربر فعال هفتگی دارند. تیبو نیز به ریاست تمام محصولات و پلتفرم‌های اصلی OpenAI ارتقا یافته و بر ChatGPT، کودکس و APIها نظارت می‌کند.

در ادامه، این مسیر را بر اساس روایت شیپر مرور می‌کنیم.

گفت‌وگویی ناخوشایند در آستانه عرضه GPT-5

داستان از تابستان ۲۰۲۵ آغاز می‌شود. Every یک ماه زودتر به GPT-5 دسترسی پیدا کرده بود و در استفاده روزمره از آن رضایت داشت، اما وقتی از این مدل در کودکس برای نوشتن کد استفاده کرد، عملکردش چندان چشمگیر نبود. مدل سریع و باهوش بود، اما اغلب پیش از تکمیل کار متوقف می‌شد؛ انگار جرئت نداشت از محدوده مجاز فراتر برود و بیشتر به همکار برنامه‌نویسی‌ای شباهت داشت که کنار انسان کار می‌کند.

در آن زمان، تیم Every روش کارش را تغییر داده بود: کل وظیفه را به Opus 4 از طریق Claude Code می‌سپردند و سپس کنار می‌رفتند تا مدل در نهایت یک قابلیت کامل یا حتی یک اپلیکیشن تمام‌عیار تحویل دهد.

شیپر در اتاق کنفرانس دفتر OpenAI در منطقه میشن‌بی، این مشاهدات را با امبیریکوس در میان گذاشت. او توضیح داد که می‌توان Claude Code را بدون محدودیت رها کرد تا کارش را پیش ببرد، اما GPT-5 محتاط و کم‌جرئت به نظر می‌رسد. وقتی گفت «راستش دیگر تقریباً اصلاً به کد نگاه نمی‌کنیم»، خودش هم از گفتن این جمله سرخ شد؛ بالاخره مخاطبش کسی بود که روی ساخت یک عامل برنامه‌نویسی خودمختار کار می‌کرد.

هنگام خروج از دفتر در آن شب، فکری به ذهن شیپر رسید: شاید OpenAI در حال ساخت ابزاری بی‌نقص برای شیوه کاری باشد که به‌زودی منسوخ خواهد شد.

همه‌چیز با عبارت «در حال فکر کردن...» آغاز شد

برای درک بازگشت کودکس، شیپر به سراغ خاستگاه مدل‌های استدلالی رفت.

مدل‌های زبانی بزرگ اولیه شبیه بازیگرانی بودند که بداهه‌پردازی می‌کنند و فقط می‌توانند کلمه‌به‌کلمه فکر کنند و حرف بزنند. OpenAI در سپتامبر ۲۰۲۴ نسخه پیش‌نمایش o1 را عرضه کرد و توانایی «پیش از پاسخ دادن، مرحله‌به‌مرحله فکر کردن» را در خود مدل آموزش داد. این رویکرد نشان داد که یک مدل واحد، اگر زمان بیشتری برای فکر کردن داشته باشد، می‌تواند مسائل دشوار را بهتر حل کند.

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

نام کودکس نیز چند بار با آغازهای تازه‌ای همراه بوده است. کودکس اولیه در سال ۲۰۲۱، مدلی بود که با تنظیم دقیق GPT-3 ساخته شد و زیربنای نسل نخست GitHub Copilot را تشکیل داد. پس از عرضه o1، چند تیم در داخل OpenAI از مسیرهای مختلف بار دیگر در پی تحقق همین ایده رفتند.

دو مسیر پنهان: لحظه‌ای از «احساس AGI» و فرایند «تقویت تدریجی»

یکی از این مسیرها به امبیریکوس مربوط می‌شود. او در سال ۲۰۲۴، پس از آنکه OpenAI ابزار همکاری برنامه‌نویسی Multi را که خود از بنیان‌گذارانش بود خریداری کرد، به این شرکت پیوست. او ابتدا همکاری انسان و هوش مصنوعی را در اپلیکیشن دسکتاپ ChatGPT و سپس در مرورگر Atlas تجربه کرد، اما مدل‌های آن زمان در خواندن محتوای صفحه‌نمایش کند و دست‌وپاچلفتی بودند. تا اواخر سال ۲۰۲۴، زمانی که دید یک مدل استدلالی به ترمینال متصل شده و می‌تواند فایل‌ها را بخواند، فرمان‌ها را اجرا کند و خطاها را به‌تنهایی مدیریت کند، برای نخستین بار واقعاً احساس کرد با هوش عمومی مصنوعی (AGI) روبه‌رو شده است.

مسیر دیگر به تیبو مربوط می‌شود؛ کسی که اکنون بر تمام محصولات اصلی OpenAI نظارت دارد.

شیپر با او در غذاخوری کارکنان OpenAI مصاحبه کرد. در توصیف شیپر، موهای قهوه‌ای روشن تیبو به یک طرف شانه شده و عینکی فلزی با قاب ظریف به چشم دارد. از بالای بینی به بعد، چهره‌اش به معماران شباهت دارد؛ اما پایین بینی، ظاهر یک برنامه‌نویس را پیدا می‌کند: صورتی پوشیده از ته‌ریش قهوه‌ای، هودی قهوه‌ای تیره با عبارت «Research and Deployment Co» و پیتزای پپرونی در دست. محبوبیت او در میان همکارانش نیز آشکار است. آمبرسینو، یکی از همکارانش، زمانی در شبکه‌های اجتماعی پستی منتشر کرد که تنها کلمه «tibo» در آن نوشته شده بود و همان پست هزاران پسند گرفت. او در چین حتی لقب «خدای بازنشانی» را هم دارد.

بااین‌حال، سابقه کاری او از ظاهرش مهم‌تر است. تیبو بخش عمده دوران حرفه‌ای خود را صرف ساخت زیرساخت برای پژوهشگران کرده است؛ ابتدا در DeepMind و سپس در OpenAI. منظور از زیرساخت پژوهشی، مجموعه‌ای از کدهای مشترک است که پژوهشگران هوش مصنوعی برای اجرا، ارزیابی، بازتولید و استقرار آزمایش‌هایشان به آن تکیه می‌کنند.

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

ایده «ساخت ابزار برای کسانی که مدل می‌سازند» نقطه شروع ورود تیبو به حوزه عامل‌های برنامه‌نویسی نیز بود. او در دسامبر ۲۰۲۴ کار روی این عامل‌ها را آغاز کرد تا به OpenAI کمک کند زیرساخت‌هایش را سریع‌تر توسعه دهد و پژوهش‌های خود را با سرعت بیشتری پیش ببرد. تیم او عامل‌های برنامه‌نویسی داخلی را روی مخزن یکپارچه کد OpenAI، موسوم به monorepo، آموزش داد؛ همان مخزنی که پژوهشگران هر روز از آن استفاده می‌کنند و امکان دریافت بازخورد بسیار سریع را فراهم می‌آورد. تیبو نیز مانند همتایانش در آزمایشگاه‌های بزرگ دیگر، درباره جزئیات روش‌های آموزشی مورد استفاده توضیحی نمی‌دهد.

وقتی شیپر پرسید تصمیم جداسازی خط مدل کودکس چگونه گرفته شد، تیبو با خونسردی پاسخ داد که اصلاً چنین تصمیمی وجود نداشته است؛ این کار در ابتدا صرفاً یک مسیر اکتشافی در پژوهش بود که هدفش افزایش سرعت کار خودشان بود. پژوهشگران از این مدل‌ها برای آزمایش استفاده می‌کنند، مدل‌های قوی‌تری می‌سازند و سپس با کمک آن‌ها آزمایش‌های بهتری انجام می‌دهند. مهندسان این چرخه را «تقویت تدریجی» (bootstrapping) می‌نامند.

مجموعه‌ای از «استارتاپ‌های داخلی» در دل شرکت

در اواخر سال ۲۰۲۴، برنامه‌نویسی به یکی از اهداف کلیدی کل شرکت OpenAI تبدیل شد و چند تیم به‌طور هم‌زمان روی حل این مسئله کار می‌کردند. براکمن می‌گوید پرسش اصلی که هنوز پاسخ روشنی نداشت، شکل محصول بود: آیا عامل باید در ترمینال بماند، در ویرایشگر کد فعالیت کند یا رایانه ابری اختصاصی خودش را داشته باشد؟

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

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

عرضه شتاب‌زده نسخه ابری در هفت هفته و شکست آن

در فوریه ۲۰۲۵، شرکت Anthropic نسخه پیش‌نمایش پژوهشی Claude Code را عرضه کرد. این ابزار مستقیماً در ترمینال رایانه کاربر اجرا می‌شود، از فایل‌ها و ابزارهای موجود او استفاده می‌کند و هر زمان لازم باشد می‌توان اجرای آن را متوقف کرد. توسعه‌دهندگان به‌سرعت از این شیوه استقبال کردند.

اما تیم کودکس روی نسخه ابری شرط بست. آن‌ها در حدود هفت هفته Codex Cloud را ساختند و در ۱۶ مه ۲۰۲۵ عرضه کردند. روند کار ساده به نظر می‌رسید: کاربر وظیفه را در ChatGPT توضیح می‌داد، کودکس کد را روی یک ماشین ابری ایزوله تغییر می‌داد و آزمایش‌ها را اجرا می‌کرد و در پایان، دکمه‌ای برای ارسال درخواست ادغام کد یا PR در اختیار کاربر قرار می‌گرفت.

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

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

اما واقعیت مطابق انتظار پیش نرفت. مدیر مهندسی تیم به شرکت Cursor پیوست و معامله‌ای که طبق گزارش‌ها قرار بود با پرداخت سه میلیارد دلار برای خرید Windsurf از سوی OpenAI انجام شود، در ژوئیه نیز به نتیجه نرسید. تیم کودکس برای نخستین بار در مسیر خود سردرگم شد.

بازگشت به مسیر، درست مثل یک مدل استدلالی

قدرت مدل‌های استدلالی در توانایی آن‌ها برای بازگشت از مسیر اشتباه است: وقتی متوجه می‌شوند راهی که انتخاب کرده‌اند به نتیجه نمی‌رسد، فرض‌های خود را دوباره بررسی می‌کنند و مسیر دیگری را می‌آزمایند. اقدام بعدی تیم کودکس نیز دقیقاً چنین تغییری بود.

در آن زمان، بیز، طراح تیم، کودکس را «گوشه دورافتاده» OpenAI توصیف می‌کرد. اگر کسی می‌خواست طراح شناخته‌شده و موفقی باشد، بهتر بود روی ChatGPT کار کند. در چنین شرایطی، تیبو هدایت تیم را بر عهده گرفت و جهت‌گیری اصلی آن را تغییر داد: بازگشت به اجرای محلی.

او به‌جای افزودن شتاب‌زده قابلیت‌های بیشتر به رابط خط فرمان یا CLI، هسته خود عامل را با زبان برنامه‌نویسی Rust از نو نوشت. با این کار، سازوکارهای زیربنایی خواندن فایل‌ها و اجرای فرمان‌ها را از رابط ترمینال جدا کرد تا عامل بتواند در ویرایشگرهای کد، اپلیکیشن‌های دسکتاپ، محیط ابری و حتی در آینده در خود ChatGPT اجرا شود.

در بخش مدل نیز میشل پوکراس هدایت تیمی را بر عهده گرفت که هدفش بهبود توانایی GPT-5 در برنامه‌نویسی دنیای واقعی بود. براکمن برای توضیح مسئله می‌گوید مدل‌های OpenAI می‌توانند در مسابقات برنامه‌نویسی امتیازهای بالایی کسب کنند، اما تاکنون با مخزن‌های کد نامرتب و پیچیده مواجه نشده‌اند. تیم پوکراس در کنار برنامه‌نویسان نشست و کار آن‌ها را مشاهده کرد و مواردی را که مدل در آن‌ها اشتباه می‌کرد، به تمرین‌های آموزشی تبدیل کرد.

این روند همچنین توضیح می‌دهد که چرا شیپر در آن شب GPT-5 را محتاط احساس کرده بود. تجربه ناموفق نسخه ابری باعث شده بود OpenAI مدلی بسازد که بیشتر به همکاری محتاطانه تمایل دارد؛ رویکردی که در آن زمان دقیقاً با خواسته بسیاری از مهندسان مطابقت داشت. پس از عرضه GPT-5، میزان استفاده از افزونه‌های کودکس برای VS Code و Cursor تا ماه اکتبر بیش از ده برابر افزایش یافت. از نگاه امبیریکوس، عامل محلی بازسازی‌شده سرانجام مدلی را در اختیار داشت که می‌توانست توانایی‌های آن را به کار بگیرد: «بالاخره وقت مبارزه رسیده است.»

اپلیکیشن برنامه‌نویسی‌ای که نمی‌تواند کد بنویسد

طبق انتظار معمول، گام بعدی باید افزودن قابلیت‌های بیشتر به CLI و افزونه‌های ویرایشگر می‌بود. اما تیم کودکس تصمیم گرفت بزرگ‌ترین سرمایه‌گذاری بعدی خود را روی یک اپلیکیشن دسکتاپ بومی متمرکز کند.

تیبو متوجه شده بود که وظایفی که مدل می‌تواند انجام دهد، پیوسته طولانی‌تر می‌شوند و به‌زودی کاربران چند عامل را هم‌زمان اجرا خواهند کرد و تمام روز با آن‌ها کار خواهند کرد. به نظر او، استفاده از یک پنجره متنی ساده با قدمتی به دهه ۱۹۷۰ برای مدیریت همه این فعالیت‌ها منطقی نبود. امبیریکوس نیز به گردش کاری فکر می‌کرد که نسخه ابری نتوانسته بود محقق کند: ابتدا همکاری نزدیک با عامل و سپس، به‌تدریج، تشخیص اینکه کدام وظایف را می‌توان به آن سپرد؛ درست مانند همکاری با همکار تازه‌ای که به تیم پیوسته است.

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

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