Mirror یک مفهوم کاملاً جدید در برنامهنویسی است. تنها کافی است امضای توابع و چند نمونه ورودی و خروجی را ارائه دهید تا هوش مصنوعی بقیه کارها را انجام دهد. امضای تابع ساختار کلی تابع شامل نام، پارامترها و نوع خروجی را مشخص میکند. نمونههای ورودی و خروجی هم مثالهایی هستند که نشان میدهند تابع باید چگونه کار کند.
هر کسی که اندکی به یادگیری ماشین علاقه داشته باشد، میداند که این الگوریتمها از مثالهایی که کاربر ارائه میکند، یاد میگیرند که چه کاری باید انجام دهند. این روش یک تکنیک بسیار قدرتمند است. برای مثال، با استفاده از این روش میتوان الگوریتمهایی ساخت که قادر هستند اشیای پیچیده را در تصاویر شناسایی کنند. این در حالی است که انجام این کار با استفاده از تکنیکهای استاندارد برنامهنویسی تقریباً غیرممکن است.
Austin Z. Henley از دانشگاه کارنگی ملون در حال بررسی و توسعه رویکرد جدیدی در برنامهنویسی است. Henley در حال طراحی یک زبان برنامهنویسی مثال محور است که توسط یک مدل زبانی بزرگ (LLM) پشتیبانی میشود. ایده اصلی این زبان منحصربهفرد که Mirror نام دارد، این است که برنامهنویس فقط باید چند نمونه از ورودی و خروجی تابع ارائه دهد و سپس مدل زبانی بزرگ (LLM) کد واقعی را مینویسد و در پشت صحنه اجرا میکند.
برای استفاده از Mirror، کاربر ابتدا باید امضای (نام، نوع داده پارامترهای ورودی و خروجی) یک تابع را تعریف کند. سپس کاربر چند نمونه از ورودیها و خروجیهای مورد انتظارش را مشخص میکند. این نمونهها به سیستم کمک میکنند تا بفهمد که تابع باید چگونه عمل کند. پس از تعریف این نمونهها، توابع فراخوانی میشوند و در صورت لزوم به هم متصل میشوند تا هدف برنامهنویس را محقق کنند.
در بک اند، یک تحلیلگر نزولی بازگشتی معمولی قبل از اینکه نتیجه به مدل زبانی OpenAI ارسال شود، یک دور بررسی انجام میدهد تا ساختار و قوانین آنها را درک کند. پس از تجزیه اطلاعات، نتیجه به مدل زبانی مانند GPT (OpenAI) ارسال میشود. این مدل با توجه به پرامپت دریافتی، کد جاوا اسکریپت را به گونهای تولید میکند که با نمونههای ورودی و خروجی تطابق داشته باشد و نیازهای برنامهنویس را برآورده کند. پس از آن کد تولید شده به برنامهنویس نمایش داده میشود. اگر کد تولید شده مشکل داشته باشد یا به نتیجه موردنظر برنامهنویس نرسیده باشد، حال برنامهنویس میتواند نمونههای بیشتری ارائه دهد تا اصلاحات لازم انجام شود.
اگر مایلید برنامهنویسی با Mirror را امتحان کنید، میتوانید از محیط تعاملی گیتهاب استفاده کنید. برای استفاده از قابلیتهای Mirror، باید API متعلق به OpenAI را در اختیار داشته باشید. به این صورت میتوانید از مدلهای زبانی OpenAI استفاده کنید.
مفهوم پشت Mirror بسیار جالب است. Mirror میتواند به روشهای جدید و کارآمدتری برای تعامل با کامپیوترها در آینده منجر شود. در حال حاضر، این پروژه هنوز در مراحل ابتدایی توسعه قرار دارد و برای استفادههای پیشرفته یا حرفهای مناسب نیست. از این رو تولید الگوریتمهای پیچیده و ساخت نرمافزارهای سازمانی به احتمال زیاد تا مدتها با استفاده از این زبان برنامهنویسی ممکن نخواهد بود.
منبع : hackster