مقدمهای جامع بر AI Agents: مفاهیم، کارکردها و نحوه ساخت

در این پست، با مفاهیم اساسی AI Agents آشنا میشوید. از چیستی و نحوه کارکرد Agents گرفته تا نقش LLMها به عنوان “مغز” آنها، استفاده از ابزارها برای تعامل با محیط، و چرخه فکر-عمل-مشاهده. در پایان، با درک کاملی از اصول Agents، آماده خواهید بود تا اولین Agent خود را با استفاده از smolagents بسازید و آن را در Hugging Face Spaces منتشر کنید. این راهنمای کاربردی برای علاقهمندان به هوش مصنوعی، برنامهنویسان و متخصصان حوزه فناوری طراحی شده است.
سری آموزشی AI Agents
شما در حال مطالعه بخشی از سری مقالات آموزش AI Agents هستید. برای دسترسی به سایر مقالات این مجموعه، از فهرست زیر استفاده کنید:
- مقدمهای جامع بر AI Agents: مفاهیم، کارکردها و نحوه ساخت
- آموزش Agent-بخش 2:LLM چیست؟
- آموزش Agent-بخش 3 پیامها و توکنهای ویژه
- آموزش Agent-بخش 4: ابزارها (Tools) چیست؟
- آموزش Agent-بخش 5: درک Agentهای هوش مصنوعی از طریق چرخه تفکر-اقدام-مشاهده
- آموزش Agent-بخش 6 (تفکر): استدلال داخلی و رویکرد Re-Act
- آموزش Agent-بخش 7(اقدامات): توانمندسازی Agent برای تعامل با محیط خود
- آموزش Agent-بخش 8(مشاهده): یکپارچهسازی بازخورد برای تطبیق و بهبود
- آموزش Agent-بخش 9: کتابخانه Dummy Agent
- آموزش Agent-بخش 10: ساخت agent با smolagents
زمان مطالعه: حدود ۱۵ دقیقه
فهرست مطالب
- مقدمهای بر Agents
- Agent چیست؟
- برنامهریزی واحد ۱
- تصویر کلی: آلفرد، یک Agent
- فرآیند Agent
- تعریف رسمی Agent
- چه نوع مدلهای هوش مصنوعی برای Agents استفاده میکنیم؟
- چگونه هوش مصنوعی بر محیط خود عمل میکند؟
- یک Agent چه نوع وظایفی میتواند انجام دهد؟
- مثال ۱: دستیاران مجازی شخصی
- مثال ۲: چتباتهای خدمات مشتری
- مثال ۳: شخصیتهای غیرقابل بازی هوش مصنوعی در بازیهای ویدیویی
مقدمهای بر Agents
به اولین پست از سلسله پستهای آموزشی پیرامون Agent و پیاده سازی آنها خوش آمدید، با کلاس ویژن همراه باشید تا پایهای محکم در مفاهیم اساسی AI Agents را بسازید، از جمله:
شناخت Agents
- Agent چیست و چگونه کار میکند؟
- Agents چگونه با استفاده از استدلال (reasoning) و برنامهریزی (planning) تصمیمگیری میکنند؟
نقش LLMها (Large Language Models) در Agentها
- چگونه LLMها به عنوان “مغز” Agent عمل میکنند.
- چگونه LLMها مکالمات را از طریق سیستم Message یا پیامها ساختاربندی میکنند.
Tools و Actions
- چگونه Agents از ابزارهای خارجی برای تعامل با محیط استفاده میکنند.
- چگونه ابزارها را برای Agent خود بسازید و یکپارچه کنید.
جریان کاری Agent:
فکر کردن (Think) → عمل کردن (Act) → مشاهده کردن (Observe)
پس از بررسی این موضوعات، اولین Agent خود را با استفاده از smolagents خواهید ساخت!
در این مثال، Agent شما، با نام آلفرد، وظیفهای ساده را مدیریت خواهد کرد و نشان خواهد داد چگونه این مفاهیم را در عمل به کار بگیرید.
حتی یاد خواهید گرفت چگونه Agent خود را در Hugging Face Spaces منتشر کنید، تا بتوانید آن را با دوستان و همکاران خود به اشتراک بگذارید.
این سلسله پست ها در کلاس ویژن پایههای درک Agents را قبل از پرداختن به موضوعات پیشرفتهتر فراهم میکند.
این پستها ادامه دارد، پس منظم وقت بگذارید و تردید نکنید که حسابی ارزشش را دارد…
Agent چیست؟
برای درک مفهوم Agent، باید با تعریف و کاربردهای آن در هوش مصنوعی آشنا شویم.
تصویر کلی: آلفرد، یک Agent
با آلفرد آشنا شوید. آلفرد یک Agent است.
این آلفرد است
تصور کنید آلفرد دستوری دریافت میکند، مانند: “آلفرد، لطفاً یک قهوه میخواهم.”
از آنجا که آلفرد زبان طبیعی را درک میکند، به سرعت درخواست ما را متوجه میشود.
قبل از انجام سفارش، آلفرد به استدلال و برنامهریزی (reasoning and planning) میپردازد و مراحل و ابزارهایی را که نیاز دارد مشخص میکند:
- رفتن به آشپزخانه
- استفاده از دستگاه قهوهساز
- دم کردن قهوه
- آوردن قهوه


