codingcogs' logo
what are ai agents

AI Agent ها چه هستند؟

خوب نیست اگر چند دستیار کاربلد داشته باشید؟ کسانی که برایشان مهم نیست چه زمان و چه موقعیتی دارید و با کمترین هزینه‌ی ممکن همیشه مایل هستند به شما کمک کنند؟ به شما مشاوره بدهند، در تحقیق و توسعه به شما کمک کنند، در کار به شما کمک کنند، در تصمیم‌گیری پا به پای شما فکر کنند، در برنامه‌ریزی بتوانید روی کمک آنها حساب کنید و حتی بخشی از کار شما را انجام دهند؟
فرض کنید یک مدیر یا یک متخصص مارکتینگ، یک استاد دانشگاه یا محقق و یا یک برنامه نویس هستید؛ نیاز به این افراد همیشه برای شما محسوس است! اما آیا پیدا کردن همچین افرادی به سادگی ممکن است؟
پیدا کردن این افراد به سادگی ممکن نیست، اما تکنولوژی‌ای به نام AI Agents (عامل‌های هوشمند یا عامل‌های هوش‌مصنوعی) وجود دارد که میتواند با دقت بسیار خوب و خطای بسیار کم، دقیقا مانند یک دستیار متخصص، کنار شما باشند و شما را به اهدافتان برسانند!

AI Agent ها چه هستند؟

به ابزارهای نرم‌افزاری خودکار( به معنی autonomous نه automatic ) که :

  • وظایف خاصی را انجام دهند
  • تصمیم بگیرد
  • هوشمندانه و منطقی با ابزار دیگر و دنیای بیرون ارتباط برقرار کنند

اصطلاحا AI Agents میگوییم. این برنامه‌ها از هوش مصنوعی( artificial intelligence ) استفاده میکنند تا یاد بگیرند، خود را تطبیق دهند و تصمیم بگیرند و عمل کنند. عامل‌های هوشمند میتوانند به تنهایی یا در کنار دیگر افراد و سیستم‌ها کار کنند و بر اساس داده‌هایی که پردازش میکنند رفتار درستی داشته باشند.

ضمنا AI Agentها میتوانند سطوح مختلفی از اختیار( autonomy ) را داشته باشند تا به وظیفه‌ی خود عمل کنند و به هدف خود برسند.

از AI تا AI Agents

تفاوت اصلی AI Agentها با دیگر تکنولوژی‌های هوش مصنوعی در این است که این برنامه‌ها توانایی عمل با اختیار را دارند. مدل‌های سنتی هوش‌مصنوعی نیاز به ورودی انسانی برای انجام وظایف خود دارند اما عامل‌های هوشمند مرتبا با داده‌های جدید خود را وفق داده و با اخیتار عمل خود در راستای هدف خود کار میکنند.

قابلیت انجام کار و کاهش وابستگی انسانی، عامل‌های هوشمند( intelligent agents ) را در کارهای پیچیده، محیط‌های در حال تغییر و غیر قطعی و شرایط دشوار بسیار ارزشمند میکند.

یک مثال از این محیط‌ها، دنیای توسعه‌ی نرم افزار است.

ویژگی های کلیدی یک AI Agent

