قابلیت مشاهده برای عاملهای ایمیل
شما نمیتوانید کار کردن یک عامل ایمیل را به صورت لحظهای (real time) تماشا کنید.
اما میتوانید با یک فراخوانی API، تمام کارهایی را که دیروز انجام داده است ببینید.
ساخت عاملها بر پایه ایمیل، قابلیت مشاهده داخلی (built-in observability) به شما میدهد. اکثر سیستمهای خودگردان (autonomous systems) برای ردیابی (tracing) و ثبت وقایع (logs) به ابزارهای اضافی نیاز دارند. یک عامل ایمیل این موارد را به صورت رایگان دریافت میکند، زیرا صندوق پستی (mailbox) همان سابقه (record) است.
در اینجا نحوه استفاده از ایمیل برای نظارت بر عاملهای خود آورده شده است:
نظارت بر ورودی (Input Monitoring) هر پیام ورودی، رویداد
message.createdرا فعال میکند. این رویداد، شناسه رشتهای (thread ID) مورد نیاز برای بازسازی گفتگو را در اختیار شما قرار میدهد. اگر پیامی بسیار بزرگ باشد، به دنبال محرکmessage.created.truncatedبگردید. این به شما میگوید که بدنه کامل پیام را از طریق شناسه (ID) دریافت کنید.نظارت بر خروجی (Output Monitoring) پلتفرم درباره هر ارسال گزارش میدهد. این سه محرک را برای بررسی سلامت تحویل پیام دنبال کنید: •
message.send_success: سرور گیرنده، ایمیل را پذیرفت. •message.send_failed: یک قانون یا سیاست، ایمیل خروجی را مسدود کرد. •message.bounce_detected: سرور مقصد، ایمیل را رد کرد.
افزایش تعداد send_failed اولین نشانه بروز مشکل است. این یعنی یک قانون یا سهمیه (quota) در حال محدود کردن (throttling) عامل شماست.
نظارت بر وضعیت (State Monitoring) پوشههای صندوق پستی مانند یک ماشین حالت (state machine) عمل میکنند. • پوشه Junk: نشان میدهد فیلترهای اسپم شما چه مواردی را شناسایی میکنند. • پوشه Drafts: به عنوان صف تأیید برای طراحیهای مبتنی بر حضور انسان (human-in-the-loop) عمل میکند. اگر یک پیشنویس بیش از حد در آنجا بماند، فرآیند تأیید شما متوقف شده است. • پوشه Sent: یک گزارش بازرسی (audit log) بینقص ارائه میدهد. این گزارش نمیتواند با واقعیت در تضاد باشد، زیرا ایمیل همان واقعیت است.
نظارت بر حاکمیت (Governance Monitoring) اگر عاملی پیامی را از دست داد، ارزیابی قوانین را بررسی کنید. میتوانید در لایه SMTP پرسوجو کنید که چرا یک قانون، پیامی را رد کرده است. این کار حدس و گمان را با داده جایگزین میکند.
یک محدودیت که باید به خاطر بسپارید: شما میتوانید تحویل پیام را ردیابی کنید، اما نمیتوانید از طریق این API بفهمید که آیا یک انسان ایمیل را باز کرده یا روی لینکی کلیک کرده است یا خیر. همچنین باید استدلالهای خود را نیز ثبت (log) کنید. صندوق پستی نشان میدهد که عامل چه کاری انجام داده است، اما شما باید ثبت کنید که چرا عامل تصمیم به انجام آن کار گرفته است.
با ردیابی این سه مورد شروع کنید:
message.send_successmessage.send_failedmessage.bounce_detected
شکستهای ورودی، پرسر و صدا و آشکار هستند. شکستهای خروجی، بیصدا هستند. ردیابی این سیگنالها به شما کمک میکند تا خطاها را به جای هفتهها، در عرض چند دقیقه پیدا کنید.
Source: https://dev.to/qasim157/observability-for-email-agents-4egn
Optional learning community: https://t.me/GyaanSetuAi