🔴 واژهی AI Agent (عامل هوشمصنوعی) واژهایست که علاقهمندان به AI این روزها زیاد باهاش روبهرو میشن. بنابراین در این پست به توضیح این مفهوم میپردازیم.
این مفهوم جدید نیست و پیشتر با عنوان Intelligent Agent در هوش مصنوعی بررسی میشد. اخیرا این مفهوم شکل و شمایل مدرنتری به خود گرفته و تحت نام AI Agent پوستاندازی کردهست.
در تعریف قدیمی، Intelligent Agent سامانهای (نرمافزاری یا سختافزاری یا ترکیبی) است که محیط (Environment) پیرامون خود را از طریق حسگرها (Sensors) ها، مشاهده و درک کرده (Perception)، بر اساس یک هدفی که برای او تعریف شده (Agent Goal) و اجرای یک برنامهی تصمیمگیری (Agent Function) عملی (Action) را از میان اعمال ممکن انتخاب کرده و توسط عملگرهای خود (Actuators) آن عمل را در محیط انجام میدهد. انجام آن عمل در محیط، وضعیت (State) را تغییر داده و تمامی این مراحل در یک حلقه، تکرار میشوند تا درنهایت عامل به هدف خود برسد.
این مفهوم، از ابتدا یک ایدهی مناسب برای مدلکردن سامانههای هوشمند مثل انواع روباتها، اتومبیلهای خودران، برنامههای هوش مصنوعی و … بود.
با پیدایش مدلهای بنیادین مثل LLM ها، دنیای نرمافزار هم دچار انقلاب شده و علاقه به توسعهی نرمافزارها، سرویسها و دستیارهای هوشمند و خودمختار افزایش یافتهست.
در توسعهی نرمافزار کلاسیک، همهیکارها روی دوش توسعهدهنده است، توسعهدهنده، هدف برنامه رو مشخص میکند، این هدف رو به تعدادی task کوچکتر میشکند، خروجی هر task را مشخص میکند و منطق ترتیب انتخاب task ها را در برنامه مینویسد.
با همهگیرشدن LLMها، خیلی از برنامهها LLM-powered شدند، در این برنامهها همچنان توسعهدهنده هدف برنامه رو مشخص میکند، این هدف رو به تعدادی task کوچکتر میشکند و منطق ترتیب انتخاب task ها را در برنامه مینویسد. اما خروجی هر task بر اساس یک پرامپت ورودی به یک LLM به دست میآید.
این سبک طراحی و توسعهی محصول، خیلی سریع جای خود رو به RAG-based application ها داد. در اپلیکیشنهای RAG، برای یافتن خروجی هر task فقط به دانشی که LLM موقع آموزش دیدهست بسنده نمیشود و دانش بهروزتر و کاملتری همراه با پرامپت به LLM داده میشود تا با توجه به آن دانش، خروجی task را مشخص کند.
با افزایش توان استدلال LLM ها، منطق اجرایی برنامهها نیز به LLM ها سپرده شد (توسعه نرمافزارهای مبتنی بر Chain و Router). به عبارت دیگر توسعهدهنده، هدف برنامه رو مشخص میکند و این هدف رو به تعدادی task کوچکتر میشکند، اما خروجی هر task و منطق ترتیب انتخاب task ها توسط LLM انجام میشود.
و اما ترند این روزها در توسعهی سرویسهای نرمافزاری ظاهرا به سمت AI Agent ها در حرکتست. در این نرمافزارها، توسعهدهنده، فقط هدف برنامه رو مشخص میکند، یک LLM سعی میکند آن هدف را بررسی و درک کرده، آن را به دنبالهای از task های کوچک و قابل دسترسی بشکند، با توجه به هدف، و اطلاعات جانبی که از محیط (پایگاههای دادهای، RAG، فایلها، سرچ، APIها و …) دریافت میکند، منطق و اولویت اجرای این task ها را مشخص کرده و در نهایت به ابزارها و Actuator های مربوطه دستور انجام task را میدهد. این عمل در یک حلقه، تکرار شده تا AI Agent به هدف خود برسد.
مثلا یک چتبات خدمات مشتریان را در نظر بگیرید که intent ها و action ها از قبل برای آن مشخص نشده و این عامل، طی تعامل با مشتری، با چرخیدن در پایگاههای داده و مستندات و بهصورت خودمختار اقدام به رفع مشکل میکند.
🆔 @GITAnet|باشگاه فناوران اطلاعات مکانی
Post #2801
530