این موضوع برداشت من براساس دادههای گروهی از افراد هست که منتور اونها هستم (قبلتر گفتم راجبش)
با این بحث شروع کنم که، من برای توسعه کدهام
neovim, vscode رو دارم و اکثر وقتم توی neovim هست.روی هیچکدوم
ai, agent هم ندارم.cursor, gravity, ...رو هم تست کردم اما همیشه کندترم میکنند و برای همین استفاده نمیکنم.
تمام توضیحات بعدی در این زمینه هست ...
و البته یک نتیجه، خیلی جذاب.
اوایل که شروع کردیم (تقریباً ۱۰-۱۲ روز اول) بچهها به دوتا دسته تقسیم میشدند :
۱- اونهایی که ۱ یا ۲ تا مدل هوش مصنوعی خفن رو خریده بودند و کدها رو اون مدل براشون میزد.
۲- اونهایی که اول داکیومنت، کتاب و ویدئو میخوندند و میدیدند و بعد با کمک AI کد میزدند.
اما تمام بچهها ادیتورهای مخصوص
ai داشتند مثل cursorاما بعد از ۱۰-۱۲ روز یک دسته بندی جدید با ۲ نفر از بچهها که هم خونه هستند اضافه شد، بعد از اینکه دیدند من توی neovim کد میزنم و از ai agent هم استفاده نمیکنم (فقط حالت chat) اینها هم همینکار رو کردند.
حالا با گذشت ۲ ماه و بررسی گیتلاگ و ... چیزای جالبی دستم اومده :
دسته اول:
این گروه سریعترین کامیتها رو میزنه، به محض اینکه تسکهای هفتهاش رو در میاره توی ۱-۲ روز همرو کامیت میکنه.
برای چند هفته اول بیش از اندازه سریع بودند جوری که حوصلهاشون سر میرفت.
اما
بیشترین ریفکتورها هم برای این گروه بوده،
بیشترین اشتباه توی استفاده از ابزارها هم برای این گروه بوده
و تقریباً توی مواردی مثل
observability بدترین خروجی برای این گروه بوده.همیشه کدهاشون کار میکنه، اما مثلاً موردی که چندشب پیش برای یکی از پروژهها پیش اومد این بود که به یک باگ عجیب خوردند گفتیم لاگ رو نگاه کنیم.
متوجه شدیم لاگ اپلیکیشن برای خیلی بخشها با لاگ داکر داره بازنویسی میشه، عملاً لاگ بدرد هیچکس نمیخورد.
باید بازنویسی بشه حتماً، اونم وقتی باگ مهمی توی سیستم وجود داره اگر کد روی پروداکشن بود سیستم میخوابید.
دسته دوم:
کندترین کامیتها رو داره، دائما سرشون شلوغ هست و از اینکه ابزارهای زیادی رو دارند کار میکنند خسته میشوند بعضی روزها.
مثلاً خیلی وقتا غر میزنند من که
DevOps کار نیستم یا ... اما کامیتها خیلی تمیز هست،
ابزارها و کدها وقتی کار میکنه خیلی خوب و درست پیش میره،
ریفکتور کردن ندارند مگر اون جاهایی که انتظارش رو داشتند، مثلاً نوشته برای هفته بعدی
middleware مربوط به trace باید ریفکتور بشه.بزرگترین مشکل این گروه هم اینکه که تا ساعت آخر تحویل کار درحال کد زدن هستند.
دسته سوم:
این گروه طبق صحبتهای جلسه اول من پیش میره، هیچ داکیومنتی رو بیشتر از ۱ ساعت نمیخونه
۱۵ دقیقه ویدئو برای اون ابزار میبینه، و نهایتاً حق داره ۴۵ دقیقه داکیومنت رو بخونه.
ایده و نحوه ساختار سیستم رو خودشون میچینند،
کدهای اولیه رو همیشه ai میزنه
خودشون منطق و ایرادات رو درست میکنند
کد نهایی رو هم ai ریفکتور میکنه
توی این چندوقتی که مثل من از chat استفاده میکنند هم یک اتفاق جالب توی رفتارشون دیدم:
داکیومنت رو پیش پیش نمیخونند،
پرامپت اولیهشون هم ۲ تا نکته داره :
۱- توضیح میخوان
۲- داکیومنت مربوط به اون بخش رو ai باید بهشون لینک بده.
کد اولیه رو llm براشون میزنه، کد رو تحویل میگیرند و اجرا میکنند.
اگر ایرادی داشته باشه، دیگه توی loop درستش کن یا ... نمیافتند توضیحات ai رو میخونند و بعد وارد داکیومنت میشند و خودشون کد رو درست میکنند.
وقتی کار تموم شد و درست بود، کد رو به ai میدند برای پیشنهاد refactor که ممکنه قبول بشه یا نشه.
و بعد کامیت.
کامیتها تمیزه، ریفکتورها کمتره و زمانبندی خوبی هم دارند.
شخصاً فکر میکنم درک بسیار بهتری هم از جایگاه ابزارها و کل سیستم پروژه خودشون دارند.
یک چیز جالبتر اینکه؛ وقتی از محیط
chat استفاده میکنی چون باید خودت context رو پیدا کنی و بخش مناسب رو به llm بدی اگر شناخت خوب و دانش کافی راجب کدهات نداشته باشی، دیتای اشتباه میدی و جواب نخواهی گرفت.پس مجبوری اول خودت یادبگیری حدوداً چیکار باید کنی برای حل مشکل بعد به
llm بدی تا راهکار درست رو بهت بده.این دلیلی بود که روز اول من گفتم برای استفاده نکردن خودم از agentها و حالا توی رفتار بچهها هم میبینم.
درحال حاضر که ۲ ماه گذشته؛ بیش از ۵۰٪ بچهها اومدن توی دسته سوم.
بخصوص اونهایی که عادت داشتند برای هرچیزی داکیومنت و کتاب و ... بخونند.
پینوشت:
اکثر بچهها ایدههای خودشون رو دارند توسعه میدهند.
بچههایی که هم خونه هستند، روی
python کدها رو آماده میکنند و آخر هفته (شنبه و یکشنبه) کدها رو با Rust بازنویسی میکنند