RANT: وضعیت تولید هوش مصنوعی در تولید کد.

پیشنهاد ویژه
[button color="primary" size="big" link="https://nabfollower.com/buy-real-follower/" icon="" target="true" follow="false"]خرید فالوور واقعی[/button][button color="primary" size="big" link="https://nabfollower.com/buy-instagram-like/" icon="" target="true" follow="false"]خرید لایک اینستاگرام[/button][button color="primary" size="big" link="https://nabfollower.com/buy-instagram-views/" icon="" target="true" follow="false"]خرید ویو اینستاگرام[/button][button color="primary" size="big" link="https://nabfollower.com/" icon="" target="true" follow="false"]خرید فالوور اینستاگرام[/button]
TL ؛
تولید کد هوش مصنوعی از فوریه 2025 هنوز اشتباهات زیادی را مرتکب می شود.
ما ممکن است از الگوریتم های کاملاً تعریف شده تعریف شده (به همراه برخی نظرات اضافی) برای تولید کد بهتر استفاده کنیم. دلیل این امر این است که ، زبانهای طبیعی انسانی (مانند انگلیسی یا هر نوع دیگر) خود مبهم هستند ، الگوریتم ها و زبانهای برنامه نویسی نیستند!
در مورد چیست؟
تولید کد با ژنرال AI هنوز مشخص نیست. Claude 3.5 Sonnet بهتر است ، اما همچنین باعث می شود هر از گاهی خطاهای اشکال زدایی وقت گیر را ایجاد کند.
من برای بهره وری کلی از ابزارهایی مانند GitHub Copilot استفاده می کنم ، اما باید بگویم ، هنوز نمی توانم بفهمم چگونه می توانم بیشترین میزان را از AI تولیدی برای برنامه نویسی بسازم! امیدوارم که در سال 2025 تغییر کند.
گزینه های دیگر برای GitHub Copilot ، مانند مکان نما ، Windsurf و غیره در رادار من قرار دارند ، اما من می خواهم قبل از اینکه به طور کامل به گزینه های دیگر بپردازم ، از Copilot کارآمدتر استفاده کنم.
پس زمینه کمی بیشتر
در اوایل امروز من از Github Copilot برای نوشتن اسکریپت CLI Shell استفاده می کردم ، اما این باعث می شد اشتباهات وقت گیر باشد.
این اسکریپت در مورد همگام سازی پروفایل های Firefox در دو رایانه مختلف است – در مورد خاص من ، دو لپ تاپ ، هر دو با اوبونتو نصب شده است.
بله ، به جای نگه داشتن 100 ثانیه از برگه های باز ، 100 ثانیه پروفایل Firefox را در خط فرمان ایجاد می کنم. هر پروفایل برای کارهای خاص ، پروژه ها و غیره تنظیم شده است. به عنوان یک توسعه دهنده وب ، من باید از مرورگرهای مختلف استفاده کنم ، اما بیشتر از Firefox استفاده می کنم.
همچنین ، من می توانم از گزینه Sync در Firefox استفاده کنم ، اما به دلایل خوبی از آن استفاده نمی کنم.
AI Code Generation – دوست یا دشمن؟
چند روز پیش ، من از Github Copilot برای تهیه افزونه مرورگر در JavaScript وانیلی استفاده کردم – فقط برای استفاده شخصی من. در آن زمان کار بسیار بهتری انجام داد. اما برای پروژه اسکریپت امروز Shell ، این سردرد بیشتر از آنچه انتظار داشتم به من داد!
بنابراین اساساً ، تولید کد AI هنوز برای من روشن و خاموش است. به طور کلی تولید کننده است ، اما من انتظار بیشتری دارم.
این امکان وجود دارد که افراد دیگر از تولید کد AI با کارآمدتر از من استفاده کنند ، اما من بسیار شک دارم که این مورد است.
مشاهدات من
در تجربه من با تولید کد AI ، در پروژه های بصری مانند توسعه UI یا انیمیشن مبتنی بر JavaScript (با استفاده از Three.JS یا P5.JS) و غیره. ابزارهای AI بسیار خوب کار می کنند.
با این حال ، در پروژه هایی که ما به استدلال منطقی پیچیده بسیار دقیق نیاز داریم ، ژنرال AI گاهی اوقات اشتباهات وحشتناکی را انجام می دهد که برای اشکال زدایی وقت گیر است!
چرا این مورد است؟ آیا به این دلیل است که ما می توانیم به راحتی اشتباهات موجود در خروجی بصری را نادیده بگیریم و آنها را به عنوان تغییرات قابل قبول در نظر بگیریم؟
یا به این دلیل است که ، غیر برنامه ریزان و مبتدیان معمولاً از این نوع تولید کد درخواست می کنند و به راحتی مبهوت می شوند و سپس تجربیات خود را با دیگران در رسانه های اجتماعی به اشتراک می گذارند ، که به نوبه خود نیز مبهوت می شوند – زیرا هیچ یک از آنها به اندازه کافی قادر نیستند و به اندازه کافی مایل هستند برای یافتن مسائل موجود در کد تولید شده؟
یا به این دلیل است که ، به عنوان انسان ، ما خوب تنظیم شده ایم تا کد تولید شده را به خوبی به اشتراک بگذاریم ، اما وقتی آنها خیلی خوب عمل نمی کنند ، ما تمایل داریم که آنها را در رسانه های اجتماعی به اشتراک نگذاریم – فکر کردن فقط ممکن است تقصیر ما باشد ، شاید ما نمی توان به اندازه کافی خوب دستور داد!
به هر صورت ممکن است ، یک مشاهده جالب دیگر در مورد کد تولید شده AI وجود دارد: وقتی از الگوریتم های سخت و سخت به جای زبانهای طبیعی مانند انگلیسی استفاده کردم ، نتایج بسیار بهتری کسب کردم.
بله ، ژنرال AI وقتی از الگوریتم های سخت و سخت به عنوان اعلان استفاده می کنیم ، در تولید کد بسیار خوب کار می کند!
به عنوان مثال ، در زیر الگوریتمی مانند سریع است که نامهای پروفایل Firefox را از نام دایرکتوری مربوطه خود استخراج می کند. این برای من خیلی خوب کار کرد:
Convert the following algorithm to shell code, lines starting with # are comments with additional instructions:
profiles=array
for each directory in sync_from
# ending = * after 1st dot (non empty)
if directory name = "something.ending"
profile_name=ending
profiles[]=profile_name
end_if
end_for
این منجر به کد پوسته زیر با استفاده از غزل Claude 3.5 در Github Copilot شد:
#!/bin/bash
# Initialize profiles array
declare -a profiles
# Iterate through directories in sync_from
for dir in "$sync_from"/*; do
# Check if it's a directory
if [ -d "$dir" ]; then
# Get base name of directory
base_name=$(basename "$dir")
# Extract part after first dot
profile_name=${base_name#*.}
# Check if profile_name is not empty and not equal to base_name
if [ "$profile_name" != "$base_name" ] && [ -n "$profile_name" ]; then
# Add to array
profiles+=("$profile_name")
fi
fi
done
و کد پوسته زیر با Deepseek R1:
#!/bin/bash
profiles=()
for dir in "$sync_from"/*; do
if [[ -d "$dir" ]]; then
dirname=$(basename "$dir")
first_part="${dirname%%.*}"
ending="${dirname#*.}"
if [[ "$dirname" != "$first_part" && -n "$ending" ]]; then
profiles+=("$ending")
fi
fi
done
کافی است که بگوییم ، هر دو کار کردند.
با این حال ، هنگامی که من سعی کردم همان کد را با زبان طبیعی (انگلیسی) تولید کنم ، نتایج غیر منتظره ای کسب کردم. سرانجام می توانم با خروجی مورد انتظار ، به زبان طبیعی بنویسم ، اما این یک روش کارآمد برای نوشتن کد نیست.
من به چندین مرحله آزمایش و خطا نیاز داشتم ، همراه با دست روی کد اصلاحات انگلیسی برای کار انگلیسی همانطور که انتظار می رفت ، اما با استفاده از الگوریتم سریع ، در اولین تلاش نتایج قابل پیش بینی را در Claude 3.5 و Deepseek R1 ایجاد کرد!
سوالات مربوط به جامعه توسعه دهنده:
- تجربه شما در تولید کد AI چیست؟
- آیا از روش بهتری می دانید ، یا الگوریتم بهتری که نتایج قابل پیش بینی را با مدل های مختلف AI تولیدی تولید می کند؟
لطفا به من اطلاع دهید
همچنین ، امیدوارم که تجربه من برای شما مفید باشد.
برنامه نویسی مبارک!