كنت أعتقد أن بناء وكيل ذكاء اصطناعي (AI agent) هو ببساطة نفس عملية توجيه روبوت دردشة (chatbot). تطرح السؤال بشكل جيد، فيجيب النموذج، وينتهي الأمر. ثم قمت بإطلاق بعض التطبيقات، فصدمت بالواقع. الـ LLM ليس وكيلاً. الـ LLM يتنبأ بالـ token التالي فقط. الحلقة (the loop) هي ما يصنع الوكيل.

فكر في عملية صنع الشاي. أنت لا تطلق أمراً واحداً يسمى make_tea() ثم تبتعد. أنت تملأ الغلاية، وتدرك أن ضغط الصنبور منخفض، فتنتظر، ثم تشغلها، وتلاحظ أن المفتاح معطل، فتنتقل إلى موقد آخر، وتتحقق من البخار، ثم تصب الشاي، وتتذوقه، وربما تضيف العسل لأن الأوراق نقعت لفترة طويلة جداً. الهدف لا يتغير أبداً، لكن الخطوات تتغير. أنت تلاحظ، وتعدل، وتحاول مجدداً. تعمل وكلاء الذكاء الاصطناعي (AI agents) تماماً بهذا الشكل.

الدورة التي تخلق القدرة على التصرف (Agency)

الحلقة ليست مجرد نظرية مجردة، بل هي النبض التشغيلي لأي نظام يعمل نيابة عنك. إليك كيف تبدو في الواقع:

  • فكر (Think): يقوم النموذج بالتحليل المنطقي للهدف ويقرر ما يحتاجه. يسأل المستخدم: "هل يجب أن أحضر مظلة إلى بورتلاند غداً؟". يحدد النموذج أنه يحتاج إلى توقعات الطقس والموقع.
  • تصرف (Act): يستدعي النموذج أداة ما. قد يستدعي API الخاص بالترميز الجغرافي (geocoding) لتحديد موقع "Portland"، ثم يتصل بنقطة نهاية (endpoint) خاصة بالطقس باستخدام الإحداثيات.
  • لاحظ (Observe): يقرأ النموذج مخرجات الأداة. هل أعاد الـ API توقعات بتنسيق JSON، أم خطأ 403، أم صفحة صيانة بتنسيق HTML؟
  • حدّث (Update): بناءً على ما يراه، يراجع النموذج خطته. إذا أعاد محدد الموقع Portland, Maine بدلاً من Portland, Oregon، يحتاج النموذج إلى إزالة الغموض. إذا كان الـ API معطلاً، فقد ينتقل إلى مصدر احتياطي أو يسأل المستخدم.
  • فكر مجدداً (Think Again): تبدأ الدورة من جديد مع السياق الجديد.

هذه ليست خمس وظائف منفصلة تكتبها مرة واحدة ثم تنساها. إنها محرك مستمر يعمل حتى يتم الوصول إلى الهدف أو يتم تفعيل إيقاف قسري. النموذج لا ينفذ كوداً مثل نص برمجي (script)، بل يحلل منطقياً حالة العالم، ويختار إجراءً، ويقرأ النتيجة، ويقرر ما سيأتي بعد ذلك. هذا هو الفرق بين ميزة "الإكمال التلقائي" المتطورة وبين وكيل ينجز المهمة فعلياً.

لماذا تبدو جميع أطر العمل متشابهة

إذا قضيت وقتاً مع LangGraph أو CrewAI أو AutoGen، فمن المحتمل أنك لاحظت أنها بدأت تتشابه. يقوم LangGraph بنمذجة التدفق كرسم بياني مستمر من العقد (nodes) والحواف (edges). وينظم CrewAI الوكلاء في أدوار وفرق عمل. أما AutoGen فيقوم بتنسيق المحادثات بين الوكلاء المتعددين. تغليف مختلف، ولكن الهيكل العظمي واحد.

تبدو متشابهة لأنها جميعاً مصممة حول مبدأ الحلقة ذاته. يقوم LangGraph صراحةً بهيكلة الدورة كتحولات في الحالة (state transitions) بين استدعاءات الأدوات واستنتاجات النموذج. ويغلف CrewAI الحلقة داخل وكلاء قائمين على الأدوار، ولكن كل عضو في الفريق لا يزال يمر بدورة التخطيط، والتصرف، والملاحظة. ويقوم AutoGen بدور الوسيط في الرسائل بين الفاعلين، ومع ذلك تظل كل جولة هي تنويع على عمليات التوليد، والتنفيذ، والتفكير، والتوجيه.

تركز أطر العمل هذه على الحلقة لأن هذا هو المكان الذي تكمن فيه القدرة على التصرف. قد يكون النموذج الأساسي هو GPT-4 أو Claude أو نموذج مفتوح الأوزان (open-weight model) تم ضبطه بدقة. بدون الحلقة، سيكون لديك مجرد أداة مكلفة جداً لإكمال الجمل. ومع الحلقة، سيكون لديك نظام يمكنه الاستمرار نحو هدف ما عبر محاولات متعددة.

