MODULE 04 / LESSON 32

Agentic RAG چیست و چگونه کار می‌کند؟

تا اینجا یک RAG معمولی داشتیم: User Query ↓ Retriever ↓ Relevant Documents ↓ LLM ↓ Answer اما با بزرگ‌تر شدن سیستم، یک مشکل ایجاد می‌شود: همه سؤال‌ها نیاز به Retrieval ندارند. همه Retrievalها درست نیستند. همه پاسخ‌ها نیاز به…

نویسنده: محمد ابوطالبی۸۹۳ واژهماژول ۴: LLM & Prompting

تا اینجا یک RAG معمولی داشتیم:

User Query

      ↓

Retriever

      ↓

Relevant Documents

      ↓

LLM

      ↓

Answer

اما با بزرگ‌تر شدن سیستم، یک مشکل ایجاد می‌شود:

همه سؤال‌ها نیاز به Retrieval ندارند.

همه Retrievalها درست نیستند.

همه پاسخ‌ها نیاز به Citation ندارند.

اینجاست که مفهوم Agentic RAG وارد می‌شود.


Agentic Workflow چیست؟

در Agentic RAG، به جای اینکه فقط یک LLM داشته باشیم، چند LLM کوچک‌تر داریم که هرکدام یک وظیفه مشخص انجام می‌دهند.

یعنی:

LLM = یک سیستم کامل

تبدیل می‌شود به:

LLM1 → تصمیم‌گیر
LLM2 → جستجوگر
LLM3 → ارزیاب
LLM4 → تولیدکننده پاسخ
LLM5 → تولید Citation

تفاوت RAG معمولی و Agentic RAG

RAG ساده

همیشه:

Question

 ↓

Search Database

 ↓

Generate Answer

حتی اگر سؤال ساده باشد.

مثلاً:

کاربر:

سلام

سیستم:

برود در Vector DB جستجو کند

که بی‌دلیل هزینه دارد.


Agentic RAG

اول تصمیم می‌گیرد:

آیا اصلاً Retrieval لازم است؟

اگر نه:

مستقیم جواب بده

اگر بله:

Retrieval انجام بده

معماری نمونه Agentic RAG

یک معماری معمول:

              User Query

                  |
                  ↓

             Router LLM

                  |
        --------------------
        |                  |
       No                 Yes

        |                  |
        ↓                  ↓

      LLM              Vector DB

                           |
                           ↓

                  Retrieved Documents

                           |
                           ↓

                   Evaluator LLM

                           |
              ---------------------
              |                   |
        کافی نیست              کافی است

              |                   |
              ↓                   ↓

       Retrieve Again        Build Prompt

                                  |
                                  ↓

                              Main LLM

                                  |
                                  ↓

                          Citation LLM

                                  |
                                  ↓

                              Final Answer

اجزای اصلی Agentic RAG

1. Router LLM

اولین Agent است.

وظیفه:

تشخیص دهد آیا سؤال نیاز به Retrieval دارد یا نه.


مثال:

کاربر:

What is the capital of France?

Router:

YES

چون نیاز به اطلاعات دارد.


کاربر:

Write me a Python function

Router:

NO

چون نیازی به Knowledge Base ندارد.


معمولاً خروجی فقط:

YES

یا:

NO

است.


2. Retrieval Agent

اگر Router گفت:

YES

Retriever اجرا می‌شود.

اما تفاوت:

در Agentic RAG فقط یک بار Search نمی‌کنیم.


مثلاً:

اول:

Retrieve 10 documents

بعد:

Evaluator بررسی می‌کند:

آیا کافی است؟


3. Evaluator LLM

این Agent بررسی می‌کند:

آیا Documentهای پیدا شده جواب سؤال را می‌دهند؟


مثال:

Question:

What is company refund policy?

Retrieved:

Document 1:

Shipping information

Document 2:

Refund policy

Evaluator:

Not enough information

پس:

Retrieval دوباره انجام می‌شود.


4. Generation LLM

وقتی Context کافی شد:

System Prompt

+

Retrieved Documents

+

User Question

به LLM اصلی داده می‌شود.


5. Citation Agent

آخر کار:

یک LLM مخصوص Citation می‌تواند بررسی کند:

هر جمله از کدام Source آمده است.

مثلاً:

Answer:

Customers can return products within 30 days.

Citation:

Source:
return_policy.pdf
page 3

الگوهای رایج Agentic Workflow

چهار Pattern اصلی وجود دارد.


1. Sequential Workflow

