تا اینجا یک 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هایی که فقط اطلاعات پیدا نمیکنند، بلکه فکر میکنند چگونه بهترین پاسخ را تولید کنند.