Ser
خواندن ۸ دقیقه·۶ روز پیش

ظهور عامل‌های هوش مصنوعی: تغییر در ساخت و تفکر درباره نرم‌افزار

AI Agents
AI Agents

ظهور عامل‌های هوش مصنوعی در حال تغییر دادن روش ساخت و تفکر ما درباره نرم‌افزارهاست. به جای اینکه صرفاً کدنویسی کنیم و به کامپیوترها دستور دهیم چه کاری انجام دهند، حالا در حال آموزش دادن به آن‌ها هستیم که چگونه فکر کنند.

عامل‌های هوش مصنوعی روش جدیدی برای ساخت سیستم‌های هوشمند هستند. آن‌ها از مدل‌های زبانی بزرگ (LLMs) استفاده می‌کنند و اتوماسیون و شناخت را در ابزارهایی ترکیب می‌کنند که نه تنها دستورات را اجرا نمی‌کنند، بلکه استدلال می‌کنند، تصمیم می‌گیرند، اقدام می‌کنند و حتی با گذشت زمان یاد می‌گیرند.

عامل‌ها چیستند؟

برخلاف برنامه‌های سنتی که مجموعه‌ای ثابت از دستورات را دنبال می‌کنند، عامل‌ها نوع جدیدی از نرم‌افزار هستند که از مدل‌های زبانی بزرگ و هوش برای تشخیص اینکه چه کاری باید انجام شود، چگونه باید انجام شود و سپس خودشان آن را به انجام برسانند، استفاده می‌کنند.

اگر این توضیح کمی انتزاعی به نظر می‌رسد، در اینجا نظر برخی از رهبران این حوزه را آورده‌ام:

  • لنگ‌چین (LangChain): «… سیستمی که از یک LLM برای تصمیم‌گیری درباره جریان کنترل یک برنامه استفاده می‌کند.» (هریسون چیس از لنگ‌چین مقاله‌ای عالی با عنوان «عامل بودن یعنی چه؟» نوشته است.)
  • انویدیا (NVIDIA): «… سیستمی که می‌تواند از یک LLM برای استدلال درباره یک مسئله، ایجاد طرحی برای حل آن مسئله و اجرای طرح با کمک مجموعه‌ای از ابزارها استفاده کند.»
  • ای‌دبلیواس (AWS): «… برنامه نرم‌افزاری که می‌تواند با محیط خود تعامل کند، داده‌ها را جمع‌آوری کند و از این داده‌ها برای انجام وظایف خودتعیین‌شده به منظور دستیابی به اهداف از پیش تعیین‌شده استفاده کند.»
  • اندرو ان‌جی (Andrew Ng):

چه در برنامه‌ریزی سفر برای کاربران، چه در خودکارسازی یک جریان کاری یا پاسخ به یک سؤال، عامل‌ها گامی بزرگ به سوی توانمندتر و مفیدتر کردن نرم‌افزارها هستند.

چگونه به عامل‌ها رسیدیم؟

مدل‌های زبانی بزرگ از صرف تولید متن و استدلال به انجام کارهای بسیار بیشتری تکامل یافته‌اند. آن‌ها حالا می‌توانند با دیگر LLM‌ها همکاری کنند.

در نتیجه، LLM‌ها اکنون از پاسخ‌دهندگان منفعل به سیستم‌های هوشمندی تبدیل شده‌اند که می‌توانند نقش‌هایی را بر عهده بگیرند که به طور سنتی برای انسان‌ها محفوظ بوده‌اند؛ از خدمات مشتریان و استخدام گرفته تا حرفه‌های پیچیده‌ای مانند حقوق و معماری.

آناتومی یک عامل

برای درک نحوه عملکرد عامل‌ها و اینکه چرا اینقدر قدرتمند هستند، بیایید اجزای اصلی آن‌ها را بررسی کنیم:

1. ادراک

