استعرضنا في الفصل السابق كيف تُستخدم الوكلاء في قطاعات مختلفة. لننزل الآن إلى التفصيل ونفكّك كيف تعمل الوكلاء عامّو الغرض مثل ChatGPT و DeepSeek — خصوصًا عندما تُستخدم لتحسين تجربة البحث.
استعرضنا في الفصل السابق كيف تُستخدم الوكلاء في قطاعات مختلفة. لننزل الآن إلى التفصيل ونفكّك كيف تعمل الوكلاء عامّو الغرض مثل ChatGPT و DeepSeek — خصوصًا عندما تُستخدم لتحسين تجربة البحث.
لنبدأ بتحديد المقصود بـالوكيل المعزَّز بالإنسان. هذه الأنظمة ليست مجرّد واجهات تُنتج نصًا؛ بل صُمِّمت لتستدل، وتتكيّف، وتعمل جنبًا إلى جنب مع الإنسان.
خذ ChatGPT و DeepSeek مثالًا. من الأدقّ أن نصفهما بأنهما أنظمة ذكاء اصطناعي عامة الغرض يمكن أن تتضمّن قدرات وكيلية — مثل البحث، واستخدام الأدوات، والذاكرة — لا أن نقول إنهما وكيلان بالتعريف. فما يتوفّر من هذه القدرات يختلف بحسب المنتج والإصدار وإعدادات المستخدم. والنقطة المهمة أنهما لا يعملان في فراغ: بل يتعاونان مع المستخدم، مستفيدين من تغذيته الراجعة، ومن أدوات البحث، ومن الذاكرة، لتقديم نتائج أفضل.
وهذا ما يعنيه الأمر عمليًا:
وحلقة التفاعل هذه — تسأل، فيعمل النظام، فتردّ عليه — هي ما يجعل التجربة أفضل مع الاستخدام. وهذا جوهر فكرة التعزيز بالإنسان: يبقى الإنسان في مسار القرار، ويتولّى النظام العمل الثقيل.
في قلب هذا النظام مسار متتابع يبدو للمستخدم سلسًا، لكنه يتضمّن خلف الكواليس عدة مكوّنات تعمل معًا.
يعرض الشكل 12 المسار الكامل لوكيل معزَّز بالإنسان مخصّص للبحث، من طلب المستخدم إلى بناء السياق ثم التفاعل مع الأدوات ثم توليد النتيجة. والمحرّك المركزي — النموذج اللغوي — هو من يتولّى الاستدلال.
الخطوات:
ويُسمّى هذا التصميم تنسيق سير العمل متعدّد الخطوات، وهو ما يمكّن النظام من التعامل مع أسئلة الواقع بفعالية.
ما يجعل هذه الأنظمة «وكلاء» لا مجرّد واجهات محادثة متقنة هو قدرتها على استخدام الأدوات.
وفيما يلي بعض الأمثلة:
فلو سألت مثلًا: «أعطني ملخّصًا لتغيّرات GDPR في 2024» — فما يجري هو:
فيما يلي نص برمجي بسيط بلغة Python يوضّح كيف تبني وكيلًا عامًّا يستطيع الإجابة عن أسئلة تعتمد على البحث. وهذا الإعداد يحاكي، في صورته المبسّطة، ما تفعله أدوات مثل ChatGPT أو DeepSeek عند استخدامها مصادر معرفة خارجية.
القائمة البرمجية 1: وكيل بسيط يستطيع استدعاء أداة بحث
from langchain.agents import create_agent from langchain.tools import tool # 1) Define a tool the agent is allowed to call. @tool def web_search(query: str) -> str: """Search the web for up-to-date information.""" # Plug in any search provider here: Tavily, Brave, # DuckDuckGo, or an internal company API. return search_provider.run(query) # 2) Build the agent: a model plus the tools it may use. agent = create_agent( model="openai:gpt-4o-mini", tools=[web_search], ) # 3) Ask something that needs fresh information. result = agent.invoke( {"messages": [{"role": "user", "content": "Find the top 3 recent advancements in renewable energy."}]} ) print(result["messages"][-1].content)
web_search، ويشرح في وصفها ما تفعله. هذا الوصف مهم: منه يعرف النموذج متى يستدعي الأداة.create_agent: نموذج لغوي، وقائمة محدّدة بالأدوات المسموح له باستخدامها — لا أكثر.search_provider.run(query) موضع تضعه فيه مزوّد البحث الذي تختاره؛ فالكود أعلاه يوضّح بنية الوكيل، لا خدمة بحث بعينها. وواجهات المكتبات البرمجية تتغيّر بين الإصدارات، لذا راجع وثائق LangChain الرسمية عند التطبيق الفعلي. وفي أي نظام حقيقي ستحتاج أيضًا إلى معالجة الأخطاء، وحدود لعدد الاستدعاءات، وتحقّق من المخرجات قبل الاعتماد عليها. temperature. القيمة المنخفضة تقلّل العشوائية في اختيار الكلمات، فتصبح المخرجات أقرب إلى الثبات وأقل تنوّعًا عند تكرار السؤال نفسه. لكنها لا تجعل الجواب أصحّ: دقّة المعلومة تتوقّف على النموذج، وعلى السياق المتاح له، وعلى جودة ما استُرجع، وعلى التحقّق من المخرجات. حتى أذكى الأنظمة قد تخطئ الهدف. ولهذا تكون تغذية المستخدم الراجعة جزءًا من الحلقة:
في أدوات مثل ChatGPT، قد تُستخدم هذه الملاحظات — وفق سياسات المزوّد وإعدادات المستخدم — في تحسين الإصدارات اللاحقة. وفي الأنظمة العاملة في الوقت الفعلي، قد تساعد على إعادة ترتيب النتائج أو إعادة تنفيذ الاستعلام بأداة أو موجّه مختلف.
وهذا ما يمنح النظام إحساسًا بالتكيّف: لأنه يستفيد من المستخدم كما يفعل مساعد جيد.
استنادًا إلى تجارب تشغيل فعلية لأنظمة مثل ChatGPT و DeepSeek وأدوات المساندة المؤسسية، هذه خمس ملاحظات عملية:
بعد أن رأينا كيف تُبنى هذه الأنظمة وكيف تعمل، يبقى سؤال لا يقلّ أهمية: كيف نستخدمها بمسؤولية؟ هذا موضوع الجزء التالي.