احیای پروژه‌های نرم‌افزاری مدفون‌شده: چگونه هوش مصنوعی به من کمک کرد تا کاری را که هرگز انجام نمی‌دادم، تکمیل کنم

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

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


ایده و آماده سازی برای کار

در گذشته، من پروژه‌ای را شروع کردم که اساساً یک لایه میان‌افزار (Shim) بود که YouTube Music را به API OpenSubsonic متصل می‌کرد. به طور خلاصه، OpenSubsonic یک گره نرم‌افزاری عالی است که سرورهای پخش موسیقی را از برنامه‌هایی که آنها را اجرا می‌کنند جدا می‌کند و به شما امکان می‌دهد میکس مورد نظر خود را انتخاب کنید. من شخصاً ترجیح می‌دهم از Navidrome به عنوان سرور، Feishin در رایانه‌های شخصی و Symfonium در اندروید استفاده کنم. ایده این بود که YouTube Music با این API سازگار باشد تا بتوانم آن را در هر یک از برنامه‌های مورد علاقه‌ام ادغام کنم. در حالی که راه‌اندازی اولیه پخش با استفاده از ytmusicapi و yt-dlp آسان بود، پیاده‌سازی تمام عملکردهای لازم خسته‌کننده بود و طبق معمول، پروژه‌های جدید توجه من را جلب کردند.

از PhoneIslam: یک فضای کاری مجهز به دو صفحه نمایش که کد را نمایش می‌دهند، یک لپ‌تاپ، یک دفترچه یادداشت، یک لیوان، یک کارت اعتباری و یک طرح کلی تخته سفید در مورد FastAPI و OpenSubsonic - ایده‌آل برای جلسات برنامه‌نویسی هوش مصنوعی.

خوشبختانه، این پروژه استریمینگ خیلی پیچیده نبود و مشخصات واضحی برای دنبال کردن داشت که آن را برای آزمایش برنامه‌نویسی با کمک هوش مصنوعی ایده‌آل می‌کرد. من تصمیم گرفتم Cloud Code (مدل Opus 4.6) را با استفاده از 50 دلار اعتبار رایگان برای ساخت پروژه از ابتدا آزمایش کنم. من محیط را با استفاده از FastAPI و Pydantic راه‌اندازی کردم و فایل مشخصات OpenAPI شرکت OpenSubsonic و همچنین یک فایل CLAUDE.md حاوی دستورالعمل‌های دقیق، مانند استفاده از جدیدترین فناوری‌های Pydantic و نوشتن تست‌های واحد حرفه‌ای، را در اختیار Cloud قرار دادم تا از تکرار اشتباهات رایج جلوگیری شود.


ساخت نسخه اولیه (MVP)

با آماده شدن همه چیز، اجازه دادم کلود رهبری را به دست بگیرد. این فرآیند شامل رفتن به حالت برنامه‌ریزی، درخواست از او برای تکمیل مرحله بعدی، بررسی و اصلاح طرح و سپس دادن منابع به او برای عیب‌یابی در صورت مواجهه با موانع بود. اولین درخواست من سرراست بود: «به فایل openapi.json نگاهی بیندازید. سروری با استفاده از fastapi پیاده‌سازی کنید که stubهایی را برای تمام توابع مورد نیاز تنظیم کند و فقط روی مسیرهای JSON مدرن تمرکز کند.»

پخش موسیقی از طریق برنامه Feishin با استفاده از پروژه نرم‌افزاری تکمیل‌شده

حتی با وجود مشخصات واضح، کلود در ابتدا چند خطا داشت، اما در تلاش دوم موفق به اصلاح آنها شد. قدم بزرگ بعدی درخواست اتصال به برنامه، جستجوی آهنگ و پخش آن بود. من به سرعت به یک پیاده‌سازی منطقی رسیدم، اما هنگام تلاش برای اتصال واقعی به برنامه Feishin، با مشکل مواجه شد. اینجاست که تکرار و تنظیم به کار آمد؛ برنامه را اجرا کردم و گزارش‌های خطا را به کلود کد ارسال کردم. به طرز شگفت‌انگیزی، پس از چند تکرار، واقعاً داشتم به پخش موسیقی از طریق Feishin گوش می‌دادم! مانع اصلی، برگرداندن پاسخ‌های خالی اما با ساختار مناسب به جای هیچ پاسخی بود.


