کدنویسی با AI

از جونیور تا سینیور در عصر هوش مصنوعی؛ نقشه‌ای که مسیر رشد را حذف نمی‌کند

یک مسیر عملی ۱۲ هفته‌ای برای رشد جونیور کنار هوش مصنوعی؛ از خواندن کد و تغییر محدود تا مالکیت، تصمیم‌گیری و استفادهٔ درست از ایجنت.

نوشتهٔ ۷ دقیقه مطالعه
تصویر مقالهٔ از جونیور تا سینیور در عصر هوش مصنوعی؛ نقشه‌ای که مسیر رشد را حذف نمی‌کند

اگر هوش مصنوعی همهٔ کارهای ساده را انجام دهد، جونیور از کجا تجربه می‌گیرد؟ و اگر جونیور تجربه نگیرد، سینیور بعدی از کجا می‌آید؟

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

این مقاله همان «مسیر»ی است که در ویدئو قولش را دادیم: یک برنامهٔ عملی برای رشد جونیور کنار هوش مصنوعی، نه پشت سر آن.

پاسخ کوتاه

مسیر رشد وقتی حفظ می‌شود که چهار چیز از جونیور گرفته نشود:

  1. فهمیدن مسئله پیش از تغییر کد
  2. مالکیت یک محدودهٔ مشخص
  3. اثبات نتیجه با تست و مشاهده
  4. پاسخ‌گویی دربارهٔ تصمیم و پیامد آن

هوش مصنوعی می‌تواند سرعت هر چهار مرحله را بیشتر کند، اما نباید جای صاحب تصمیم را بگیرد.

مشکل واقعاً کجاست؟

سینیورشدن نتیجهٔ گذشت زمان نیست. نتیجهٔ تکرار یک حلقه است:

مشاهدهٔ مسئله، ساختن فرضیه، تغییر محدود، دیدن نتیجه، گرفتن بازخورد و اصلاح تصمیم

کارهای ساده برای جونیور فقط «کار ارزان» نیستند. همان‌جا یاد می‌گیرد یک باگ چگونه بازتولید می‌شود، یک تغییر کوچک کجا می‌شکند، تست خوب چه چیزی را ثابت می‌کند و چرا بعضی راه‌حل‌ها با اینکه اجرا می‌شوند، درست نیستند.

اگر ایجنت همهٔ این مسیر را پنهان کند و فقط یک diff آماده تحویل دهد، سرعت تولید بالا می‌رود اما سرعت یادگیری پایین می‌آید.

از طرف دیگر، ممنوع‌کردن ابزار هم جواب نیست. جونیوری که بدون هوش مصنوعی آموزش ببیند، برای محیط کاری‌ای آماده می‌شود که دیگر وجود ندارد.

راه بهتر، طراحی یک مسیر است که در آن دامنهٔ اختیار هوش مصنوعی با رشد توانایی جونیور تغییر کند.

نقشهٔ ۱۲ هفته‌ای در یک نگاه

این برنامه را می‌توان با اندازه و حساسیت پروژه تنظیم کرد. عدد ۱۲ هفته تضمین مهارت نیست؛ فقط یک بازهٔ قابل‌مدیریت برای ساختن چهار حلقهٔ واقعی یادگیری است.

مرحلهمسئولیت جونیورنقش هوش مصنوعیمدرک پایان
هفتهٔ ۱ و ۲خواندن و توضیح‌دادن مسیر کدساخت نقشه و پیشنهاد سؤالبازتولید باگ و توضیح جریان
هفتهٔ ۳ و ۴تغییر کوچک و محدودپیشنهاد راه‌حل و تستdiff کوچک، تست سبز و توضیح تصمیم
هفتهٔ ۵ تا ۸مالکیت یک بخش مشخصاجرای برنامهٔ تأییدشدهتحویل قابلیت با لاگ و برنامهٔ بازگشت
هفتهٔ ۹ تا ۱۲تصمیم‌گیری در شرایط مبهممقایسهٔ گزینه‌ها و جمع‌آوری شواهدگزارش رخداد، سنجش پیامد و دفاع از انتخاب

