بازنویسی بسته @cloudflare/codemode به SDK ماژولار و مستقل از محیط اجرا
شرکت کلودفلر (Cloudflare) به تازگی بسته نرمافزاری @cloudflare/codemode را بازنویسی کرده و آن را به یک SDK ماژولار و مستقل از محیط اجرای کد تبدیل کرده است. این تغییرات عمده در ساختار بسته باعث شده است که این SDK بتواند به صورت بهینهتر و با صرفهجویی در مصرف توکنها، کدهای تولید شده توسط مدلهای زبان بزرگ (LLM) را اجرا و مدیریت کند.
بسته جدید Code Mode به مدلهای زبان بزرگ این امکان را میدهد که به جای فراخوانی ابزارها به صورت جداگانه و متوالی، بتوانند کدهایی را بنویسند و اجرا کنند که ابزارهای مختلف را به صورت همزمان و هماهنگ مدیریت میکند. این ویژگی باعث کاهش فشار بر روی پنجره متن ورودی (context window) و بهبود عملکرد کلی مدل در انجام وظایف مختلف میشود.
یکی از تغییرات کلیدی در این نسخه جدید معرفی رابط کاربری Executor است که مستقل از محیط اجرا طراحی شده است. این رابط کاربری با ارائه یک قرارداد ساده برای اجرای کد و توابع (execute(code, fns))، امکان پیادهسازی در هر محیط یا سامانهای که قابلیت اجرای کد را دارد، فراهم میکند. همچنین یک پیادهسازی پیشساخته به نام DynamicWorkerExecutor ارائه شده است که کد تولید شده را در یک بارگذار (loader) دینامیک اجرا میکند.
DynamicWorkerExecutor ویژگیهای مهمی دارد که از جمله آنها میتوان به ایزولاسیون شبکه اشاره کرد؛ به طوری که دسترسی به شبکه مانند fetch() و connect() به طور پیشفرض مسدود شده است تا امنیت و کنترل بیشتری بر اجرای کد وجود داشته باشد. علاوه بر این، قابلیت ضبط لاگهای کنسول (console.log، console.warn، console.error) و بازگرداندن آنها در نتیجه اجرای کد فراهم شده است. همچنین امکان تنظیم زمان اجرای کد با گزینه timeout که به صورت پیشفرض ۳۰ ثانیه است، وجود دارد.
در نسخه جدید، توابع experimental_codemode() و CodeModeProxy حذف شدهاند و بسته دیگر مسئول انتخاب مدل یا فراخوانی مستقیم LLM نیست. مسیر وارد کردن توابع نیز تغییر کرده است؛ برای مثال، تابع createCodeTool() اکنون از مسیر @cloudflare/codemode/ai صادر میشود.
برای استفاده از این بسته در محیطهای جاوااسکریپت و تایپاسکریپت، نمونه کدی ارائه شده است که نشان میدهد چگونه میتوان یک DynamicWorkerExecutor ایجاد کرد و آن را به عنوان اجراکننده در createCodeTool() به کار برد. سپس این ابزار در جریان پردازش مدلهای زبان بزرگ به عنوان یکی از ابزارهای موجود استفاده میشود.
همچنین در بخش پیکربندی Wrangler، که ابزاری برای مدیریت و استقرار کدهای کلودفلر است، باید بارگذارهای مربوطه در فایلهای wrangler.jsonc و wrangler.toml تعریف شوند تا DynamicWorkerExecutor بتواند به درستی کار کند.
این بازنویسی و بهروزرسانیها باعث شده است که بسته @cloudflare/codemode به یک SDK قدرتمند و منعطف تبدیل شود که میتواند در پروژههای مختلف هوش مصنوعی و اجرای کدهای تولید شده توسط مدلهای زبان بزرگ به کار گرفته شود. این تغییرات همچنین زمینه را برای توسعههای آینده و بهبودهای بیشتر در حوزه اجرای کدهای هوشمند فراهم میکند.
برای توسعهدهندگان و مهندسان نرمافزار که با مدلهای زبان بزرگ و ابزارهای هوش مصنوعی سر و کار دارند، این بهروزرسانی فرصتی است تا با استفاده از امکانات جدید، کارایی و امنیت اجرای کدهای خود را بهبود بخشند. همچنین کاهش مصرف توکنها و بهینهسازی فشار روی پنجره متن ورودی از مزایای مهم این نسخه جدید به شمار میرود.
در نهایت، کاربران برای بهروزرسانی بسته میتوانند از دستور npm i @cloudflare/codemode@latest استفاده کنند و مستندات کامل API و نمونههای کاربردی را در منابع رسمی مربوط به Code Mode مطالعه نمایند.