هوش مصنوعیِ Vi کد نمی‌نویسد، و این تصمیمی عمدی است

چرا Vi به‌جای یک «هم‌تیمیِ هوش مصنوعی» که کد بنویسد یا بازبینی کند، یک سرور MCP ساخت که ابزاری در دستِ خودِ برنامه‌نویس است.

هوش مصنوعیِ Vi کد نمی‌نویسد، و این تصمیمی عمدی است

پاسخِ کوتاه: Vi دستیارِ کدنویس یا بازبینِ کد نساخت، چون تیم‌های نرم‌افزاری همین حالا دستیارِ کدنویس دارند و کمبودشان جای دیگری است: فاصله‌ی بینِ «تسک» و «کد». سرور MCPِ Vi به همان دستیاری که برنامه‌نویس الان استفاده می‌کند (Claude Code، Cursor، Codex و…) اجازه می‌دهد تسک را بخواند، آن را در IDE شروع کند، زیرتسک بسازد، کامنت بگذارد و درخواستِ بستن بدهد. هر کاری که اثرِ ماندگار دارد، مثلِ بستنِ تسک یا شروعش، فقط با تأییدِ خودِ برنامه‌نویس در IDE انجام می‌شود. هوش مصنوعی دست است، نه هم‌تیمی.

بازار چه می‌فروشد؟

اگر این روزها صفحه‌ی اولِ ابزارهای مدیریتِ پروژه را باز کنید، یک وعده تکرار می‌شود: «یک هم‌تیمیِ هوش مصنوعی اضافه کنید.» عاملی که تسک برمی‌دارد، کد می‌نویسد، Pull Request باز می‌کند و حتی کدِ بقیه را بازبینی می‌کند.

این ابزارها بی‌فایده نیستند. دستیارهای کدنویس واقعاً سرعتِ نوشتنِ کد را بالا برده‌اند و بازبینیِ خودکار هم خطاهای ساده را زودتر پیدا می‌کند. حرفِ این مقاله این نیست که این‌ها بد هستند. حرف این است که یک ابزارِ مدیریتِ پروژه دلیلی ندارد یکی دیگر از آن‌ها بسازد.

چرا یک دستیارِ کدنویسِ دیگر نساختیم؟

سه دلیل داشتیم.

اول، برنامه‌نویس‌ها دستیارشان را انتخاب کرده‌اند. کسی که با Claude Code کار می‌کند، فردا به خاطرِ ابزارِ مدیریتِ پروژه‌اش به دستیارِ دیگری مهاجرت نمی‌کند. هر دستیارِ داخلیِ تازه یعنی یک پنجره‌ی دیگر، یک مدلِ دیگر و یک صورت‌حسابِ دیگر. ما ترجیح دادیم به دستیاری وصل شویم که از قبل در ترمینال و IDE باز است.

دوم، نوشتنِ کد گلوگاه نیست. در بیشترِ تیم‌های نرم‌افزاری، کار جای دیگری گیر می‌کند: تسکی که توضیحش ناقص است، برنامه‌نویسی که نمی‌داند کدام تسک دستِ اوست، کدی که نوشته شده ولی تسکش هنوز «در حالِ انجام» مانده، و مشتری‌ای که خبر ندارد مشکلش حل شده. این‌ها مشکلِ «بستنِ حلقه» هستند، نه مشکلِ تایپ.

سوم، مسئولیت باید صاحب داشته باشد. وقتی یک عاملِ هوش مصنوعی عضوِ تیم می‌شود، با حسابِ خودش کامیت می‌زند و تسک می‌بندد، یک سؤالِ ساده سخت می‌شود: اگر اشتباه شد، کارِ چه کسی بود؟ در Vi جوابِ این سؤال همیشه یک انسان است.

سرور MCPِ Vi دقیقاً چه کار می‌کند؟

سرور MCPِ Vi در نشانیِ https://useviapp.com/mcp است. دستیار با OAuth و حسابِ خودِ شما وصل می‌شود و با همان دسترسی‌هایی کار می‌کند که شما در Vi دارید، نه بیشتر.