کارهای نهایی و خسته کننده

دریافت نسخه اولیه بخش آسان کار بود، اما چالش واقعی، انجام وظایف خسته‌کننده و طاقت‌فرسا (بخش طولانی) قابل استفاده کردن پروژه بود. رابط کاربری OpenSubsonic تقریباً شامل ۸۰ آهنگ است که به ۱۵ دسته تقسیم شده‌اند. برای اطمینان از اینکه سرور من با ظرفیت کامل کار می‌کند، از هوش مصنوعی برای پیاده‌سازی یک سیستم ذخیره‌سازی ساده استفاده کردم تا از تجاوز از محدودیت‌های API یوتیوب جلوگیری شود و از پایگاه‌های داده SQLite برای ذخیره فراداده‌های موسیقی استفاده کردم.

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

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


آیا این رویکرد برای برنامه‌نویسان سالم است؟

نمی‌خواهم طوری به نظر برسم که انگار طرفدار کورکورانه و مشتاق برنامه‌نویسی هوش مصنوعی هستم. هنوز هم نگران از دست دادن مهارت‌های برنامه‌نویسی به دلیل اتکای بیش از حد به این ابزارها هستم. به همین دلیل است که هنوز هم اصرار دارم که سعی کنم زبان پیچیده‌ای مانند Rust را خودم یاد بگیرم. ما باید پروژه‌های شخصی خود را به دو دسته تقسیم کنیم: دسته اول «کارهایی است که برای یادگیری و توسعه مهارت‌هایم انجام می‌دهم» و دسته دوم «چیزهایی است که واقعاً آرزو می‌کنم وجود داشته باشند و در دسترس من باشند».

از PhoneIslam: یک توسعه‌دهنده پشت میزی نشسته است که دو بخش با برچسب‌های «یادگیری و توسعه مهارت‌ها» و «ایجاد و تحقق آرزوها» دارد، که اهمیت ایجاد تعادل بین توسعه مهارت‌ها - به ویژه در برنامه‌نویسی هوش مصنوعی - و دستیابی به نتایج را برجسته می‌کند.

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

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

منبع:

blog.matthewbrunelle.com

7 نظر

نظرات کاربر
ابراهیم الهجری

آیا هوش مصنوعی می‌تواند مشکل ایجاد نرم‌افزاری که از محدودیت‌های آیفون عبور می‌کند را حل کند؟

و امکان کنترل و تغییر سیستم را فراهم می‌کند؟ 😬

️
    نظرات کاربر
    هوش مصنوعی هوشمند

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

نظرات کاربر
عمر مراد

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

️
    نظرات کاربر
    هوش مصنوعی هوشمند

    الان دقیقاً زمان مناسبی برای بازگشت به آن است! با ابزارهایی مانند Cloud Code، کارهای خسته‌کننده و تکراری دیگر مانعی برای تکمیل پروژه‌های شخصی ما نیستند؛ سعی کنید فقط بخش‌هایی را که «سنگین» می‌دانید به هوش مصنوعی بدهید، و از اینکه چقدر سریع انجام می‌شود، شگفت‌زده خواهید شد.

نظرات کاربر
سلطان محمد

ان‌شاءالله، ادامه بده! و برای ویراستاران، به امید خدا، فنجان‌های قهوه‌ی بیشتری آرزو می‌کنم.

️
نظرات کاربر
سلطان محمد

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

️
    نظرات کاربر
    هوش مصنوعی هوشمند

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

پاسخ بگذارید