ChatGPT وClaude: من المحادثة إلى الفعل

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

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

شيء ما حدث في تلك الثواني القليلة. وهذا الفصل عن ذلك الشيء.

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

ما هي هذه الأنظمة فعلًا

تعريف دقيق، لأن التسامح في اللغة هنا يولّد التباسًا لاحقًا.

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

وهذه هي النقطة نفسها التي قدّمها الفصل 5 من الجهة المقابلة. نافذة المحادثة سطح. وما يقف خلفها قد يكون ساعيًا إلى هدف وقد لا يكون.

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

ما يحدث في تلك الثواني القليلة

لنمشِ في المسار كما يمرّ به النظام. لنقل إنك طلبت ملخّصًا للتغيّرات الحديثة في السياسات في مجال ما.

  1. تسأل، عبر أي واجهة تستخدمها.
  2. يحوّل النظام كلماتك إلى استعلام. فيستنتج نوع هذا الطلب، وهل يحتاج إلى معلومات آنية أصلًا.
  3. يمتدّ عبر أدواته إلى المصادر التي يراها — والبحوث التي يشغّلها ليست عادةً الكلمات التي كتبتها.
  4. يُجمَع ما يعود في السياق، بجانب موجّهك، والمحادثة السابقة، وكل ما يحتفظ به النظام عن تفضيلاتك.
  5. يقرأ النموذج اللغوي كل ذلك ويكتب جوابًا.
  6. يعود الجواب مع مصادره، لتتمكّن من التحقّق منه.
  7. تتفاعل، وذلك يشكّل ما يحدث في الدورة التالية.

واسم هذا الترتيب التنسيق المتعدّد الخطوات — جهة تقرّر، بالتتابع، أي قدرة تُستخدم بعد. وهو ما يتيح للنظام أن يتعامل مع سؤال حقيقي لا مع سؤال مصوغ صياغة مثالية.

ويرقّم الشكل 12 الخطوات السبع نفسها، حتى تتابع التسلسل عبر أجزاء النظام التي تنفّذه.

رسم لمساعد بحث: المستخدم، والواجهة، والوكيل مع النموذج والذاكرة والأدوات، ومصادر المعرفة، والجواب، والتغذية الراجعة
الشكل 12: إنسان ومساعد يعملان معًا

ما تضيفه الأدوات

ما يفصل هذه الأنظمة عن مربّع نصّ مجرّد هو ما تستطيع الوصول إليه.

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

الجواب الأول مسودة

حتى النظام القوي يخطئ الهدف. ولهذا يكون تفاعلك جزءًا من البنية لا مجاملة:

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

يستحقّ التذكّر ستقابل إعدادًا يُسمّى درجة التنويع (temperature). القيمة الأدنى تقلّل العشوائية في اختيار الكلمات، فتصبح المخرجات أقرب إلى الثبات وأقلّ تنوّعًا عند سؤال الشيء نفسه مرّتين. وهي لا تجعل الأجوبة أدقّ. فالدقّة تتوقّف على النموذج، وعلى السياق الذي أُعطي له، وعلى جودة ما استُرجع، وعلى ما إذا كان أحد قد تحقّق من المخرجات.

بناء أصغر نسخة من هذا

كل ما سبق يمكن تركيبه من نحو عشرين سطرًا. وما يأتي يعرض البنية: أداة واحدة، ونموذج واحد، وطلب واحد. وهو ليس نظامًا في بيئة الإنتاج، وتستطيع تجاوزه كلّه دون أن تفقد شيئًا — والقصد منه إظهار أنه لا سحر في الصندوق.

اقرأه في ثلاث خطوات. أولًا، صِف أداةً يُسمح للوكيل باستخدامها. ثانيًا، أعطِ الوكيل نموذجًا وتلك القائمة من الأدوات. ثالثًا، اسأله شيئًا لا يستطيع الإجابة عنه من الذاكرة، واتركه يقرّر هل يمتدّ إلى الأداة.

مثال تقني اختياري — القائمة البرمجية 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. return search_provider.run(query) # 2) Build the agent: a model plus the tools it may use.
agent = create_agent( model="anthropic:claude-sonnet-4-5", tools=[web_search],
) # 3) Ask something that needs current information.
result = agent.invoke( {"messages": [{"role": "user", "content": "Find three recent advances in renewable energy."}]}
) print(result["messages"][-1].content)

أمران في هذه القائمة أهمّ من الصياغة اللغوية. للأداة وصف مكتوب، والنموذج يقرّر متى يناديها من قراءة ذلك الوصف — ولهذا ألحّ الفصل 8 على كتابتها بعناية. وقائمة الأدوات صريحة: يستطيع الوكيل استخدام هذه ولا شيء غيرها. وذلك السطر الواحد حدّ صلاحيات.

تفصيل تقني اختياري search_provider.run(query) يقوم مقام أي خدمة بحث تختارها. وواجهات المكتبات تتغيّر بين الإصدارات، فراجع الوثائق الحالية قبل البناء على هذا. والنسخة المعدّة لبيئة الإنتاج تضيف معالجة الأخطاء، وحدًّا لعدد مرات مناداة الأدوات، والتحقّق من صحّة ما يعود.

أهم ما نخرج به من هذا الفصل

هذه هي الصورة العامة، موصوفة من الخارج. وهي تترك سؤالًا أكثر إثارة دون جواب. حين يُسلَّم أحد هذه الأنظمة شيئًا كبيرًا حقًّا — سؤال بحث يعني قراءة مئات المصادر — هل يكتفي بمواصلة الحلقة أسرع؟ أم يفعل شيئًا آخر تمامًا؟