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

ما يجب أن تحمله طبقة التسوية
طبقة التسوية للوكلاء ليست جدول قاعدة بيانات يُضاف في النهاية. إنها المكون الذي يجعل النية والحالة تتطابقان. ثلاث خصائص تحمل معظم الثقل.
مفاتيح Idempotency لكل فعل مقصود، وليس لكل طلب
معظم تطبيقات idempotency تعتمد على طلب HTTP. هذه هي الوحدة الخاطئة للوكيل. قد يعيد الوكيل محاولة طلب، أو يعيد صياغة prompt، أو ينشئ وكيلاً فرعيًا يصدر نفس الفعل المنطقي عبر مسار مختلف. إذا اشتُق المفتاح من الطلب، يمكن لنفس النية أن تنتج تأثيرات متعددة. يجب أن يُشتق المفتاح من الفعل المقصود — معرف ثابت يلتزم به الوكيل قبل أن يتصرف، ويعيد استخدامه في كل محاولة وكل نقل.
intent_id = hash(agent_id, action_type, target, quantity, window)
يولّد الوكيل intent_id مرة واحدة، ويسجله، ويرفقه بكل محاولة. تقبل طبقة التسوية التأثير الأول لذلك المفتاح وترفض أو تزيل تكرار الباقي. هذا ما يحول وكيلاً يعمل مرة واحدة على الأقل إلى تأثير مرة واحدة بالضبط دون مطالبة النموذج بأن يكون موثوقًا.
مسار عكسي بنفس صلاحية المسار الأمامي
إذا كان بإمكان الوكيل تنفيذ فعل لكنه لا يستطيع عكسه بشكل نظيف، يصبح كل خطأ دائمًا وكل عدم يقين سببًا للتصرف مرة أخرى. يجب أن يكون العكس عملية من الدرجة الأولى بنفس التفويض، ونفس مسار التدقيق، ونفس انضباط idempotency كالفعل الأمامي. الفعل التعويضي ليس معالج استثناءات؛ إنه جزء من الواجهة العادية. بدونه، إما يتجمد الوكلاء أو يفرطون في التداول، لأن الطريقة الوحيدة لتصحيح خطأ مشتبه به هي إصدار فعل أمامي آخر.
media/server-rack-closeup-79da28-73e14b.jpg)
المطابقة عادةً مهمة دفعات لاحقة: عملية ليلية تقارن السجلات الداخلية بالمنصة. بالنسبة لوكيل، هذا بطيء جدًا وبعيد جدًا عن القرار. يجب كشف المطابقة كأداة يمكن للوكيل استدعاؤها قبل أن يتصرف مرة أخرى. تجيب الأداة على سؤال ضيق: ما هي حالتي المسوّاة الآن، وأي من نواياي لا تزال غير محلولة؟ الوكيل الذي يمكنه السؤال سيتوقف عن التخمين. والوكيل الذي لا يستطيع سيستمر في التصرف بناءً على حالة قديمة.
التعميم خارج المال
البنية ليست خاصة بالتداول. أي مجال به خطوة تسوية له نفس الشكل، ونفس نمط الفشل عندما يُمنح الوكيل تصريحًا بدون مسار قراءة مقابل.
- الدفع عند الشراء. يصرح الوكيل بالدفع، يلتقطه معالج الدفع، وتستقر حالة الطلب بشكل غير متزامن. الوكيل الذي يعامل دفعة مصرحًا بها كطلب مكتمل سيعيد محاولة الدفع، أو يفرض رسومًا مزدوجة، أو يعد بمخزون لا يملكه. مفتاح idempotency ينتمي إلى نية الشراء، وليس إلى استدعاء API.
- الحجز. يُطلب حجز، يُؤكد، ثم يُحتجز مقابل سعة يمكن تحريرها. الوكيل الذي يقرأ التأكيد كحجز مسوّى سيحجز بشكل مفرط عندما ينتهي الحجز المؤقت، لأنه لم يطابق الاثنين أبدًا.
- التجهيز. يُطلب مورد، يُنشأ، ثم يصبح متاحًا بعد تأخير. الوكيل الذي يتصرف بناءً على الطلب كما لو كان المورد قيد التشغيل سيصدر أفعالاً تابعة ضد شيء لم يوجد بعد.
في كل حالة، العلاج هو نفسه: يجب على الوكيل قراءة الحالة مرة أخرى قبل التصرف مجددًا، ويجب على النظام إزالة التكرار بناءً على النية وليس على الطلب. المجال يغير المفردات، وليس الآلية.
المقايضة الصادقة
حد التسوية يكلف زمن استجابة وتعقيدًا. قراءة الحالة مرة أخرى قبل التصرف تضيف رحلة ذهاب وإياب لكل قرار، والحفاظ على مفاتيح النية ومسارات العكس وأدوات المطابقة هو عمل هندسي حقيقي تتجنبه حلقة الوكيل الساذجة. هناك إغراء لتخطيه في المجالات التي يغلب عليها القراءة أو منخفضة المخاطر، حيث تكون تكلفة الفعل المكرر صغيرة.
هذه المقايضة مشروعة، لكن يجب اتخاذها بشكل صريح وليس بالسهو. نمط الفشل عند تخطيها ليس وكيلاً بطيئًا؛ بل وكيلاً لا يستطيع تحديد ما فعله. في التداول يظهر ذلك كتخبط. في الدفع عند الشراء يظهر كرسوم مزدوجة. في التجهيز يظهر كموارد يتيمة. طبقة التسوية هي ما يسمح للوكيل بالتصرف بصلاحية ومع ذلك معرفة الفرق بين ما طلبه وما هو صحيح.
قاعدة تصميم
إذا كان بإمكان الوكيل اتخاذ فعل له خطوة تسوية، فإنه يحتاج ثلاثة أشياء: هوية ثابتة للنية، ومسار عكسي بنفس الصلاحية، وأداة تقرأ الحالة المسوّاة مرة أخرى. التصريح وحده لا يكفي. إشارة المجموعة من التداول الوكيلي ليست أن الوكلاء يتداولون بشكل سيئ؛ بل أنهم يتداولون بشكل متكرر عندما لا يفصل حد بين نيتهم والعالم. ابنِ الحد، وسيتوقف التخبط عن كونه عَرَضًا ويصبح قرارًا.
