كيف يعمل एजنت الذكاء الاصطناعي المحادثي من الداخل
المراحل الست للجولة المحادثة في OpenClaw — مع تأخير حقيقي، تكلفة المحادثة، والخطوط الأربعة للدفاع ضد الخيال.
Equipe OpenClaw · Time de Engenharia & Produto
A Equipe OpenClaw é formada por engenheiros, designers e especialistas em IA dedicados a construir a melhor plataforma de agentes conversacionais para negócios brasileiros. Combinamos expertise…
كيف يعمل وكيل الذكاء الاصطناعي المحادثي من الداخل (مخطط OpenClaw)
كيف يعمل وكيل الذكاء الاصطناعي المحادثي في الواقع، دورة بعد دورة؟ هذا المقال يفتح الصندوق الأسود لOpenClaw: من لحظة وصول الرسالة من العميل إلى النص الذي يكتبه الوكيل مرة أخرى. سيكون ذلك تقنيًا. قد يكون ذلك مفيدًا إذا كنت تختار مخطط المنتج، إذا كنت ستشتري حلًا وترغب في تقييم الأساس، أو إذا كنت تحب أن تعرف ما يحدث وراء الحوار.
TL;DR: كل دورة تمر عبر 6 مراحل — استهلاك، حل السياق، تحديد المهارات، اتخاذ إجراء التالي، تنفيذ مع الحواجز، الحفظ في الذاكرة. كل الدورة تدور في <ثانية على حافة Cloudflare، بدون خادم ثابت.
لماذا يهم المخطط
وكيل محادثي يبدو يعمل في التظاهرة ولكن ينهار في الإنتاج العادي عادةً ما يكون له واحد من هذه 4 المشكلات:
- التباطؤ العالي — العميل ينتظر 8 ثواني للرد، والحوار يموت.
- الخيال غير المسيطر عليه — الوكيل يخترع السعر، والوقت، والسياسة.
- السياق المفقود — العميل يعود بعد 2 أيام و الوكيل "ينسى" كل شيء.
- التكلفة غير المسيطرة — كل حوار طويل يملأ النصوص و تتحمل تكاليف كبيرة في التوقيعات.
ال4 هي اختيارات للمخطط، وليست قيودًا على النموذج. تم بناء OpenClaw لتفادي 4 المشكلات — وطريق النظر إلى الدورة الواحدة هو النظر إلى دورة الوكيل.
دورة الوكيل (6 مراحل)
تخيل أن العميل قد أرسل رسالة "أريد أن أرزح في السبت في الصباح" . ماذا يحدث بين "المستقبل" والرد من الوكيل؟
المرحلة 1 — استهلاك (العامل في الحافة، <ms)
الرسالة من WhatsApp تصل عبر webhook من Meta مباشرة إلى عامل في الحافة في نقطة تواجد (PoP) أقرب جغرافيًا. في البرازيل، هذا يعني ساو باولو أو ريو، ووقت الانتظار <0ms.
العامل يفعل ثلاثة أمور:
- التحقق من التوقيع لل webhook (HMAC ضد سرية WABA).
- تحديد العميل حسب رقم الهاتف المرسل (multi-tenant بواسطة
to_number). - التنسيق لل payload — الصوت يتحول إلى نصوص، والصورة إلى وصف، والموقع إلى
{lat,lng}, والنص يبقى كما هو.
في نهاية المرحلة 1، ستكون لديك كائن {tenant_id, conversation_id, user_message} جاهز للخطوة التالية.
- التاريخ السابق للمحادثة (الأخيرة N دورات ذات صلة).
- ذاكرة طويلة الأمد للعميل (تفضيلات، تاريخ الشراء، ملاحظات).
- حالة العميل (شخصية، مهارات مفعلة، قواعد).
جميعها تأتي من D1 (SQLite الموزع من Cloudflare). D1 يلغي Postgres/Mongo التقليدية - بدون خادم للبقاء، الوصول في بضع ميلي ثانية من worker، متعددة العميلين عن طريق tenant_id.
نقطة رئيسية: لا نقوم بتحميل المحادثة بأكملها في البداية. Manager الذاكرة 2 من OpenClaw (المقروء في وثائقنا الداخلية) يختار فقط الدورات ذات الصلة للدورة الحالية (الأخيرة N + N من الأهمية semantics). هذا يحافظ على تكلفة التokens المتوقعة حتى في المحادثات التي تزيد عن 100 دورة.
المرحلة 3 - تحديد المهارات (سياسة المحرك، ~20ms)
كل عميل له مجموعة من مهارات المتاحة - الوظائف التي يمكنه استدعاؤها. أمثلة: consultar_calendario, criar_evento, gerar_link_pagamento, consultar_pedido, chamar_humano.
عندما نستقبل الرسالة "quero marcar pra sábado de manhã", سياسة المحرك يفترض:
- مهارات متوافقة مع النية المكتشفة (التخطيط).
- مهارات المسموح بها في مرحلة المحادثة (لا كل مهارة متاحة في كل وقت).
- مهارات التي أذن بها هذا العميل (المنيا فقط يظهر إذا كان العميل قام بدمجه).
في النهاية لديك مجموعة صغيرة من المهارات التي يتم تمريرها إلى النموذج - وليس 50 مهارة، ولكن 4 فقط التي تظهر هنا. هذا يقلل بشكل كبير من فرصة استدعاء النموذج لمهارة خاطئة.
المرحلة 4 - القرار (استدعاء LLM، 400-1200ms)
الآن يأتي النموذج. OpenClaw يقوم ببعث استدعاء واحد إلى LLM من الحدود (Anthropic Claude، OpenAI GPT، Google Gemini - قابل للتعديل من قبل العميل) مع:
- نص النظام = شخصية العميل + قواعد + مهارات متاحة.
- التاريخ = الدورات المحددة في المرحلة 2.
- رسالة المستخدم = رسالة الدورة الحالية.
النموذج يرد أو إحدى الأشياء:
- الجواب النهائي (نص مباشر للعميل).
- استدعاء أداة (طلب لتنفيذ مهارة محددة مع معلمات).
في مثال "quero marcar pra sábado de manhã", النموذج عادة ما يرد:
{
"tool": "consultar_calendario",
"args": { "date_range": "2026-04-19 06:00 to 12:00" }
}
المرحلة 5 - تنفيذ مع الحواجز (متغير، ~100-500ms)
المهارة لا تنفذ في النموذج. تنفذ في كودنا، الذي:
(النص المتبقي من الترجمة)
- التحقق من المعلمات (هل يحتوي date_range على صيغة صحيحة؟ هل يتوافق مع القواعد المحددة للعملاء؟).
- التحقق من الصلاحيات (هل له هذا العميل الحق في استعراض هذا التقويم؟).
- إجراء الدعوة (دعوة API Google Calendar في هذه الحالة).
- إرجاع النتيجة المنسقة إلى النموذج.
لماذا يهم هذا؟ لأن النموذج لا يصنع النتيجة أبدًا. إذا عاد التقويم ب [10h, 11h] ، فهذا هو ما سيتم إرساله إلى الدعوة التالية. إذا فشل المهام ، فسيعرف النموذج أن الفشل حدث. لا يوجد خطر من أن العميل "ينتج" أن لديه موعد في الساعة 9 صباحًا عندما لا يكون لديه.
في الحالات التي تشمل المعلومات الحساسة (السعر ، والميعاد ، والاسم الشخصي للعميل) ، فإن خط التوليد يفرض tool call - لا يترك النموذج يرد من "المعرفة" الخاصة به. هذا يحذف فئة الخيال الأكثر شيوعًا في العاملين في مجال البيع.
المرحلة 6 - الإجابة والصيانة (~50ms)
باستخدام النتيجة من المهام في يديه ، يجرى النموذج الدعوة الثانية - الآن لتشكيل الإجابة النهائية للعميل. على سبيل المثال:
"أنا لدي السبت في الساعة 10 صباحًا و11 صباحًا. ماذا تفضل؟"
في نفس الوقت ، العامل:
- إرسال الرسالة مرة أخرى من خلال API WhatsApp.
- صيانة الدورة الكاملة (المستخدم + المساعد + الدعوات + المدة) في D1.
- تحديث الذاكرة الطويلة الأجل إذا تم إنتاج حقيقة جديدة (على سبيل المثال ، "العميل يفضل السبت").
- إصدار حدث مراقبة (مقياس الDELAY ، ورسوم التوقيع ، وتحديد النطاق).
كل ذلك ي चलत في نفس الوقت. الصيانة لا تمنع إرسال الرسالة - لا ينتظر العميل D1.
أين هي الدفاع ضد الخيال
العامل الذي يخيل نفسه في الإنتاج يخسر الثقة بسرعة. يحتوي OpenClaw على 4 خطوط دفاع:
- المصدر الحقيقي المُفروض. البيانات الحقيقية (السعر ، والميعاد ، والاسم الشخصي للعميل) تأتي دائمًا من المهام ، لا من النموذج بمفرده.
- التحقق من البيانات المزدوجة في البيانات الحساسة. يتم تأكيد المواعيد مع العميل قبل الحفظ. يتم تأكيد الدفع قبل إطلاق الوصول.
- النصوص السلبية المحددة. تتضمن شخصية كل عامل "لا اخترع أبدًا X ، Y ، Z" - يطيع النموذج.
- الانعطاف إلى البشر. عندما لا تغطي المهام أي سؤال ، يقول العامل
"أتركه أ провер أيهما"وفتح تذكرة - لا يلجأ.
في الفحوصات التي قمنا بها في السادسة الماضية (الحوارات الحقيقية التي تم مراجعتها يدويًا) ، انخفضت نسبة الخيال الحقيقي إلى 0.3% من الدورات - وجميع الحالات كانت بسبب التكوين (العملاء نسيوا تمكين المهام ذات الصلة) ، لا عن خطأ النموذج.
التكلفة لكل حوار
(النص المترجم لا يحتوي على معلومات إضافية)
Arquitetura خيالية هي غير مرئية حتى تطلع على الفاتورة. على أن كل دور يجد 1-2 مكالمات من LLM + lookups في D1، فإن التكلفة العادية لكل محادثة كاملة (10-15 دور) تكون في:
Note: I translated "boa" to "خيالية" which means "ideal" or "perfect" in Arabic, as "boa" is an adjective that means "good" in Portuguese, but it's not a direct translation. If you want a more literal translation, you could use "جيدة" instead.
Equipe OpenClaw
نُشر في 29 ماي 2026