يمكن لخط معالجة (pipeline) شبه مستقل يتكون من أربعة وكلاء (agents) تقليل الهلوسة في تحليل البيانات الاستكشافي (EDA) من خلال إبعاد النماذج اللغوية الكبيرة (LLMs) عن العمليات الحسابية وحصر دورها في اتخاذ القرارات التقديرية فقط. يتيح هذا التصميم للنموذج تحديد ما يجب فحصه، بينما يقوم كود برمجي بسيط، يتم تشغيله في بيئة معزولة (sandbox)، بإجراء الحسابات الفعلية، مما يقدم نتائج يمكن التحقق منها خطوة بخطوة.
لماذا تُعد استدعاءات LLM المنفردة محفوفة بالمخاطر
إن توجيه أمر (prompt) لنموذج LLM مثل "انظر إلى جدول البيانات هذا وأخبرني بما هو مثير للاهتمام" ينتج عنه كتلة نصية واحدة. يقوم النموذج باختراع أرقام، ويمزج بين الاستنتاج والمخرجات، ولا يقدم أي أثر لكيفية الوصول إلى النتيجة. وعندما يحدث "هلوسة" — مثل إحصائية مفبركة أو ارتباط زائف — لا توجد نقطة تفتيش لاكتشاف الخطأ قبل وصوله إلى المستخدم.
الفكرة وراء خط المعالجة شبه المستقل
يقسم سير العمل الجديد عملية الـ EDA إلى أربع مراحل ثابتة، يتولى كل منها وكيل خاص به. يتبع الوكلاء نمط "التخطيط ثم التنفيذ": حيث يقررون أولاً أي عملية مطلوبة، ثم يسلمون العملية إلى كود برمجي في بيئة معزولة (sandbox) ليقوم بتنفيذها فعلياً. لا يقوم الـ LLM أبداً بإجراء عمليات حسابية أو معالجة الملفات؛ بل يقتصر دوره على إصدار الأحكام بشأن مدى صلة البيانات.
الوكلاء الأربعة
- وكيل تنظيف البيانات (Data-cleaning agent) – يفحص أنواع الأعمدة، ويحدد القيم المفقودة، ويقرر استراتيجيات التعويض (imputation) أو تحويل الأنواع.
- وكيل تحليل الأعمدة (Column-analysis agent) – يختار التصورات البيانية المناسبة (المخططات التكرارية histograms، والمخططات الصندوقية box plots، إلخ) لكل متغير بناءً على نوع بياناته وتوزيعه.
- وكيل تحليل العلاقات (Relationship-analysis agent) – يقيم كل زوج من الأعمدة، ويختار الأزواج التي تستحق اختباراً إحصائياً أعمق، ويرتبها حسب الأهمية المحتملة.
- وكيل كتابة التقارير (Report-writing agent) – يترجم المخططات الناتجة والإحصائيات المحسوبة إلى تفسيرات بلغة طبيعية، مع تسليط الضوء على الأنماط الجديرة بالملاحظة والتحذيرات.
تعمل كل مرحلة بشكل مستقل، لذا يمكن لوكيلي تحليل الأعمدة وتحليل العلاقات التنفيذ بالتوازي، مما يقلل الوقت المستغرق في سير العمل الإجمالي.
كيف يتم الحد من الاستقلالية
قاعدة السلامة في خط المعالجة بسيطة: أي كود يكتبه النموذج يعمل داخل بيئة معزولة (sandbox) تعزله عن النظام المضيف. إذا فشل التنفيذ، يتم إرسال الخطأ مرة أخرى إلى النموذج، والذي يحصل على محاولتين كحد أقصى لتصحيح النص البرمجي قبل إيقاف خط المعالجة. هذا يمنع الحلقات اللانهائية ويضمن عدم قيام النموذج أبداً بالتلاعب بالملفات مباشرة أو إجراء عمليات حسابية.
ولأن دور النموذج يقتصر على تحديد ما يجب حسابه، فإن الأرقام الفعلية تأتي دائماً من كود برمجي حتمي (deterministic). إذا اشتبه وكيل تحليل العلاقات في وجود صلة بين "Order ID" و"Month"، تقوم البيئة المعزولة بتشغيل دالة ارتباط (correlation function)، وتعيد القيمة الدقيقة، وعندها فقط يعلق النموذج على ما إذا كان الارتباط سببيًا أم مجرد صدفة.
ما الذي يحله هذا النظام – وما هي تكلفته
تقليل الهلوسة. من خلال فصل الاستنتاج عن الحساب، يقضي خط المعالجة على المصدر الأكثر شيوعاً للإحصائيات المفبركة: تخمين النموذج للأرقام بدلاً من ترك الكود البرمجي يولدها.
الوحداتية (Modularity). إضافة مرحلة جديدة — مثل وكيل التنبؤ بالسلاسل الزمنية — لا تتطلب إعادة كتابة الأمر (prompt) بالكامل. فكل وكيل هو وحدة مستقلة بذاتها يتم دمجها في التسلسل الثابت.
مكاسب السرعة. يؤدي التنفيذ المتوازي للوكلاء المستقلين إلى تقليل الوقت الفعلي المستغرق مقارنة باستدعاء LLM واحد ضخم (monolithic) يجب أن ينفذ كل خطوة بالتتابع.
عبء التعقيد. المقابل هو بنية أكثر تعقيداً؛ حيث تحتاج الفرق إلى صيانة بيئة الـ sandbox، والتعامل مع حلقات إرجاع الأخطاء، وتنسيق عمل عدة وكلاء.
ما يجب مراقبته مستقبلاً
- تكامل الأدوات. قد تساهم أطر العمل مفتوحة المصدر التي تجرد خطوة التنفيذ في البيئة المعزولة في تقليل العبء الهندسي وجعل هذا النمط أكثر سهولة في الاستخدام.
- عقود الوكلاء الموحدة. مع اعتماد المزيد من الفرق لخطوط المعالجة متعددة الوكلاء، قد تظهر واجهات مشتركة لوكلاء "التخطيط ثم التنفيذ"، مما يسهل التوافق التشغيلي.
الدرس الأساسي واضح: امنح الـ LLM حرية التفكير، لا القدرة على الحساب. من خلال حصر استقلاليته في إصدار الأحكام وتمرير كل رقم عبر كود معزول، ينتج خط معالجة الـ EDA شبه المستقل نتائج يمكنك التحقق منها، والثقة بها، ومشاركتها دون خوف من أرقام وهمية.
Source: https://dev.to/sraveend/agentic-but-only-semi-autonomous-designing-an-eda-pipeline-you-can-trust-4ha9
Community discussion: https://t.me/GyaanSetuAi
