
شنو هو Sprix SAGE Router؟
Sprix SAGE Router هو مشروع بحثي مفتوح المصدر مكتوب بـPython، كيساعد يحدّد كيفاش خاص لوكلاء الذكاء الاصطناعي ينفّذو مهمة من بعد ما تكون الخدمة بدات. SAGE كتعني State-Aware Graph Exchange. كيتخدم بين اكتشاف الوكلاء وتنفيذ المهمة، وكيختار إعداد ممكن للوكلاء مع مراعاة التقدّم الحالي، والقدرات، والصلاحيات، والتكلفة، ووقت الاستجابة، والتبعيات، وضياع السياق أثناء النقل.
الراوتر كيقارن بين ثلاثة ديال أنماط التنفيذ:
- SELF: الوكيل الحالي كيكمل بوحدو ملي كتكون القدرات ديالو والسياق اللي جمعو كافيين.
- COLLABORATE: الوكيل الحالي كيبقى مسؤول على المهمة، بينما وكلاء مكمّلين كيتكلفو بالمتطلبات الناقصة.
- HANDOFF: وكيل آخر كيتكلف بالمهمة كاملة ملي كتكون الأفضلية التخصصية ديالو أكبر من تكلفة نقل السياق.
SAGE متصمّم باش يخدم فوق بروتوكول Agent2Agent. A2A كيحدّد بطاقات الوكلاء القابلة للتشغيل البيني، والمهام، والرسائل، والنتائج، والمصادقة، وطرق النقل. أما SAGE كيعالج سؤال مختلف: شنو هو الإعداد المؤهّل اللي خاصو ينفّذ المهمة، وبأي نمط، وعلاش؟
النموذج الأولي الحالي كيرجع قرارات التوجيه. ما كينقلش المهام للوكلاء، وبالتالي خاص عميل A2A أو طبقة تنفيذ أخرى تنفّذ المسار المختار.
أهم خصائص التوجيه
SAGE كيجمع التوجيه، والجدولة، والتعلّم عبر الإنترنت فعملية قرار وحدة وقابلة للفحص. ومن بين الخصائص الرئيسية ديالو:
- التوجيه بثلاثة أنماط: مرشحو SELF وCOLLABORATE وHANDOFF كيتنافسو حسب نفس هدف المنفعة.
- إعادة التخطيط حسب التقدّم: التقدّم المتراكم، والمنفّذون النشيطون، والإخفاقات، وعُقد المهام المكتملة، والسياق القابل للنقل يقدرو يأثرو على واش التبديل مستاهل ولا لا.
- اختيار فريق مكمّل: الفرق كيتكافأو على إضافة تغطية للمتطلبات، ماشي على جمع وكلاء مكرّرين وعندهم ترتيب عالي.
- الثقة السياقية: الموثوقية كتتعلّم لكل وكيل ولكل متطلب، بلا ما تختزل فتنقيط عالمي واحد للسمعة.
- الجدولة حسب Task-DAG: المتطلبات كتتوزّع على المنفّذين، بينما حواف التبعيات كتحكم فترتيب التنفيذ، وطوبولوجيا التواصل، ووقت المسار الحرج.
- البحث المحدود: بحث الحزمة كيقيم عدة بادئات لفرق التعاون، عوض اتخاذ اختيار جشع واحد.
- التصفية أولاً حسب القيود: الوكلاء غير المؤهلين كيتحيدو قبل الترتيب، كيفما كانت الجودة المتوقعة ديالهم.
- التعلّم المعتمد على الأدلة: تنقيطات المتطلبات، والتكاليف الفعلية، ووقت الاستجابة الفعلي يقدرو يحدّثو الثقة، والتآزر، ونموذج النجاح، ودقة العروض.
- نتائج قابلة للتدقيق: القرارات كتكشف النمط المختار، والتعيينات، والطوبولوجيا، والنجاح المتوقع، والتغطية، والتكلفة، ووقت الاستجابة، والمخاطر، والمنفعة، والتبرير.
كيفاش الخوارزمية كتقيّم المسار
بالنسبة لكل متطلب فالمهمة، SAGE كيجمع بين الثقة العامة والثقة المرتبطة بالمتطلب باش يقدّر القدرة المعايرة ديال الوكيل. تغطية الفريق كتزاد ملي كيضيف الأعضاء قدرات مفيدة وماشي مكرّرة. من بعد، كل متطلب باقي كيتعيّن لأقوى عضو فالفريق حسب المعايرة.
الجدولة كتحترم رسم التبعيات ديال المتطلبات. الخدمة المعيّنة لوكيل واحد كتتنفّذ بالتسلسل، بينما الخدمة المستقلة المعيّنة لوكلاء مختلفين تقدر تخدم بالتوازي. من بعد ما كيبني فريق مرشّح، SAGE كيتأكد من تكلفة الفريق ووقت المسار الحرج مقارنة بالميزانية والموعد النهائي ديال المهمة.
المرشحون الممكنون كيتّرتبو باستعمال دالة منفعة كتوازن بين قيمة النجاح المتوقعة من جهة، والتكلفة، ووقت الاستجابة، والمخاطر، وضياع السياق أثناء النقل، ومصاريف التنسيق، وعدم اليقين من جهة أخرى. هاد الشي كيخلي متخصص أقوى يخسر أمام الوكيل الحالي ملي كيكون تسليم المهمة غادي يضيّع بزاف من السياق المفيد. وكيخلي حتى فريق مكمّل يتفوّق على مجموعة مرموقة ولكن مكرّرة من الوكلاء.
تثبيت المشروع والتحقق منو
المتطلبات المسبقة
التنفيذ المرجعي كيحتاج Python 3.10 أو أحدث. وحسب ملف README ديال المشروع، ما عندوش حتى تبعية وقت التشغيل.
نسخ المستودع
git clone https://github.com/wang2122/sprix-sage-router.git
cd sprix-sage-router
python demo.py
السكربت demo.py كيقدّم مثال واضح من البداية حتى للنهاية. وبما أن المستودع كيعرض التنفيذ ديالو مباشرة عبر sprix_sage.py، فالبداية السريعة ما كتحتاجش أمر منفصل لتثبيت الحزمة.
تشغيل الاختبارات والمعيار
python -m unittest -v
python benchmark.py
اختبارات الوحدة كتحقق من السلوك المتوقع ديال الراوتر. والمعيار كيشغّل محاكي لاخطي خارجي عبر بذور حتمية، وكيخلي بالإمكان مقارنة النسختين الثابتة وعبر الإنترنت ديال SAGE مع استراتيجيات توجيه أبسط.
إنشاء أول سيناريو للتوجيه
الخطوة 1: استيراد الأنواع الأساسية
from sprix_sage import (
Agent,
ExecutionOutcome,
Requirement,
SAGERouter,
Task,
)
هاد المثال كيستعمل Agent لوصف المرشحين، وRequirement وTask لتحديد الخدمة، وSAGERouter لاختيار المسار، وExecutionOutcome لإرجاع الأدلة من بعد التنفيذ.
الخطوة 2: تحديد الوكلاء المتاحين
agents = [
Agent(
"planner",
{"planning": 0.92, "coding": 0.55},
cost=0.08,
latency_ms=900,
),
Agent(
"coder",
{"planning": 0.35, "coding": 0.96},
cost=0.12,
latency_ms=1200,
),
]
كل وكيل عندو معرّف، ومتّجه ديال القدرات، وتقدير للتكلفة، وتقدير للتأخير. هنا، planner قوي فالتخطيط، بينما coder أقوى فالبرمجة. هاد الفرق كيخلّي SAGE يفكّر فالتعاون ولا تحويل المهمة، عوض ما يرتّب الوكلاء حسب نقطة وحدة شاملة.
الخطوة 3: نمذجة المتطلبات والتبعيات
task = Task(
"build-feature",
requirements=(
Requirement("planning", 0.4),
Requirement(
"coding",
0.6,
depends_on=("planning",),
),
),
value=1.0,
budget=0.30,
deadline_ms=4000,
progress=0.35,
)
المهمة فيها جوج متطلبات موزّنين. متطلب البرمجة تابع للتخطيط، وهاد الشي كينشئ DAG صغيرة اللي فيها خاص التخطيط يسالي قبل البرمجة. والمهمة كتوفّر حتى القيم اللي محتاجها التوجيه المقيّد:
valueكيمثّل قيمة الإتمام الناجح.budgetكيحدّد التكلفة المقبولة.deadline_msكيحدّد التأخير المجدول.progressكيعلم الموجّه بلي التنفيذ وصل دابا لـ 35 فالمية.
التقدّم مهم حيث تبديل المسؤولية وسط التنفيذ يقدر يسبّب ضياع فانتقال السياق. لذلك، التفوّق فالقُدرة ديال المتخصص ما كيعنيش بالضرورة أن التحويل هو أحسن مسار.
الخطوة 4: وجّه المهمة
router = SAGERouter(
agents,
incumbent_id="planner",
)
decision = router.route(task)
print(decision.mode)
print(decision.assignments)
print(decision.topology)
المسؤول الحالي هو الوكيل اللي كيمتلك المهمة فهاد اللحظة. استدعاء route كيقارن بين المرشحين القابلين للتنفيذ ديال SELF وCOLLABORATE وHANDOFF. والقرار الراجع تقدر تفحصو عبر حقول بحال:
decision.modeللنمط المختار فالتنفيذ.decision.assignmentsلتعيينات الأدوار بين المتطلبات والوكلاء.decision.topologyلبنية التواصل الناتجة على التبعيات.
ما تفترضش أن هاد السيناريو بالضرورة غادي يعطي ديما نفس النمط. النتيجة كتتعلّق بالتقديرات المعايرة ديال الموجّه، والقيود، والتقدّم، والحالة المتعلّمة.
تعلّم من نتائج التنفيذ
التوجيه غير هو النصّ اللول من سير العمل. من بعد ما ينفّذو الوكلاء المختارين المهمة، رجّع أقوى دليل متوفّر للموجّه:
router.record_outcome(
decision,
ExecutionOutcome(
success=0.9,
requirement_scores={
"planning": 0.95,
"coding": 0.86,
},
actual_cost=0.19,
actual_latency_ms=1450,
),
)
قيمة النجاح العامة كتعطي للموجّه نتيجة على مستوى المهمة. والنقط الخاصة بكل متطلب كتوفّر إسناداً أدقّ للمساهمة، وكتمنع أن كل عضو فالفريق ياخذ نفس التقدير. التكلفة والتأخير الفعليين كيساعدو فمعايرة التوقعات المستقبلية وعروض المزوّدين.
التوجيه المتكرر والتغذية الراجعة كيخلّيو SAGE، وهو خدام أونلاين، يحسّن الثقة السياقية، وتأثيرات الأزواج، وتوقعات النجاح، ودقّة العروض. باش يكون التعلّم مفيد، سجّل النتائج باستمرار وفضّل الأدلة المقاسة على تسميات النجاح العامة كلما كانت هاد الأدلة متوفّرة.
دمج SAGE مع نظام A2A
الدمج فالإنتاج يقدر يحوّل إشارات البروتوكول والسوق إلى تمثيلات SAGE الداخلية:
- وحّد
AgentCard.skillsفمتّجهات ديال القدرات. - استعمل متطلبات الأمان كمرشّحات صلبة للصلاحيات.
- تحقّق من أوضاع الإدخال والإخراج المدعومة ومن التوافق قبل التنقيط.
- حوّل حالة المهمة، والنتائج، وعُقد DAG المكتملة، والإخفاقات إلى حالة التنفيذ الحالية وتقديرات ضياع الانتقال.
- مثّل عروض المزوّدين كعطاءات فيها التكلفة، والتأخير، ودرجة الثقة.
- استعمل تقييمات المهام المكتملة لتحديث الثقة السياقية، والبواقي الخاصة بالأزواج، وتوقعات النجاح، ودقّة العروض.
منين كيرجّع SAGE القرار، يقدر عميل A2A ينفّذو باستعمال عمليات البروتوكول بحال إرسال الرسائل، والبثّ، وتتبع المهام، ولا الإلغاء. خلّي الحدود واضحة: SAGE كيختار وكيشرح المسار، وطبقة A2A كتتكلف بالتواصل والتنفيذ.
نصائح للاستعمال المتقدم
نمذج المهمة على شكل DAG مفيدة
استعمل التبعيات باش تمثّل ترتيب التنفيذ الحقيقي، عوض تحطّ كل متطلب فلقائمة مسطّحة. التبعيات الدقيقة كتخلّي SAGE يميّز بين الخدمة المتسلسلة والخدمة المتوازية، ويعطي تقديراً أنفع للتأخير ديال المسار الحرج.
فضّل أوصافاً متكاملة للقدرات
وصف الوكلاء بقدرات على مستوى المتطلبات. نقطة عامة وحدة غادي تخبّي الفرق بين التخطيط، والبرمجة، والبحث، ولا مهارات أخرى، وغادي تضعّف الثقة السياقية وتعيين الأدوار.
اعتبر الصلاحيات قيوداً صلبة
ما تستعملش الجودة المتوقعة باش تتجاوز قواعد الولوج. تصميم SAGE اللي كيحطّ الصلاحيات أولاً كيتوقّع إقصاء الوكلاء غير المؤهلين قبل ترتيب المرشحين. وفحوصات التوافق، والمصادقة، والسياسات خاصها حتى هي تدوز قبل التنفيذ.
استعمل ميزانيات وآجال واقعية
SAGE كيفحص القيود أثناء بناء المرشحين وكيعاود يفحصها على مستوى الفريق. عطِ للمهمة ميزانيات وآجال خاصة بها، باش ما يتمش اختيار مجموعة من الوكلاء باينة جذابة بشكل فردي ولكن التكلفة المجمّعة ديالها ولا المسار الحرج ديالها غير قابل للتنفيذ.
فحص القرارات عوض تستعمل غير النمط
راجع التعيينات، والطوبولوجيا، والتغطية، والنجاح المتوقع، والتكلفة، والتأخير، والمخاطر، والمنفعة، والتبرير. مسار التدقيق يقدر يبيّن واش تختار المسار بسبب التكامل الحقيقي، ولا الاحتفاظ بسياق المسؤول الحالي، ولا انخفاض ضياع الانتقال، ولا قابلية احترام القيود.
قِس دقّة العروض
رجّع التكلفة الفعلية ووقت الاستجابة من بعد التنفيذ. بلا قيم ملاحظة، كيكون عند الراوتر دليل أقل باش يحدّد واش الثقة والسعر والتوقيت المقتارحين موثوقين.
قيّم المفاضلات باستعمال منفعة موحّدة
المعيار الاصطناعي المرفق كيبين بلّي SAGE عبر الإنترنت كيحقق جودة محاكاة ومنفعة موحّدة أعلى من النماذج الأساسية المذكورة، ولكن بإنفاق كثر من SAGE الثابت. هاد المفاضلة الواضحة مهمة: التوجيه ما خاصوش يخبي التكلفة ورا نقطة كتقيس غير القدرة.
المعيار اصطناعي وماشي دليل على التفوق فالعالم الحقيقي. التقييم فالنشر الفعلي كيحتاج لتنفيذات ممثّلة، ونماذج أساسية قوية للتوجيه، وتحليل المعايرة، وإعادة تشغيل آثار السوق، ووكلاء متنوعين، وظروف عدائية.
فهم حدود المعاينة البحثية
SAGE معاينة بحثية فمرحلة مبكرة، وماشي ضمان لمستوى الخدمة فالإنتاج ولا نتيجة محكّمة من طرف الأقران. السياسة الخفيفة المتعلّمة ديالو ما كتعاوضش التدريب على آثار حقيقية ولا التقييم السببي خارج السياسة.
قبل النشر فالإنتاج، كيوصي README بمقيّمين معايرين، وهويات موثّقة، وبيانات وصفية موقّعة على القدرات، ومراجعة الخصوصية والأمن، واسترجاع دائم مبني على الأحداث، ومراقبة، وتحقّق خاص بكل مهمة. المهايئات الحقيقية لاكتشاف A2A والتنفيذ والبث والإلغاء باقي داخلة فخارطة الطريق، وكذلك تشغيل الخدمات الموزعة ومراحل موافقة البشر.
موارد المستودع
sprix_sage.pyفيه الراوتر السياقي، وجدولة DAG، والبحث بالحزمة، والتحديثات عبر الإنترنت.demo.pyكيوفّر مثالاً من البداية حتى النهاية.benchmark.pyفيه المحاكي الخارجي وخطوط الأساس ديال المنفعة الموحّدة.test_sprix_sage.pyفيه اختبارات وحدات سلوكية.- ALGORITHM.md كيوثّق الهدف الرسمي، وعملية البحث، وإسناد الفضل، والحدود.
- مستودع GitHub فيه معلومات المساهمة، والأمن، والحكامة، والرخصة.
الخلاصة
Sprix SAGE Router كيوفّر تطبيقاً مرجعياً عملياً لمطابقة الوكلاء مع مراعاة الحالة. من خلال تمثيل العمل على شكل DAGs ديال المتطلبات، ومقارنة SELF وCOLLABORATE وHANDOFF ضمن قيود مشتركة، وإرجاع أدلة التنفيذ للراوتر، تقدر تجرّب قرارات متعددة الوكلاء قابلة للتدقيق، وكتاخد بعين الاعتبار الجودة المتوقعة والتكلفة التشغيلية بجوج.
بدا بـ demo.py، وعاود إنتاج المثال الأدنى، وتفحّص كل قرار ديال التوجيه، وشغّل الاختبارات والمعيار الاصطناعي. بالنسبة لنشر A2A الحقيقي، زِد مهايئاً مستقلاً للتنفيذ، وكمّل أعمال المصادقة، والأمن، وقابلية الرصد، والاسترجاع، والتحقق اللي كيتطلبها الوسط ديالك.