بیاید یک مثال فرضی را بررسی کنیم، یک شرکت تولید محصول خوراکی داریم که میخواهد یک کمپین مارکتینگ بزرگ را با استفاده از یک AI Agent بهینه کند. این کمپین در حالت سنتی نیاز به چندین متخصص مارکتینگ با تجربه دارد که زمان زیادی را صرف برنامه‌ریزی و اجرای کمپین کنند. اما میشود با تنها یک متخصص مارکتینگ که از AI Agent بخصوصی استفاده میکند نتیجه‌ی صدها نفر-ساعت کار تیم سنتی را 2-3 ساعت گرفت! بیاید سناریوی این مسئله را بچینیم:

  • جمع آوری دیتا توسط عامل انسانی یا عامل هوشمند:
    در دوره‌های یک هفته‌ای داده‌های مربوط به مارکتینگ از پایپلاین‌های ( pipelines ) دیتا جمع آوری شده و مرتب می‌شوند.
  • عامل هوشمند عملکرد را تحلیل می‌کند:
    با داده‌های جمع آوری شده Agent شروع به تحلیل دقیق مفهومی می‌کند و وضعیت عملکرد کمپین را می‌فهمد و متریک‌های ارزیابی را با انتظارات مقایسه میکند. در صورت نیاز به business context نیز باید آن را از اوپراتور یا متخصص مارکتینگ دریافت کند.
  • عامل هوش مصنوعی پیشنهادات خود را ارائه می‌دهد:
    در این مرحله Agent شروع به نوشتن گزارش استانداردی میکند که هدف آن بهینه‌سازی کمپین مارکتینگ است. در این مرحله نیاز است که متخصص مارکتینگ این گزارش را بررسی کند و پیشنهادات AI Agent را بهبود ببخشد.
  • بروزرسانی AI Agent:
    در این مرحله با توجه به تغییرات انجام شده توسط متخصص مارکتینگ و بخش‌های قبول شده‌ی گزارش، باید عامل هوش مصنوعی را بروزرسانی کنیم تا در تکرار بعدی بهتر عمل کند.
AI Agents base parts | اجزای تشکیل دهنده‌ی عامل هوشمند

به صورت کلی میتوان 3 بخش برای یک AI Agent در نظر گرفت:

  1. حافظه یا Memory:
    تسک‌ها، وظایف و نتایج قبلی باید در حافظه‌ی مدل باقی بماند.
  2. مدل هوش‌مصنوعی یا AI Model:
    مغز متفکر عامل هوشمند، عموما از LLMها، SLMها و Bert استفاده می‌شود.
  3. دنیای خارج یا Systems:
    ابزار و دیتایی که هوش مصنوعی خارج از برنامه‌ی خود به آن‌ها دسترسی دارد.

AI Agentها چطور کار میکنند؟

عامل‌های هوش‌مصنوعی دنیای بیرون را مشاهده( Observe ) می‌کنند، از یک مدل هوش‌مصنوعی برای برنامه ریزی و تصمیم‌گیری( Plan ) استفاده میکند و با ارتباط با ابزار و سیستم‌های بیرونی دست به عمل( Act ) میزنند تا به اهداف خود برسند:

مشاهده یا Observe

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

برنامه‌ریزی یا Plan

به کمک مدل‌های زبانی، برنامه به صورت خودکار شروع به ارزیابی و برنامه‌ریزی مراحل عملی میکند. این برنامه‌ریزی با توجه به درک مدل زبانی از مشکل، اهداف و context و memory صورت می پذیرد.

عمل یا Act

در این مرحله AI Agent شروع به استفاده از interfaceهایی میکند که در اختیار آن قرار دارد تا ابزار، سیستم‌ها و داده‌ها را بکار بگیرد و وظایف خود را انجام دهد. وظایف یا taskها در واقع اهدافی هستند که large language model یا small language model وظیفه‌ی نظارت بر درستی انجام آنها را دارد.

How AI Agents Work

پارادایم‌های AI Agentها

پارادایم‌های زیادی برای ساخت AI agent وجود دارند و مدل استانداردی وجود ندارد اما دو پارادایم ترکیبی بسیار مهم برای حل مسائل چند مرحله‌ای( multi-step ) وجود دارد:

پارادایم ReAct (Reasoning and Action)

در این پارادایم به عامل فرمان فکر کردن میدهیم تا برای هر عمل و برنام‌ریزی داشته باشد و ابزار مختلف انجام هر عمل را مشخص کند. در این حالت یک حلقه‌ی Think-Act-Observe داریم تا مسائل و وظایف حل شوند. در این حالت معمولا از مدل‌های Chain-of-Thought مانند DeepSeek-R1 یا Claude-Haiku یا OpenAI-O3 به همراه یک مدل دیگر برای استفاده از ابزار استفاده می‌کنیم. با این روش خروجی ما به AI agent بودن نزدیک‌تر است.

پارادایم ReWOO (Reasoning WithOut Observation)

