محدوده عملیاتی عاملهای هوش مصنوعی و چرخه حیات ابزارها
ساخت عاملهای هوش مصنوعی دشوار است زیرا نمیتوانید بهراحتی آنها را کنترل کنید. شما باید هزینهها را محدود کنید. باید از حلقههای کنترلنشده (runaway loops) جلوگیری کنید. باید دقیقاً بدانید وقتی یک اجرا با شکست مواجه میشود، چه اتفاقی افتاده است.
من روش جدیدی برای مدیریت این مسئله ساختهام. این روش از یک عنصر پایه (primitive) عامل به نام runAgent در AgentScope استفاده میکند. این سیستم شامل بودجهبندی، رویدادهای قابل بازپخش و لغو ساختاریافته است.
نحوه عملکرد آن به این صورت است:
- توابع ابزار، توابع async ساده هستند. نیازی به طرحوارههای (schemas) پیچیده نیست.
- بودجهها پیش از بازگشتِ یک ابزار بررسی میشوند. اگر به محدودیت برسید، سیستم کل فرآیند اجرا را لغو میکند.
- تلاشهای مجدد (Retries) و اتمام مهلت (timeouts) در سطح ابزار انجام میشوند.
- لغو عملیات (Cancellation) منتشر میشود. اگر کاربر عامل را متوقف کند، سیستم بلافاصله عملیات fetch یا پرسوجوی پایگاه داده فعال را متوقف میکند.
- شما یک گزارش (log) قابل بازپخش خواهید داشت. هر رویداد دارای نوع (type) مشخص و دارای ترتیب است.
شما میتوانید سه نوع محدودیت تعیین کنید:
CostBudget: کل دلار خرج شده را محدود میکند.OpenAITokens: کل توکنهای مصرفی را محدود میکند.AgentToolCalls: تعداد کل فراخوانیهای ابزار را برای جلوگیری از حلقههای کنترلنشده محدود میکند.
این رویکرد با سایر فریمورکها متفاوت است. اکثر فریمورکها از طرحوارههای JSON سنگین یا تایپینگهای loose استفاده میکنند. آنها اغلب فاقد عناصر پایه (primitives) بودجهبندی سطح بالا هستند و روشی یکپارچه برای لغو همزمان همه چیز ندارند.
با این سیستم، عامل شما از همان چرخه حیات اپلیکیشن شما پیروی میکند. اگر فرآیند اصلی (parent process) متوقف شود، عامل نیز متوقف میشود. هیچ محیط زماناجرای (runtime) دومی برای مدیریت وجود ندارد.
شما میتوانید از گزارش رویدادها (event log) برای موارد زیر استفاده کنید:
- ساخت داشبورد برای نقشههای حرارتی (heatmaps) شکستها.
- بازپخش یک اجرا در محیط تست.
- حسابرسی دقیق هزینهها با بررسی رویدادهای موفقیت ابزار.
- مقایسه دو اجرای متفاوت برای مشاهده محل انحراف آنها از یکدیگر.
این امر عاملهای هوش مصنوعی را برای استفاده در محیط عملیاتی (production) پیشبینیپذیر و ایمن میکند.
منبع: https://github.com/WorkRuntime/workit
انجمن یادگیری اختیاری: https://t.me/GyaanSetuAi