پروفسور میشیگان زبان Jac مانند پایتون را برای عوامل هوش مصنوعی ایجاد می کند
از سوزاندن 165 هزار دلار در بازنویسی های هوش مصنوعی خودداری کنید. Jac قرار است پشته چند زبانه شما را "بلع" کند
بیشتر زبان های برنامه نویسی برای برنامه نویسان انسانی نوشته شده اند، اما این در حال تغییر است. جیسون مارس، استاد دانشگاه میشیگان، یک زبان جاه طلبانه آکادمیک به نام Jac و یک زمان اجرا به نام Jaseci ایجاد کرده است که با هوش مصنوعی و عوامل هوش مصنوعی به عنوان موجودیت های درجه یک رفتار می کند.
Mars زبان و زمان اجرا را در یک سخنرانی در کنفرانس All Things Open که این هفته در رالی، کارولینای شمالی برگزار شد، نشان داد.
ابزارهایی که ما برای ایجاد نرم افزار استفاده می کنیم - همه چیز از زبان های برنامه نویسی گرفته تا ساخت زنجیره های ابزار - برای مصرف انسان ساخته شده اند. آنها قبل از هوش مصنوعی تولید شده اند و برای درک نیازهای عامل مناسب نیستند.
او استدلال کرد که در حال حاضر، ماموران در پیچیدگی چند زبانه غرق شده اند. او به حضار گفت: "ما دیگر از این ابزارها استفاده نمیکنیم. ما از عوامل استفاده میکنیم، و عوامل از آن ابزارها استفاده میکنند. بنابراین من ابزار جدید نمیخواهم، اما ابزار [برای] عواملم میخواهم."
یک زبان گرسنه بزرگ
مریخ در سخنرانی خود به جارد سامنر، خالق چارچوب Bun اشاره کرد که در اوایل سال جاری با استفاده از نسخه پیش از انتشار Mythos، 165000 دلار در توکن های Anthropic برای تبدیل کد Zig Bun به Rust هزینه کرد. مارد استدلال میکرد که هزینههای سنگین چندان زیاد نبود، زیرا کار خود پیچیده بود. به این دلیل بود که همه چیز باید بین دو زبان برنامه نویسی انسان محور ترجمه می شد.
او خاطرنشان کرد: «میتوس قرار است رآکتورهای هستهای ما را هک کند و مانند اسکاینت سیاره را تصرف کند، اما نمیتواند Bun را به Rust ترجمه کند مگر اینکه 165000 دلار خرج کنید».
در تئوری مریخ، Jac نوع جدیدی از زبان برنامه نویسی است که برای "بلع کردن" زبان های دیگر طراحی شده است. به طور خاص، این یک زبان شبیه پایتون است که هر دو زمان اجرا و زنجیره ابزار TypeScript و Python را ادغام می کند. به بایت کد پایتون، جاوا اسکریپت و کد ماشین بومی کامپایل می شود. می تواند از هر کتابخانه ای در اکوسیستم PyPI و npm به طور کامل استفاده کند.
و موارد بیشتری وجود دارد! Jac همچنین کامپایلر LLVM را برای پیادهسازی معنیشناسی وامگیری به سبک Rust در نظر گرفته است که به کد Jac اجازه میدهد مستقیما از این قوانین ایمنی حافظه و دستاوردهای عملکرد بهرهمند شود. همچنین میتواند کتابخانههای C و C++ را به لطف ادغام LLVM یکسان وارد کند.
Mars همچنین یک "عملکرد خارج کردن" را توصیف کرد که می تواند کد Jac کاربر را به صورت معکوس در TypeScript، Python یا C کامپایل کند تا مطابقت شرکتی را برآورده کند.
یکی از زبانهای گمشده جاوا است. او گفت: «اگر واقعا به جاوا نیاز دارید، Jac برای جاوا نیست.
ربات مبارک، خیلی شاد
همانطور که طراحی Jac به مبارزه با تکه تکه شدن اکوسیستم می پردازد، همچنین سعی می کند با تعریف ساختارهای داده به عنوان نمودار، تکه تکه شدن معماری را متحد کند.
به جای ساختن و پر کردن جدول پایگاه داده یا ایجاد اشیاء از یک کلاس، ویژگی های داده در زیر کلمات کلیدی گره تعریف می شوند. روابط بین گره های مختلف توسط اتصالات لبه تعریف می شود. منطق برنامه محلی همچنان می تواند از اشیاء استفاده کند، اما داده های اصلی یک نمودار خواهد بود که می تواند در حافظه محلی، یک دیسک ذخیره سازی یا سرور ابری قرار گیرد.
بنابراین، بله، محاسبه گراف. او بیان کرد که ایجاد یک نمودار از تمام دادههای شما کار بیشتری از ایجاد جداول پایگاه داده و برخی کلیدهای خارجی برای پیوند دادن آنها با یکدیگر است، اما او بیان کرد که نمودارسازی باعث صرفهجویی در انجام کارها میشود. دیگر عامل مجبور نیست توکنهایی را که دادهها را از پایگاههای داده، حبابهای شی، رشتههای JSON یا اشیاء پایتون استخراج میکنند رایت کند.
بهجای اینکه عامل دادهها را به اینجا بیاورد و آنها را در آنجا پردازش کند، عامل میتواند یک «واکر» را بفرستد تا ساختار داده را طی کند و در حال حرکت آنها را پردازش کند. چند واکر می توانند مسیرهای مختلف نمودار را طی کنند و در نتیجه موازی سازی طبیعی برای اجرای سریعتر ایجاد شود.
انتزاع را مرتب کنید
مریخ برای سخنرانی All Things Open خود، بین Jac و LangGraph، یک چارچوب هماهنگسازی عاملی که از کتابخانههای پایتون برای ساخت عوامل استفاده میکند، گفتگو کرد.
او از یک عامل هوش مصنوعی خواست تا از هر پلتفرم برای ساختن نسخهای از Greptile که یک ابزار بررسی کد هوش مصنوعی است، استفاده کند. با Jac، عامل به طور مستقل یک برنامه پیچیده چند مرحله ای ساخت که می توانست چندین ابزار را به صورت موازی فراخوانی کند.
با استفاده از LangGraph، عامل یک ماشین حالت خطی خام تولید کرد که نمی توانست به صورت موازی کار کند. مریخ نتیجه گرفت که احتمالا با تمام ابزارهایی که باید از آن استفاده می کرد، سنگین شده بود.
برداشت مریخ از این تمرین: ابزارهایی که ما در اختیار هوش مصنوعی قرار می دهیم، کیفیت خروجی را تعیین می کند.
تا کنون، زبان و زمان اجرا در تعدادی از خدمات تجاری کوچکتر مرتبط با هوش مصنوعی، مانند پلتفرم هوش مصنوعی چند عامله GraphClaw، زمانبندی Skooch و پلتفرم حافظه شخصی Tobu استفاده شده است.
اینکه آیا توسعهدهندگان و عوامل به سمت وعده Jac به عنوان یک زبان یکپارچه گرایش پیدا میکنند، باید مشخص شود، اما مطمئنا به سایر فریم ورکهای عامل پایتون کمک میکند. ®
متن اصلی (انگلیسی)
Michigan prof creates Python-like Jac language for AI agents
Stop burning $165K on AI rewrites; Jac is meant to "gobble up" your polyglot stack