ساده‌ترین حالت.

کارها پشت سر هم انجام می‌شوند:

Query

 ↓

Query Rewrite LLM

 ↓

Retriever

 ↓

Answer LLM

 ↓

Citation LLM

هر LLM فقط یک کار انجام می‌دهد.


مزیت:

  • ساده
  • قابل کنترل
  • Debug آسان

مثال:

در پزشکی:

User Question

↓

Medical Query Rewriter

↓

Medical Retriever

↓

Doctor Style LLM

2. Conditional Workflow

یعنی مسیر بر اساس تصمیم تغییر کند.

مثال:

             Query

               |

          Router LLM

          /        \

       Simple     Complex

        |            |

     Small LLM    Large LLM

مثلاً:

سؤال ساده:

What is your opening time?

با مدل کوچک جواب داده شود.


سؤال پیچیده:

Analyze legal contract risks

با مدل قوی‌تر.


3. Iterative Workflow

یعنی سیستم Loop دارد.

مثل:

Generate

   ↓

Evaluate

   ↓

Good?

 /    \

No    Yes

 |      |

Retry  Finish

مثال:

تولید کد:

Write Python API

LLM:

کد تولید می‌کند.

Evaluator:

Code has bugs

پس:

دوباره اصلاح می‌شود.


مثل یک برنامه‌نویس:

Write → Test → Fix → Repeat

4. Parallel Workflow

چند Agent همزمان کار می‌کنند.

مثال:

مقایسه دو مقاله:

              User

                |

          Orchestrator

        /             \

 Paper A Agent     Paper B Agent


        \             /

          Synthesizer

                |

             Answer

مثلاً:

Agent 1:

Summarize Paper A

Agent 2:

Summarize Paper B

Agent 3:

Compare Results

چرا از چند LLM استفاده کنیم؟

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

مثلاً:

Router:

Small Model

چون فقط تصمیم YES/NO می‌گیرد.

Generator:

Large Model

چون باید جواب بسازد.

Citation:

Specialized Model

پس:

Small + Specialized Models
=
Better Cost / Performance

تغییر دیدگاه مهم در Agentic AI

در گذشته:

LLM = یک مغز کامل

اما در Agentic:

LLM = یک قطعه قابل ترکیب

مثل Lego.

هر Agent یک وظیفه دارد.


ارتباط Agentic RAG با پروژه‌های واقعی

مثلاً یک دستیار سازمانی:

کاربر:
"آخرین قرارداد شرکت X را تحلیل کن"

Agentها:

Router

آیا نیاز به فایل دارد؟

↓

Yes

Search Agent

پیدا کردن قرارداد

↓

Extract Agent

استخراج بندهای مهم

↓

Analysis Agent

تحلیل ریسک

↓

Citation Agent

ارائه منابع


مزایا

✅ کاهش هزینه
✅ پاسخ دقیق‌تر
✅ کنترل بیشتر
✅ امکان استفاده از مدل‌های کوچک
✅ قابلیت Debug بهتر
✅ مناسب پروژه‌های Enterprise


معایب

❌ پیچیدگی بیشتر
❌ Latency بالاتر
❌ هزینه چندین LLM Call
❌ نیاز به طراحی Workflow دقیق


چه زمانی Agentic RAG استفاده کنیم؟

برای پروژه ساده:

❌ لازم نیست.

مثلاً:

FAQ Bot

یک RAG معمولی کافی است.

اما برای:

✅ سیستم پزشکی
✅ حقوقی
✅ تحلیل اسناد
✅ دستیار سازمانی
✅ Coding Agent
✅ Research Assistant

ارزش دارد.


جمع‌بندی نهایی

Agentic RAG یعنی:

تبدیل یک LLM از یک پاسخ‌دهنده ساده به مجموعه‌ای از Agentهای تخصصی که با هم یک Workflow هوشمند می‌سازند.

معماری کلی:

User

 ↓

Router Agent

 ↓

Retriever Agent

 ↓

Evaluator Agent

 ↓

Generator Agent

 ↓

Citation Agent

 ↓

Final Answer

و چهار الگوی اصلی:

Workflow کاربرد
Sequential مراحل ثابت پشت سر هم
Conditional تصمیم‌گیری و انتخاب مسیر
Iterative اصلاح چندباره
Parallel چند کار همزمان

هدف نهایی:

ساخت RAGهایی که فقط اطلاعات پیدا نمی‌کنند، بلکه فکر می‌کنند چگونه بهترین پاسخ را تولید کنند.