ریان جی. سالوا، مدیر ارشد مدیریت محصول ابزارهای توسعهدهندگان در گوگل، موقعیت بسیار خوبی دارد تا تغییراتی که ابزارهای هوش مصنوعی در کدنویسی ایجاد میکنند را از نزدیک ببیند. او پیش از این در گیتهاب و مایکروسافت کار کرده و حالا مسئول ابزارهایی مانند Gemini CLI و Gemini Code Assist است که برنامهنویسان را به دنیای جدیدی از برنامهنویسی هوشمند وارد میکند.
تیم او روز سهشنبه تحقیقات جدیدی از منابع خارجی منتشر کرد که نشان میدهد توسعهدهندگان چگونه واقعاً از ابزارهای هوش مصنوعی استفاده میکنند و چه مقدار پیشرفت هنوز لازم است. من با سالوا درباره این گزارش و تجربه شخصیاش با ابزارهای کدنویسی هوش مصنوعی صحبت کردم.
هر سال گوگل نظرسنجیای درباره روندهای توسعهدهندگان انجام میدهد، اما گزارش امسال واقعاً روی ابزارهای هوش مصنوعی تمرکز دارد و به ویژه این که توسعهدهندگان چقدر با رویکرد عاملمحور (agentic) به برنامهنویسی علاقهمند شدهاند.
آیا در این تحقیقات چیزی بود که تو را شگفتزده کند؟
یکی از یافتههای جالب این بود که تاریخ میانهای که توسعهدهندگان شروع به استفاده از ابزارهای هوش مصنوعی کردند، آوریل ۲۰۲۴ بود. این زمان دقیقاً با عرضه Claude 3 و Gemini 2.5 منطبق است. این واقعاً شروع دوران مدلهای تفکر و استدلال است و تقریباً همزمان ما توانستیم در استفاده از ابزارهای کمکی (tool-calling) خیلی بهتر شویم.
برای انجام وظایف برنامهنویسی، لازم است که بتوانید از اطلاعات خارجی استفاده کنید تا مسئله را حل کنید. مثلاً ممکن است نیاز باشد کد را جستجو کنید، یا کد را کامپایل کنید. اگر کد کامپایل شد، ممکن است لازم باشد تست واحد (unit test) و تست یکپارچهسازی (integration test) اجرا شود. من فکر میکنم توانایی استفاده از ابزارهای کمکی واقعاً بخش مهمی بود که باعث شد مدلها بتوانند خودشان را هنگام انجام کارها اصلاح کنند.
شخصاً چطور از ابزارهای کدنویسی هوش مصنوعی استفاده میکنید؟
اکثر کدنویسیهایی که الان انجام میدهم برای پروژههای سرگرمی است و بیشتر وقت خود را با ابزارهای مبتنی بر خط فرمان میگذرانم، مثل Gemini CLI. همچنین کمی از Claude Code و Codex استفاده میکنم. ولی هیچوقت یک ابزار خط فرمان را به تنهایی استفاده نمیکنم؛ بنابراین من از محیطهای برنامهنویسی مختلفی مثل Zed، VS Code، Cursor و Windsurf استفاده میکنم چون دوست دارم ببینم دنیا و صنعت چگونه تغییر میکند.
از نظر حرفهای، مدیران محصول معمولاً در اسناد زندگی میکنند، بنابراین اولین کاری که میکنم این است که از هوش مصنوعی کمک میگیرم تا سندهای مشخصات و نیازمندیها را بنویسم.
کنجکاوم بدانم چطور این کار انجام میشود. تو از Gemini CLI برای ساخت Gemini CLI استفاده میکنی، ولی فکر میکنم که این ابزار خودش به تنهایی اجرا نمیشود، درست است؟
یک کار توسعه معمولاً با یک مسئله یا issue شروع میشود، مثلاً ممکن است در گیتهاب یک باگ گزارش شده باشد. اغلب اگر بخواهم صادق باشم، آن مسئله توضیح کافی ندارد. بنابراین من از Gemini CLI استفاده میکنم تا یک سند مشخصات دقیقتر و کاملتر به فرمت Markdown بنویسم. این سند معمولاً حدود ۱۰۰ خط است و هم فنی است و هم هدفمحور.
بعد از آن، از Gemini CLI استفاده میکنم تا بر اساس این مشخصات و ترجیحات تیم، کد را بنویسد.
در تیم مهندسی، ما چند لایه قانون و سند Markdown داریم که مدل آنها را میخواند و راهکارهای کاری ما را توضیح میدهد: مثلاً چطور تست میکنیم، چطور وابستگیها را مدیریت میکنیم و غیره. بنابراین وقتی مدل کد مینویسد، بر اساس این اسناد هم عمل میکند.
و زمانی که Gemini CLI در حال عیبیابی است، به سند نیازمندیهای من بهروزرسانی میدهد که مثلاً “این مرحله را درست کردم، حالا مرحله بعدی را انجام میدهم”. هر کدام از این مراحل، یک commit و pull request جداگانه در مخزن کد ایجاد میکند تا من بتوانم در صورت نیاز به عقب برگردم.
حدود ۷۰ تا ۸۰ درصد کار من این است که در ترمینال با زبان طبیعی کار میکنم، نیازمندیها را با Gemini CLI مینویسم و سپس اجازه میدهم Gemini CLI بیشتر کد را بنویسد، بعد من آن را در IDE که استفاده میکنم بررسی و میخوانم. اما بیشتر IDE را برای خواندن کد استفاده میکنم، نه نوشتن آن.
آینده کدنویسی به چه شکل خواهد بود؟ آیا کد خام هنوز جایگاهی دارد یا همه چیز به ترمینال منتقل میشود؟
برای سه دهه، IDE جایی بود که همه کارهای توسعه نرمافزار انجام میشد. IDE، مرورگر و پنجره ترمینال.
فکر میکنم این هنوز هم تا حد زیادی برقرار است، ولی حدس میزنم در طول زمان بیشتر وقت خود را صرف کار روی نیازمندیها خواهیم کرد و زمان صرف شده در IDE به تدریج کمتر خواهد شد. و این تغییر احتمالاً در یک بازه زمانی طولانی رخ خواهد داد.
خیلیها نگران این هستند که این روند چه تأثیری روی آینده شغلی برنامهنویسان خواهد داشت. اگر ۱۰ سال دیگر دیگر کدی نمیخوانیم، برنامهنویسان چه کار خواهند کرد؟
من فکر میکنم نقش برنامهنویس بیشتر شبیه معمار خواهد شد. یعنی باید مشکلات بزرگ و پیچیده را به بخشهای کوچکتر تقسیم کند تا قابل حل باشند. باید بیشتر به تصویر کلی محصول فکر کند تا به زبانهای میانی یا نوشتن کد ماشین.




نظرات در مورد : چطور ریان سالوا، مدیر ارشد ابزارهای توسعه گوگل، باعث میشود کدنویسی با هوش مصنوعی کار کند