وكيل البرمجة الخاص بي تذكر الجلسات، لا العمل

يمكن لوكيل البرمجة أن يحافظ على استمرارية المحادثة ومع ذلك يظل يبدو وكأنه ينسى.

واجهت هذه المشكلة أثناء بناء CliGate. لقد أصلحت استمرارية الجلسة، لكن المهام المتكررة كانت لا تزال بطيئة للغاية.

تذكر الوكيل المحادثة، لكنه لم يتذكر العمل.

استمرارية الجلسة تحل مشكلة واحدة. فهي تساعد في الأوامر اللاحقة مثل:

  • استمر
  • افعل الشيء نفسه لهذا الملف
  • أعد محاولة ذلك

هذا مفيد. لكنه لا يساعد عندما تكرر سير عمل (workflow) بعد أيام.

يحتاج الوكيل إلى استحضار ما جعل التشغيل الأخير ناجحًا. يحتاج إلى معرفة:

  • أي زر يعمل
  • أي خطوة هي طريق مسدود
  • أي حقل يحتاج إلى معالجة خاصة
  • أي قاعدة تريد تطبيقها دائمًا

التشغيل الأول هو الأكثر تكلفة. هذا هو الوقت الذي يستكشف فيه الوكيل ويجد تفاصيل ليست موجودة في طلبك (prompt).

قبل إصلاحي، كانت هذه التفاصيل تعيش فقط في السجلات الخام (raw logs). كان لدى الوكيل سجل تاريخي، لكن لم تكن لديه ذاكرة قابلة لإعادة الاستخدام. كان عليه إعادة اكتشاف كل شيء في كل مرة.

هذا ليس ذكاءً. هذا يعني دفع نفس تكلفة تصحيح الأخطاء (debugging) مرتين.

النهج الخاطئ هو حفظ المزيد من التاريخ والأمل في أن يستخدمه النموذج. هذا يخلق ضجيجًا.

بدلاً من ذلك، قمت ببناء طبقة ذاكرة أصغر وقابلة لإعادة الاستخدام. ركزت على:

  • الإجراءات (procedures)
  • الحقائق (facts)
  • التوجيهات (directives)
  • المراجع (references)

توقفت عن محاولة حفظ كل ما حدث. بدأت في حفظ ما يجب تذكره.

الآن، يستخدم المساعد طبقة ذاكرة تعتمد على الملفات لاستحضار:

  • إجراء: أفضل الخطوات والطرق المسدودة المعروفة
  • حقيقة: رابط URL أو إعداد محدد
  • توجيه: كيف تريد إنجاز الأمور
  • مرجع: أين توجد الوثائق (documentation)

هكذا يعمل البشر.

لا أريد إعادة عرض مثالية للماضي لأن الواجهات تتغير والأزرار تتحرك. أريد من الوكيل أن:

  1. يستحضر أفضل إجراء معروف
  2. يجربه أولاً