تصور کنید یک سامانهٔ کامل و آماده برای محیط عملیاتی جهت برنامهریزی چیدمان انبار — با قابلیت بررسی لحظهای هندسه و نمای مقایسهای در کنار هم — تنها با یک دستور متنی ساخته شود. این اتفاق در ۲۳ سپتامبر ۲۰۲۶ رخ داد؛ زمانی که ToolJet نشان داد چگونه ادغام پروتکل زمینهٔ مدل (MCP) میتواند یک نیاز فنی را به جای مجموعهای از صفحات جداگانه و گسسته، به یک اپلیکیشن ساختاریافته تبدیل کند. این قابلیت در ادامه تحولاتی است که ToolJet با استفاده از عاملهای هوش مصنوعی برای ساخت اپلیکیشنهای سازمانی از یک پرامپت آغاز کرده بود.
بسیاری از اپلیکیشنهای ساختهشده با هوش مصنوعی در سطح رابط کاربری متوقف میشوند و توسعهدهنده باید دیتابیسها و کوئریهای API را به صورت دستی متصل کند. این وضعیت باعث ایجاد باری به نام «سقوط کد» (code drop) میشود؛ یعنی هوش مصنوعی فقط یک قالب یا تمپلیت ارائه میدهد و انسان باید کارهای سنگین عملیاتی کردن آن را بر عهده بگیرد. رویکرد ToolJet مدل داده، صفحات، کامپوننتها و سیمکشیهای بین آنها را به عنوان یک سیستم منسجم و یکپارچه میسازد.
برای مدیران مراکز توزیع، این به معنای عبور از نقشههای ایستا و علامتگذاریشده به یک نمای عملیاتی زنده است. سناریویی را تصور کنید که در آن تیمی نیاز دارد جایگاه قفسهها را برای بهینهسازی مسیر حرکت کارکنان برداشت کالا (picker travel) تغییر دهد، بدون اینکه خروجیهای اضطراری را مسدود کند؛ آنها اکنون میتوانند ابزاری برای شبیهسازی این تغییر را در چند دقیقه بسازند، به جای اینکه هفتهها وقت صرف توسعه سفارشی کنند.
معماری سامانهٔ برنامهریزی
این اپلیکیشن تولیدشده از دو صفحه اصلی تشکیل شده است: ویرایشگر چیدمان (Layout Editor) و نمای مقایسه چیدمانها (Compare Layouts). ویرایشگر از یک بوم SVG سفارشی برای نقشه کف استفاده میکند که به کاربران اجازه میدهد قفسهها، درهای تخلیه (dock doors)، مناطق ایمنی و خروجیهای اضطراری را روی یک شبکهٔ ۱ متری (snap-grid) جابهجا یا تغییر اندازه دهند. طبق مستندات فنی، کل فضای ۹۰ در ۵۵ متری انبار طوری طراحی شده که بدون نیاز به اسکرول در پنل جای بگیرد تا تیم مدیریت بتواند دید کلی و چشمپرندهای از کل عملیات داشته باشد.

