مرّت بك هذه التجربة على الأرجح. سألت مساعدًا عن شيء لا سبيل له إلى معرفته — ما حدث في مؤتمر الأسبوع الماضي، أو ما أسعار شركة ما اليوم — فلم يخمّن، بل غاب ثوانٍ قليلة وعاد بجواب وببعض الروابط.
مرّت بك هذه التجربة على الأرجح. سألت مساعدًا عن شيء لا سبيل له إلى معرفته — ما حدث في مؤتمر الأسبوع الماضي، أو ما أسعار شركة ما اليوم — فلم يخمّن، بل غاب ثوانٍ قليلة وعاد بجواب وببعض الروابط.
شيء ما حدث في تلك الثواني القليلة. وهذا الفصل عن ذلك الشيء.
ومرّت بك التجربة الأخرى أيضًا على الأرجح. سألت سؤالًا بسيطًا فظهر الجواب في الحال، بلا بحث ولا روابط ولا توقّف. النافذة نفسها، والمنتج نفسه، وآلة مختلفة تمامًا في الأسفل. ولا شيء على الشاشة أخبرك أيّهما حصلت عليه.
تعريف دقيق، لأن التسامح في اللغة هنا يولّد التباسًا لاحقًا.
أدقّ وصف لـ Claude وChatGPT أنهما نظامان للذكاء الاصطناعي عامّا الغرض يمكن أن يشملا قدرات وكيلية مثل البحث واستخدام الأدوات والذاكرة. وهما ليسا “وكيلين” بالتعريف، والمتاح منهما يتغيّر بحسب المنتج والإصدار وإعداداتك أنت. فأحيانًا يكون ما يجري تبادلًا واحدًا مع نموذج. وأحيانًا تكون الواجهة نفسها تشغّل حلقة متعدّدة الخطوات مع أدوات. والواجهة لا تخبرك أيّهما.
وهذه هي النقطة نفسها التي قدّمها الفصل 5 من الجهة المقابلة. نافذة المحادثة سطح. وما يقف خلفها قد يكون ساعيًا إلى هدف وقد لا يكون.
وما يجعل هذه الأنظمة جديرة بالاهتمام أنها مبنيّة للعمل مع إنسان. فهي لا تعمل في فراغ: تأخذ سؤالك، وتستخدم أدوات، وتعود بشيء، ثم تأخذ تصحيحك. وهذه الحلقة — تسأل، فيتصرّف، فتردّ — هي التصميم كلّه، ويجدر الالتفات إلى أن الإنسان مكوّن فيه لا متفرّج عليه.
لنمشِ في المسار كما يمرّ به النظام. لنقل إنك طلبت ملخّصًا للتغيّرات الحديثة في السياسات في مجال ما.
واسم هذا الترتيب التنسيق المتعدّد الخطوات — جهة تقرّر، بالتتابع، أي قدرة تُستخدم بعد. وهو ما يتيح للنظام أن يتعامل مع سؤال حقيقي لا مع سؤال مصوغ صياغة مثالية.
ويرقّم الشكل 12 الخطوات السبع نفسها، حتى تتابع التسلسل عبر أجزاء النظام التي تنفّذه.
ما يفصل هذه الأنظمة عن مربّع نصّ مجرّد هو ما تستطيع الوصول إليه.
اطلب ملخّصًا لتغيّر تنظيمي، فيبحث النظام في المصادر المتّصلة، ويختار أوثقها صلة، ويسلّمها إلى النموذج، ويكتب ملخّصًا تستطيع مقابلته بالمراجع. وكل خطوة من تلك الخطوات صمّمها أحد.
حتى النظام القوي يخطئ الهدف. ولهذا يكون تفاعلك جزءًا من البنية لا مجاملة:
وفي بعض المنتجات يغذّي هذا الإصدارات القادمة، بحسب سياسات المزوّد وإعداداتك. أما في الجلسة الجارية فيفعل شيئًا أكثر مباشرة: يعيد تشغيل الاستعلام ببحث مختلف أو بتعليمة أحدّ. ولهذا يكون الجواب الثاني أفضل كثيرًا من الأول في أحيان كثيرة، ولهذا يعامل أكثر مستخدمي هذه الأنظمة فاعليةً الجواب الأول كنقطة بداية لا كحكم نهائي.
كل ما سبق يمكن تركيبه من نحو عشرين سطرًا. وما يأتي يعرض البنية: أداة واحدة، ونموذج واحد، وطلب واحد. وهو ليس نظامًا في بيئة الإنتاج، وتستطيع تجاوزه كلّه دون أن تفقد شيئًا — والقصد منه إظهار أنه لا سحر في الصندوق.
اقرأه في ثلاث خطوات. أولًا، صِف أداةً يُسمح للوكيل باستخدامها. ثانيًا، أعطِ الوكيل نموذجًا وتلك القائمة من الأدوات. ثالثًا، اسأله شيئًا لا يستطيع الإجابة عنه من الذاكرة، واتركه يقرّر هل يمتدّ إلى الأداة.
مثال تقني اختياري — القائمة البرمجية 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) يقوم مقام أي خدمة بحث تختارها. وواجهات المكتبات تتغيّر بين الإصدارات، فراجع الوثائق الحالية قبل البناء على هذا. والنسخة المعدّة لبيئة الإنتاج تضيف معالجة الأخطاء، وحدًّا لعدد مرات مناداة الأدوات، والتحقّق من صحّة ما يعود. هذه هي الصورة العامة، موصوفة من الخارج. وهي تترك سؤالًا أكثر إثارة دون جواب. حين يُسلَّم أحد هذه الأنظمة شيئًا كبيرًا حقًّا — سؤال بحث يعني قراءة مئات المصادر — هل يكتفي بمواصلة الحلقة أسرع؟ أم يفعل شيئًا آخر تمامًا؟