الوكيل الذي يدور في حلقة لا ينقصه ذكاء؛ ينقصه شرط توقف. هنا نبني الحلقة بحيث يستطيع الوكيل أن يقول «انتهيت» — أو «أحتاجك».
أغلب الوكلاء يفشل بطريقة واحدة: يعيدون تخطيط المهمة نفسها إلى ما لا نهاية. السبب دائماً بنية الحلقة: التخطيط والتنفيذ والتحقق مدموجة في تعليمة واحدة، فلا يملك الوكيل مرجعاً مستقلاً يخبره أن النتيجة تحققت فعلاً.
١. اكتب نتيجة يمكن فحصها
ابدأ بما يجب أن يكون صحيحاً عند النهاية. «ابحث عن أفضل خيار» هدف ضبابي. أما «أنشئ قائمة من ثلاثة خيارات، مع المصدر والسعر وتاريخ التحقق» فيمكن اختباره بشرط واحد واضح.
٢. استخدم حلقة قصيرة وواضحة
- خطّط
حوّل الهدف إلى خطوة واحدة تالية، لا إلى خطة ضخمة لا تتغير.
- نفّذ
استدعِ أداة واحدة بمدخلات محددة وسجّل ما حدث فعلاً.
- تحقق
قارن الناتج بشرط النجاح، ثم توقف أو عدّل الخطوة التالية.
while not done:
step = planner.next(goal, state)
result = tools.run(step)
state.record(result)
done = verifier.check(goal, state)
٣. اجعل الأدوات ضيقة الصلاحية
لا تمنح الوكيل أداة «نفّذ أي أمر». قدّم وظائف محددة مثل قراءة ملف، إنشاء مسودة، أو إرسال عنصر بعد موافقة. كلما ضاقت الأداة أصبح اختبارها ومراجعتها أسهل.
- تحقق من المدخلات قبل التنفيذ.
- اطلب موافقة بشرية قبل الإرسال أو الحذف أو الدفع.
- احتفظ بسجل واضح للطلب والنتيجة.
٤. ملفات العمل
قالب الحالة يحفظ الهدف والخطوة الأخيرة وشرط النجاح في مكان واحد، وقائمة الفحص تُمرَّر قبل كل تشغيل. انسخهما إلى مشروعك وعدّل الحقول الثلاثة فقط: الهدف، الشرط، وصلاحيات الأدوات.
أنور بي آي
طبّقت قائمة الفحص على وكيل الفواتير لدينا — المشكلة كانت فعلاً غياب شرط توقف واضح.