و این همان چیزی است که یک Agent است: یک مدل هوش مصنوعی که قادر به استدلال (reasoning)، برنامهریزی (planning) و تعامل با محیط خود است.
ما به آن Agent میگوییم زیرا دارای عاملیت (agency) است، یعنی توانایی تعامل با محیط را دارد.
تعریف رسمی Agent
حالا که تصویر کلی را دارید، اینجا تعریف دقیقتری ارائه میشود:
یک Agent سیستمی است که از یک مدل هوش مصنوعی برای تعامل با محیط خود به منظور دستیابی به هدفی که کاربر تعیین کرده استفاده میکند. این سیستم استدلال، برنامهریزی و اجرای اقدامات (اغلب از طریق ابزارهای خارجی) را برای انجام وظایف ترکیب میکند.
Agent را به عنوان دو بخش اصلی در نظر بگیرید:
- مغز (مدل هوش مصنوعی)
اینجا جایی است که تمام تفکر اتفاق میافتد. مدل هوش مصنوعی، استدلال (reasoning) و برنامهریزی (planning) را انجام میدهد. براساس موقعیت تصمیم میگیرد که کدام Actionها را انجام دهد.
- بدن (قابلیتها و ابزارها)
این بخش نشاندهنده تمام قابلیتهایی است که Agent برای انجام آنها مجهز شده است.
محدوده اقدامات ممکن به آنچه agent به آن مجهز شده بستگی دارد. به عنوان مثال، از آنجا که انسانها بال ندارند، نمیتوانند عمل “پرواز” را انجام دهند، اما میتوانند Actionهایی مانند “راه رفتن”، “دویدن”، “پریدن”، “گرفتن” و غیره را اجرا کنند.
چه نوع مدلهای هوش مصنوعی برای Agents استفاده میکنیم؟
رایجترین مدل هوش مصنوعی که در Agents استفاده میشود، LLM (مدل زبانی بزرگ) است که متن را به عنوان ورودی دریافت میکند و همچنین متن را به عنوان خروجی تولید میکند.
نمونههای شناخته شده GPT4 از OpenAI، LLama از Meta، Gemini از Google و غیره هستند. این مدلها روی حجم زیادی از متن آموزش دیدهاند و قادر به تعمیم خوبی هستند. در بخش بعدی بیشتر درباره LLMها خواهیم آموخت.
همچنین میتوان از مدلهایی که ورودیهای دیگری را به عنوان مدل اصلی Agent میپذیرند استفاده کرد. به عنوان مثال، یک Vision Language Model (VLM)، که شبیه LLM است اما تصاویر را نیز به عنوان ورودی درک میکند. فعلاً روی LLMها تمرکز میکنیم و گزینههای دیگر را بعداً بررسی خواهیم کرد.
چگونه هوش مصنوعی بر محیط خود عمل میکند؟
LLMها مدلهای شگفتانگیزی هستند، اما فقط میتوانند متن تولید کنند.
با این حال، اگر از یک برنامه گفتگوی شناخته شده مانند HuggingChat یا ChatGPT بخواهید تصویری تولید کند، میتوانند! چگونه این امکانپذیر است؟
پاسخ این است که توسعهدهندگان HuggingChat، ChatGPT و برنامههای مشابه قابلیتهای اضافی (به نام Tools) را پیادهسازی کردهاند که LLM میتواند از آنها برای ایجاد تصاویر استفاده کند.
مدل از یک ابزار تولید تصویر (Image Generation Tool) برای ایجاد این تصویر استفاده کرد.
در بخش Tools بیشتر درباره ابزارها خواهیم آموخت.
یک Agent چه نوع وظایفی میتواند انجام دهد؟
یک Agent میتواند هر وظیفهای را که ما از طریق Tools برای تکمیل Actions پیادهسازی میکنیم، انجام دهد.
به عنوان مثال، اگر من یک Agent بنویسم تا به عنوان دستیار شخصی من (مانند Siri) روی کامپیوترم عمل کند، و از آن بخواهم “ایمیلی به مدیرم بفرستد و درخواست تأخیر در جلسه امروز را بکند”، میتوانم کدی برای ارسال ایمیل به آن بدهم. این یک Tool جدید خواهد بود که Agent میتواند هر زمان که نیاز به ارسال ایمیل دارد از آن استفاده کند. میتوانیم آن را در Python بنویسیم:
def send_message_to(recipient, message): """Useful to send an e-mail message to a recipient""" ...
LLM، همانطور که خواهیم دید، کدی را برای اجرای ابزار زمانی که به آن نیاز دارد تولید میکند و بدین ترتیب وظیفه مورد نظر را انجام میدهد.
send_message_to("Manager", "Can we postpone today's meeting?")
طراحی Tools بسیار مهم است و تأثیر زیادی بر کیفیت Agent شما دارد. برخی وظایف به Tools بسیار خاصی نیاز دارند، در حالی که برخی دیگر ممکن است با ابزارهای عمومی مانند “web_search” حل شوند.
توجه داشته باشید که Actions با Tools یکسان نیستند. یک Action، به عنوان مثال، میتواند شامل استفاده از چندین Tool برای تکمیل باشد.
اجازه دادن به agent برای تعامل با محیط خود، امکان استفاده واقعی را برای شرکتها و افراد فراهم میکند.
مثال ۱: دستیاران مجازی شخصی
دستیاران مجازی مانند Siri، Alexa یا Google Assistant، زمانی که از طرف کاربران با محیطهای دیجیتال آنها تعامل میکنند، به عنوان agent عمل میکنند.
آنها درخواستهای کاربر را دریافت میکنند، زمینه را تحلیل میکنند، اطلاعات را از پایگاههای داده بازیابی میکنند و پاسخ میدهند یا اقداماتی را آغاز میکنند (مانند تنظیم یادآوری، ارسال پیام یا کنترل دستگاههای هوشمند).
مثال ۲: چتباتهای خدمات مشتری
بسیاری از شرکتها چتباتها را به عنوان agentهایی که با مشتریان به زبان طبیعی تعامل میکنند، مستقر میکنند.
این agentها میتوانند به سؤالات پاسخ دهند، کاربران را در مراحل عیبیابی راهنمایی کنند، مشکلات را در پایگاههای داده داخلی باز کنند یا حتی تراکنشها را تکمیل کنند.
اهداف از پیش تعیین شده آنها ممکن است شامل بهبود رضایت کاربر، کاهش زمان انتظار یا افزایش نرخ تبدیل فروش باشد. با تعامل مستقیم با مشتریان، یادگیری از گفتگوها و تطبیق پاسخهای خود در طول زمان، آنها اصول اساسی یک agent در عمل را نشان میدهند.
مثال ۳: شخصیتهای غیرقابل بازی هوش مصنوعی در بازیهای ویدیویی
agentهای هوش مصنوعی که توسط LLMها قدرت میگیرند میتوانند شخصیتهای غیرقابل بازی (NPCs) را پویاتر و غیرقابل پیشبینیتر کنند.
به جای پیروی از درختهای رفتاری سخت، آنها میتوانند به صورت متنی پاسخ دهند، با تعاملات بازیکن سازگار شوند و گفتگوهای دقیقتری تولید کنند. این انعطافپذیری به ایجاد شخصیتهای واقعیتر و جذابتر که همراه با اقدامات بازیکن تکامل مییابند، کمک میکند.
به طور خلاصه، یک Agent سیستمی است که از یک مدل هوش مصنوعی (معمولاً یک LLM) به عنوان موتور استدلال اصلی خود استفاده میکند، برای:
- درک زبان طبیعی: تفسیر و پاسخ به دستورالعملهای انسانی به روشی معنادار.
- استدلال و برنامهریزی: تحلیل اطلاعات، تصمیمگیری و طراحی استراتژی برای حل مسائل.
- تعامل با محیط خود: جمعآوری اطلاعات، انجام اقدامات و مشاهده نتایج آن اقدامات.
در بخش بعدی به “مغز Agent” یعنی LLMها خواهیم پرداخت.
منبع: https://huggingface.co/learn/agents-course/unit1/what-are-agents
دیدگاهتان را بنویسید