AgentInspect به توسعهدهندگان اجازه میدهد اقدامات گامبهگام یک عامل هوش مصنوعی را به صورت لاگهای JSONL ثبت کنند و امکان تأیید اجرای ابزارهای مورد نیاز را فراهم میکند – آن هم بدون نیاز به اتصال OpenTelemetry به پشته (stack) نرمافزاری.
در یک تست سریع با یک مثال بررسی وضعیت آبوهوا که با Vercel AI SDK ساخته شده بود، AgentInspect یک «شکست خاموش» (silent failure) را شناسایی کرد: پاسخ نهایی درست بود، اما فراخوانی ابزار هواشناسی (weather-tool) هرگز انجام نشده بود. بررسی در سطح فرآیند (process-level check) این کتابخانه، مشکلی را شناسایی کرد که یک تست خروجی ساده از آن غافل میماند.
چرا مسیر اجرا اهمیت دارد
پاسخ یک عامل هوش مصنوعی، محصول نهایی زنجیرهای است که میتواند شامل چندین فراخوانی مدل و فراخوانی ابزارهای خارجی باشد. اگر قرار باشد یک پرامپت دادههای زنده را واکشی کند، نبودِ آن واکشی، پروفایل ریسک را تغییر میدهد، حتی اگر متن نهایی درست به نظر برسد. تستهای سطح پاسخ اجازه میدهند باگی که یک مرحله حیاتی را نادیده میگیرد، بدون اینکه شناسایی شود وارد محیط تولید (production) شود.
AgentInspect چه کاری انجام میدهد
- ثبت سبک – یک آداپتور TypeScript به کد عامل متصل میشود و هر فراخوانی مدل، فراخوانی ابزار و ترتیب آنها را در یک فایل JSON خطبهخط (JSONL) مینویسد.
- موتور قوانین – توسعهدهندگان گزارههای سادهای مانند «ابزار هواشناسی باید فراخوانی شود» یا «از API مالی نباید استفاده شود» را تعریف میکنند. این کتابخانه این قوانین را پس از هر اجرا ارزیابی میکند.
- بازرسی CLI – اجراهای ناموفق به صورت فایل ذخیره میشوند که ابزار خط فرمان داخلی میتواند آنها را برای بازپخش (replay) قابلفهمِ ردپای اجرا باز کند.
از آنجایی که لاگها فایلهای محلی هستند، نیازی به بکاِند ردیابی (tracing backend)، پیکربندی شبکه یا یک سرویس مشاهدهپذیری (observability) مجزا نیست.
نحوه راهاندازی تست
- بررسیهای فرآیند – یک قانون تأیید کرد که نقطه پایانی (endpoint) ابزار هواشناسی فراخوانی شده است.
- بررسیهای پاسخ – یک ادعای (assertion) مجزا، متن تولید شده را با توصیه مورد انتظار برای گردشگری در فضای داخلی مقایسه کرد.
دو سناریو اجرا شد:
| سناریو | بررسی پاسخ | بررسی فرآیند |
|---|---|---|
| مسیر عادی (آبوهوا دریافت شد) | موفق | موفق |
| نادیده گرفتن آبوهوا (ابزار هرگز فراخوانی نشد) | موفق | ناموفق |
اجرای دوم ارزش بررسیهای فرآیند را نشان میدهد: پاسخ خوب به نظر میرسید، اما نبودِ فراخوانی ابزار، نشاندهنده یک نقص پنهان بود.
AgentInspect در مقابل Promptfoo
Promptfoo، که یک چارچوب تست تثبیتشدهتر است، ردپاها را از طریق OpenTelemetry ثبت میکند. این رویکرد برای تیمهایی که از قبل دادههای تلهمتری را به یک جمعکننده (collector) ارسال میکنند مناسب است، اما بار پیکربندی و وابستگی به زیرساخت ردیابی را افزایش میدهد.
AgentInspect برای مراحل اولیه توسعه مناسبتر به نظر میرسد، اما راهاندازی آن بسیار ساده است.
چه کسانی باید به آن توجه کنند
- خط لولههای CI – افزودن یک مرحله واحد که AgentInspect را اجرا کرده و در صورت نقض قوانین، ساخت (build) را متوقف کند، باگهای خاموش را به توقفهای قطعی تبدیل میکند.
- عیبیابی (Debugging) – لاگهای JSONL را میتوان به صورت محلی باز کرد تا توالی دقیق فراخوانیها بازپخش شود، که در مقایسه با جستجو در داشبوردهای ردیابی از راه دور، در زمان صرفهجویی میکند.
- تیمهای محصول – دانستن اینکه یک واکشی حیاتی دادهها واقعاً قبل از عرضه یک ویژگی انجام شده است، ریسک شکایات کاربران در مراحل بعدی را کاهش میدهد.
خلاصه کلام: وقتی صحت عملکرد یک عامل هوش مصنوعی به اقداماتی که انجام میدهد بستگی دارد و نه فقط متن نهایی، یک ثبتکننده سبک مانند AgentInspect میتواند باگهای پنهان فرآیند را به شکستهای قابل مشاهده و قابل تست تبدیل کند – بدون بار اضافی یک پشته ردیابی کامل.