هفتهٔ ۱ و ۲: قبل از نوشتن، مسیر را بخوان

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

یک تمرین خوب:

  1. یک باگ واقعی و کم‌خطر انتخاب کن.
  2. بدون تغییر کد، آن را بازتولید کن.
  3. مسیر درخواست را از ورودی تا خروجی بنویس.
  4. سه فرضیه برای علت خطا بساز.
  5. فقط بعد از مرور فرضیه‌ها اجازهٔ تغییر کد بده.

هوش مصنوعی در این مرحله مجاز است فایل‌ها را پیدا کند، وابستگی‌ها را توضیح دهد و سؤال پیشنهاد کند. اما تصمیم نهایی دربارهٔ علت باگ باید از شواهد پروژه بیاید.

پرامپت مناسب این مرحله

هدف: فقط مسیر این باگ را پیدا کن.
محدوده: کد را تغییر نده.
خروجی: فایل‌های درگیر، مسیر داده و سه فرضیهٔ قابل‌آزمایش.
مدرک: برای هر فرضیه بگو با چه لاگ یا تستی رد یا تأیید می‌شود.
شرط توقف: قبل از هر تغییر منتظر تأیید من بمان.

هفتهٔ ۳ و ۴: تغییر کوچک، مدرک بزرگ

حالا جونیور یک اصلاح کوچک را مالک می‌شود. کوچک‌بودن تغییر مهم است، چون رابطهٔ بین تصمیم و نتیجه را قابل‌دیدن نگه می‌دارد.

هر تسک باید این پنج بخش را داشته باشد:

  • رفتار فعلی که قابل‌بازتولید است
  • رفتار مورد انتظار
  • فایل‌ها یا سرویس‌های مجاز برای تغییر
  • تستی که شکست را قبل و موفقیت را بعد از اصلاح نشان می‌دهد
  • شرط توقف در صورت بزرگ‌شدن دامنه

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

هفتهٔ ۵ تا ۸: یک محدودهٔ واقعی را مالک شو

رشد از جایی جدی می‌شود که جونیور فقط «تسک» نگیرد و یک محدودهٔ قابل‌نام‌بردن را مالک شود؛ مثلاً یک فرم، یک مسیر API، یک فرایند ایمیل یا یک بخش از خط ساخت.

مالکیت یعنی:

  • خطاهای آن بخش را ببیند و دسته‌بندی کند.
  • تغییر را از طراحی تا انتشار دنبال کند.
  • پیش از انتشار، راه برگشت را بداند.
  • بعد از انتشار، نتیجه را با داده یا لاگ بررسی کند.

در این مرحله، ایجنت می‌تواند برنامه را اجرا کند، اما باید داخل مرزهای نوشته‌شده بماند. اگر برای تمام‌کردن کار نیاز داشت بیرون از محدوده برود، باید متوقف شود و دلیلش را گزارش کند.

قرارداد اجرای ایجنت

هدف: [نتیجهٔ قابل‌مشاهده]
شروع: [فایل، رخداد یا تست مبنا]
محدودهٔ مجاز: [فایل‌ها و سرویس‌ها]
محدودهٔ ممنوع: [بخش‌هایی که نباید تغییر کنند]
مدرک اتمام: [تست، لاگ یا سناریوی قابل‌تکرار]
شرط توقف: [ابهام، تغییر دامنه، عملیات برگشت‌ناپذیر]

هفتهٔ ۹ تا ۱۲: تصمیم را در شرایط مبهم تمرین کن

سینیور فقط سریع‌تر کد نمی‌زند. وقتی اطلاعات کامل نیست، ریسک را می‌بیند، گزینه‌ها را مقایسه می‌کند و می‌داند کجا باید توقف کند.

برای تمرین این مرحله، یک مسئلهٔ واقعی با چند راه‌حل انتخاب کن:

  • اصلاح سریع یا بازطراحی محدود
  • تغییر در محصول یا تغییر در زیرساخت
  • انتشار مرحله‌ای یا انتشار کامل
  • پذیرش بدهی فنی یا پرداخت آن همین حالا

