عامل‌های هوش مصنوعی در عمل: خواندن شکست‌ها از روی ردپای اجرا (Trace)

عامل هوش مصنوعی شما کرش نمی‌کند. گزارش موفقیت می‌دهد. اما حساب بانکی شما نشان‌دهنده یک اشتباه است.

مبلغی برای سفارشی که هرگز لغو نشده بود، مسترد شد. مشتری هم کالا را دارد و هم پول را. عامل تصور می‌کرد وظیفه‌اش را انجام داده است.

به دنبال مدل بزرگ‌تر نگردید. فقط یک حلقه تکرار (retry loop) اضافه نکنید. هر دو حدس و گمان هستند.

در عوض، ردپای اجرا (trace) را بخوانید. عامل قبلاً آنچه را انجام داده، ثبت کرده است.

یک ردپای اجرای خوب در محیط عملیاتی، حلقه را گام‌به‌گام ثبت می‌کند. این ردپا باید موارد زیر را نشان دهد:

  • آنچه عامل مشاهده کرد
  • آنچه تصمیم گرفت
  • کدام ابزار را فراخوانی کرد
  • ابزار چه چیزی برگرداند
  • خوانش تأییدیه‌ای از منبع حقیقت (source of truth)
  • وضعیت نهایی و هزینه

مهم‌ترین بخش، شکاف بین پاسخ ابزار و خوانش تأییدیه‌ای است. ممکن است یک ابزار بگوید «پذیرفته شد»، اما این به معنای تغییر در واقعیت نیست. خوانش تأییدیه‌ای به شما می‌گوید که آیا تغییر واقعاً رخ داده است یا خیر.

شکست‌ها معمولاً به دو گروه تقسیم می‌شوند:

  1. شکست‌های اجرایی
  • شکست‌های ابزار: آرگومان‌های اشتباه یا اتمام زمان (timeout).
  • شکست‌های استدلالی: مدل اقدام اشتباهی را انتخاب کرده است.
  • شکست‌های وضعیت کنترل: عامل یک دروغ را باور می‌کند. او فکر می‌کند سفارش لغو شده چون ابزار این را گفته است، حتی اگر پایگاه داده چیز دیگری بگوید.
  1. شکست‌های ساختاری حلقه
  • کاهش کیفیت بافتار (Context degradation): عامل رشته کلام/موضوع را گم می‌کند.
  • خروج از کنترل حلقه (Loop runaway): عامل بدون پیشرفت، مراحل را تکرار می‌کند.
  • توقف‌های خاموش (Silent stalls): عامل بدون هیچ خطایی متوقف می‌شود. شما به یک ناظر (watchdog) نیاز دارید تا سکوت را به عنوان یک شکست در نظر بگیرد.

وقتی با یک شکست مواجه شدید، فقط دوباره تلاش نکنید. تلاش مجدد (Retry) یک استراتژی است، نه یک تشخیص.

  • اگر یک خطای گذرا مانند اتمام زمان (timeout) است، دوباره تلاش کنید.
  • اگر یک خطای منطقی است، تلاش مجدد فقط بودجه شما را صرف برخورد دوباره به همان دیوار می‌کند.
  • اگر عامل به یک مانع برخورد کرد، متوقف شوید و به یک انسان اطلاع دهید.

بهترین راه برای رفع یک شکست، تبدیل کردن آن به یک تست است.

از ردپا برای نوشتن یک ارزیاب (grader) استفاده کنید. اگر عاملی در تأیید لغو یک سفارش شکست خورد، تستی بنویسید که اگر بدون وضعیت لغوِ تأییدشده، مبلغی مسترد شد، با خطا مواجه شود. شکست‌هایی را که بابت آن‌ها هزینه کرده‌اید، به شکست‌هایی تبدیل کنید که هرگز مجبور نیستید دو بار بابت آن‌ها هزینه کنید.

Source: https://dev.to/gursharansingh/ai-agents-in-practice-part-7-when-the-loop-goes-wrong-reading-agent-failures-from-the-trace-5bdp

Optional learning community: https://t.me/GyaanSetuAi