AI Agent — وقتی LLM زنده می‌شه

قسمت ۷ ۲۵ دقیقه

خلاصه مسیر تا اینجا

بیا یه نگاه به مسیری که طی کردیم بندازیم. اپیزود ۴ مدل‌های اوپن‌سورس رو شناختیم. اپیزود ۵ با RAG بهشون حافظه دادیم. اپیزود ۶ با Fine-tuning رفتارشون رو شخصی‌سازی کردیم. ولی هنوز یه مشکل بزرگ داریم: این مدل‌ها فقط حرف می‌زنن.

ازشون بپرسی «هوا چطوره؟» — یه جواب کلی می‌دن ولی نمی‌تونن واقعاً هوا رو چک کنن. بگی «یه ایمیل بفرست» — متن ایمیل رو می‌نویسن ولی واقعاً نمی‌فرستن. بگی «این فایل رو بخون» — نمی‌تونن.

امروز می‌خوایم این محدودیت رو بشکنیم. امروز LLM زنده می‌شه.

Agent چیه؟ — سه تفاوت کلیدی با Chatbot

یه AI Agent یه سیستمه که یه LLM داره به‌عنوان مغز، ولی کنارش ابزارهایی داره که می‌تونه باهاشون کار انجام بده.

بیا سه تفاوت اصلی Agent و Chatbot ساده رو ببینیم:

تفاوت ۱: عمل‌گرایی (Action)

Chatbot: فقط متن تولید می‌کنه. جواب سوالت رو می‌ده و تمام.

Agent: می‌تونه کار انجام بده — API بزنه، فایل بخونه، دیتابیس رو جستجو کنه، ایمیل بفرسته.

تفاوت ۲: برنامه‌ریزی (Planning)

Chatbot: به هر پیام جداگانه جواب می‌ده. برنامه‌ای نداره.

Agent: یه کار بزرگ رو به مراحل کوچیک‌تر تقسیم می‌کنه و قدم‌به‌قدم اجرا می‌کنه.

تفاوت ۳: خودمختاری (Autonomy)

Chatbot: منتظر دستور تو می‌مونه. بدون سوال تو، کاری نمی‌کنه.

Agent: می‌تونه تصمیم بگیره، اشتباهش رو تشخیص بده و اصلاح کنه، و حتی بدون دستور مستقیم تو عمل کنه.

تشبیه: Chatbot مثل یه دانشنامه‌ست — جواب می‌ده ولی کاری نمی‌کنه. Agent مثل یه دستیار واقعیه — هم جواب می‌ده هم کار انجام می‌ده. بگی «جلسه فردا رو کنسل کن»، واقعاً می‌ره تقویم رو باز می‌کنه و کنسل می‌کنه.

Tool Use / Function Calling — دست‌های Agent

مهم‌ترین قابلیتی که یه LLM رو تبدیل به Agent می‌کنه، Tool Use (استفاده از ابزار) هست که بهش Function Calling هم می‌گن.

چطور کار می‌کنه؟

ایده ساده‌ست: به مدل یه لیست از ابزارها (توابع) می‌دی و می‌گی «هر وقت لازم بود، از اینا استفاده کن.» مدل خودش تشخیص می‌ده کی باید از کدوم ابزار استفاده کنه.

# تعریف ابزارها برای مدل
tools = [
    {
        "name": "get_weather",
        "description": "وضعیت آب و هوای یه شهر رو برمی‌گردونه",
        "parameters": {
            "city": "نام شهر (مثل تهران)"
        }
    },
    {
        "name": "send_email", 
        "description": "ایمیل ارسال می‌کنه",
        "parameters": {
            "to": "آدرس ایمیل",
            "subject": "موضوع",
            "body": "متن ایمیل"
        }
    },
    {
        "name": "search_database",
        "description": "دیتابیس محصولات رو جستجو می‌کنه",
        "parameters": {
            "query": "عبارت جستجو"
        }
    }
]

# حالا وقتی کاربر بگه "هوای تهران چطوره؟"
# مدل خودش تشخیص می‌ده باید get_weather رو صدا بزنه
# و پارامتر city رو "تهران" قرار می‌ده

جریان کار Function Calling

  1. کاربر سوال می‌پرسه
  2. مدل تصمیم می‌گیره آیا نیاز به ابزاره یا نه
  3. اگه نیاز بود، مدل اسم تابع و پارامترها رو خروجی می‌ده (نه خود نتیجه رو!)
  4. سیستم تابع رو واقعاً اجرا می‌کنه و نتیجه رو به مدل برمی‌گردونه
  5. مدل با نتیجه، جواب نهایی رو به کاربر می‌ده
