گوگل نسخه پیشنمایش افزونه جدیدی به نام Conductor را برای Gemini CLI منتشر کرده است که رویکردی ساختاریافته و مبتنی بر زمینه (Context-Driven) را برای توسعه نرمافزار به کمک هوش مصنوعی معرفی میکند. این افزونه برای رفع یکی از محدودیتهای رایج ابزارهای کدنویسی مبتنی بر چت، یعنی از دست رفتن زمینه (Context) پروژه در طول جلسات مختلف، طراحی شده است.
افزونه Conductor زمینه توسعه را از گفتگوهای زودگذر به فایلهای ماندگار Markdown منتقل میکند که مستقیماً در مخزن کد (Repository) ذخیره میشوند. این فایلها اهداف محصول، محدودیتهای معماری، انتخابهای فناوری و ترجیحات گردشکار را تعریف میکنند و به عنوان یک منبع واحد و مشترک حقیقت (Source of Truth) برای توسعهدهندگان و عاملهای هوش مصنوعی (AI Agents) عمل میکنند. هدف از این کار، پیشبینیپذیرتر، قابل بازبینیتر و تکرارپذیرتر کردن توسعه به کمک هوش مصنوعی در طول زمان است.
ابزار Conductor به جای حرکت مستقیم از پرامپت (Prompt) به کد، توسعهدهندگان را به یک گردشکار مبتنی بر برنامهریزی (Planning-first workflow) تشویق میکند. توسعهدهندگان پیش از فراخوانی فرایند تولید کد، مشخصات و طرحهای پیادهسازی را تعریف میکنند و این مستندات در طول چرخه حیات یک ویژگی، بخشی از مخزن کد باقی میمانند. این رویکرد برای پشتیبانی از وظایف بزرگتر مانند توسعه ویژگیهای جدید، بازنویسی کد (Refactoring) و کار روی پروژههای قدیمیتر که درک ساختار و محدودیتهای موجود در آنها حیاتی است، طراحی شده است.
یکی از مفاهیم اصلی در Conductor مفهوم «تَرَک» (Track) است که نماینده یک واحد کاری مجزا است. هر ترک شامل مشخصات مکتوب و یک طرح وظیفهمحور است که به فازها و زیروظایف مختلف تقسیم شده است. پیادهسازی تنها پس از بررسی و تایید طرح آغاز میشود و پیشرفت کار مستقیماً در فایل طرح پیگیری میگردد. از آنجا که وضعیت پروژه در خود مخزن ذخیره میشود، میتوان کار را بدون از دست دادن زمینه، متوقف، از سر گرفته یا ویرایش کرد.
کاربران اولیه، گردشکار مبتنی بر ترک را به عنوان یک بهبود کاربردی نسبت به پرامپتنویسی موردی (Ad-hoc Prompting) توصیف کردهاند. دوین دیکرسون (Devin Dickerson)، یکی از رهبران مهندسی و محصول در Forrester میگوید:
blockquote>مورد علاقه من درباره این افزونه، مفهوم «ترکها» است. من پیش از این انتشار، از نسخه متنباز Conductor به صورت شخصی استفاده میکردم و خودم بخشهای ویژگیها را میساختم. حالا که ترکها بهطور کامل یکپارچه شدهاند، دیگر نیازی به آن روش قدیمی ندارم.
افزونه Conductor همچنین از پیکربندی در سطح تیم پشتیبانی میکند. پروژهها میتوانند استانداردهای مشترک مانند استراتژیهای تست، کنوانسیونهای کدنویسی و ترجیحات گردشکار را یکبار تعریف کرده و آنها را بهطور یکنواخت برای همه مشارکتهای مبتنی بر هوش مصنوعی اعمال کنند. این ویژگی باعث میشود این افزونه نه تنها برای توسعهدهندگان مستقل، بلکه برای تیمهایی که به دنبال ایجاد یکدستی در میان اعضا و سیستمهای مختلف هستند، کاربردی باشد.
توسعهدهندگانی که این نسخه پیشنمایش را آزمایش کردهاند، به تاکید آن بر برنامهریزی صریح و گردشکارهای مبتنی بر تست (Test-Driven) اشاره دارند. نوید فرازمند (Navid Farazmand) در این باره میگوید:
blockquote>هنگامی که Gemini CLI منتشر شد، بلافاصله سعی کردم چیزی مشابه با فایلهای .md بسازم. اما Conductor یک مرتبه بزرگی بهتر است؛ بهویژه رویکرد توسعه مبتنی بر تستی (Test-Driven Development) که اتخاذ کرده است.
افزونه Conductor هماکنون به عنوان یک نسخه پیشنمایش برای Gemini CLI در دسترس است و میتوان آن را از مخزن عمومی گیتهاب (GitHub) نصب کرد. گوگل این انتشار را به عنوان گام نخست توصیف کرده و قصد دارد با دریافت بازخورد از توسعهدهندگان و تیمها، آن را در نسخههای آتی بهبود بخشد.