با این اتصال، دستیار می‌تواند پروژه‌ها، تیم‌ها و اعضا را ببیند، تسک جستجو کند و جزئیاتِ یک تسک را با کامنت‌ها و زیرتسک‌هایش بخواند. می‌تواند تسکِ تازه یا زیرتسک بسازد و پیش از ساختن، تسک‌های مشابه را پیدا کند تا کارِ تکراری ثبت نشود. می‌تواند روی تسک کامنت بگذارد. و مهم‌تر از همه، می‌تواند از برنامه‌نویس درخواست کند که تسکی را شروع، متوقف یا بسته کند.

کلمه‌ی «درخواست» عمدی است. وقتی دستیار می‌گوید «تسکِ ۱۲ را شروع کنم»، این فرمان به افزونه‌ی Vi در IDEِ همان برنامه‌نویس می‌رسد و پنجره‌ای باز می‌شود که می‌پرسد: این برنامه می‌خواهد تسکِ ۱۲ را شروع کند، موافقید؟ اگر برنامه‌نویس رد کند، دستیار کار را شروع نمی‌کند. بستن هم همین‌طور است: دستیار درخواست می‌دهد، برنامه‌نویس فایل‌ها را مرور می‌کند و خودش با Commit & Close کار را تمام می‌کند.

یک صبحِ معمولی با این روش چه شکلی است؟

برنامه‌نویس ترمینال را باز می‌کند و به دستیارش می‌نویسد: «تسکِ ۴۲ را انجام بده.»

دستیار اول درخواستِ شروع می‌فرستد. در IDE پنجره‌ی تأیید باز می‌شود، برنامه‌نویس می‌پذیرد و تایمرِ تسک روشن می‌شود. بعد دستیار تسک را می‌خواند. اگر تسک قبلاً رد شده و برگشته باشد، اولین چیزی که می‌بیند یادداشتِ بازبین است و همان را هدفِ کار قرار می‌دهد. اگر تسک بزرگ است، چند زیرتسک پیشنهاد می‌کند و تا برنامه‌نویس تأیید نکند آن‌ها را نمی‌سازد.

کد را خودِ دستیار، همان دستیاری که برنامه‌نویس انتخاب کرده، در ریپو می‌نویسد. Vi در این بخش هیچ نقشی ندارد و نمی‌خواهد داشته باشد.

وقتی کار تمام شد، دستیار خلاصه‌ای از تغییرات روی تسک کامنت می‌گذارد و درخواستِ بستن می‌دهد. برنامه‌نویس در IDE فایل‌ها را می‌بیند، تأیید می‌کند، کامیت و push انجام می‌شود و تسک به مرحله‌ی بعدیِ گردش‌کار می‌رود. اگر push شکست بخورد، تسک جلو نمی‌رود. مدیر بدونِ اینکه از کسی گزارش بخواهد، روی خودِ تسک می‌بیند کدام کامیت و کدام فایل‌ها به آن مربوط است.

در هیچ‌کدام از این قدم‌ها، کاری بدونِ اطلاعِ برنامه‌نویس انجام نشد.

«هم‌تیمی» یا «ابزار»؛ فرقش در عمل چیست؟

فرق در جایی است که کار ثبت می‌شود.

هم‌تیمیِ هوش مصنوعی معمولاً هویتِ خودش را دارد: حساب، صندلی، و تاریخچه‌ای به نامِ خودش. در Vi دستیار هیچ هویتِ جداگانه‌ای ندارد. تسکی که می‌سازد به نامِ کسی ثبت می‌شود که اتصال را تأیید کرده، صندلیِ اضافه نمی‌گیرد، و هر کاری که از راهِ دستیار انجام شود در گزارشِ فعالیت با نشانِ همان اتصال ثبت می‌شود. پس همیشه معلوم است کار از دستِ چه کسی و از کدام مسیر بوده.

یک تفاوتِ دیگر هم هست: دستیار در Vi نمی‌تواند همه‌کار بکند، و این هم عمدی است. نمی‌تواند تسک را به نفرِ دیگری واگذار کند، نمی‌تواند تسک را بینِ مرحله‌های گردش‌کار جابه‌جا کند، چیزی را حذف نمی‌کند و به تنظیمات دست نمی‌زند. این تصمیم‌ها مالِ تیم است. اگر قواعدِ گردش‌کار تسکی را که دستیار ساخته به نفرِ دیگری بدهد، دستیار همین را صریح به شما می‌گوید تا فکر نکنید تسک در فهرستِ خودتان است.

