از وایب کدنویسی تا مهندسی زمینه: سال ۲۰۲۵ و آینده برنامه‌نویسی

سال ۲۰۲۵ واقعاً تبدیل شد به یه آزمایش زنده برای صنعت تکنولوژی، مخصوصاً وقتی بحث هوش مصنوعی اومد وسط تا ببینیم واقعاً رقیب جدی برنامه‌نویسان انسانی هست یا نه! کلی حرف و حدیث پیش اومد و فکر می‌کردیم همه‌چی سمت سرعت و مقیاس بزرگ‌تر (یعنی بزرگ‌تر کردن مدل‌ها و سریع‌تر کردنشون) هست. ولی کم‌کم داریم می‌فهمیم چیزی که واقعاً اهمیت داره، بحث مدیریت زمینه یا همون context هست.

بذار ساده بگم: قبلاً یه موج جدید اومده بود به اسم “وایب کدنویسی” یا vibe coding که توسط آندری کارپاتی توی فوریه ۲۰۲۵ اسم‌گذاری شد. وایب کدنویسی یعنی جوری با هوش مصنوعی کد می‌زنیم که کمتر ساختارمند و بیشتر بر حسب حس و حال (همون vibe!) جلو می‌ره. خب، این روش سروصدای زیادی به پا کرد اما خیلیا مثل تیم Thoughtworks کاملاً مطمئن نبودن که این روش جواب می‌ده یا نه. طبیعتاً وقتی بدون دقت کافی و صرفاً با تکیه بر وایب جلو میری، کلی مشکل درمیاد؛ مخصوصاً الگوهای غلط یا همون antipatternها (یعنی راه و روش‌هایی که به اشتباه توی کدنویسی جا می‌افتن). یکی از این مشکلات این بود که همه به مدل‌های هوش مصنوعی بیش از حد اعتماد کردن اما وقتی تقاضاها زیاد شد، کیفیت و قابل اعتماد بودن نتایج شروع کرد به پایین اومدن.

اینجا بود که کم‌کم بحث مهندسی زمینه یا context engineering مطرح شد. مهندسی زمینه یعنی روش‌هایی که کمک می‌کنن هوش مصنوعی دقیق‌تر و بهتر کار کنه، چون خوب context رو می‌فهمه. مثلاً وقتی از ابزارهایی مثل Claude Code و Augment Code (دستیاران هوشمند کدزنی) استفاده می‌کنیم، اگر بهشون اطلاعات زمینه یا context اولیه‌ی کافی بدیم، خروجی‌هاشون خیلی دقیق‌تر و به دردبخورتر میشه و حتی لازم نیست مدام کدها رو بازنویسی کنیم یا اصلاح کنیم.

این وسط استفاده از نسل جدید AI که بهش می‌گیم “Generative AI” (یعنی هوش مصنوعی‌ای که خودش می‌تونه متن و کد و حتی عکس تولید کنه) خیلی پیشرفت کرده، مخصوصاً توی فهمیدن کدهای قدیمی (legacy code) یا وقتی حتی به سورس‌کد کامل دسترسی نداریم. ولی جالب اینجاست که گاهی لازمه هوش مصنوعی رو از جزئیات سیستم دور کنیم (یعنی سطح انتزاع یا abstraction رو بالا ببریم) تا بتونه خلاق‌تر و موثرتر جواب بده. چون هرچی کمتر وابسته باشه به جزئیات، احتمال اینکه راه‌حل‌های نوآورانه بده، بیشتر میشه.

الان که عصر سیستم‌های Agentic شده، یعنی سیستم‌هایی که خودشون می‌تونن مثل یه عامل مستقل تصمیم بگیرن و کار انجام بدن (به این مدل‌ها می‌گن Agent یا عامل)، بحث زمینه خیلی کلیدی‌تر شده. این عامل‌ها یا agents فقط با برنامه‌نویسی ثابت کارشون جلو نمی‌ره. باید کلی زمینه و اطلاعات بهشون بدیم تا بتونن تو موقعیت‌های جدید و پیچیده درست عمل کنن. واسه همین تکنولوژی‌هایی مثل agents.md، Context7 و یا Mem0 اومدن؛ اینا ابزار یا پلتفرم‌هایی هستن که کمک می‌کنن ایجنت‌ها، context کافی داشته باشن.

یک روش دیگه هم هست به اسم anchoring coding agents to a reference application، یعنی ایجنت رو به یک اپلیکیشن مرجع می‌چسبونیم تا همیشه یه نقطه اتکا یا مرجع واقعی داشته باشه و کمتر کج‌ راه بره! حتی داره روش کار میشه که چند تا ایجنت رو کنار هم بذارن (یعنی تیمی از ایجنت‌ها تشکیل بدن) تا هرکدوم بخشی از زمینه رو مدیریت کنه و لازمش نباشه همه اطلاعاتو بریزیم سر یه ایجنت.

حالا همه امید دارن که با جا افتادن این ابزارها و استانداردها، وضعیت پخته‌تر بشه. مثلاً Model Context Protocol (یه پروتکل برای وصل کردن مدل‌های زبان بزرگ یا LLMها به منابع زمینه) داره خودش رو جا میندازه و agent2agent (A2A) هم مثل یه استاندارد جدید برای ارتباط برقرار کردن بین ایجنت‌ها مطرحه.

کنار همه اینا، نباید روش‌های همکاری تیمی رو فراموش کنیم؛ مثلاً روش instructions مشترک بین تیم‌ها (یعنی دستورالعمل‌های یکدست برای کل اعضا) شاید خیلی جدید و براق به نظر نرسه، اما واقعاً می‌تونه تعامل و همکاری بین برنامه‌نویس‌ها رو تو سیستم‌های پیچیده آسون‌تر کنه.

یه بحث جالب دیگه اینه که این تغییرات چه تاثیری رو فرآیندهای چابک یا Agile دارن؟ Spec-driven development که یعنی توسعه‌دادن بر اساس مشخصات دقیق، داره بیشتر استفاده میشه ولی هنوز سواله چطور بتونیم هم انعطاف داشته باشیم، هم زمینه محکم برای AI درست کنیم.

در نهایت باید گفت: سال ۲۰۲۵ یه سال حیاتی برای رشد و تغییر برنامه‌نویسی بود. شاید هنوز نگرانی‌هایی درباره شغل‌ها باشه، اما وقتی بحث به زمینه (context) کشیده شده، برنامه‌نویس‌ها باز هم عنصر کلیدی ماجرا هستن و آینده وابسته به همکاری، خلاقیت و یادگیری اون‌هاست.

منبع: +