مایکروسافت نسخهٔ ۱٫۱۳۸ ویژوال استودیو کد را در ۱۶ سپتامبر منتشر کرد. در این نسخه میتوان برخی از نشستهای عامل برنامهنویسی را داخل کانتینر توسعهٔ همان پروژه اجرا کرد. پشتیبانی از Codex هم گسترش یافته است: کاربر میتواند گفتوگوی خود را میان برنامهٔ ChatGPT و ویرایشگر ادامه دهد، به ابزارهای ویرایشگر دسترسی داشته باشد و در شرایط مشخص، مدل متصل به اشتراک Copilot یا ChatGPT را عوض کند. این دو قابلیت مسئلهٔ یکسانی را حل نمیکنند؛ اولی به محیط اجرای برنامه مربوط است و دومی به تداوم کار و ابزارهایی که در اختیار عامل قرار میگیرند.
امکان اجرای عامل در کانتینر بهتدریج عرضه میشود. برای استفاده از آن باید Docker روی رایانه نصب باشد و پروژه پیکربندی پشتیبانیشدهٔ کانتینر توسعه داشته باشد. قابلیت در پنجرهٔ Agents ارائه شده است. بنابراین نمیتوان گفت همهٔ کاربران بلافاصله پس از بهروزرسانی به آن دسترسی دارند. توضیحات رسمی نسخه و گزارش مستقل انتشار، وجود قابلیتها را تأیید میکنند؛ اما از آنها نمیتوان دربارهٔ افزایش بهرهوری یا امنیت همهٔ تیمها نتیجهٔ قطعی گرفت.
عامل را در محیطی اجرا کنید که پروژه برای آن آماده شده است
وقتی گزینهٔ chat.agentHost.devContainer.enabled فعال باشد، برای پوشهٔ محلی واجد شرایط امکان Use Dev Container ظاهر میشود. عامل بهجای تکیه بر ابزارهای نصبشده روی رایانهٔ شخصی توسعهدهنده، از وابستگیها و ابزارهای تعریفشده برای پروژه استفاده میکند. وجود Docker و تنظیمات مناسب پروژه پیشنیاز این مسیر است و عرضهٔ آن هنوز تدریجی است.
برای تیمی که مشخصات محیط توسعه را در پروندهٔ devcontainer.json و فایلهای مرتبط نگهداری میکند، این تفاوت اهمیت دارد. ممکن است کدی روی رایانهٔ یک نفر آزمایش را بگذراند، اما به نسخهای از کتابخانه یا ابزار سراسری وابسته باشد که در خط ساخت و آزمایش تیم وجود ندارد. اجرای عامل در محیط تعریفشدهٔ پروژه احتمال چنین اختلافی را کاهش میدهد. بااینحال، کانتینر توسعه لزوماً نسخهٔ دقیق محیط تولید، خدمات بیرونی یا سختافزار مورد استفاده در سامانهٔ واقعی نیست. همچنان باید نسخهٔ تصویر و وابستگیها ثابت باشد و خروجی با آزمونهای خط ساخت مقایسه شود.
راهنمای رسمی عاملها نکتهٔ دیگری را نیز روشن میکند: نشست کانتینری مستقیماً روی فضای کاری داخل کانتینر کار میکند و گزینهٔ ساخت شاخهٔ کاری مستقل از نوع New Worktree را پشتیبانی نمیکند. پس انتخاب کانتینر بهمعنای جدا شدن تغییرات چند عامل از یکدیگر نیست. برای اجرای همزمان کارها باید محل نگهداری کد و شیوهٔ تفکیک تغییرات را جداگانه طراحی کرد.
گفتوگو منتقل میشود؛ اختیار عامل را دوباره بررسی کنید
در نسخهٔ تازه، نشست Codex میتواند میان ChatGPT و ویژوال استودیو کد جابهجا شود، بدون اینکه لازم باشد گفتوگوی تازهای آغاز شود. در صورت ورود به حسابهای واجد شرایط، انتخاب مدلهای متصل به اشتراکهای Copilot و ChatGPT نیز در همان گفتوگو ممکن است. Codex میتواند ابزارهای داخلی ویرایشگر، ابزارهای افزونهها و ابزارهای MCP را به کار بگیرد. اگر برنامهٔ ChatGPT برای کار با رایانه نصب و تنظیم شده باشد، عامل میتواند از همان امکانات برای تعامل با برنامههای دسکتاپ استفاده کند.
حفظ تاریخچهٔ گفتوگو به این معنا نیست که همهٔ محیطها دقیقاً اختیار یکسانی به عامل میدهند. محل اجرا، ابزارهای فعال و سطح اجازهٔ دسترسی همچنان باید بررسی شوند. مایکروسافت در راهنمای خود تصریح میکند که ساخت فضای کاری جداگانهٔ Git فقط محل اعمال تغییرات را از پوشهٔ اصلی جدا میکند و بهتنهایی دسترسی عامل به فرمانها یا شبکه را محدود نمیسازد.
کاربر همچنین میتواند گفتوگوی سریع و بدون پروژهٔ Codex را، زمانی که نشست آماده است، به یک پوشهٔ محلی تکریشه متصل کند. در این حالت امکان انتخاب همان پوشه یا فضای کاری مستقل وجود دارد و تاریخچه، مدل انتخابی و سطح مجوز حفظ میشوند. این ویژگی مانع از دست رفتن گفتوگو میشود، اما جای بررسی کد پروژه یا اجرای دوبارهٔ آزمونها را نمیگیرد.
کانتینر، مجوز دسترسی و جداسازی تغییرات سه موضوع متفاوتاند
در راهنمای امنیتی ویژوال استودیو کد آمده است که محدودسازی فرمانهای ترمینال میتواند دسترسی به مسیرهای فایل و دامنههای شبکه را کنترل کند. بااینحال، این سازوکار همهٔ ابزارها را پوشش نمیدهد: ابزارهای داخلی خواندن و ویرایش فایل از نظام مجوزدهی ویرایشگر پیروی میکنند. مستندات توصیه میکنند برای جداسازی کاملتر محیط، محدودسازی فرمانها در کنار کانتینر توسعه به کار رود. این توصیه به معنی ایمن بودن خودکار همهٔ کانتینرها، مسیرهای متصلشده یا افزونهها نیست.
تحلیل Aipolix از کنار هم گذاشتن این مستندات این است که تیم باید سه موضوع را مستقل بسنجد: آیا ابزارهای اجرا با مشخصات پروژه سازگارند؟ تغییرات عامل در کدام فضای کاری ثبت میشوند؟ عامل برای خواندن فایل، اجرای فرمان، دسترسی به شبکه و استفاده از ابزارهای بیرونی چه اجازهای دارد؟ قابلیت تازهٔ کانتینر عمدتاً به پرسش نخست پاسخ میدهد. فضای کاری مستقل، در صورت پشتیبانی، مسئلهٔ دوم را حل میکند و تنظیمات مجوز و محدودسازی، موضوع سوم را پوشش میدهند.
برای آزمون عملی، میتوان یک کار کوچک را در کانتینر اجرا کرد، نسخهٔ تصویر و کتابخانهها را ثبت کرد، مسیرهای متصلشده و مجوزهای شبکه را بررسی کرد و سپس تغییرات و نتیجهٔ آزمونها را با خط ساخت تیم سنجید. این روش، پیشنهاد تحلیلی ما بر پایهٔ مستندات رسمی است؛ ادعای آزمایش همهٔ پیکربندیها نیست.
پیش از اعمال تنظیمات سراسری، وضعیت عرضه را ببینید
امکان زمانبندی کارهای تکراری در این نسخه بهطور پیشفرض فعال است و میتوان تنظیمات آن را میان محیطها منتقل کرد. در مقابل، پاکسازی خودکار نشستها هنوز آزمایشی است و گزینههای علامتگذاری و حذف خودکار بهصورت پیشفرض خاموشاند. برخی امکانات دیگر، مانند ادغام خودکار درخواستهای تغییر و انتخاب یکپارچهٔ محیط کاری، هنوز در مرحلهٔ آزمایشی قرار دارند.
بنابراین بهتر است تیم ابتدا نسخهٔ واقعی نصبشده، کانال دریافت بهروزرسانی و تنظیمات مدیریتشدهٔ سازمان را بررسی کند. دستاورد اصلی ۱٫۱۳۸ آن است که عامل میتواند به محیط تعریفشدهٔ پروژه نزدیکتر شود و گفتوگوی Codex نیز میان برنامههای پشتیبانیشده ادامه یابد. بااینحال، سازگاری محیط اجرا، جداسازی تغییرات و حدود اختیار عامل باید جداگانه تعیین و آزموده شوند.