💡 نکته مهم: مدل خودش تابع رو اجرا نمی‌کنه! فقط می‌گه «من فکر می‌کنم باید تابع X رو با پارامتر Y صدا بزنی.» اجرای واقعی رو کد تو انجام می‌ده. این از نظر امنیتی خیلی مهمه — تو کنترل داری چی اجرا بشه.

معماری یه Agent هوشمند

یه Agent خوب چهار بخش اصلی داره. بیا هر کدوم رو بررسی کنیم:

۱. Perception (ادراک) — چشم و گوش Agent

Agent باید بتونه اطلاعات رو دریافت کنه. این اطلاعات می‌تونه از منابع مختلف بیاد:

  • پیام کاربر
  • نتیجه ابزارها
  • تاریخچه مکالمه
  • اطلاعات محیطی (مثل زمان، موقعیت)

۲. Reasoning (استدلال) — مغز Agent

اینجا LLM نقش اصلی رو بازی می‌کنه. مدل باید:

  • سوال رو بفهمه
  • تصمیم بگیره چه کاری لازمه
  • یه برنامه بچینه
  • بین ابزارهای مختلف انتخاب کنه

یه الگوی معروف برای استدلال Agent، الگوی ReAct (Reasoning + Acting) هست:

# الگوی ReAct
# فکر: باید اول هوا رو چک کنم
# عمل: get_weather("تهران")
# مشاهده: دمای ۲۵ درجه، آفتابی
# فکر: حالا باید به کاربر جواب بدم
# جواب: هوای تهران الان ۲۵ درجه و آفتابیه!

۳. Action (عمل) — دست‌های Agent

بعد از تصمیم‌گیری، Agent عمل می‌کنه. عمل می‌تونه:

  • صدا زدن یه ابزار (Function Calling)
  • جواب دادن به کاربر
  • درخواست اطلاعات بیشتر از کاربر
  • تقسیم کار به زیرکارهای کوچکتر

۴. Memory (حافظه) — یادگیری Agent

بدون حافظه، Agent هر بار از صفر شروع می‌کنه. حافظه Agent دو نوعه:

  • Short-term Memory (حافظه کوتاه‌مدت): تاریخچه مکالمه فعلی. هر چی تو این مکالمه گفته شده رو یادش هست.
  • Long-term Memory (حافظه بلندمدت): اطلاعاتی که بین مکالمات مختلف حفظ می‌شه. مثلاً ترجیحات کاربر، تاریخچه عملیات قبلی.
⚡ ارتباط با RAG: حافظه بلندمدت Agent معمولاً با RAG پیاده‌سازی می‌شه! یادت هست اپیزود ۵ گفتیم چطور اطلاعات رو تو Vector Database ذخیره کنیم؟ همون تکنیک اینجا برای حافظه Agent استفاده می‌شه.

Agent Loop — حلقه اصلی

یه Agent تو یه حلقه (Loop) کار می‌کنه. این حلقه تا وقتی کار تموم نشه ادامه داره:

# شبه‌کد حلقه Agent
def agent_loop(user_request):
    messages = [{"role": "user", "content": user_request}]
    
    while True:
        # مدل فکر می‌کنه
        response = llm.generate(messages, tools=available_tools)
        
        # آیا می‌خواد ابزار استفاده کنه؟
        if response.has_tool_call:
            # ابزار رو اجرا کن
            tool_name = response.tool_call.name
            tool_args = response.tool_call.arguments
            result = execute_tool(tool_name, tool_args)
            
            # نتیجه رو برگردون به مدل
            messages.append({"role": "tool", "content": result})
            continue  # دوباره فکر کن
        
        # اگه ابزار نخواست، یعنی جواب نهایی آماده‌ست
        return response.text

نکته مهم: Agent ممکنه چندین بار تو این حلقه بچرخه. مثلاً اول دیتابیس رو سرچ کنه، بعد نتیجه رو تحلیل کنه، بعد یه API دیگه بزنه، و در نهایت جواب بده.

مثال‌های عملی Agent

بیا چند مثال واقعی ببینیم تا بهتر بفهمی Agent چقدر قدرتمنده:

مثال ۱: دستیار برنامه‌نویسی

ابزارها: خواندن فایل، نوشتن فایل، اجرای کد، جستجو در مستندات

سناریو: بگی «یه باگ تو فایل app.py هست، پیداش کن و درستش کن»

Agent: فایل رو می‌خونه → باگ رو پیدا می‌کنه → فایل رو ویرایش می‌کنه → تست اجرا می‌کنه → نتیجه رو بهت گزارش می‌ده