از جونیور بخواه یک یادداشت تصمیم کوتاه بنویسد:

  1. مسئله چیست؟
  2. چه گزینه‌هایی داریم؟
  3. ریسک هر گزینه چیست؟
  4. چه شواهدی هنوز نداریم؟
  5. با چه علامتی تصمیم را بازبینی می‌کنیم؟

هوش مصنوعی می‌تواند گزینه‌های فراموش‌شده را پیدا کند، اما مسئولیت انتخاب و پیامد آن باید انسانی بماند.

سه لاین برای استفاده از هوش مصنوعی

به‌جای یک قانون کلی، کارها را در سه لاین قرار بده:

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

با رشد جونیور، بعضی کارها از زرد به سبز منتقل می‌شوند. اما قرمز باید قرمز بماند، حتی برای سینیور.

نقش سینیور چیست؟

سینیور نباید به ماشین پاسخ نهایی تبدیل شود. وظیفهٔ او ساختن حلقهٔ بازخوردی است که جونیور را وادار کند شواهد بیاورد.

در مرور کار، این چهار سؤال از اصلاح مستقیم کد مفیدترند:

  1. از کجا فهمیدی مسئله همین است؟
  2. کدام بخش را عمداً تغییر ندادی؟
  3. تست تو چه چیزی را ثابت نمی‌کند؟
  4. اگر این تغییر در تولید شکست بخورد، اولین علامت چیست؟

مرور خوب فقط خطا را نمی‌گیرد. روش فکرکردن را قابل‌دیدن می‌کند.

پیشرفت را با خروجی کد نسنج

تعداد خط کد یا تعداد تسک بسته‌شده معیار خوبی برای رشد نیست. این نشانه‌ها مهم‌ترند:

  • زمان رسیدن از گزارش مبهم به بازتولید دقیق کمتر می‌شود.
  • اندازهٔ تغییرها کنترل‌شده‌تر می‌شود.
  • تست‌ها به رفتار واقعی نزدیک‌تر می‌شوند.
  • جونیور زودتر متوجه بزرگ‌شدن دامنه می‌شود.
  • بازخوردهای تکراری در مرور کد کمتر می‌شوند.

هدف این نیست که جونیور بدون کمک کار کند. هدف این است که هر ماه بداند چه کمکی لازم دارد، چرا لازم دارد و بعد از دریافت آن چه چیزی یاد گرفته است.

اگر تیم چنین برنامه‌ای ندارد

خودت یک دفترچهٔ شواهد بساز. برای هر تغییر فقط چهار خط ثبت کن:

  1. مسئله چه بود؟
  2. چه فرضیه‌ای داشتم؟
  3. چه مدرکی تصمیم را تأیید کرد؟
  4. دفعهٔ بعد چه چیزی را زودتر می‌بینم؟

بعد از چند هفته، این دفترچه از فهرست تسک‌ها ارزشمندتر می‌شود. چون نشان می‌دهد چه تصمیم‌هایی را می‌توانی با استقلال بیشتر بگیری.

این مسیر را روی پروژهٔ واقعی اجرا کن

برای شکستن مسئله، ساختن برنامهٔ یادگیری و مرور تصمیم‌ها می‌توانی از AiraChat استفاده کنی.

برای اجرای برنامه روی یک مخزن واقعی، AiraCode می‌تواند فایل‌ها را بررسی کند، تغییر محدود بسازد و تست‌ها را اجرا کند. مرزها، مدرک اتمام و شرط توقف را همان ابتدا داخل دستور بنویس.

نقشه را فقط نخوان؛ با AiraCode روی پروژهٔ واقعی اجراش کن

اگر می‌خواهی از همین امروز شروع کنی، راهنمای نصب AiraCode را باز کن.

جمع‌بندی ساده است: هوش مصنوعی نباید مسیر رشد را حذف کند. باید فاصلهٔ بین تجربه، بازخورد و تصمیم بهتر را کوتاه‌تر کند.

#جونیور#سینیور#هوش مصنوعی#مسیر رشد#AiraCode

ادامهٔ مسیر

همهٔ مقاله‌ها ←

بیشتر در «کدنویسی با AI»