دموهای عامل شما کار میکنند، اما خودِ عامل شما نه.
اکثر معماریهای عامل (agent) در دنیای واقعی شکست میخورند.
یک دمو با یک وظیفه واحد و پاسخ سریع، خوب به نظر میرسد. اما کار واقعی شامل رسیدگی به خسارتهای بیمه، توالیهای فروش یا تطبیق دادههاست. این وظایف زمانبر هستند و مراحل زیادی دارند.
مشکل، «بدون وضعیت بودن» (statelessness) است. اکثر عاملها هر بار که تعامل میکنند، بافت (context) را از صفر بازسازی میکنند. آنها زنجیره استدلال و پیشرفت حاصلشده را از دست میدهند. در نهایت، شما با یک هوش مصنوعی مؤدب روبرو میشوید که وانمود میکند از موقعیت آگاه است.
کارشناسان Google Cloud، یعنی Addy Osmani و Shubham Saboo، پنج الگو برای رفع این مشکل ارائه کردهاند. در اینجا جزئیات آنها آمده است:
ذخیره وضعیت و ادامه (Checkpoint-and-Resume) با عامل خود مانند یک سرور رفتار کنید. پیشرفت کار را پس از هر چند واحد از وظایف ذخیره کنید. اگر عاملی در وظیفه ۲۰۱ از ۱,۰۰۰ شکست خورد، از همان نقطه (۲۰۱) ادامه دهد. از صفر شروع نکنید.
تأییدیه واگذار شده (Delegated Approval) استفاده از Slack یا ایمیل برای تأییدیه انسانی را متوقف کنید. این ابزارها بافت (context) را از هم میپاشند. عامل را در همان نقطه متوقف کنید. وضعیت کامل را دستنخورده نگه دارید تا به محض پاسخ انسان، بلافاصله از همانجا ادامه دهد. برای درخواستها و خطاها از یک صندوق ورودی (inbox) ساختاریافته استفاده کنید.
بافت لایهبندیشده حافظه (Memory-Layered Context) حافظه بلندمدت را از حافظه کاری جدا کنید. حافظه بلندمدت دانش را در طول جلسات ذخیره میکند، در حالی که حافظه کاری وظیفه فعلی را مدیریت میکند. باید از «انحراف حافظه» (memory drift) جلوگیری کنید؛ وضعیتی که در آن عاملها عادتهای بد را از موارد استثنایی (edge cases) یاد میگیرند. از مدیریت هویت و یک لایه حاکمیتی (governance layer) برای مسدود کردن دادههای نادرست استفاده کنید.
پردازش محیطی (Ambient Processing) عاملهایی بسازید که جریانهای داده مانند تیکتهای پشتیبانی یا تغییرات پایگاه داده را زیر نظر داشته باشند. قوانین را در کدِ عامل (hardcode) نکنید. قوانین را در یک لایه حاکمیتی خارجی قرار دهید. به این ترتیب، قوانین را در یک نقطه بهروزرسانی میکنید و کل مجموعه (fleet) از آنها پیروی میکند.
هماهنگسازی مجموعه (Fleet Orchestration) از یک عامل هماهنگکننده (coordinator agent) برای مدیریت عاملهای متخصص استفاده کنید. هر متخصص ابزارها و هویت مخصوص به خود را دارد. این روش از الگوی کارگر (worker pattern) که در سیستمهای توزیعشده استفاده میشود، پیروی میکند. شما میتوانید یک متخصص را بهروزرسانی کنید بدون اینکه کل سیستم از کار بیفتد.
بزرگترین ریسک، انحراف حافظه (memory drift) است.
مردم بر پرامپتها تمرکز میکنند اما از تغییر رفتار عامل در طول زمان غافل میشوند. اگر عاملی از تعاملات بد یا عجیب یاد بگیرد، دیگر مانند کدی که نوشتهاید عمل نخواهد کرد.
شما باید با عاملها مانند میکروسرویسها رفتار کنید. آنها به هویت، یک ثبتکننده (registry) و اجرای دقیق سیاستها نیاز دارند.
از خود بپرسید: طولانیترین وظیفهای که عامل من باید بدون توقف انجام دهد چیست؟ اگر پاسخ ساعتها یا روزها است، به این الگوها نیاز دارید.
منبع: https://dev.to/archit_aggarwal_5310522d5/your-agent-demo-works-your-agent-doesnt-88l
جامعه یادگیری اختیاری: https://t.me/GyaanSetuAi