MAISON CODE .
/ Tech · AI · Agents · LangChain · Architecture · Future

وكلاء الذكاء الاصطناعي: من Chatbots إلى الزملاء المستقلين

محادثات Chatbot. يتصرف الوكيل. كيفية إنشاء حلقات ReAct (Reason + Act) التي يمكنها تصفح الويب والاستعلام عن قواعد البيانات وحجز الرحلات الجوية بشكل مستقل.

AB
Alex B.
وكلاء الذكاء الاصطناعي: من Chatbots إلى الزملاء المستقلين

لماذا تتحدث Maison Code عن هذا

في Maison Code Paris، نعمل كضمير معمari لعملائنا. غالبًا ما نرث حزمًا “حديثة” تم بناؤها دون فهم أساسي للحجم.

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

تطور الواجهة

على مدار الأربعين عامًا الماضية، كان النموذج الأساسي للتفاعل بين الإنسان والحاسوب (HCI) هو “القيادة والسيطرة”. عندما تنقر على زر، يقوم الكمبيوتر بفعل شيء واحد بالضبط. إذا قمت بكتابة أمر، يقوم الكمبيوتر بتنفيذ وظيفة واحدة بالضبط. وحتى مع ظهور GenAI وChatGPT، ظل النموذج حواريًا إلى حد كبير. أنت تطرح سؤالاً، والجهاز يحصل على إجابة. إنه محرك بحث فاخر.

وكلاء الذكاء الاصطناعي يمثلون تحولًا من “الدردشة” إلى “الإجراء”. الوكيل لا يعرف الأشياء فقط. * يفعل * الأشياء. إنه الفرق بين ويكيبيديا التي يمكنها الإجابة على “كيف أحجز رحلة طيران؟” والكونسيرج الذي يقول “لقد حجزت رحلتك”.

لماذا تراهن Maison Code على الوكلاء

نعتقد أن “الموقع” كما نعرفه يحتضر. خلال 5 سنوات، لن ينقر المستخدمون على 10 صفحات للعثور على منتج ما. سيقولون لوكيلهم الشخصي: “اشتري لي قميصًا أزرق”. نحن نبني واجهات برمجة التطبيقات الجاهزة للوكيل. نحن نضمن تنظيم بيانات عملائنا بحيث يتمكن وكلاء الذكاء الاصطناعي (Google Gemini وOpenAI وSiri) من قراءتها والتعامل معها. إذا لم يكن موقعك جاهزًا للوكيل، فأنت غير مرئي لأكبر مستهلك في العقد القادم: الذكاء الاصطناعي.

1. نمط التفاعل: تشريح العامل

إن الورقة البحثية الرائعة “ReAct: التآزر بين الاستدلال والتصرف في نماذج اللغة” (ياو وآخرون، 2022) غيرت كل شيء. قبل ReAct، كانت LLMs مجرد تنبؤات نصية. أعطتهم ReAct “مناجاة داخلية” ومجموعة من “الأيدي” (الأدوات).

الحلقة تبدو مثل هذا:

  1. الفكرة: يقوم الوكيل بتحليل طلب المستخدم ويخطط للخطوة. (“يريد المستخدم الطقس في باريس. أحتاج إلى العثور على درجة الحرارة الحالية.”)
  2. الإجراء: يقوم الوكيل باختيار أداة من صندوق الأدوات الخاص به. (“سأتصل بـ “weather_api.get(‘Paris’)`.”)
  3. الملاحظة: يقرأ الوكيل مخرجات الأداة. (“أعاد API 20 درجة مئوية.”)
  4. الاستدلال: يقوم الوكيل بتحديث فهمه. (“حسنًا، لدي درجة الحرارة. والآن يمكنني الرد على المستخدم.”)
  5. الإجابة النهائية: يستجيب الوكيل. (“درجة الحرارة في باريس 20 درجة مئوية.”)

تتيح هذه الحلقة للوكيل حل المشكلات متعددة الخطوات التي لم يتم تدريبه عليها بشكل صريح.

2. تنفيذ التعليمات البرمجية (LangChain / TypeScript)

إليك كيفية تنفيذ وكيل ReAct الأساسي باستخدام وظائف LangChain وOpenAI.

استيراد { ChatOpenAI } من "@langchain/openai"؛
import {AgentExecutor, createOpenAIFunctionsAgent} من "langchain/agents";
استيراد {سحب} من "langchain/hub"؛
استيراد {ض} من "zod"؛
استيراد {أداة} من "@langchain/core/tools";

// 1. تحديد الأدوات
// "أيدي" الوكيل. كن وصفيًا جدًا في حقل "الوصف"،
// حيث يستخدم LLM هذا لتحديد وقت استدعاء الأداة.

أداة البحث const = الأداة(
  غير متزامن ({ استعلام }) => {
    console.log("البحث عن: ${query}`);
    // محاكاة بحث جوجل
    إرجاع "درجة حرارة الطقس في باريس 20 درجة مئوية مع هطول أمطار خفيفة.";
  },
  {
    الاسم: "search_web"،
    الوصف: "ابحث في الإنترنت عن الأحداث والبيانات الجارية.",
    المخطط: z.object({
      الاستعلام: z.string().describe("استعلام البحث"),
    }),
  }
);