عامل‌ها باید ورودی‌هایی از کاربران یا محیط دریافت کنند. این ورودی‌ها می‌توانند متن چت، تماس صوتی، تصویر یا فراخوانی API باشند؛ هر چیزی که برای تعامل با عامل استفاده می‌شود. این داده‌ها برای درک محیط و زمینه توسط عامل بسیار مهم هستند.

  • مثال: یک عامل سفر هوایی درخواست‌های کاربر را از طریق رابط چت پردازش می‌کند. از جمله «رزرو پرواز رفت‌وبرگشت به نیویورک برای ۵ تا ۱۰ اکتبر»، جزئیات کلیدی مانند تاریخ‌ها، مقصد و ترجیحات را استخراج می‌کند تا جستجو را به طور مؤثری هدایت کند.

2. مغز

«مغز» یک عامل هوش مصنوعی — که یک مدل زبانی بزرگ (LLM) است — مسئول استدلال، برنامه‌ریزی و سازگاری است.

  • استدلال شامل تحلیل ورودی، تجزیه وظایف پیچیده و تولید راه‌حل‌های بالقوه است.
  • برنامه‌ریزی به عامل اجازه می‌دهد تا اقدامات را در طول زمان ترتیب‌بندی کند و اطمینان دهد که وظایف به طور کارآمد و مؤثر انجام می‌شوند.
  • سازگاری، عامل را قادر می‌سازد تا به محیط‌های پویا (مثلاً مکالمه) یا اطلاعات در حال تغییر پاسخ دهد.
  • مثال: پس از دریافت درخواست پرواز، عامل وظایفی مانند یافتن پروازهای رفت و برگشت را شناسایی می‌کند و گام‌ها و اقدامات لازم را برای کمک به مشتری در رزرو پرواز بر اساس ترجیحاتش تعریف می‌کند.

3. حافظه

حافظه در یک عامل هوش مصنوعی به دو شکل وجود دارد: حافظه کوتاه‌مدت مبتنی بر جلسات است و به پنجره زمینه LLM وابسته است تا تعاملات اخیر را ردیابی کند و پاسخ‌های منسجم ارائه دهد. از سوی دیگر، حافظه بلندمدت معمولاً در پایگاه‌های داده خارجی ذخیره می‌شود و به عامل اجازه می‌دهد تا به مکالمات گذشته یا ترجیحات کاربر در طول زمان دسترسی پیدا کند و آن‌ها را با هم مقایسه کند.

  • مثال: عامل سفر در طول جلسه انتخاب‌های فعلی مانند تاریخ و کلاس را ردیابی می‌کند، در حالی که از حافظه بلندمدت برای به خاطر آوردن ترجیحات گذشته، مانند خطوط هوایی مورد علاقه یا جزئیات برنامه پرواز مکرر، استفاده می‌کند.

4. دانش

علاوه بر حافظه، عامل‌ها می‌توانند از پایگاه‌های دانش خاص شرکت، مانند سؤالات متداول، اسناد یا رویه‌های عملیاتی استاندارد، بهره ببرند. این دانش معمولاً در پایگاه‌های داده اسنادی و برداری ذخیره می‌شود و برای بهبود استدلال و تصمیم‌گیری بازیابی می‌شود.

  • مثال: مشتری از عامل سفر درباره سیاست‌های بار و گزینه‌های ارتقاء سؤال می‌کند و عامل سیاست‌های خاص شرکت را بازیابی می‌کند تا مطمئن شود که این سؤالات کاربر را به درستی پاسخ می‌دهد.

5. اقدامات

ابزارها چیزی هستند که عامل‌ها را واقعاً قدرتمند می‌کنند. مدل‌های زبانی بزرگ می‌توانند تصمیم بگیرند که چه زمانی و چگونه از ابزارهایی مانند APIها برای جستجوی داده‌های اضافی، به‌روزرسانی سیستم‌ها یا انجام اقدامات واقعی در جهان استفاده کنند. این توانایی برای انتخاب پویای ابزار مناسب در زمان مناسب به عامل‌ها اجازه می‌دهد تا به طور انعطاف‌پذیر و کارآمد عمل کنند و به طور یکپارچه با سیستم‌های موجود ادغام شوند تا نتایج را ارائه دهند.

  • مثال: عامل می‌تواند APIهای خطوط هوایی را فراخوانی کند تا گزینه‌های پرواز، قیمت‌ها و دسترسی به صندلی‌ها را در زمان واقعی دریافت کند. پس از تأیید کاربر، رزرو را نهایی می‌کند و با فراخوانی APIها خرید را انجام داده و برنامه سفر دقیق را از طریق ایمیل ارسال می‌کند.