مثال ۲: دستیار تحقیق

ابزارها: جستجوی وب، خواندن صفحات وب، خلاصه‌سازی

سناریو: بگی «درباره آخرین تحولات AI تو سال ۲۰۲۵ تحقیق کن»

Agent: چندین جستجو انجام می‌ده → مقالات رو می‌خونه → اطلاعات مهم رو استخراج می‌کنه → یه گزارش خلاصه تحویل می‌ده

مثال ۳: دستیار فروش

ابزارها: جستجوی محصول، بررسی موجودی، ثبت سفارش، ارسال ایمیل

سناریو: مشتری بگه «لپ‌تاپ زیر ۳۰ میلیون می‌خوام»

Agent: دیتابیس رو سرچ می‌کنه → گزینه‌ها رو نشون می‌ده → بعد از انتخاب مشتری، موجودی رو چک می‌کنه → سفارش ثبت می‌کنه → ایمیل تأیید می‌فرسته

Multi-Agent — تیمی از Agent‌ها

یه مفهوم پیشرفته‌تر، Multi-Agent Systems هست — جایی که چند Agent با هم کار می‌کنن.

فکر کن مثل یه شرکته: یه Agent مدیر پروژه‌ست و کار رو تقسیم می‌کنه. یه Agent برنامه‌نویسه و کد می‌زنه. یه Agent تسترِ و کد رو تست می‌کنه. یه Agent هم مستندساز هست و مستندات رو می‌نویسه.

هر Agent تخصص خودش رو داره و با بقیه هماهنگ می‌کنه. نتیجه نهایی بهتر از کاری‌ه که یه Agent تنها می‌تونه انجام بده.

چالش‌های Agent

Agent‌ها قدرتمندن ولی چالش‌هایی هم دارن:

  • امنیت: اگه Agent دسترسی به ابزارهای حساس داره (مثل حذف فایل)، باید حتماً محدودیت و تأیید داشته باشه
  • هزینه: هر بار چرخش تو حلقه Agent یعنی یه بار صدا زدن LLM. اگه ۱۰ بار بچرخه، ۱۰ برابر هزینه داره
  • قابلیت اطمینان: گاهی Agent تصمیم اشتباه می‌گیره. باید مکانیزم بازگشت (Fallback) داشته باشی
  • حلقه بی‌نهایت: ممکنه Agent گیر بیفته و همون کار رو تکرار کنه. باید حداکثر تعداد چرخش تعیین کنی

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

لازم نیست Agent رو از صفر بسازی. فریم‌ورک‌های خوبی وجود دارن:

  • LangGraph: از تیم LangChain. گراف‌محور و انعطاف‌پذیر. مناسب Agent‌های پیچیده.
  • CrewAI: مخصوص Multi-Agent. تعریف نقش و وظیفه برای هر Agent.
  • AutoGen (مایکروسافت): ساخت مکالمات بین Agent‌ها. خوب برای تحقیق.
  • Anthropic Agents SDK: ابزار رسمی Anthropic برای ساخت Agent با Claude.
🎯 تمرین عملی: یه Agent ساده بساز با Python. سه تا ابزار بهش بده: یه ماشین‌حساب، یه تابع جستجوی ویکی‌پدیا، و یه تابع ذخیره فایل. بعد ازش بخواه «مساحت ایران رو پیدا کن، به کیلومتر مربع و مایل مربع تبدیل کن، و نتیجه رو تو یه فایل ذخیره کن.» ببین چطور مراحل رو خودش برنامه‌ریزی می‌کنه.

جمع‌بندی

تو این اپیزود یاد گرفتی:

  1. تفاوت Agent و Chatbot: عمل‌گرایی، برنامه‌ریزی، خودمختاری
  2. Tool Use / Function Calling چطور کار می‌کنه
  3. معماری ۴ بخشی Agent: ادراک، استدلال، عمل، حافظه
  4. حلقه Agent و الگوی ReAct
  5. مثال‌های عملی و چالش‌های Agent
  6. فریم‌ورک‌های محبوب

اپیزود بعدی: معماری کامل و نقشه راه — همه چیز کنار هم

اپیزود بعدی آخرین اپیزود این سریه. همه چیزی که یاد گرفتیم رو کنار هم می‌ذاریم: مدل + RAG + Fine-tuning + Agent. معماری یه پروژه واقعی AI رو ترسیم می‌کنیم و یه نقشه راه ۶ ماهه برای ورود به این حوزه بهت می‌دیم. از دستش نده!

نظرات

هنوز نظری ثبت نشده. اولین نفر باشید!

نظر خود را بنویسید