در روش ReWOO برخلاف ReAct وابستگی به خروجی ابزار یا برنامه‌ریزی کمتر است. در این روش خروجی شباهت بیشتری به AI workflow بودن دارد. در این حالت برنامه از قبل مشخص و نوشته شده است و مدل زبانی صرفا کار خاصی را انجام می‌دهد. این پارادایم را مبتنی بر عامل انسانی یا human-centered نیز میگوییم. در واقع برنامه‌ی workflow از قبل نوشته شده است و این روش نسبت به روش قبلی از نظر پیاده‌سازی و مصرف Token ساده و بصرفه‌تر است.

انواع AI Agentها

عامل‌های هوش‌مصنوعی انواع مختلفی از توانایی‌ها را دارند. به صورت کلی 5 نوع اصلی از agent ها وجود دارد:

1- عامل‌های Simple reflex

این agentها تنها بر اساس وضعیت فعلی محیط بیرونی(داده‌های ورودی) و قوانین از قبل تعریف شده تصمیم‌گیری و عمل میکنند.

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

Simple reflex agent diagram

2- عامل‌های Model-based reflex

مشابه مدل قبلی ما برخلاف simple reflex ، این مدل‌ها حافظه‌ی ساده‌ی عملیات گذشته‌ی خود را نگه می‌دارند.

عامل‌های Model-based reflex هم وضعیت فعلی محیط بیرونی و هم حافظه را برای انجام عملیات خود استفاده می‌کنند. با ورود اطلاعات جدید، مدل نیز بروز می‌شود. عملیاتی که agent تصمیم می‌گیرد انجام دهد براساس model و reflex ها و مشاهدات گذشته و وضعیت فعلی است. در استفاده از Model-based reflex agent میتوانیم کمتر نگران آسیب تغییرات دیتا در خروجی مدل باشیم چرا که عملکرد عامل تنها به داده‌های فعلی وابسته نیست. البته در این حالت نیز هنوز مدل بر اساس قوانین محدود از پیش تعریف شده عمل می‌کند.

Model-based reflex agent diagram

3- عامل‌های Goal-based

این agentها بر اساس اهداف مشخص تعریف شده تصمیم‌گیری میکنند و سعی میکنند به اهداف نهایی خود نزدیک‌تر شوند.

عامل‌های Goal-based مثل حالت Model-based reflex هستند اما به جای شرط و قانون، هدف دارند؛ در این حالت به جای اینکه قوانین دنبال شوند، مدل بررسی می‌کند که از چه راهی میتواند به اهداف خود برسد و بر اساس راه‌های انتخاب شده برنامه‌ریزی کرده و تصمیم می‌گیرد. این ساختار میتواند باعث افزایش کیفیت نسبت به حالت‌های قبل شود.

Goal-based agent diagram

4- عامل‌های Utility-based

این agentها به نتایج مختلف و احتمال رخداد آن‌ها توجه می‌کنند و بهترین تصمیم و عمل را بر اساس utility یا نفع خود می‌گیرند.

عامل‌های Utility-based تعدادی از عملیات را برای اجرا انتخاب می‌کنند که به هدف خود برسند و بیشترین بهره‌وری یا امتیاز را کسب کنند. مقدار بهره‌وری یا utility از طریق utility function محاسبه می‌شود و خروجی این تابع مقداری عددی است که مدل بر اساس آن می‌تواند میزان کیفیت عملکرد خود را بسنجد. این نوع از عامل‌ها میتوانند به سادگی از پس چند سناریوی هم زمان بربیایند. هدف از توسعه‌ی بر اساس این ساختار، بهینه‌تر کردن عملکرد agent در شرایط پیچیده است.

Learning agent diagram

5- عامل‌های Learning

این نوع از عامل‌ها با گذر زمان و انجام وظایف خود یاد می‌گیرند و کارایی آنها با گذر زمان و کسب تجربه بیشتر می‌شود.