عندما يبدأ العمل الحقيقي

تبدو العروض التجريبية المحلية ساحرة، أما مرحلة الإنتاج فهي حيث يلتقي السحر بالفوضى. بمجرد تجاوز مرحلة بناء النماذج الأولية، ستتوقف عن حل مشكلات الذكاء الاصطناعي وتبدأ في حل مشكلات هندسة النظم.

فشل الأدوات أمر لا مفر منه. تنتهي مهلة الـ APIs، وتعيد ملفات JSON غير صالحة، أو تطلق أخطاء 500 مغلفة بتنسيق HTML. إذا كانت حلقتك تثق بشكل أعمى في كل مخرجات الأدوات، فسيقوم وكيلك بتخيل النجاح أو الغرق في دوامة من الارتباك. أنت بحاجة إلى منطق إعادة المحاولة (retry logic)، وقواطع الدائرة (circuit breakers)، والتحقق من المخطط (schema validation) على كل حمولة بيانات عائدة.

الذاكرة تصبح قديمة. يتذكر وكيلك أن قاعدة البيانات المفضلة للمستخدم هي PostgreSQL، لكن فريق البنية التحتية قام بنقل البيانات إلى عنقود (cluster) جديد ليلة أمس. بدون آلية لتحديث السياق أو انتهاء صلاحيته، سيقوم الوكيل بإصدار أوامر بثقة تجاه نقاط نهاية (endpoints) ميتة. تحتاج الذاكرة إلى طوابع زمنية، ودرجات ثقة، والقدرة على إبطال صلاحيتها ذاتياً.

الحلقات اللانهائية هي قاتل صامت. يبحث الوكيل في الويب، فلا يجد شيئاً مفيداً، فيقوم بتحسين الاستعلام قليلاً، ويبحث مرة أخرى، فلا يجد شيئاً، ويكرر العملية. بدون سقف أقصى للتكرار أو كشف التكرار الدلالي (semantic duplicate detection)، سيستهلك الوكيل الرموز (tokens) والأموال بينما ينتظر المستخدم. يجب عليك بناء حواجز حماية: حدود قصوى صارمة لإعادة المحاولة، وفحوصات الانحراف، ومسارات التصعيد البشري.

البيانات غير ذات الصلة تغرق عملية الاستنتاج. غالبًا ما تقوم أنابيب التوليد المعزز بالاسترجاع (Retrieval-Augmented Generation) بضخ خمسين فقرة من الوثائق المرتبطة بشكل غامض في نافذة السياق. يختنق الوكيل بسبب الضجيج ويختار الأداة الخاطئة أو يهلوس بمعامل (parameter) غير موجود. أنت بحاجة إلى التصفية، والترتيب، والتلخيص الموجز قبل أن يرى النموذج النص المسترجع.

يحتاج الوكيل إلى ما هو أكثر من الذكاء. إنه يحتاج إلى نظام: ذاكرة مدارة، وتتبع صريح للحالة، وضوابط صارمة، وقياسات عن بعد قابلة للملاحظة. كلما كان النموذج أفضل، وجب أن يكون النظام المحيط به أفضل أيضًا. فالنموذج القوي داخل حلقة هشة لا ينتج سوى إخفاقات أكثر بلاغة.

إتمام المهمة

الذكاء الحقيقي في الوكلاء لا يتعلق بتقديم الإجابة الأولى بدقة، بل يتعلق بالتعامل مع الفجوة بين النية والنتيجة عندما لا يسير أي شيء وفقًا للخطة. المحاولة الأولى سهلة؛ يمكن لأي شخص برمجة "المسار المثالي" (happy path). الجزء الصعب هو التكرار الرابع، عندما تكون واجهة برمجة التطبيقات (API) الأساسية معطلة، ونافذة السياق تتقلص، والمستخدم يفقد صبره، ولا يزال يتعين على الوكيل تقديم شيء مفيد.

هذا الإصرار هو ما يميز النموذج التجريبي عن المنتج الحقيقي. إنه القدرة على التعلم من كل خطوة، ليس عن طريق تحديث أوزان النموذج في الوقت الفعلي، بل عن طريق تحديث الخطة. يحافظ الوكيل على ثبات الهدف بينما تتغير التكتيكات. هذا هو "مبدأ الحلقة" (looping principle) في حيز التنفيذ.

إذًا، هل ينتمي المستقبل للنماذج الأكبر أم لحلقات تنفيذ أفضل؟ التوسع يساعد بالتأكيد؛ فالنموذج الأكثر قدرة يستنتج بشكل أفضل داخل كل دورة. ولكن النموذج الأصغر الذي يعمل داخل حلقة محكمة وقابلة للملاحظة ومرنة سيتفوق دائمًا تقريبًا على نموذج عملاق يُطلب منه حل كل شيء في محاولة واحدة. الحلقة هي ما يحول التنبؤ إلى فعل. استثمر هناك.

المصدر: The Looping Principle: A Simple Mental Model for Understanding AI Agents

لمزيد من النقاشات مثل هذه، انضم إلى GyaanSetu learning community on Telegram.