طراحی عامل‌ها

طراحی یک عامل هوش مصنوعی مؤثر بسیار شبیه به استخدام و آموزش یک کارمند جدید است: باید فکر کنیم که در حال ایجاد کارگرانی هستیم.

با تعریف نقش عامل، مسئولیت‌ها، ابزارها، تعاملات و مسیرهای یادگیری آن، اطمینان حاصل می‌کنیم که به طور کارآمد عمل می‌کند و با اهداف سازمانی هم‌راستا است.

طراحی یک عامل هوش مصنوعی
طراحی یک عامل هوش مصنوعی

چگونگی تطابق هر مرحله از طراحی عامل‌ها با استخدام

1. تعریف شخصیت و هدف عامل

یک عامل باید دارای شخصیت و هدفی باشد — اینکه چه مشکلی را حل می‌کند و چرا وجود دارد. این همان «شرح شغل» آن است. آیا این یک عامل خدمات مشتری است یا یک پژوهشگر داده؟ عامل چه مشکلی را حل می‌کند؟ کاربران آن چه کسانی هستند؟ موفقیت چگونه به نظر می‌رسد؟

  • نکته: شخصیت را به نتایج قابل اندازه‌گیری مرتبط کنید و به طور دوره‌ای بازبینی کنید تا مطمئن شوید با نیازهای کسب‌وکار تکامل می‌یابد.

2. ترسیم وظایف و برنامه‌ها

در مرحله بعد، وظایف و جریان‌های کاری عامل را تعریف کنید. اینکه عامل چه کاری باید انجام دهد و چگونه: کتاب راهنما یا روال کاری. تعریف فرآیندهای گام‌به‌گام جایی است که بیشترین تکرارها رخ می‌دهد؛ وظایف کلیدی چیستند؟ چه موارد استثنایی ممکن است پیش بیاید؟ آیا قوانینی وجود دارد که باید رعایت شوند؟

نکته: تعادلی بین پیچیدگی و ثبات پیدا کنید: هرچه جریان پیچیده‌تر باشد یا وظایف بیشتری که عامل باید انجام دهد، احتمال شکست آن بیشتر می‌شود.

در زیر نحوه تعریف هدف و دستورالعمل‌ها در عامل‌های گوگل آمده است:

3. تعریف حافظه

حافظه به عامل اجازه می‌دهد که سازگار بماند و یاد بگیرد. حافظه کوتاه‌مدت تعاملات اخیر را ردیابی می‌کند، در حالی که حافظه بلندمدت جزئیات تاریخی را در پایگاه‌های داده خارجی ذخیره می‌کند: چه اطلاعاتی باید در طول یک جلسه حفظ شود؟ چه داده‌هایی باید در طول زمان باقی بمانند؟

نکته: ابتدا داده‌هایی را که بیشترین ارزش را دارند — مانند جزئیات مشتری که اغلب استفاده می‌شوند — تعریف کنید و سیستم‌های حافظه را به‌تدریج بسازید تا مقیاس‌پذیری را بدون فشار بیش از حد به عامل تضمین کنید.

4. مجهز کردن به دانش

مشابه کارمندانی که به کتاب‌های راهنما یا اسناد شرکت نیاز دارند، عامل‌ها به دانشی مانند سؤالات متداول یا کاتالوگ محصولات نیاز دارند تا پاسخ‌های دقیق ارائه دهند. عامل به چه منابع دانشی نیاز دارد؟ این دانش چگونه به‌روز نگه داشته می‌شود؟ چه فرمتی بازیابی آسان را تضمین می‌کند؟

