𝗦𝗰𝗼𝗿𝗶𝗻𝗴 𝗔𝗜 𝗔𝗴𝗲𝗻𝘁𝘀: 𝗗𝗲𝘁𝗲𝗿𝗺𝗶𝗻𝗶𝘀𝘁𝗶𝗰 𝗠𝗲𝘁𝗿𝗶𝗰𝘀 + 𝗮𝗻 𝗟𝗟𝗠 𝗝𝘂𝗱𝗴𝗲
شما تعداد زیادی عامل هوش مصنوعی (AI agent) کوچک را اجرا میکنید. شما عاملهایی برای بکاند، فرانتاند، موبایل و DevOps دارید. هر عامل تنها یک وظیفه دارد.
وقتی تعداد عاملها زیاد میشود، با یک مشکل مواجه میشوید. شما نمیدانید که آیا آنها خوب عمل میکنند یا خیر. نمیدانید که آیا تغییر در پرامپت باعث بهتر شدن عملکرد آنها میشود یا بدتر شدن آن. گفتنِ «به نظر خوب میآید» در مقیاس بالا کارساز نیست.
من چارچوبی (framework) برای حل این مسئله ساختهام. این چارچوب از اعداد برای اندازهگیری عملکرد استفاده میکند و پرامپتها را بهطور خودکار بهبود میبخشد.
استراتژی
ابتدا آنچه را که میتوانید با ریاضیات اندازهگیری کنید، اندازهگیری کنید. تنها زمانی از یک داور LLM استفاده کنید که مجبور هستید. معیارهای قطعی (Deterministic metrics) سریع و رایگان هستند، اما یک داور LLM کند است و هزینه دارد.
سیستم چگونه کار میکند:
• ابزار اجرا (harness) هر عامل را به عنوان یک فرآیند مجزا اجرا میکند. • یک وظیفه را به عامل میدهد. • خروجی را ثبت میکند. • نتیجه را بر اساس دادههای مورد انتظار امتیازدهی میکند.
عامل فقط نیاز دارد که از stdin بخواند و در stdout بنویسد. این عامل میتواند یک اسکریپت Python یا shell باشد؛ برای ابزار اجرا فرقی نمیکند.
پنج معیار اصلی برای پیگیری:
- دقت (Accuracy): آیا خروجی با هدف مطابقت دارد؟
- امتیاز فازی (Fuzzy score): متن چقدر به هدف شباهت دارد؟
- نرخ اتمام زمان (Timeout rate): عامل چند وقت یکبار در اتمام کار شکست میخورد؟
- نقض ایمنی (Safety violations): آیا خروجی با الگوهای ناامن مطابقت دارد؟
- واریانس بازتولیدپذیری (Reproducibility variance): آیا عامل هر بار پاسخ یکسانی میدهد؟
اگر عاملی درست عمل کند اما بیثبات باشد، این یک باگ است.
داور LLM
اندازهگیری برخی موارد با ریاضیات دشوار است. شما باید بدانید که آیا یک عامل در نقش خود باقی مانده است یا از محدودیتها پیروی کرده است یا خیر.
برای این موارد، یک داور LLM کار را بررسی میکند. داور یک دستورالعمل (rubric) و خروجی عامل را دریافت میکند و یک حکم ساختاریافته بازمیگرداند. من این حکم را بر اساس یک JSON schema اعتبارسنجی میکنم تا گزارش دچار خطا نشود.
کار داور فراتر از نمرهدهی است. داور باید اصلاحات را پیشنهاد دهد. نقدی مانند «این ضعیف است» بیفایده است؛ اما نقدی مانند «یک بلوک JSON به پرامپت اضافه کنید» قابل اجراست.
حلقه بهبود
شکستها در یک فایل ذخیره میشوند. این فایل ورودی یک حلقه خودکار است. سیستم ضعیفترین بخش یک پرامپت را شناسایی کرده و سعی میکند آن را اصلاح کند. سیستم مجموعهای از کاندیداهای خوب را نگه میدارد و بهترین نسخهها را دوباره در کد مینویسد.
یک امتیاز واحد، تنها یک تصویر لحظهای است. از تاریخچه برای پیگیری روندها استفاده کنید. این کار به شما میگوید که آیا در طول زمان در حال پیشرفت هستید یا خیر.
زیربنای خود را بر معیارهای قطعی بنا کنید. از داور مانند یک تیغ جراحی استفاده کنید، نه یک چکش.
امتیازدهی به عاملهای هوش مصنوعی: معیارهای قطعی در مقابل داور LLM
ارزیابی عملکرد عاملهای هوش مصنوعی (AI Agents) یکی از چالشبرانگیزترین وظایف در توسعه سیستمهای مبتنی بر مدلهای زبانی بزرگ (LLM) است. برخلاف نرمافزارهای سنتی که ورودیهای مشخصی دارند و خروجیهای قابل پیشبینی تولید میکنند، عاملهای هوش مصنوعی اغلب در محیطهای غیرقطعی (Non-deterministic) عمل میکنند. این ماهیت، تعیین اینکه یک عامل چقدر "خوب" عمل کرده است را بسیار دشوار میکند.
در این مقاله، ما دو رویکرد اصلی برای ارزیابی عاملها را بررسی میکنیم: معیارهای قطعی (Deterministic Metrics) و داور LLM (LLM Judge).
معیارهای قطعی (Deterministic Metrics)
معیارهای قطعی بر اساس قوانین مشخص و بدون ابهام عمل میکنند. این معیارها برای وظایفی که پاسخ آنها دقیق و مشخص است، بسیار عالی هستند.
برخی از انواع رایج عبارتند از:
- تطابق دقیق (Exact Match): بررسی اینکه آیا خروجی دقیقاً با پاسخ مرجع (Ground Truth) مطابقت دارد یا خیر.
- عبارات با قاعده (Regex): استفاده از الگوهای متنی برای تأیید وجود یا ساختار بخشهای خاصی از خروجی.
- اجرای کد (Code Execution): اگر وظیفه عامل تولید کد باشد، میتوان کد را اجرا کرد و صحت عملکرد آن را سنجید.
- دقت ریاضی (Mathematical Accuracy): بررسی صحت محاسبات انجام شده.
مزایا و معایب معیارهای قطعی
مزایا:
- سرعت بالا: ارزیابی بسیار سریع انجام میشود.
- کمهزینه: نیازی به فراخوانی مدلهای گرانقیمت ندارد.
- قابلیت بازتولید (Reproducibility): نتایج همیشه یکسان خواهند بود.
- بدون سوگیری: برخلاف مدلهای زبانی، این معیارها دچار سوگیری نمیشوند.
معایب:
- سختگیر و شکننده (Brittle): کوچکترین تغییر در ساختار (حتی اگر معنا ثابت باشد) میتواند باعث شکست در ارزیابی شود.
- عدم درک معنایی: این معیارها قادر به درک ظرافتها یا مفاهیم پشت کلمات نیستند.
داور LLM (LLM Judge)
با توجه به اینکه بسیاری از وظایف هوش مصنوعی ماهیت زبانی و مفهومی دارند، معیارهای قطعی اغلب کافی نیستند. در اینجا نقش "داور LLM" مطرح میشود. در این روش، از یک مدل زبانی بزرگتر و قدرتمندتر (مانند GPT-4o) برای ارزیابی خروجی یک مدل دیگر استفاده میشود.
مزایا و معایب داور LLM
مزایا:
- درک معنایی: توانایی ارزیابی کیفیت بر اساس مفهوم و نه فقط کلمات.
- ارزیابی ظرافتها: میتواند لحن، استدلال و دقت مفهومی را بسنجد.
- انعطافپذیری: میتوان معیارهای ارزیابی پیچیده و کیفی را برای آن تعریف کرد.
معایب:
- هزینه و سرعت: استفاده از LLM برای ارزیابی، هم کندتر است و هم بسیار گرانتر.
- سوگیری (Bias): مدلهای داور ممکن است دچار سوگیری شوند، از جمله:
- سوگیری موقعیت (Positional Bias): تمایل به امتیاز دادن بیشتر به پاسخ اول یا دوم در مقایسهها.
- سوگیری طول پاسخ (Verbosity Bias): تمایل به امتیاز دادن بیشتر به پاسخهای طولانیتر، حتی اگر دقت کمتری داشته باشند.
- عدم قطعیت: نتایج ممکن است در هر بار اجرا متفاوت باشند.
رویکرد ترکیبی (The Hybrid Approach)
بهترین استراتژی برای ارزیابی عاملهای هوش مصنوعی، استفاده از یک رویکرد ترکیبی است. شما نباید یکی را به جای دیگری انتخاب کنید، بلکه باید از هر دو در جای مناسب خود استفاده کنید.
- از معیارهای قطعی برای بررسی صحت فکتها، فرمتهای خروجی، کدهای تولید شده و محاسبات ریاضی استفاده کنید.
- از داور LLM برای ارزیابی کیفیت استدلال، لحن، کاربرپسند بودن و درک کلی مفهوم استفاده کنید.
با ترکیب این دو، میتوانید سیستمی ایجاد کنید که هم دقت بالا و هم درک عمیق از کیفیت را تضمین کند.
منبع: https://dev.to/pponali/scoring-ai-agents-deterministic-metrics-an-llm-judge-poj
جامعه یادگیری اختیاری: https://t.me/GyaanSetuAi