أداة البريد الإلكتروني الثابت = الأداة (
  غير متزامن ({ إلى، الجسم }) => {
    console.log("إرسال بريد إلكتروني إلى ${to}`);
    // محاكاة SMTP
    إرجاع "تم إرسال البريد الإلكتروني بنجاح.";
  },
  {
    الاسم: "send_email"،
    الوصف: "إرسال بريد إلكتروني إلى مستخدم."،
    المخطط: z.object({
      إلى: z.string().email()،
      الجسم: z.string()،
    }),
  }
);

أدوات const = [searchTool, emailTool];

// 2. تهيئة الدماغ (LLM)
نموذج ثابت = ChatOpenAI جديد({
  اسم الموديل: "gpt-4-turbo"،
  درجة الحرارة: 0، // اجعلها حتمية للإجراءات
});

// 3. قم بإنشاء الوكيل
// نقوم بسحب مطالبة ReAct القياسية من مركز LangChain
موجه const = انتظار Pull.pull("hwchase17/openai-functions-agent");

وكيل ثابت = انتظار createOpenAIFunctionsAgent({
  م: النموذج،
  أدوات,
  موجه,
});

const agentExecutor = new AgentExecutor({
  وكيل,
  أدوات,
});

// 4. التنفيذ
// طلب المستخدم: "تعرف على حالة الطقس في باريس وأرسله بالبريد الإلكتروني إلى Boss@company.com"
نتيجة ثابتة = انتظار AgentExecutor.invoc({
  الإدخال: "تعرف على حالة الطقس في باريس وأرسلها بالبريد الإلكتروني إلى Boss@company.com"،
});

console.log(result.output);

شرح التنفيذ:

  1. الإدخال: “اكتشف الطقس…”
  2. قرار LLM: يرى LLM أنه لا يعرف حالة الطقس. ينظر إلى “الأدوات”. يرى “search_web”. يقرر أن يطلق عليه.
  3. مخرجات الأداة: “درجة حرارة الطقس في باريس 20 درجة…”
  4. قرار LLM: أصبح الآن يحتوي على المعلومات. لكن الطلب قال أيضًا “أرسله بالبريد الإلكتروني”. ينظر إلى “الأدوات”. يرى “send_email”.
  5. الإجراء: يقوم بإنشاء حمولة JSON {"to": "boss@company.com"، "body": "The Weather is 20C"}.
  6. مخرجات الأداة: “تم إرسال البريد الإلكتروني.”
  7. الإجابة النهائية: “لقد أرسلت البريد الإلكتروني.”

يؤدي هذا إلى أتمتة سير العمل بأكمله. كتب المطور 0 أسطر من منطق “الطقس إلى البريد الإلكتروني”. لقد اكتشف الذكاء الاصطناعي ذلك.

3. منطقة الخطر: حلقات وهلوسة لا نهاية لها

إن إعطاء “الأيدي” للذكاء الاصطناعي أمر خطير. ماذا لو علقت في حلقة؟

  • فكرة: أحتاج إلى شراء تذكرة.
  • الإجراء: شراء تذكرة.
  • ملاحظة: خطأ: تم رفض بطاقة الائتمان.
  • فكرة: يجب أن أحاول مرة أخرى.
  • الإجراء: شراء تذكرة.
  • ملاحظة: خطأ…
  • (كرر 1000 مرة).

الدرابزين إلزامي.

  1. الحد الأقصى للتكرارات: حدد بشدة حلقة ReAct بـ 5 أو 10 خطوات. إذا لم يتم حلها بحلول ذلك الوقت، قم بإحباطها.
  2. العنصر البشري في الحلقة: بالنسبة للإجراءات الحساسة (الشراء، والحذف، وإرسال البريد الإلكتروني)، أجبر الوكيل على طلب التأكيد.
    • الوكيل: “أنا على وشك إرسال هذا البريد الإلكتروني. هل تريد المتابعة؟ [نعم/لا]”
  3. التحقق من مخطط Zod: فرض مدخلات الأداة لمطابقة الأنواع الصارمة. إذا قامت LLM بإنشاء سلسلة تتطلب رقمًا، فقم بإلقاء خطأ في التحقق قبل تشغيل الأداة.

4. مشكلة الذاكرة (حالة المتجه)

تمتلك LLMs القياسية ذاكرة قصيرة المدى (نافذة السياق). إذا تحدثت إلى وكيل لمدة ساعة واحدة، فإنه ينسى بداية المحادثة. لبناء “زميل” مفيد حقًا، فإنه يحتاج إلى ذاكرة طويلة الأمد. نحن نستخدم ** قواعد بيانات المتجهات ** (Pinecone، Milvus) لتخزين “الذكريات”.

  • الإجراء: يقوم الوكيل بتخزين ملخص الاجتماع في قاعدة البيانات.
  • الاسترجاع: في الأسبوع المقبل، عندما تسأل “ما الذي ناقشناه حول المشروع X؟”، يستعلم الوكيل عن قاعدة بيانات Vector، ويسترد الجزء ذي الصلة، ويدخله في السياق. هذا هو RAG (الجيل المعزز للاسترجاع) المطبق على حالة الوكيل.

5. دراسة الحالة: وكيل دعم العملاء المستقل

في Maison Code، قمنا بنشر وكيل دعم L2 لتاجر Shopify كبير الحجم. المشكلة: 40% من التذاكر كانت تقول “أين طلبي؟” (ويزمو). قضى العملاء البشريون 5 دقائق لكل تذكرة:

  1. اقرأ البريد الإلكتروني.
  2. انسخ معرف الطلب.
  3. افتح Shopify.
  4. التحقق من الحالة.
  5. افتح لوحة معلومات شركة البريد السريع (FedEx).
  6. التحقق من التتبع.
  7. اكتب البريد الإلكتروني.

حل الوكيل: قمنا ببناء وكيل بثلاث أدوات: 1.shopify_lookup_order(id) 2. fedex_track_package(tracking_number) 3. gmail_reply(نص)

النتيجة:

  • دقة عدم اللمس: قام الوكيل بحل 85% من تذاكر WISMO بشكل مستقل في أقل من 30 ثانية.
  • التوفر على مدار الساعة طوال أيام الأسبوع: حصل العملاء على الإجابات في الساعة 3 صباحًا.
  • التكلفة: 0.05 دولار أمريكي لكل تذكرة مقابل 2.50 دولار أمريكي للوكيل البشري.

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

6. أنظمة متعددة الوكلاء (LangGraph / CrewAI)

الوكلاء المنفردون أقوياء. فرق العملاء ثورية. LangGraph يسمح لك بتنسيق عدة وكلاء مع “شخصيات” مختلفة.

  • وكيل الباحث: لديه google_search. ينظف الويب للحصول على البيانات.
  • وكيل الكاتب: يحتوي على “markdown_formatter”. يأخذ البحث ويكتب تدوينة.
  • وكيل المحرر: لديه “أداة_النقد”. يراجع المنشور ويرفضه إذا كان قصيرًا جدًا.

يمكنك إنشاء رسم بياني: الباحث -> الكاتب -> المحرر -> (اجتياز) -> النشر. `الباحث -> الكاتب -> المحرر -> (رفض) -> الكاتب.

هذا يحاكي سير عمل الفريق البشري الحقيقي. “المحرر” يبقي “الكاتب” تحت المراقبة.

7. تكلفة الاستقلالية (الاقتصاد الرمزي)

الوكلاء باهظون الثمن. قد يؤدي طلب واحد بسيط إلى إطلاق 10 مكالمات LLM داخلية (الفكر -> الإجراء -> الفكر -> الإجراء). إذا كنت تستخدم GPT-4، فستبلغ تكلفة ذلك 0.30 دولارًا أمريكيًا لكل عملية تشغيل. استراتيجية التحسين:

  • نموذج جهاز التوجيه: استخدم نموذجًا رخيصًا (GPT-3.5) لمنطق التوجيه (“ما الأداة التي أستخدمها؟”).
  • نموذج Solver: استخدم نموذجًا باهظ الثمن (GPT-4) للجيل المعقد (“اكتب البريد الإلكتروني”).
  • التخزين المؤقت: تخزين نتائج استدعاءات الأدوات باهظة الثمن مؤقتًا (مثل استعلامات SQL). الاقتصاد سوف يملي التبني.

8. المستقبل: 2026 وما بعده

نحن ننتقل من “الهندسة السريعة” (التحدث إلى الروبوت) إلى “هندسة التدفق” (تصميم الرسم البياني للوكلاء). في عام 2026، لن يكون البرنامج عبارة عن مجموعة من الأزرار الثابتة. سيكون “نظام تشغيل موجه نحو الهدف”. ستخبر جهاز الكمبيوتر الخاص بك: “خطط لرحلة إلى اليابان بأقل من 5000 دولار”، وسوف يتصرف. سوف يتصفح Expedia. وسوف تحقق التقويم الخاص بك. سيتم التفاوض عبر البريد الإلكتروني. نحن نعمل على بناء الواجهة العالمية.

9. الاستنتاج

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


هل تحتاج إلى قوة عاملة مستقلة؟

نحن نبني أساطيل عملاء الذكاء الاصطناعي الآمنة والحتمية لأتمتة العمليات والدعم والمبيعات.

استئجار وكلائي. قم بتوظيف مهندسينا.