اگر مهندسان نرم‌افزار دیگر کد نمی‌نویسند، وظیفه‌شان چیست؟ این پرسش ذهن میلیون‌ها نفر را در صنعت توسعه نرم‌افزار به خود مشغول کرده است. ابزارهای هوش مصنوعی اکنون به‌طور گسترده‌ای توسط توسعه‌دهندگان مورد استفاده قرار می‌گیرند، اما سایه‌ی ترس از تعدیل نیرو همچنان بر بخش فناوری سنگینی می‌کند. با این حال، کدنویسی تنها بخش کوچکی از پیکره مهندسی نرم‌افزار است. این تغییر پارادایم، فرصتی بی‌نظیر برای مهندسان فراهم می‌کند تا از درگیری مستقیم با سینتکس کد فاصله گرفته و به اهداف کسب‌وکار و بافتار سازمانی خود نزدیک‌تر شوند.

پاتریک دبوآ (Patrick Debois)، عضو تیم فنی شرکت Tessl، ابداع‌کننده اصطلاح DevOps و بنیان‌گذار مجموعه رویدادهای جهانی DevOpsDays، در این باره می‌گوید: «من دوست دارم شباهت‌ها را بررسی کنم. در سال 2009 این فکر به ذهنم خطور کرد که اگر بخش عملیات (Ops) بیشتر شبیه بخش توسعه (Dev) می‌بود، چه می‌شد؟»

این اظهارات در تابستان امسال و در جریان رویداد PlatformCon لندن مطرح شد. دبوآ به مخاطبان اعلام کرد که با جایگزینی «زمینه» (Context) — یعنی دانش مشخصی که هوش مصنوعی برای انجام وظایف از آن استفاده می‌کند — به جای کدهای نوشته‌شده توسط انسان، «چرخه حیات توسعه نرم‌افزار در واقع به چرخه حیات توسعه زمینه تبدیل می‌شود.»

تغییر پارادایم از اصلاح کد به بهبود سیستم

این چرخه حیات جدید، از یک حلقه بازخورد واحد در CI/CD فراتر رفته و به مجموعه‌ای از حلقه‌های هم‌مرکز برای تولید، ارزیابی مبتنی بر توسعه آزمون‌محور (TDD)، توزیع زمینه به‌عنوان یک بسته مستقل و نظارت (Observation) تبدیل شده است. این تحول بر اثر تغییر بنیادین در طرز تفکر توسعه‌دهندگان فردی، تیم‌ها و سازمان‌ها شکل می‌گیرد و افق‌های جدیدی را برای تیم‌های مهندسی پلتفرم می‌گشاید.

دبوآ در مصاحبه با The New Stack تاکید می‌کند: «تغییر طرز فکری که من به یک توسعه‌دهنده توصیه می‌کنم این است که اگر عامل (Agent) هوش مصنوعی کاری را که می‌خواهید به درستی انجام نداد، دست از اصلاح کد بردارید. سیستم را بهبود ببخشید، نه پرامپت (Prompt) را. این تغییر دیدگاه، از تفکر «من این کار را با کمک عاملم انجام می‌دهم» به «من به عاملم کمک می‌کنم تا کارش را بهتر انجام دهد» شیفت می‌کند.»

دبوآ این تغییر را یک گذار ضروری از سیستم‌های قطعی (Deterministic) به سمت سیستم‌ها و فرآیندهای غیرقطعی و احتمالی می‌داند. این تحول به همان اندازه کهbruch ساختار فناوری را متاثر می‌کند، نحوه کار ما را نیز دستخوش تغییر می‌کند. با این حال، Achievement این چرخه تنها در سطح یک مهندس منفرد یا یک تیم محقق نمی‌شود؛ درست مانند DevOps، این تغییری است که تنها در مقیاس سازمانی قابل اجراست.

سازمان‌های مبتنی بر زمینه چگونه شکل می‌گیرند؟

شاید این تصور به وجود آمده باشد که با یک شبه تمام شرکت‌ها به رویکرد «اولویت با هوش مصنوعی» (AI-first) تغییر رویه داده‌اند. در واقعیت، درست مانند تحولات DevOps، معماری میکروسرویس و رایانش ابری در گذشته، هوش مصنوعی نیز یک گذار پیوسته است که زمان می‌برد. اما سازمان مهندسی شما چگونه می‌تواند مسیر درست مبتنی بر زمینه (Context-driven) را طی کند؟

دبوآ در سطح تیمی پرسیدن این سوال را کلیدی می‌داند: برای کارکرد صحیح عامل‌های هوش مصنوعی به چند بار دخالت انسانی نیاز داریم؟ مهندسان مختلف در تیم‌های متفاوت، نقاط مختلفی از این زمینه را وارد سیستم می‌کنند که شامل موارد زیر می‌شود:

  • پایگاه کد (Codebase) و مشخصات و نیازمندی‌ها
  • گزارش‌های تحلیل حوادث (Post-mortems) و سوابق تصمیمات معماری (ADR)
  • پیام‌های مستندسازی در فضاهای کاری و نمونه کدها
  • موارد مصرف و دستورالعمل‌های انطباق با مقررات

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

دبوآ توضیح می‌دهد: «وقتی شما در حال بهینه‌سازی برای هدف الف هستید و تیمی دیگر برای هدف ب، باید اطمینان حاصل کنیم که کل زمینه‌ای که ارائه می‌دهیم برای کل تیم بهینه شده است.» او تاکید می‌کند: «اگر شما سیستم را صرفاً برای لپ‌تاپ خودتان بهینه می‌کنید، آیا می‌توانیم آن را برای گردش کار کل تیم مقیاس‌بندی کنیم؟ و در نهایت، آیا می‌توانیم این رویه را در سطح پلتفرم یا میان چندین تیم پیاده‌سازی کنیم؟»

این رویکرد چیزی نیست که سازمان‌ها مجبور باشند با زور آن را پیاده کنند. دبوآ معتقد است نشانه‌های آن خود را نشان می‌دهند: «در یک مرحله می‌گویید من این زمینه را دارم و تو هم آن را داری. این اطلاعات در اسلک (Slack) وجود دارند، اما اگر در مخزن کد (Repo) قرار گیرند چه می‌شود؟ آن‌گاه می‌توانم از آن‌ها استفاده مجدد کنم.» دقیقاً مانند هر روند دیگر در دنیای فناوری، این ترند از یک فرد مشتاق آغاز شده، به یک تیم پرانرژی گسترش می‌یابد، تیم‌های بیشتری را در بر می‌گیرد و در نهایت به بخشی از پلتفرم سازمان تبدیل می‌شود.

آینده مهندسی نرم‌افزار و عامل‌های هوش مصنوعی

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

آینده مهندسی نرم‌افزار در giritchen سیستم‌هایی است که ژن‌های سازمانی، داده‌های محیطی و تصمیمات معماری به أن مهندسان تزریق می‌کنند. در این ساختار جدید، یک مهندس ارشد سم scandium رفع‌باگ‌های کدنویسی نیست، بلکه معمار اکوسیستمی است که عامل‌های هوش مصنوعی در آن می‌توانند خودشان را اصلاح و رشد دهند.