أمثلة على تشغيل الوكلاء
نعرض هنا عمليات تشغيل حقيقية من بيئة الاختبار لدينا، خطوة بخطوة كما سجّلتها المنصة. في الأولى يجد سير العمل طريقًا آخر عندما يغيب أحد الملفات، وفي الثانية ينتقل فحص ضوابط الحماية إلى مزوّد آخر، وفي الثالثة يمنع فحص الجودة وصول إجابة ضعيفة إلى العميل.
الأمثلة من 1 إلى 3 عمليات تشغيل حقيقية من بيئة الاختبار في Blits.ai، اختصرناها وحذفنا منها كل ما يدل على الهوية، أي أسماء المساعدين والمستندات ومحتوى المحادثات. أما المثال 4 فللتوضيح فقط.
1. سير عمل يجد طريقًا آخر عندما يغيب الملف
على سير العمل أن يُعدّ تقريرًا عن العملاء بصيغة PDF، لكن الملف المحدد له غير موجود. تشغيل بتاريخ 12 أكتوبر 2026.
- بدء التشغيل
triggeredBy: "manual"يبدأ أحد المستخدمين سير العمل، ومهمته إعداد تقرير عن العملاء بصيغة PDF من ملف بيانات العملاء.
- خطأ
file_ingest → failed: trueيطلب الوكيل الملف customer_report.json، فتعيد الأداة «File not found» بعد 595 ms، ويُسجَّل الاستدعاء على أنه فاشل.
- قرار الوكيل
يعود الخطأ إلى الوكيل على أنه نتيجة الأداة. ولا يتوقف الوكيل عند ذلك، بل يبحث في المنصة عن مستند آخر متوفر فيها يحتوي على بيانات العملاء.
- استدعاء أداة
file_ingest → totalRows: 5000يفتح جدول بيانات من ورقة واحدة تضم 5,000 صف من بيانات العملاء، ويقرأ أعمدته: الاسم والجنس والبلد والعمر والتاريخ والمعرّف.
- استدعاء أداة
generate_scope_of_work → pdfيُعدّ الوكيل التقرير وينشئ ملف PDF بحجم 66 KB.
- النتيجة
status: "completed"اكتمل التشغيل دون أي تدخل بشري: 4 دورات، وعدد المحاولات 1، والمدة 28.4 ثانية. ويذكر الوكيل في ملخصه أن الملف المصدر لم يكن موجودًا، وأنه أعدّ التقرير من مصدر بديل.
مقتطف من السجل
"status": "completed", "iterations": 4, "attempts": 1, "durationMs": 28380,
"toolsUsed": [
{ "name": "file_ingest", "failed": true, "durationMs": 595,
"result": { "error": "File customer_report.json not found" } },
{ "name": "file_ingest", "durationMs": 1599,
"result": { "type": "excel", "sheetCount": 1, "totalRows": 5000 } },
{ "name": "generate_scope_of_work", "durationMs": 4073,
"result": { "success": true, "fileName": "customer_report_2026-10-12.pdf", "sizeBytes": 66348 } }
]2. فحص ضوابط الحماية ينتقل إلى مزوّد آخر
يجيب مساعد استشارات البطاقات، في بيئة اختبار لأحد البنوك، عن سؤال من أحد العملاء. وأثناء ذلك يتعطل النموذج الذي يتولى فحص ضوابط الحماية للمدخلات. رد في محادثة بتاريخ 6 أكتوبر 2026.
- رسالة
يطرح العميل سؤالًا عن البطاقات.
- قرار الوكيل
resolvedToolCalls: 0يراجع الوكيل الأدوات المتاحة له، ويقرر أنه يستطيع الإجابة دون استدعاء أي منها.
- خطأ
gemini-3.1-flash-liteيعمل فحص ضوابط الحماية للمدخلات على Gemini 3.1 Flash Lite، لكن النموذج يتعطل.
- بديل احتياطي
provider_fallback → gpt-4.1ينتقل الفحص إلى GPT 4.1 لدى OpenAI ويكتمل. ويُسجَّل هذا التحويل في سجل التتبع مع اسمي النموذجين.
- النتيجة
status: "success"ينتهي الرد بالحالة success. ويتلقى العميل إجابة عادية دون أن يلاحظ العطل.
مقتطف من السجل
{ "traceType": "policy_check", "requiresExecution": false, "resolvedToolRoles": [] }
{ "traceType": "latency", "stage": "chain_total", "usedTools": false }
{ "traceType": "provider_fallback", "stage": "input",
"from": "gemini-3.1-flash-lite", "toProvider": "OpenAI", "to": "gpt-4.1" }
status: "success"3. فحص الجودة يمنع وصول إجابة ضعيفة إلى العميل
يتلقى مساعد في بيئة الاختبار رسالة غامضة من كلمة واحدة. تحاول المنصة ثلاث مرات الوصول إلى إجابة مفيدة، ثم تحجب الإجابة. رد في محادثة بتاريخ 19 سبتمبر 2026.
- رسالة
يرسل المستخدم رسالة غامضة.
- ضوابط الحماية
enforce_rag_retryيخطط الوكيل لإجابته دون الرجوع إلى قاعدة المعرفة. لكن المنصة تشترط لهذا المساعد أن تستند إجاباته إلى قاعدة المعرفة، فتطلب منه إعادة التخطيط مع البحث فيها.
- استدعاء أداة
custom-rag-searchيجري البحث في قاعدة المعرفة، ثم يكتب الوكيل إجابته.
- ضوابط الحماية
quality: 30 / 100 → regenerateيمنح فحص الجودة الإجابة تقييم 30 من 100، لأنها لا تجيب عن السؤال وتكتفي بطلب توضيح. ويجري التقييم نفسه على نموذج بديل، لأن النموذج الأساسي المخصص له تعطل.
- قرار الوكيل
quality: 30 → regenerateيكتب الوكيل إجابة جديدة، ويأخذ سبب التقييم توجيهًا له. فتحصل مرة أخرى على 30، ويحاول من جديد.
- ضوابط الحماية
quality: 40 → max_regenerations_exhaustedتحصل الإجابة الثالثة على 40. وبذلك تبلغ إعادة التوليد حدها الأقصى، فتُرفض الإجابة.
- النتيجة
status: "blocked"تحجب ضوابط الحماية للمخرجات الإجابة، ويتلقى العميل الرسالة البديلة المضبوطة للمساعد بدل إجابة ضعيفة أو خاطئة.
مقتطف من السجل
{ "traceType": "enforce_rag_retry", "availableExecutionTools": ["custom-rag-search"] }
{ "traceType": "provider_fallback", "stage": "quality", "from": "gpt-5-pro", "to": "gpt-4.1" }
{ "traceType": "quality_check_evaluated", "attempt": 0, "score": 30, "action": "regenerate" }
{ "traceType": "quality_check_regenerated", "attempt": 1, "previousScore": 30 }
{ "traceType": "quality_check_evaluated", "attempt": 1, "score": 30, "action": "regenerate" }
{ "traceType": "quality_check_regenerated", "attempt": 2, "previousScore": 30 }
{ "traceType": "quality_check_evaluated", "attempt": 2, "score": 40, "action": "regenerate" }
{ "traceType": "quality_check_rejected", "finalScore": 40, "attempts": 3,
"reason": "max_regenerations_exhausted" }
output_guardrails_triggered4. طلب استرداد ينتظر الموافقة
يبلغ عميل عن خصم المبلغ منه مرتين. ولأن الاسترداد ينقل أموالًا، تتطلب أداة الاسترداد موافقة افتراضيًا.
- رسالة
العميل: «تم خصم قيمة الطلب نفسه من حسابي مرتين يوم أمس.»
- استدعاء أداة
get_transactionsيطّلع الوكيل على معاملات العميل، فيجد عمليتي خصم متطابقتين بقيمة 189 AED لكل منهما.
- موافقة
refund_transaction: "requires approval"يستدعي الوكيل أداة الاسترداد، لكنها تتطلب موافقة، فلا تعمل بعد.
- رسالة
يُبلغ الوكيل العميل بأن طلب الاسترداد قيد المراجعة، وبأنه سيتلقى الرد في هذه المحادثة نفسها.
- موافقة
approvedبعد 6 دقائق يوافق أحد الموظفين على الاسترداد من داخل المنصة، ويُسجَّل اسمه ووقت الموافقة.
- استدعاء أداة
refund_transaction → confirmedتعمل أداة الاسترداد، ويؤكد مزوّد خدمة الدفع إتمام الاسترداد.
- النتيجة
يؤكد الوكيل للعميل إتمام الاسترداد في المحادثة نفسها.
أمثلة على تشغيل الوكلاء: الأسئلة الشائعة
هل تودون رؤيتها تعمل على أنظمتكم؟
نعقد معكم جلسة عمل على حالة الاستخدام الخاصة بكم، ببياناتكم وبالنماذج التي تختارونها.
احجز مكالمة