برای اطمینان از قابلیت اجرای طرح، اپلیکیشن سیستم بررسی قوانین زنده را اجرا میکند. اگر قفسهای با منطقه ایمنی تداخل داشته باشد یا راه خروجی را ببندد، سیستم بلافاصله اشکال مشکلدار را رنگآمیزی کرده و نام قانون نقضشده را دقیقاً زیر نقشه کف نمایش میدهد. این سازوکار مشکل «وضعیت قدیمی» (stale state) را حل میکند؛ مشکلی که در مدلهای سادهتر هوش مصنوعی رایج است و در آن تغییرات بوم باعث بهروزرسانی دادههای زیرساختی نمیشود.
جزئیات ویرایشگر چیدمان
این ویرایشگر به عنوان یک اپلیکیشن برنامهریزی فنی و تمیز طراحی شده است که از پسزمینه کرم، متن زغالی، خطوط ظریف و رنگهای پرکننده ملایم بهره میبرد. در سراسر برنامه از فاصلهگذاریهای فشرده استفاده شده و رنگهای وضعیت تنها در مواردی به کار رفتهاند که کاربرد حیاتی داشته باشند.
- نوار ابزار بوم: به کاربران اجازه میدهد قفسهها، درهای تخلیه، مناطق ایمنی و خروجیهای اضطراری را مستقیماً روی شبکه اضافه کنند.
- بازرس عناصر انتخابی: پنلی داخل بوم که با انتخاب هر شکل، فوراً بهروز میشود تا اطمینان حاصل شود که ویرایشگر هرگز بافتار (context) را از دست نمیدهد.
- بازخورد زنده: هنگامی که کاربران اشکال را از طریق دستگیرههای گوشه تغییر اندازه میدهند، سیستم اشکال مشکلدار را بازرنگی کرده و قانون خاص نقضشده را زیر نقشه لیست میکند.
- برچسبگذاری: برچسبهای روی اشکال نازک طوری برنامهریزی شدهاند که برای حفظ خوانایی، به بالای شکل یا در کنار آن منتقل شوند.
- کارتهای آماری: شمارندههای لحظهای برای تعداد کل وجوه برداشت (pick faces) و تعداد قوانینی که در حال حاضر نقض شدهاند.
- ردیف طرحهای ذخیرهشده: یک ردیف اختصاصی در بالای بوم برای دسترسی سریع به پیکربندیهایی که قبلاً ذخیره شدهاند.
جزئیات مقایسه چیدمانها
صفحه مقایسه به عنوان یک سطح تحلیل «فقط خواندنی» طراحی شده است. این صفحه به کاربران اجازه میدهد پیش از نهایی کردن یک تغییر، مزایا و معایب (trade-offs) دو طرح ذخیرهشده را بررسی کنند.
- نمای در کنار هم: دو طرح ذخیرهشده با یک راهنمای (legend) مشترک نمایش داده میشوند تا تفسیر بصری یکسانی صورت گیرد.
- کارتهای امتیاز: کاشیهای سطح بالا که تفاوتها (deltas) در تعداد وجوه برداشت، فضای باز راهروها و مسیر حرکت کارکنان را نشان میدهند.
- جداول تفصیلی: جداول خاص برای اندازهگیریهای راهروهای باریک و معیارهای جابهجایی SKU.
- انتخابگر طرح: دو منوی انتخاب اختصاصی برای تعیین اینکه کدام طرحهای ذخیرهشده با هم مقایسه شوند.
- مثال از تحلیل تضاد: در یک مقایسه (بین «برداشت پیشرو منطقه C» در مقابل «راهروی عریض منطقه D»)، اپلیکیشن نشان داد که مسیر حرکت کارکنان از ۲۶۱,۰۹۲ به ۳۹۱,۳۲۲ در روز افزایش یافته است (۵۰٪ افزایش)، در حالی که وجوه برداشت از ۴۰ به ۳۶ کاهش یافته و باریکترین راهرو از ۳.۵ متر به ۴.۰ متر عریضتر شده است.
مدل داده و منطق برنامه
به نقل از گزارش dev.to، این اپلیکیشن توسط ۶ جدول مرتبط در ۳ گروه عملکردی مدیریت میشود. این ساختار تضمین میکند که اپلیکیشن نتایج آمادگی و مقایسه را از دادههای ذخیرهشده استخراج کند، نه از وضعیت موقت صفحه.
- هندسه: جداول
warehouse_layoutsوlayout_shapesطرحهای ذخیرهشده و مختصات فیزیکی آنها را ذخیره میکنند. - نگاشت محصول: جداول
skusوpick_face_assignmentsمحصولات خاص را به وجوه قفسه متصل میکنند. - حاکمیت: جداول
warehouse_rulesوshape_legendمحدودیتهای برنامهریزی و استایلهای بصری را مدیریت میکنند.
یک چالش فنی خاص در حین ساخت رخ داد: مشکل مسیر ذخیرهسازی که باعث میشد SKU یک قفسه پس از ویرایش بوم به دلیل وضعیت قدیمی (stale state) ناپدید شود. راهکار این مشکل، نگه داشتن شناسههای شکل (shape IDs) و تخصیصها در یک مجموعه واحد در حین فرآیند ذخیرهسازی بود تا نگاشت قفسه به SKU پس از بارگذاری مجدد حفظ شود.