نکته: از ابزارهایی مانند پایگاه‌های داده برداری یا تکنیک‌های RAG استفاده کنید و به‌روزرسانی‌ها را زمان‌بندی کنید تا دانش مرتبط باقی بماند.

5. مجهز کردن به ابزارها

ابزارها برای عامل‌ها همان چیزی هستند که نرم‌افزارها و سیستم‌ها برای کارمندان — آن‌ها امکان اقدام را فراهم می‌کنند. عامل‌ها APIها را فراخوانی می‌کنند تا داده‌ها را جستجو کنند، سوابق را به‌روزرسانی کنند یا جلسات را رزرو کنند. چه APIهایی مورد نیاز است؟ آیا در دسترس هستند یا نیاز به توسعه دارند؟ چه مجوزهایی استفاده ایمن را تضمین می‌کنند؟

نکته: ابزارهای خاص هدف را تعریف کنید و مجوزهای مبتنی بر نقش را پیاده‌سازی کنید، مشابه دادن نرم‌افزار و سطوح دسترسی مناسب به کارمندان برای انجام کارشان به طور کارآمد و ایمن.

به یاد داشته باشید که مدل‌های زبانی بزرگ (LLMs) تصمیم می‌گیرند که چه زمانی و چگونه این APIها را فراخوانی کنند، بنابراین تکرار و گنجاندن این ابزارها در تعریف وظایف مهم است. در زیر نحوه تعریف OpenAI از چگونگی فراخوانی ابزارها توسط LLMها آمده است:

طراحی تیم‌های عامل‌ها

مشکلات پیچیده به‌ندرت توسط یک نفر به‌تنهایی حل می‌شوند و این موضوع برای عامل‌ها نیز صدق می‌کند. به جای یک عامل بزرگ و همه‌منظوره، تیمی از عامل‌های تخصصی که با هم همکاری می‌کنند، می‌توانند وظایف را به‌طور مؤثرتری انجام دهند.

به عنوان مثال، یک عامل ممکن است داده‌ها را جمع‌آوری کند، عامل دیگر آن‌ها را تحلیل کند، سومی راه‌حل‌ها را تولید کند و چهارمی این راه‌حل‌ها را پالایش کند. این عامل‌ها به‌صورت مشارکتی کار می‌کنند و وظایف را در صورت نیاز به یکدیگر واگذار می‌کنند، درست مانند همکاران در یک تیم.

با افزایش پیچیدگی، مدیریت و مقیاس‌پذیری عامل‌ها چالش‌برانگیزتر می‌شود. مشکلات رایج شامل این است که عامل‌ها ابزارهای بیش از حدی داشته باشند و در انتخاب ابزار مناسب تصمیمات ضعیفی بگیرند، در مدیریت زمینه‌های بیش از حد پیچیده دچار مشکل شوند یا به نقش‌های تخصصی مانند برنامه‌ریز، پژوهشگر یا متخصص ریاضی برای انجام وظایف خاص نیاز داشته باشند.

این رویکرد مدولار و «چندذهنی» پیچیدگی را کاهش می‌دهد و قابلیت اطمینان را تضمین می‌کند. عامل‌ها همچنین می‌توانند وظایفی را که قادر به انجامشان نیستند واگذار کنند و با محدود کردن دامنه تمرکز هر عامل، عملکرد کلی را بهبود بخشند.

با ایجاد شبکه‌ای از عامل‌های همکاری‌کننده، شما در واقع یک نیروی کار هوش مصنوعی می‌سازید که قادر است مشکلات پیچیده را به‌عنوان یک سیستم هماهنگ حل کند — درست مانند تیمی از کارمندان ماهر که با هم یک پروژه چالش‌برانگیز را به انجام می‌رسانند.

ما در مراحل اولیه یک تغییر در نحوه ساخت فناوری هستیم. عامل‌های هوش مصنوعی فقط ابزارهایی برای اتوماسیون نیستند — آن‌ها همکاران دیجیتال هستند.

شاید از این پست‌ها خوشتان بیاید