عامل‌های Learning میتوانند ساختاری مشابه 2 نوع utility یا goal که قبل‌تر دیدیم داشته باشند؛ اما تفاوت آنها در یادگیری ( learning ) است. هر تجربه به عنوان context به knowledge base مدل وارد می‌شود. این یادگیری مداوم امکان بهبود عملکرد مدل در شرایط پیش‌بینی نشده و جدید را ممکن‌تر می‌کند. این عامل‌ها 4 بخش مهم اصلی نیز دارند:

  • آموزش یا Learning : این بخش از برنامه ورودی‌ها را به عنوان حافظه برای مدل در نظر می‌گیرد.
  • نقد یا Critic : این بخش از برنامه نتیجه‌ی عملکرد مدل را از نظر کیفی و عملکردی به عنوان حافظه به مدل باز می‌گرداند.
  • عملکرد یا Performance : این بخش از برنامه بر اساس تفکر مدل، دست به انتخاب عمل بعد از انجام یادگیری می‌زند.
  • مسئله ساز یا Problem generator : این بخش از برنامه راهکارهای مختلفی را عملیات انتخابی مختلف ارائه می‌دهد.
Learning agent diagram

مزایا

اتوماسیون وظایف و Taskها

با رشد و پیشرفت هوش‌مصنوعی مولد ( generative AI )، صنایع مختلف در حال افزایش استفاده‌ی خود از AI برای ایجاد workflowهای جدید یا بهبود workflowهای قبلی خود هستند. AI agentها میتوانند کارهای پیچیده را به صورت خودکار انجام دهند. بکارگیری این ابزار باعث کاهش هزینه‌ی مالی و زمان و افزایش سرعت رشد و توسعه می‌شود.

افزایش کارایی

فریم‌ورک‌های Multi-agent نسبت به ابزار singular agent کارایی بیشتری دارند. با تکرار و کسب تجربه، سیستم‌های Multi-agent بیشتر یاد می‌گیرند و عملکرد بهتری خواهند داشت. هرجایی که با سنتز و بررسی و تحلیل داده‌ها سر و کار داشته باشیم، میتوانیم مطمئن باشیم که اگر سیستم agentic ما ساختار درستی داشته باشد، میتواند از اکثر نیرو‌های انسانی ما خبره‌تر بوده و متناسب با نیاز دقیق ما خود را وفق دهد و کارایی ما را افزایش دهد.

کیفیت پاسخگویی

با اطمینان می‌توان گفت که AI agentها از انسان‌ها در پاسخگویی بهتر و جامع تر عمل می‌کنند. خدمات مشتریان هم اولین صنعتی بود که از عامل‌های هوشمند بهره گرفت.

معایب: محدودیت‌ها و خطرات

وابستگی‌های Multi-agent

ریسک‌های عملکرد اشتباه، از کار افتادن و ایجاد خطرات امنیتی جدید و به خطر افتادن سیستم‌ها و اطلاعات از مشکلات سیستم‌های هوشمند است. با افزایش تعداد agentها ریسک خطرات افزایش می‌یابد.

امکان رخداد Infinite feedback loops

اگر بخواهیم تمام انسان‌ها را از چرخه حذف کنیم، اگر مدل زبانی نتواند از پس کار بر بیاید، هیچ چیزی جلوی از کار افتادن سیستم را نمی‌گیرد و اگر به اشتباه برنامه شروع به استفاده‌ی بی‌رویه از ابزار کند نیز مشکل infinite feedback loops پدید می‌آِید. برای رفع این معایب نظارت دقیق انسانی لازم است.

پیچیدگی محاسباتی

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

چگونه یک AI Agent بسازیم؟

دانش ضروری برای ساخت AI Agent

برای ساخت این برنامه‌ها و سیستم‌ها نیز احتیاج به تسلط به زبان برنامه‌نویسی Python، درک خوبی از APIها و آشنایی کافی با طرز استفاده از مدل‌های زبانی دارید. مرحله‌ی بعدی تست و thinkering (ور رفتن) با تکنولوژی هاست تا یادگیری شما در این زمینه کامل شود.

فریم ورک‌های AI Agent

مدل‌ها و ابزار زیادی برای پیاده سازی این نوع از سیستم‌ها و برنامه‌ها وجود دارد اما به نظر شخصی من دو گزینه‌ی AutoGen و PydanticAI گزینه‌های بهتری هستند.