توجيه قدرات وكيل الذكاء الاصطناعي: AutoAttach وSuggest وFallback في Android
دليل عملي من FoneClaw يتتبع طلب Android واحدا من مطابقة القدرات وترتيب المرشحين إلى AutoAttach وSuggest وFallback والتفعيل والموافقة والتنفيذ والاسترداد.
- توجيه قدرات وكيل الذكاء الاصطناعي يعني تحويل طلب Android إلى قائمة قدرات مرشحة مرتبة حسب السياق والثقة والمخاطر، لا تشغيل كل أداة متاحة في كل محادثة.
- AutoAttach يضيف سياقا أو بيانات قدرة مفيدة، Suggest يعرض خيارا قابلا للمراجعة، وFallback يحافظ على مسار آمن عندما تكون المطابقة ناقصة أو غير مؤكدة.
- الاكتشاف والتفعيل والموافقة والتنفيذ حالات منفصلة؛ العثور على Plugin أو Skill أو أداة مناسبة لا يعني تثبيتها أو تشغيلها أو السماح لكل إجراء لاحق.
- في FoneClaw نطبق توجيه القدرات عبر 100+ built-in tools ومسارات Skills وWorkflows وPlugins محكومة، مع مراجعة التفعيل ومعاينة المهارات والموافقة قبل الأثر.
من طلب Android إلى قدرات مرشحة مرتبة
تخيل طلبا بسيطا: “لخص هذه الشاشة، ثم جهز رسالة قصيرة إلى سارة بالنتيجة”. توجيه قدرات وكيل الذكاء الاصطناعي يبدأ هنا، قبل أي تنفيذ. الوكيل لا يحمّل كل أدوات Android وكل Skills وكل Plugins في سياق واحد، ولا يفترض أن أول قدرة تشبه الطلب هي القدرة الصحيحة. الخطوة الأولى هي تحويل الطلب إلى نية، ثم استخراج السياق المطلوب، ثم ترتيب قدرات مرشحة: قراءة الشاشة، تلخيص النص، العثور على جهة الاتصال، تجهيز الرسالة، وربما فتح تطبيق الرسائل.
الترتيب مهم لأن بعض المرشحين معلوماتي وبعضهم مؤثر. قراءة الشاشة أو إرفاق ملخص سياقي لا تشبه إرسال رسالة. إذا كان الطلب يقول “جهز” لا “أرسل”، فالمرشح الأعلى يجب أن يكون مسودة قابلة للمراجعة. وإذا كان الاسم “سارة” يظهر في أكثر من جهة اتصال، يصبح السؤال التوضيحي مرشحا أقوى من تنفيذ الرسالة.
ما تعلمناه في FoneClaw هو أن المطابقة الدلالية وحدها ليست ترخيصا. يمكن أن تكون القدرة مناسبة لغويا وغير مناسبة لحالة الجهاز. قد تكون أداة الرسائل متاحة، لكن إذن جهات الاتصال غير ممنوح. قد تكون Skill ذات صلة، لكنها غير مفعلة. وقد تكون Plugin مكتشفة، لكنها تحتاج مراجعة قبل التفعيل. لذلك نعامل مطابقة القدرات حسب السياق كمرحلة قرار، لا كقفزة إلى التنفيذ.
إذا كان القارئ يريد قاموسا عاما لطبقات Tools وPlugins وSkills وWorkflows، فدليل أدوات وإضافات ومهارات وسير عمل FoneClaw: كيف تختار طبقة القدرة؟ يشرح الطبقات نفسها. أما هنا فنركز على آلية الاختيار داخل طلب واحد: من المرشح الأقرب؟ ما الثقة؟ ما المخاطر؟ وما الحالة التالية الصحيحة؟
اختيار AutoAttach أو Suggest أو Fallback
بعد ترتيب المرشحين، يحتاج الوكيل إلى اختيار مسار: AutoAttach أو Suggest أو Fallback. هذه ليست أسماء تجميلية؛ إنها ثلاث قرارات مختلفة. AutoAttach يعني أن السياق أو بيانات القدرة ذات صلة كافية لإضافتها إلى المحادثة أو التخطيط. Suggest يعني أن هناك خيارا مفيدا لكنه يحتاج رؤية المستخدم. Fallback يعني أن المسار المباشر غير واضح، فنحافظ على التقدم بطريقة آمنة لا تتجاوز السياسة أو الإذن.
| المسار | متى نستخدمه؟ | ما الذي يفعله؟ | ما الذي لا يفعله؟ |
|---|---|---|---|
| AutoAttach | عندما تكون الصلة عالية والمخاطر منخفضة، مثل إرفاق معلومات الشاشة التي اختارها المستخدم. | يضيف سياقا أو وصف قدرة يساعد النموذج على التخطيط. | لا ينفذ أداة ولا يرسل رسالة ولا يفعّل Plugin. |
| Suggest | عندما يوجد أكثر من مسار معقول أو عندما يحتاج المستخدم اختيارا مرئيا. | يعرض قدرة أو خطوة مقترحة للمراجعة. | لا يحوّل الاقتراح إلى موافقة على كل الأفعال اللاحقة. |
| Fallback | عندما تكون القدرة ناقصة أو الثقة منخفضة أو حالة الجهاز لا تسمح بالمسار الأصلي. | ينتقل إلى متابعة آمنة: سؤال توضيحي، مسودة، فتح إعداد، أو تعليمات قابلة للتنفيذ. | لا يتجاوز الأذونات ولا يثبّت شيئا بصمت ولا يعيد المحاولة بلا حد. |
في طلب “لخص هذه الشاشة”، قد يكون AutoAttach مناسبا إذا ضغط المستخدم زر إرفاق الشاشة الحالية. الوكيل يضيف لقطة أو وصفا أو بيانات سياقية إلى الطلب، ثم يخطط بناء عليها. أما إذا قال “استخدم الأداة المناسبة لإرسال النتيجة”، فقد نستخدم Suggest: هل تريد رسالة SMS، بريد، ملاحظة، أم مشاركة داخل تطبيق؟ هنا الاختيار المرئي جزء من جودة التجربة.
Fallback يظهر عندما لا يوجد مسار مباشر. إذا طلب المستخدم “أرسلها إلى سارة” وكانت هناك ثلاث جهات اتصال باسم سارة، فالعودة الآمنة هي سؤال توضيحي أو عرض المرشحين. وإذا كانت الرسائل غير متاحة، يمكن للوكيل تجهيز النص وتركه للمراجعة، أو فتح شاشة مناسبة عند دعم ذلك. Fallback ليس تراجعا في الذكاء؛ إنه ما يمنع الوكيل من تنفيذ شيء خاطئ بثقة زائدة.
تؤكد أنظمة أخرى الفكرة نفسها على مستوى النظام البيئي. يوضح إعلان GitHub عن Agent finder أن ترتيب الموارد ذات الصلة عند الطلب لا يعني تثبيتها بصمت، وأن الإعدادات والجهات الموثوقة تبقى جزءا من القرار. نستفيد من هذه القاعدة كتشبيه: المرشح الجيد ليس تفويضا تلقائيا.
فصل الاكتشاف والإرفاق والتفعيل والموافقة والتنفيذ
أكبر خطأ في توجيه أدوات Android هو خلط الحالات. الاكتشاف ليس إرفاقا، والإرفاق ليس تفعیلا، والتفعيل ليس موافقة على إجراء، والموافقة ليست نجاحا نهائيا. عندما نحافظ على هذه الحالات منفصلة، يصبح الوكيل قابلا للفهم والاختبار.
- الاكتشاف: يجد الوكيل أن قدرة أو Skill أو Plugin قد تكون مفيدة. هذه مرحلة معرفة فقط.
- الإرفاق: يضيف الوكيل سياقا أو بيانات قدرة إلى التخطيط عندما تكون ملائمة ومنخفضة المخاطر.
- التفعيل: يجعل المستخدم القدرة متاحة للاستخدام وفق مراجعة واضحة، خصوصا في Plugins أو Skills.
- الموافقة: يوافق المستخدم على إجراء محدد ذي أثر، مثل إرسال أو حذف أو اتصال أو تغيير إعداد.
- التنفيذ والتحقق: تنفذ الأداة المدعومة، ثم تظهر النتيجة أو سبب التوقف.
تصف مقالة Google Developers عن Agent Plugins Agent Plugins باعتبارها مواصفة مفتوحة ومحايدة للمورد لتغليف Agent Skills وMCP servers مع بيانات تغليف مشتركة. هذا مهم لأنه يجعل القدرة قابلة للوصف والنقل، لكنه لا يجعلها موثوقة أو مفعلة أو منفذة بمجرد ظهورها في قائمة. التغليف يصف ما يمكن أن يوجد؛ دورة الحياة تحدد ما يحدث على الهاتف.
في Android تصبح هذه الفروق أكثر حساسية. قد تكون أداة التقويم مفعلة، لكن حفظ حدث محدد يحتاج مراجعة الوقت والعنوان. قد تكون Plugin معروفة، لكن تفعيلها يحتاج مراجعة اعتمادياتها وسطحها. وقد تكون Skill محفوظة كمسودة، لكنها تبقى غير مفعلة حتى يعتمدها المستخدم. بهذا الشكل لا يصبح “وجدت قدرة مناسبة” مرادفا لعبارة “نفذت القدرة”.
لمن يريد التعمق في جانب اكتشاف الموارد والموثوقية على مستوى السجلات والكتالوجات، يفصل دليل Agentic Resource Discovery: اكتشاف موارد الوكلاء من ai-catalog.json إلى تفويض الهاتف طبقة discovery عن تفويض الهاتف. هذه الصفحة تبقي التركيز على ما يحدث بعد وصول قدرة مرشحة إلى طلب Android فعلي.
استخدام البيانات الوصفية والاعتماديات والثقة بأمان
حتى يكون توجيه الإضافات والمهارات مفيدا، يحتاج الموجه إلى مدخلات منظمة. أهمها هوية القدرة، وصف ما تفعله، الاعتماديات، نوع السياق المطلوب، المخاطر المتوقعة، وحالة الثقة. هذه البيانات لا تجعل القدرة آمنة تلقائيا، لكنها تمنع المطابقة العمياء.
الـ manifest يساعد على معرفة الاسم، النوع، القدرات المعلنة، والإصدار المنطقي للواجهة. الاعتماديات تخبرنا إن كانت القدرة تحتاج خدمة أخرى أو صلاحية Android أو Plugin إضافية. بيانات السياق تشرح ما إذا كانت القدرة تعمل على شاشة حالية، ملف، جهة اتصال، إشعار، أو حالة جهاز. أما الثقة فتجمع عوامل مثل مصدر القدرة، حالة التفعيل، نتائج الاستخدام السابقة، والغموض في الطلب.
في FoneClaw نتعامل مع الاعتماديات كشرط قبل التفعيل، لا كشيء نكتشفه بعد فشل المستخدم. إذا كانت قدرة تتطلب Plugin غير مفعل أو صلاحية غير ممنوحة، يجب أن يعرف الوكيل ذلك قبل اقتراح تنفيذ حساس. وإذا فشل تحديث مجموعة القدرات، نحافظ على حالة مقبولة معروفة بدلا من ترك النظام في وضع جزئي غير مفهوم. هذه الفكرة مهمة في الهاتف، لأن المستخدم لا يرى “الاعتماديات”؛ يرى فقط هل المهمة نجحت أم لا.
هناك أيضا خطر false positive. قد تبدو قدرة “مشاركة” مناسبة لطلب “أرسل”، لكنها ربما تعني مشاركة ملف لا إرسال رسالة. وقد تبدو Skill “تنظيم سفر” مناسبة لطلب تذكير بسيط لكنها أكثر من اللازم. لذلك يجب أن يقيس الموجه الثقة والغموض معا. كلما ارتفعت المخاطر أو قلّ السياق، انتقل المسار من AutoAttach إلى Suggest أو Fallback.
وعندما تتضمن القدرة صلاحيات أثناء التشغيل، يصبح فحص الأذونات جزءا من التوجيه. يناقش دليل أمان مهارات وكلاء الذكاء الاصطناعي: لماذا يحتاج وكيل الهاتف إلى فحص الأذونات أثناء التشغيل؟ هذه النقطة بعمق أكبر، خصوصا عندما تأتي القدرة من Skill أو امتداد قابل للتوسيع.
الاسترداد عند فقدان القدرة أو غموضها أو رفضها
لا يقاس موجه القدرات بعدد المطابقات الصحيحة فقط، بل بطريقة التعامل مع no-match والقدرات القديمة والمرفوضة والغامضة. إذا لم يجد الوكيل قدرة مناسبة، عليه أن يقول ذلك بوضوح ويقترح مسارا قابلا للمراجعة. إذا وجد قدرة لكنها غير مفعلة، يجب أن يشرح التفعيل كحالة منفصلة. وإذا رفض المستخدم إذنا أو موافقة، تبقى المهمة قابلة للتوقف أو التحويل إلى مسودة.
هناك أربع حالات فشل شائعة. الأولى قدرة مفقودة: يطلب المستخدم إجراء لا يدعمه الجهاز أو FoneClaw حاليا. المسار الجيد هو شرح حدود المهمة واقتراح خطوة يدوية أو مسودة. الثانية اعتماد قديم: القدرة موجودة لكن Plugin أو Skill أو إذنها لم يعد صالحا. هنا يحتاج الوكيل إلى تحديث أو مراجعة، لا إلى تنفيذ. الثالثة إذن مرفوض: يمكن فتح شاشة الإعداد أو متابعة جزء غير حساس. الرابعة هدف غامض: مثل اسم جهة اتصال مكرر أو تطبيقات متعددة مناسبة.
استرداد الإذن يختلف عن إعادة محاولة النموذج. إعادة صياغة الطلب قد لا تمنح إذن التقويم. وتغيير النموذج لا يحل أن التطبيق غير مثبت. لذلك نفصل في FoneClaw بين model retry واسترداد الحالة. إذا كان الفشل منطقيا، نطلب توضيحا. إذا كان الفشل في الإذن، نفتح مسار استرداد. وإذا كان الفشل في القدرة، نستخدم Fallback أو نتوقف بوضوح.
الموافقة المرئية هي جزء من الاسترداد أيضا. عندما تكون الثقة متوسطة، يمكن للوكيل أن يعرض سبب الاقتراح: “وجدت قدرة الرسائل لأنها تطابق طلب الإرسال، لكن هناك جهتي اتصال بالاسم نفسه”. من يريد تصميم هذه اللحظة بوضوح أكبر يمكنه قراءة واجهة موافقة وكيل الذكاء الاصطناعي على الهاتف: الثقة والسبب والاسترداد.
تطبيق توجيه القدرات المحكوم داخل FoneClaw
في FoneClaw نبني توجيه القدرات من داخل تجربة Android اليومية. المستخدم يطلب مهمة بلغة طبيعية، وقد يرفق الشاشة الحالية أو ملفا أو سياقا محددا. بعد ذلك يطابق FoneClaw المرشحين بين 100+ built-in tools وSkills وWorkflows وPlugins محكومة. هذه المطابقة تساعد النموذج على التخطيط، لكنها تبقى منفصلة عن التفعيل والموافقة والتنفيذ.
AutoAttach في FoneClaw يخدم السياق. عندما يطلب المستخدم تلخيص الشاشة الحالية من المساعد العائم ويضغط الإرفاق، يستطيع النظام إضافة سياق مناسب للمحادثة. هذا يجعل الطلب أدق من “افهم ما أراه” دون أن يتحول إلى أداة تنفذ إجراء. Suggest يظهر عندما توجد قدرة مفيدة لكن الاختيار يحتاج مراجعة: هل تريد حفظ النص كملاحظة، أم إنشاء تذكير، أم تجهيزه كرسالة؟ أما Fallback فيحافظ على المهمة عندما لا يوجد مسار مباشر: جهز مسودة، اسأل عن جهة الاتصال، افتح إعداد إذن، أو اشرح أن القدرة غير متاحة لهذا السياق.
Plugin activation في FoneClaw يمر بمراجعة مرئية. عندما تقترح قدرة من Plugin، لا نعامل الاقتراح كتثبيت صامت. المستخدم يرى التفعيل كقرار، والاعتماديات تُراجع قبل أن تصبح القدرة جزءا من المسار. Skill learning يستخدم معاينة وتأكيد قبل حفظ مسودة غير مفعلة، بحيث يبقى التعلم مرحلة قابلة للمراجعة لا سلطة تنفيذ تلقائية.
ما تعلمناه من بناء FoneClaw أن هذه الحدود ليست احتكاكا زائدا؛ إنها ما يجعل الوكيل صالحا للثقة. إذا طلب المستخدم “نظم هذا في مهمة”، لا نحتاج أكبر نظام تفويض في العالم. لكن إذا طلب “أرسل إلى العميل” أو “غيّر وضع الهاتف” أو “افتح مسارا يحتاج إذنا”، يجب أن تظهر النتيجة قبل الأثر. لذلك يركز FoneClaw على أدوات Android مرئية وموافقات واسترداد أذونات واستمرار مهمة. يمكن مراجعة نطاق المنتج الحالي عبر ميزات FoneClaw، مع الحفاظ على تفاصيل القاموس العام في صفحاتها المتخصصة.
اختبار بسيط داخل FoneClaw: افتح شاشة تحتوي نصا غير حساسا، أرفق الشاشة الحالية، واطلب “حوّل هذه الفقرة إلى ملاحظة، ثم اقترح تذكيرا دون حفظه”. يجب أن ترى AutoAttach للسياق، ثم Suggest للتذكير، ثم موافقة منفصلة قبل أي حفظ. بعد ذلك جرّب no-match: اطلب قدرة غير مفعلة أو هدفا غامضا. الجودة هنا تظهر في السؤال أو Fallback، لا في التظاهر بأن كل شيء متاح.
سبعة فحوص لاختبار موجه القدرات
سواء كنت تبني موجه قدرات أو تقيم وكيل هاتف، استخدم سبعة فحوص عملية. لا تختبر accuracy فقط؛ اختبر الحالات التي تميز الوكيل المسؤول عن المطابقة المتحمسة.
- جودة المرشحين: هل تظهر القدرات المناسبة أولا، وهل تُستبعد القدرات الواسعة أو الخطرة؟
- false positive: هل يخطئ الموجه بين مشاركة ملف وإرسال رسالة، أو بين ملاحظة وتذكير؟
- no-match: ماذا يحدث عندما لا توجد قدرة مناسبة؟ يجب أن يظهر توقف أو Fallback مفهوم.
- حالة الاعتماديات: هل يعرف الموجه أن Plugin أو إذنا أو تطبيق هدف غير جاهز؟
- حدود AutoAttach: هل يرفق السياق دون تشغيل أداة أو تنفيذ أثر؟
- وضوح Suggest: هل يرى المستخدم سبب الاقتراح وخياراته قبل المتابعة؟
- حد الموافقة: هل تبقى الرسائل والمكالمات والحذف وتغييرات الإعدادات منفصلة عن المطابقة؟
الخلاصة أن توجيه قدرات وكيل الذكاء الاصطناعي ليس قائمة أدوات أطول. إنه شجرة قرار: طلب، سياق، مرشحون، AutoAttach أو Suggest أو Fallback، ثم تفعيل وموافقة وتنفيذ واسترداد عند الحاجة. في FoneClaw نبني هذه الشجرة كي تصبح إجراءات Android المدعومة قابلة للفهم، لا مجرد وعد بأن الوكيل “سيعرف ماذا يفعل”.