این روش چه محدودیت‌هایی دارد؟

صادقانه بگوییم:

Vi کدِ شما را بازبینی نمی‌کند. اگر بازبینیِ خودکارِ کد می‌خواهید، باید از ابزاری استفاده کنید که برای همین ساخته شده، و هیچ تعارضی هم با Vi ندارد.

شروع، توقف و بستنِ تسک از راهِ دستیار فقط وقتی کار می‌کند که افزونه‌ی Vi در IDE باز و متصل باشد. اگر IDE بسته باشد، دستیار به شما می‌گوید که درخواست به جایی نرسید. فهرستِ IDEهایی که افزونه دارند در صفحه‌ی مدیریت پروژه در IDE هست.

هزینه‌ی خودِ هوش مصنوعی با شماست. Vi مدلی نمی‌فروشد؛ دستیار با همان سرویسی کار می‌کند که الان برایش پول می‌دهید. سرور MCP در همه‌ی پلن‌های Vi، از جمله رایگان، در دسترس است.

چرا فکر می‌کنیم این انتخابِ درستی است؟

چون عمرِ ابزارِ کدنویسی کوتاه است و عمرِ گردش‌کار بلند. مدلی که امروز بهترین کد را می‌نویسد، شش ماهِ دیگر شاید دومین یا سومین باشد. اگر Vi کدنویسِ خودش را داشت، تیم‌ها مجبور بودند یا با آن بمانند یا آن را کنار بگذارند. حالا هر دستیاری که از MCP پشتیبانی کند، فردا هم به Vi وصل می‌شود و تیم بدونِ عوض‌کردنِ ابزارِ مدیریتِ پروژه، دستیارش را عوض می‌کند.

و چون حلقه‌ای که Vi برایش ساخته شده، از درخواستِ مشتری تا تسک، از تسک تا کد و از کد تا خبر دادن به مشتری (از درخواستِ مشتری تا کد)، به یک انسانِ مسئول در وسطش نیاز دارد. هوش مصنوعی می‌تواند این حلقه را سریع‌تر کند. ولی بستنش کارِ آدم است.

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

آیا Vi خودش دستیارِ هوش مصنوعی برای نوشتنِ کد دارد؟ نه. Vi به دستیاری که الان استفاده می‌کنید وصل می‌شود و کد را همان دستیار در ریپوی شما می‌نویسد.

دستیار می‌تواند بدونِ اجازه‌ی من تسک را ببندد؟ نه. بستن فقط یک درخواست است که در IDE شما با پنجره‌ی تأیید نمایش داده می‌شود. تا شما فایل‌ها را مرور و تأیید نکنید، چیزی کامیت یا بسته نمی‌شود.

دستیار برای کامیت و push هم از Vi دستور می‌گیرد؟ نه. قاعده‌ی سرورِ Vi این است که دستیار به خاطرِ یک تسک هرگز خودش کامیت یا push نکند. این کارها یا با درخواستِ صریحِ شما انجام می‌شود، یا با Commit & Close بعد از تأییدتان.

دستیار یک کاربرِ جدا در تیم حساب می‌شود؟ نه. با حسابِ خودِ شما و با همان دسترسی‌های شما کار می‌کند و صندلیِ اضافه نمی‌گیرد.

کدام دستیارها به Vi وصل می‌شوند؟ هر دستیاری که از MCPِ راه‌دور پشتیبانی کند. مراحلِ اتصال برای Claude، Claude Code، Cursor، VS Code و Codex در صفحه‌ی سرور MCP برای دستیارهای هوش مصنوعی آمده است.

می‌توانم اتصال را قطع کنم؟ بله. در بخشِ «اتصالِ هوش مصنوعی» در تنظیماتِ Vi، فهرستِ برنامه‌های متصل را می‌بینید و هر کدام را می‌توانید قطع کنید. مالکِ فضای کاری هم می‌تواند دسترسیِ هوش مصنوعی را برای کلِ تیم خاموش کند.

روی مخزنِ خودت ببین

پلاگینِ IDE را نصب کن، یک پروژه را وصل کن، و تسک را از همان commitی که سهمِ تو را تمام کرده جلو ببر. پلنِ رایگان کارت نمی‌خواهد.