# مراجعة نموذج مستقل لإجابات Gemma 4 **التاريخ:** 2026-10-04 **المراجع:** Codex (نموذج منفصل عن Gemma 4 التي أنتجت الإجابات) **النطاق:** مراجعة ثابتة للإجابات الأربع عشرة المحفوظة في `HUMAN_REVIEW_2026-10.md` بمقارنتها مع مقتطف المرجع المسجل لكل حالة. ليست هذه مراجعة بشرية، ولا اختبارًا أعمى، ولا قياسًا لجودة عامة. ## المقياس - **0:** يناقض المرجع أو يختلق حقيقة أساسية. - **1:** لا يجيب عن المطلوب أو لا يقدم دليلًا كافيًا. - **2:** إجابة جزئية مع نقص مهم. - **3:** صحيحة إجمالًا مع نقص أو التباس صغير. - **4:** إجابة مباشرة وصحيحة ومسنودة. تعطي الدرجة وزنًا لصحة المعلومة واكتمال الإجابة. الامتناع الآمن أفضل من اختلاق معلومة، لكنه لا ينجح في سؤال الإجابة عندما يكون الدليل المطلوب متاحًا. ## النتائج | الحالة | الدرجة | الملاحظة | |---|---:|---| | `conversation-storage-ar` | 4 | يطابق المرجع مباشرة ويذكر SQLite واستمرار المحادثات. | | `image-model-ar` | 4 | يحدد Ministral 3:3b المحلي ودوره كما في المصدر. | | `preview-safety-ar` | 4 | يذكر بصمة SHA256 وموافقة المستخدم قبل التطبيق. | | `pdf-extraction-ar` | 3 | المعلومة صحيحة ومسنودة؛ أضيف تنبيه عام عن حدود المقاطع لا يغير الإجابة لكنه زائد. | | `voice-transcription-ar` | 4 | يطابق مسار Groq وWhisper وعودة النص للواجهة. | | `workspace-boundary-ar` | 3 | يذكر حدود الجذر والاستثناءات؛ صيغة «يستطيع» أضعف قليلًا من تقرير سلوك المنع الفعلي. | | `web-search-en` | 4 | ينقل وصف DuckDuckGo والمصادر المتعددة بدقة. | | `database-version-en` | 1 | لم يجب عن الترحيل رغم أن `migration.md` هو الملف المتوقع ونتيجة البحث تضمنت أدلة. الامتناع تجنب الاختلاق لكنه أخفق في الإجابة. | | `model-routing-ar` | 1 | لم يذكر `requested_model` أو `model` أو `auto_routed` رغم توفر `routing.md` ضمن النتائج المسجلة. | | `api-timeout-ar` | 4 | يذكر HTTP 504 والرسالة العربية ومعرّف الطلب. | | `skill-permissions-en` | 4 | يصف `allowed_tools` وتصفية الأدوات ورفض الاستدعاءات غير المسموحة. | | `long-guide-deep-approval-en` | 4 | يغطي مراجعة diff، تحقق بصمة الملف، والتأكيد الصريح قبل الكتابة. | | `pdf-archive-page-limit-en` | 4 | يجيب عن حد 30 صفحة مع ذكر المصدر. | | `scanned-pdf-ocr-deadline-en` | 4 | يطابق التاريخ المقروء بصريًا من الصفحة الأصلية: 17 October 2026. | **المجموع:** 48/56 (**85.7%**) على هذه الحالات فقط. **الإجابة غير المكتملة رغم توفر دليل مسجل:** حالتان من 14 (`database-version-en`, `model-routing-ar`). **التفسير:** النتيجة تشير إلى نقطتي فشل في توليد الإجابة فوق السياق المسترجع؛ لا تساوي دقة عامة أو معدل نجاح إنتاجي، والعينة صغيرة ومصطنعة. يلزم إصلاح الحالتين وإعادة تشغيل التقييم، ثم مراجعة بشرية مستقلة قبل اعتماد أي نتيجة. ## إعادة اختبار موجهة عبر API الحي في 2026-10-04 أُعيد تشغيل الحالتين السابقتين بعد إصلاح مشغّل التقييم كي يسجل مجلد fixtures المؤقت في API قبل الفهرسة ويلغي التسجيل بعد حذف عناصره. التقرير `evals/results/retrieval_targeted_agent_2026-10-04.json` يثبت أن التسجيل والفهرسة والتنظيف نجحت، وأن ترتيب المرجع والدليل بقي 1/1 في الحالتين. - `model-routing-ar`: أجاب Gemma هذه المرة بمقتطف `requested_model` و`model` و`auto_routed` من `routing.md`. نتيجة الإعادة 4/4 نوعيًا، لكن الحالة تبقى متغيرة بين التشغيلات لأن الإجابة الأساسية في التقرير الأقدم كانت امتناعًا. - `database-version-en`: كررت Gemma الامتناع عن الإجابة رغم أن البحث أعاد `migration.md` أولًا وسجل وجود `selected_version`. بقيت هذه حالة فشل مؤكدة تحتاج تحسين توجيه الإجابة فوق السياق. لا ندمج درجتي الإعادة مع مجموع 48/56 كي لا نخفي اختلاف التشغيل. يلزم اختبار تكراري مستقل ثم مراجعة بشرية للحسم. ## إعادة بعد إصلاح الوكيل أضيف في 2026-10-04 مسار احتياطي يعرض مقتطفات المعرفة عندما تكون إجابة النموذج امتناعًا أو إحالة إلى المصدر بلا محتوى. اجتاز اختبار الوكيل الكامل 21/21، ثم أعاد API مؤقت مع Gemma 4 تشغيل الحالتين: `database-version-en` عرض نص `migration.md` الحرفي مع المصدر، و`model-routing-ar` أجاب من `routing.md`. بقي ترتيب المرجع والدليل 1/1 في الحالتين. شُغّل API على منفذ وقاعدة مؤقتين، وأكد المشغّل حذف مستندات الفهرس وإلغاء تسجيل مساحة العمل قبل إيقاف الخدمة. النتيجة تثبت أن المحتوى المطلوب أصبح ظاهرًا في الحالتين، لكنها لا تحل محل إعادة تقييم المجموعة كاملة أو مراجعة بشرية. ## إعادة على الخدمة التي يستخدمها التطبيق في 2026-10-04 أُعيد تشغيل الحالتين على `127.0.0.1:8000` بعد إعادة تشغيل خدمة التطبيق. البحث وجد الملف والدليل في الحالتين (Hit@1=1.0، وظهور الدليل=1.0)، وأجاب Gemma عن `model-routing-ar`، لكنها عادت في `database-version-en` إلى صيغة امتناع جديدة: «لا يوجد مقطع ... يجيب مباشرة». كشف ذلك فجوة في كاشف الامتناع، لا في الاسترجاع. أضيفت الصيغة إلى الكشف واختبار انحدار مباشر، واجتازت مجموعة مهارات الوكيل 21/21. التقرير `evals/results/retrieval_live_api_restart_2026-10-04.json` يوثق الحالة قبل الإصلاح. ## إعادة إصلاح الامتناع على API منفصل بعد إضافة صيغة الامتناع الجديدة واختبارها، شُغّل API من الشفرة الحالية على `127.0.0.1:8129` بقاعدة SQLite اختبار مستقلة. أعاد `/health` الحالة `ok` مع Gemma 4. على سؤال الترحيل عرض الوكيل fallback بمقتطف `migration.md` الحرفي؛ وعلى سؤال التوجيه أعاد `requested_model` و`model` و`auto_routed` من `routing.md`. أُزيلت ملفات الفهرس، وأُلغي تسجيل المشروع والجلسة بعد التحقق. النتيجة المهيكلة في `evals/results/retrieval_live_api_fix_2026-10-04.json`. أُعيد تشغيل API التطبيق على `127.0.0.1:8000` بالشفرة الحالية مع توجيهه إلى ملف SQLite الموجود نفسه. أكد `/health` Gemma 4 وSQLite، وبقي ملف قاعدة المحادثات موجودًا. أُعيد السؤالان عبر المنفذ المستخدم من Flutter: جواب الترحيل عرض المقتطف الحرفي ومصدره، وجواب التوجيه أورد الحقول الثلاثة. أزيل فهرس الاختبار وتسجيل المشروع والجلسة بعد الطلب. ## المصادر - مجموعة النتائج المحفوظة: `evals/results/retrieval_project_agent_fresh_api_2026-10-03.json`، `evals/results/retrieval_long_pdf_agent_2026-10-03.json`، و`evals/results/retrieval_scanned_pdf_agent_2026-10-03.json`. - ورقة الحالات والأدلة والإجابات: `evals/HUMAN_REVIEW_2026-10.md`. - إعادة الاختبار الموجهة: `evals/results/retrieval_targeted_agent_2026-10-04.json`. - إعادة الاختبار بعد إصلاح الوكيل: `evals/results/retrieval_targeted_agent_fixed_2026-10-04.json`. - راجعت بصريًا الصفحة الوحيدة من `evals/fixtures/scanned_approval_notice.pdf`؛ الموعد ظاهر بوضوح كما ورد في OCR.