معیارهای ساخت و عملکرد
فرآیند ساخت نشان داد که داراییهای تولیدشده از سطح بالایی از کارایی برخوردار هستند. اپلیکیشن نهایی شامل موارد زیر است:
- صفحات: ۲ عدد
- جداول ToolJet DB: ۶ عدد
- کوئریها: ۱۹ عدد
- کامپوننتها: ۳۸ عدد
- فایلهای کد برای نگهداری: ۰ عدد
- چرخههای اصلاح: ۱ بار
هزینه و سرعت بسته به مدل زیربنایی مورد استفاده در MCP متفاوت است. یک مدل سبک مانند Luna Medium میتواند اپلیکیشنی ۴ صفحهای را با هزینه بسیار کم (حدود ۰.۱۷ دلار) بسازد، در حالی که مدلهای استدلالی پیشرفته مانند Sol تعادل بهتری بین کیفیت و هزینه برای منطقهای پیچیده سازمانی ایجاد میکنند.
تخمینهای مقایسهای مدلها:
- Sol (پیشنهادی): ۳۰۰ تا ۶۵۰ کریدیت، ۱۴ تا ۲۲ دقیقه. بهترین تعادل کیفیت و هزینه.
- Astra: ۲۹۰ تا ۵۵۰ کریدیت، ۱۳ تا ۱۶ دقیقه. صیقلخوردهترین صفحات.
- Terra: ۸۵ تا ۲۱۰ کریدیت، ۵ تا ۱۲ دقیقه. سریعترین مدل، مناسب برای اپهای کوچکتر.
- Luna Max: ۳۵ تا ۵۵ کریدیت، ۳۳ تا ۶۲ دقیقه. کاملترین اما کندترین مدل.
- Luna High: ۲۵ تا ۵۰ کریدیت، ۲۲ تا ۴۱ دقیقه. تلاش متوسط.
- Luna Medium: ۱۰ تا ۳۰ کریدیت، ۱۴ تا ۲۰ دقیقه. مناسب برای پیشنویسهای سریع.
نکته: هر کریدیت برابر با یک سنت است. این تخمینها بر اساس سه تا چهار بار ساخت برای اپلیکیشنهای چهار صفحهای است و بسته به پیچیدگی تغییر میکند.
حاکمیت سازمانی
از آنجا که اپلیکیشن روی پلتفرم ToolJet اجرا میشود، بدون نیاز به کدنویسی سفارشی، امنیت در سطح سازمانی را به ارث میبرد. این شامل SSO و SCIM برای مدیریت خودکار کاربران از طریق SAML, OIDC یا LDAP، کنترل دسترسی مبتنی بر نقش (RBAC) برای محدود کردن مجوزها در سطح اپلیکیشن، منبع داده و هر کوئری، و لاگهای بازرسی (audit logs) برای ردیابی هر ورود، ویرایش و تصمیم تاییدیه جهت رعایت استانداردهای انطباق است.
برای محیطهای با امنیت بالا، این پلتفرم استقرار ایزوله (Air-gapped) از طریق Docker یا Kubernetes را پشتیبانی میکند. این یعنی نقشههای حساس کف انبار و دادههای SKU در شبکه داخلی شرکت میمانند اما همچنان از قدرت تولید هوش مصنوعی بهره میبرند. سایر ویژگیهای سازمانی شامل ویرایش چندنفره (multiplayer) با نسخهبندی و همگامسازی با Git، و قابلیت اجرای ToolJet AI در محیط اختصاصی (tenancy) کاربر است.
توصیههای کنترل دسترسی
اگرچه در ساخت اولیه گروههای کاربری ایجاد نشد، اما پیکربندی پیشنهادی برای یک محیط زنده شامل تفکیک نقشهای عملیاتی است:
- مدیران انبار و مهندسان CI: دارای مجوزهای ایجاد، ویرایش و ذخیره چیدمانها.
- سرپرستان شیفت: دارای دسترسی فقط-خواندنی برای باز کردن و مقایسه چیدمانها بدون قابلیت تغییر آنها.
برای اجرای این مدل، مدیران باید دو گروه فضای کاری در ToolJet (یک گروه ویرایشگر و یک گروه فقط-خواندنی) ایجاد کرده و مجوزهای اپلیکیشن را بر آن اساس تنظیم کنند. تا زمانی که این تنظیمات اعمال نشود، هر کسی که به اپلیکیشن دسترسی دارد میتواند چیدمانها را تغییر دهد.
تحلیل: تغییر به سمت «تولید در زمان اجرا» (Runtime Generation)
این توسعه نشاندهنده تغییری از «هوش مصنوعی به عنوان کدنویس» به «هوش مصنوعی به عنوان معمار اپلیکیشن» است. ToolJet با تولید پیکربندی زمان اجرا — یعنی کوئریها، روابط دادهای و مجوزها — به جای تولید صرف کد React یا HTML، بدهی فنی (technical debt) مرتبط با نرمافزارهای تولیدشده توسط AI را کاهش میدهد. این رویکرد مشابه آن چیزی است که در ساخت مراکز فرماندهی اعزام (Dispatch Command Centre) با یک پرامپت مشاهده شد و نشان میدهد که اپلیکیشنهای داخلی پیچیده دیگر نیازمند ماههای توسعه نیستند. مسیر پس از تولید همچنان باز است و به کاربران اجازه میدهد بین تولید AI، ویرایش بصری و کد سفارشی (در صورت نیاز به منطق خاص) جابهجا شوند.
برای صنعت لجستیک — شامل مراکز توزیع، انبارهای 3PL، مراکز تکمیل سفارش تجارت الکترونیک و تولیدکنندگانی با انبارهای کالای نهایی — این امر مانع ورود به مهندسی «بهبود مستمر» (CI) را کاهش میدهد. هر سایتی که نیاز به تغییر جایگاه قفسهها و وجوه برداشت دارد، در حالی که باید راهروهای لیفتراک، خروجیهای اضطراری و مناطق ایمنی را باز نگه دارد، میتواند از این ابزار بهره ببرد. انبارهای کوچک و متوسطی که توان مالی خرید مجموعههای نرمافزاری سفارشی را ندارند، اکنون میتوانند ابزارهای برنامهریزی اختصاصی بسازند که با تغییر فضای فیزیکی آنها تکامل یابد.
گام بعدی شما
کاربرانی که علاقهمند به بازسازی این گردشکار هستند میتوانند برای دریافت دستورالعملهای راهاندازی و عاملهای پشتیبانیشده به مخزن MCP در ToolJet مراجعه کنند. استفاده از پرامپت جامع (Consolidated Prompt) به کاربران اجازه میدهد اپلیکیشن را در یک مرحله بسازند، بدون اینکه نیاز باشد تاریخچه تکرارهای اصلاحی را بازسازی کنند. تکامل حیاتی بعدی که باید زیر نظر داشت این است که آیا این عاملها میتوانند فایلهای CAD واقعی را دریافت کنند تا فرآیند دیجیتالی کردن اولیه نقشه کف را خودکار سازند.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو