الوكيل والذكاء الاصطناعي
في عصر تتسارع فيه خطوات التكنولوجيا، أصبح الذكاء الاصطناعي أحد أهم المجالات المطروحة على الساحة. في قلب هذا المجال، نجد مصطلح يتردد بكثرة.. الوكيل (Agent). ماذا يعني أن يكون لدينا وكيل؟ وما هو الوكيل من الأساس؟![]() |
| what is an ai agent - ما هو الوكيل في الذكاء الاصطناعي؟ |
تخيل يصديقي وكيلًا كائنًا افتراضيًا يمكنه التفكير، اتخاذ القرارات، والتفاعل مع المحيط من حوله، تمامًا مثل البشر. هذا الوكيل ليس مجرد برنامج عادي، بل هو نظام قادر على معالجة المعلومات، التعلم من التجارب السابقة، وتطوير استراتيجيات جديدة لحل المشكلات. في مقال اليوم، سنستكشف مفهوم الوكيل في الذكاء الاصطناعي (what is an ai agent)، مكوناته، أنواعه، وكيف يؤثر على حياتنا اليومية. الشرح سيكون مبسط بإذن الله قدر المستطاع. سعدت بوجودكم.
ما هو الوكيل (Agent)
أرأيت يصديقي (Devin) الذي ظهر في الفترة الأخيرة وأثار الذعر بين مجتمع المبرمجين، لمن لا يعرف (Devin)، هو كما تم تسميته "أول AI Software Engineer". يمكننا القول بأن الفكرة الرئيسية وراء (Devin) هي استخدام أكثر من وكيل بشكل تكاملي؛ لتنفيذ المهام المختلفة المتعلقة بتطوير البرمجيات. فمثلاً عندنا وكيل لكتابة الكود، وكيل للبحث على الانترنت، وكيل لتصحيح الأخطاء، وكيل للتخطيط وتنظيم المهام.. إلخ. باستخدام كل هؤلاء الوكلاء يمكننا تنفيذ مشروع برمجي كامل.
بكل بساطة يصديقي، يمكننا الآن تعريف الوكيل في الذكاء الاصطناعي بشكل عام، الوكيل هو نظام أو برنامج يتمتع بالقدرة على اتخاذ قرارات وتنفيذ مهام بشكل مستقل بناءً على الأهداف التي يتم تحديدها له. يمكن لهذا الوكيل استخدام الأدوات المتاحة له، مثل محركات البحث أو محررات الأكواد، لتنفيذ المهام المطلوبة بكفاءة.
صديقي المبرمج لا تقلق (هههه)، في الواقع وللأمانة، لا يوجد حتى الآن شئ اسمه AI Software Engineer مستقل تماماً. استخدام أكثر من وكيل في نظام واحد يمكن أن يعزز فعلاً من القدرة على إتمام المهام المعقدة، وهذا ما يعرف بالأنظمة متعددة الوكلاء (multi-agent systems)، ولكن ما أثير حول (Devin) شئ مبالغ فيه جداً، وتم نفي ذلك فيما بعد.
مكونات الوكيل
هناك ثلاث مكونات رئيسية لأي وكيل:
بنية الوكيل (Architecture) هي الشئ الاساسي أو الهيكل الذي سيعمل من خلاله الوكيل، قد تكون هذه البنية شئ مادي مثل الروبوت، وقد تكون شئ غير مادي على هيئة برنامج Software (لا يشترط أبداً يصديقي أن يكون الذكاء الاصطناعي أو الوكيل على شكل روبوت قد يكون مجرد فقط برنامج).
إذا كانت البنية مثلاً عبارة عن روبوت؛ فلا بد توفير هذه الأشياء في الروبوت: مستشعرات (Sensors) وأذرع آلية (Robotic Arms) ومحركات (Motors) ومشغلات لجعل الروبوت يتحرك (Actuators). المستشعرات لكي نمكن الروبوت من استشعار البيئة من حوله، وتجميع معلومات مثل الحرارة، الضوء، الصوت، الضغط، المسافة، وغيرها، وتحويلها إلى إشارات كهربائية يمكن للنظام بداخل الروبوت تفسيرها. على سبيل المثال، من خلال مستشعر الضوء سيتمكن الروبوت من معرفة ما إذا كان المكان مضاءً أو مظلمًا، ومن ثم يتعامل بشكل سليم مع الموقف. الأذرع لكي يتمكن من إلتقاط الأشياء وهكذا. المحركات (Motors) والمشغلات (Actuators) يعملان بشكل متناسق لتحريك الروبوت، وجعله ينفذ حركات دقيقة.
أما إذا كانت بنية الوكيل عبارة عن برنامج، فهنا يعتمد على أشياء مثل قواعد البيانات (Database) والـ APIs .. وهكذا.
2- Agent Function
بشكل أبسط، يمكن اعتبار الـ Agent function عبارة عن خريطة تربط المدخلات (أي المعلومات التي يتلقاها الوكيل من بيئته) بـ الإجراءات التي يجب أن يقوم بها. كلما تغيرت المدخلات، يقوم الوكيل بإعادة تقييم ما يجب عليه فعله بناءً على هذه الدالة.
3- Agent Program
الـ Agent Program هو التنفيذ الفعلي لدالة الوكيل Agent function. إذا قلنا أن الـ Agent function هي الخوارزمية أو النموذج الرياضي الذي يحدد كيف يجب أن يتصرف الوكيل في ظل ظروف معينة، فالـ Agent Program هو البرنامج الفعلي الذي يشغل هذه الخوارزمية ويقوم بتنفيذ القرارات الناتجة عنها.
للتوضيح أكثر، إذا كان هناك روبوت مكنسة كهربائية، فالـ Agent function هي الخوارزمية التي تقرر متى يجب على الروبوت أن يتوقف عن التنظيف وأن يعود للشحن، أو أن يتجنب الاصطدام بالجدار، بينما الـ Agent program هو البرنامج الذي يتحكم في حركة الروبوت، يتصل بالمستشعرات، ويتفاعل مع البيئة، وينفذ القرارات الناتجة عن الـ Agent function.
أنواع الوكلاء المختلفة
يوجد يصديقي عندنا خمسة أنواع رئيسية من الوكلاء، كل نوع مخصص لأداء نوع معين من المهام، يعتمد اختيار نوع الوكيل المناسب على سمات المهمة ومدى تعقيدها. فيما يلي سنذكر بإذن الله هذه الأنواع من الأبسط إلى الأكثر تقدماً:
أتذكر يصديقي الـ Agent function التي ذكرتها لك بالأعلى (إذا كان كذا.. أفعل كذا)، هذه هي الدالة الموجودة في هذا النوع.. دالة بسيطة جداً. فكرة هذا الوكيل أنه يعتمد على إدراكه اللحظي لاتخاذ القرارات؛ فليس عنده أي ذاكرة. يتصرف بناءً على مجموعة من القواعد تم برمجته عليها مسبقاً، فلا يستطيع التصرف في المواقف غير المتوقعة.
هذا النوع من الوكلاء يعمل فقط في بيئات تكون جميع المعلومات فيها متاحة تمامًا (بيئات يمكن ملاحظتها بالكامل). ومثال على ذلك يمكن عمل روبوت تنظيف بسيط باستخدام هذا النوع؛ فمثلاً نعطيه أوامر (عبر الـ Agent function) إذا كانت المستشعرات تكشف عن عقبة، قم بالتوجه إلى الاتجاه الآخر. إذا كانت المساحة نظيفة، قم بالعودة إلى نقطة البداية.
2- Model-based Reflex Agents
هذا النوع عنده ذاكرة داخلية يحتفظ بها بالمعلومات التي يستخلصها من تفاعلاته مع البيئة، ويستخدم مزيجًا من الإدراك الحالي والذاكرة للتكيف مع التغيرات. يتم تحديث النموذج عند تلقي معلومات جديدة، ويمكن لهذا النوع من الوكلاء العمل في بيئات جزئيًا قابلة للملاحظة، ولكن يظل محدودًا بمجموعة القواعد التى بداخل الـ Agent function.
3- Goal-based Agents
هذا النوع يمتلك ذاكرة أيضاً، ويعتمد على فكرة تحديد الأهداف مسبقًا. يمتلك القدرة على التخطيط واتخاذ قرارات بناءً على ما يجب تحقيقه (الهدف المراد الوصول إليه). يمكنه البحث عن طرق متعددة لتحقيق الهدف. يستخدم في التطبيقات الأكثر تعقيدًا، حيث يحتاج الوكيل إلى تحليل خيارات متعددة لتحقيق هدف معين.
مثال على ذلك، أنظمة الملاحة والتخطيط. يمكن استخدام فيها هذا النوع من الوكلاء.
4- Utility-based Agents
لا يكتفي هذا النوع بتحقيق الأهداف فقط، بل يسعي أيضًا إلى تعظيم المنفعة أو المكافأة، يقوم بقياس المنفعة بناءً على عوامل مثل التقدم نحو الهدف أو الوقت المطلوب أو تعقيد الحسابات.. وهكذا. يستخدم الوكيل في ذلك دالة تسمي دالة المنفعة (Utility Function)؛ فيتمكن من تقييم كل سيناريو، ومن ثم اختيار الأفعال التي تعظم المنفعة المتوقعة.
مثال على ذلك، أنظمة الملاحة التي لا تسعى فقط إلى أسرع طريق، ولكن أيضًا إلى توفير الوقود وتقليل الوقت في الازدحام وتكاليف الرسوم.
5- Learning Agents
هذا النوع هو الأكثر تقدماً، ويتعامل في الغالب مع المهام الأكثر تعقيداً، ما يميز هذا النوع أنه قادر على التعلم من التجارب الجديدة. يقوم بتحديث قاعدة معرفته وتحسين أدائه بمرور الوقت من خلال التفاعل مع البيئة، وبالطبع لديه ذاكرة أيضاً. يستطيع هذا الوكيل تحسين معرفته من خلال إدراك البيئة، تقديم Feedback حول جودة الأداء، اختيار الافعال بناءً على ما تعلمه، واقتراح أفعال جديدة يمكن تنفيذها.
مثال على ذلك، التوصيات الشخصية في مواقع التجارة الإلكترونية مثل أمازون وعلي بابا وغيرهم. يستطيع الوكيل، والتي بنيت في الغالب الـ Agent function لديه باستخدام تقنيات مثل تعلم الآلة والتعلم المعزز (Machine Learning & Reinforcement Learning)، التعلم من سلوك المستخدم وتفضيلاته لتقديم توصيات أكثر ملائمةً بمرور الوقت.
الوكيل في حياتنا اليومية
أعتقد أني بالفعل قد ذكرت بعض الصور الموجودة في حياتنا اليومية لاستخدام الوكلاء (Agents) على مدار المقال، مثل الوكيل من النوع Learning Agents الذي نراه على مواقع التجارة الإلكترونية وغيرها، هناك استخدام آخر مثير جداً سأختم به، وهو أن استخدام الوكيل يرفع من كفاءة الـ LLMS بشكل كبير، لدرجة أنه لو ضفنا وكيل إلى النسخة 3.5 ChatGpt ستكون أعلى في الكفاءة من النسخة 4 ChatGpt بدون وكيل (Agent + ChatGpt 3.5 > ChatGpt 4) وهذا هو الذي قاله Andrew Ng .
شاهد هذا الفيديو:
الخاتمة
وإلى هنا أعتقد أنكم قد قد كونتم صورة عامة عن ماذا يعني الـ Agent، وأود في نهاية المقال أن أعتذر عن أي خطأ علمي مسبقاً، تحريت الدقة قدر إستطاعتي، وأجتهدت في أن يكون الموضوع بسيط وسلس. أرجو لي ولكم التوفيق. إذا انتفعتم مني بشئ ولو بسيط؛ فلا تنسوني من صالح دعائكم.
كان معكم علي وحيد.
"اللهم إن كان من توفيق فمنك وحدك وإن كان من خطأ أو نسيان فمني ومن الشيطان."
التسميات
الذكاء الاصطناعي والتكنولوجيا
