
بقلم: ليلى | محررة أدوات المطورين · صوت تحريري بإشراف بشري
الوكلاء الذكيون تتعثر عند منحها 40 أداة ومهمة مفتوحة – هذا ليس نقصاً في الذكاء بل فرط في الخيارات. مشروع Statewright من Show HN يقدم حلاً جذرياً: بدلاً من تكبير النموذج، صغّر المشكلة باستخدام آلات الحالة المرئية التي تحدد بدقة أي أدوات متاحة في كل مرحلة.
النتائج صادمة – نموذجان بحجم 13.8GB و19.9GB انتقلا من نجاح 2 مهام من أصل 10 إلى نجاح كامل 10/10 على مجموعة فرعية من اختبار SWE-bench (وفقاً لتقرير البحث الرسمي). نفس المهام، نفس الأجهزة، لكن مع قيود هيكلية ذكية.
المفهوم بسيط لكن قوي: مرحلة التخطيط تحصل على أدوات قراءة فقط، مرحلة التنفيذ تفتح أدوات التحرير مع حجب العمليات المدمرة حتى لو كان Bash متاحاً، مرحلة الاختبار تسمح بأوامر اختبار محددة فقط. عند محاولة استخدام أداة محظورة، يحصل الوكيل على رسالة واضحة تشرح ما هو متاح وكيفية الانتقال.
- تثبيت الإضافة في Claude Code – استخدم الأمر `/plugin marketplace add statewright/statewright` ثم `/plugin install statewright`
- التسجيل والمصادقة – زيارة statewright.ai للتسجيل وتوليد مفتاح API ولصقه في المتصفح
- بدء سير العمل – كتابة `❯ start the bugfix workflow — fix the failing tests in calc.py` لتفعيل آلة الحالة
- تنفيذ المراحل تلقائياً – النظام ينتقل من planning إلى implementing إلى testing بناءً على شروط محددة
- المراقبة والتحكم – استخدام `/statewright start bugfix` مباشرة أو `statewright_deactivate` كمخرج طوارئ
المحرك التقني محكم البناء
القلب عبارة عن محرك Rust يقيّم تعريفات آلات الحالة: states، transitions، guards، tool restrictions. العملية حتمية تماماً – لا يوجد نموذج ذكي في حلقة التحكم. فوق ذلك تجلس طبقة إضافات تتكامل مع وكيل البرمجة عبر بروتوكول MCP.
عند تفعيل سير عمل، تطبق الخطافات قيود الأدوات لكل حالة تلقائياً. النموذج يرى 5 أدوات بدلاً من 30، يحصل على تعليمات واضحة للمرحلة الحالية، وينتقل عند استيفاء الشروط. النتيجة: النموذج يركز ويحلل بدلاً من التخبط.
التكامل متدرج حسب المنصة
Claude Code يحصل على إنفاذ صارم عبر Hooks + MCP – الأدوات تُحجب على مستوى البروتوكول قبل وصولها للنموذج. Codex في مرحلة ألفا مع إنفاذ صارم عبر hooks، opencode يستخدم إضافة TypeScript، Pi يعتمد على Skills extension.
Cursor مختلف – يحصل على نظام استشاري عبر MCP + rules لأن MCP وحده لا يستطيع منع استدعاءات الأدوات في معمارية Cursor. القواعد تُحقن في السياق لكن لا تُنفذ بقوة.
نموذج الأعمال والتسعير واضح
مجاني للمطورين الأفراد: 3 سير عمل، تاريخ 72 ساعة، $0. الخطة الاحترافية $29 شهرياً تقدم سير عمل غير محدود مع تاريخ 7 أيام. خطة الفرق $99 شهرياً تمتد التاريخ إلى 90 يوماً. الخدمة المُدارة على statewright.ai تتولى تخزين سير العمل وتاريخ التشغيل وبوابة MCP.
النشر الذاتي مدعوم – المحرك (crates/engine) مرخص Apache 2.0 وقابل للدمج بدون تبعيات وقت التشغيل. النشر الذاتي للمطورين الأفراد والفرق الصغيرة مسموح تحت رخصة FSL.
الحواجز الأمنية محكمة التطبيق
النظام يطبق طبقات حماية متعددة: إنفاذ الأدوات لكل حالة يجعل أدوات معينة غير مرئية عندما لا تكون في `allowed_tools`. تمييز Bash يحجب إعادة التوجيه `>>` والعمليات المدمرة `rm, shred` ومفسرات البرمجة في الحالات غير المخصصة للكتابة.
حراسة التحرير ترفض التغييرات التي تتجاوز `max_edit_lines` وتحد من الملفات المحررة لكل حالة. قوائم الأوامر المسموحة تطبق تطابق البادئة لـ`allowed_commands` لكل حالة. بوابات الموافقة تتطلب مراجعة بشرية قبل انتقالات عالية المخاطر عبر `requires_approval`.
البيانات البحثية تكشف الحدود الحقيقية
الاختبار على 5 مهام من SWE-bench (ليس المعيار الكامل 2294 مثيل) يوضح النمط: النماذج أقل من 13GB تستطيع إنتاج استدعاءات الأدوات لكن لا تحتفظ بمحتوى كافٍ من الملفات لإنتاج تعديلات دقيقة – هذا حد النموذج وليس قيد Statewright.
النماذج الحدودية مع التوجيهات الافتراضية تتعامل مع الأخطاء الكارثية الواضحة (حذف قواعد البيانات، تسريب الأوراق الاعتماد)… معظم الوقت. المكسب الهيكلي أكبر: كسر حلقات الموت في القراءة حيث النماذج تعيد قراءة نفس الملف 5+ مرات دون تحرير أبداً، والحفاظ على مساحة الأدوات صغيرة بما يكفي ليحلل النموذج فعلاً بدلاً من التخبط.
التحديات التقنية والحلول العملية
النظام يتطلب دعم MCP في الوكيل أو خطافات للوكلاء غير المدعومة. تعريفات سير العمل تُكتب يدوياً رغم أن الوكلاء تستطيع توليدها عبر `statewright_create_workflow`. إذا كان سير العمل مقيداً جداً، الوكيل يتعثر و`statewright_deactivate` يوفر مخرج طوارئ.
الوثائق الكاملة تتضمن دليل التثبيت وتأليف سير العمل ومرجع المخطط ومرجع أدوات MCP وسير العمل المولدة بواسطة الوكلاء. النماذج الحدودية تحتاج رموز أقل للإنجاز، والنماذج المحلية 13B+ تبدأ في حل مهام كانت ستفشل فيها.
آلات الحالة ليست DAGs – تتكرر وتعيد المحاولة، وهذا ما يحتاجه العمل الوكيلي فعلاً. أشر وكيلك إلى مخطط JSON ويولد سير عمل عبر `statewright_create_workflow`. عدّل الأدوات والأوامر وكتل البيئة في المحرر المرئي.







