عامل هوشمند
AI Agent
ساخت عامل هوشمند AI با ابزار، حافظه، استدلال و اجرای خودکار وظایف
نمای کلی
نود AI Agent هسته اصلی ساخت سیستمهای هوش مصنوعی پیشرفته در n8n است. برخلاف نودهای ساده LLM که فقط یک پاسخ متنی تولید میکنند، Agent میتواند استدلال کند، تصمیم بگیرد، ابزارها را فراخوانی کند و چرخهای تکراری از فکر-عمل-مشاهده داشته باشد تا به نتیجه مطلوب برسد.
قابلیتهای کلیدی:
- ساخت Agent با انواع مختلف: Tools Agent، ReAct، Plan and Execute
- اتصال به هر LLM: OpenAI GPT-4o، Anthropic Claude، Google Gemini، Ollama
- استفاده از ابزارها (Tools): Calculator، HTTP Request، Code، Custom Tool
- حافظه مکالمه: Buffer Memory، Window Memory، Summary Memory، Vector Store
- System Prompt سفارشی برای تعریف شخصیت و رفتار Agent
- Human Message برای ارسال پیام کاربر
- Output Parser برای ساختاردهی خروجی (JSON، لیست، متن)
- Streaming Response برای پاسخ لحظهای
- Function Calling و Tool Use
- RAG (Retrieval-Augmented Generation) با Vector Store
- Multi-Agent Workflow برای وظایف پیچیده
- Vision Agent برای تحلیل تصویر
انواع Agent:
- Tools Agent: استفاده از Function Calling برای فراخوانی ابزارها (توصیه میشود)
- ReAct Agent: چرخه Reasoning + Acting (فکر کن، عمل کن، مشاهده کن)
- OpenAI Functions Agent: مبتنی بر OpenAI Function Calling API
- Plan and Execute Agent: ابتدا برنامهریزی، سپس اجرای مرحلهای
اجزای Agent:
- LLM (مغز): مدل زبانی بزرگ مانند GPT-4o یا Claude
- Tools (ابزارها): قابلیتهایی مانند جستجو، محاسبه، دسترسی به API
- Memory (حافظه): نگهداری تاریخچه مکالمه
- System Prompt (دستور سیستم): تعریف نقش و رفتار Agent
- Output Parser (تحلیلگر خروجی): ساختاردهی پاسخ نهایی
احراز هویت
احراز هویت و اتصال LLM
نود AI Agent خودش credential ندارد، بلکه از طریق LLM متصل شده به آن احراز هویت میشود. باید یکی از LLMهای زیر را متصل کنید:
1. OpenAI (محبوبترین)
- 1به [platform.openai.com](https://platform.openai.com) بروید
- 2API Key بسازید (شروع با
sk-) - 3در n8n: Credentials > OpenAI API
- 4مدلها: GPT-4o، GPT-4o-mini، GPT-4 Turbo
2. Anthropic Claude
- 1به [console.anthropic.com](https://console.anthropic.com) بروید
- 2API Key بسازید (شروع با
sk-ant-) - 3در n8n: Credentials > Anthropic API
- 4مدلها: Claude Opus 4، Claude Sonnet 4، Claude Haiku 3.5
3. Google AI (Gemini)
- 1به [aistudio.google.com](https://aistudio.google.com) بروید
- 2Get API Key کلیک کنید
- 3در n8n: Credentials > Google AI
- 4مدلها: Gemini 2.0 Flash (رایگان!)، Gemini 1.5 Pro
4. Ollama (محلی و رایگان)
- 1[Ollama](https://ollama.ai) را نصب کنید
- 2مدل دانلود کنید:
ollama pull llama3.1 - 3در n8n: Credentials > Ollama
- 4بدون نیاز به API Key و اینترنت!
نکات مهم:
- هر LLM هزینه و محدودیت خاص خود را دارد
- برای تست: Google Gemini رایگان یا Ollama محلی
- برای Production: OpenAI GPT-4o یا Anthropic Claude Sonnet
- مدل انتخابی باید از Function Calling پشتیبانی کند (Tools Agent)
- هزینه Agent بیشتر از Chat ساده است (چون چند بار LLM فراخوانی میشود)
عملیاتهای موجود
toolsAgent
ساخت Agent با قابلیت فراخوانی ابزارها از طریق Function Calling
reactAgent
Agent با چرخه Reasoning-Acting: فکر کن، عمل کن، مشاهده کن
openAiFunctionsAgent
Agent مبتنی بر OpenAI Function Calling API
planAndExecute
ابتدا برنامهریزی، سپس اجرای مرحلهبهمرحله وظایف
configureTools
تعریف و اتصال ابزارها به Agent
setSystemPrompt
تعریف نقش، رفتار و محدودیتهای Agent
addMemory
اتصال حافظه مکالمه به Agent
outputParsing
ساختاردهی خروجی Agent به فرمت دلخواه
streamingResponse
فعالسازی Streaming برای پاسخ لحظهای
customToolDefinition
ساخت ابزار سفارشی با نام، توصیف و کد JavaScript
ragIntegration
اتصال Agent به Vector Store برای جستجوی دانش
conversationalAgent
ساخت Agent با حافظه برای مکالمات چندنوبتی
multiAgentWorkflow
ساخت سیستم چند-عاملی با تقسیم وظایف بین چند Agent
functionCalling
فراخوانی توابع تعریفشده توسط Agent
visionAgent
Agent با قابلیت تحلیل تصویر و تصمیمگیری بصری
کاربردهای متداول
1. چتبات پشتیبانی هوشمند با دسترسی به دیتابیس
ساخت Agent پشتیبانی که به سوالات مشتریان پاسخ میدهد و میتواند اطلاعات سفارش را از دیتابیس بخواند:
Telegram Trigger (پیام کاربر)
→ AI Agent (Tools Agent)
LLM: GPT-4o-mini
System: "پشتیبان فارسیزبان فروشگاه آنلاین هستی.
از ابزار get_order برای بررسی وضعیت سفارش استفاده کن.
از ابزار search_faq برای پاسخ سوالات متداول استفاده کن.
مودب و حرفهای پاسخ بده."
Tools: [HTTP Request (API سفارشات), Vector Store (FAQ)]
Memory: Window Memory (آخرین 10 پیام)
SessionId: {{$json.chatId}}
→ Telegram (ارسال پاسخ)2. دستیار تحلیل داده
Agent که دادهها را تحلیل و گزارش تولید میکند:
Webhook (درخواست تحلیل)
→ AI Agent (Tools Agent)
LLM: GPT-4o
System: "تحلیلگر داده حرفهای هستی.
از ابزار query_database برای دریافت داده استفاده کن.
از ابزار calculate برای محاسبات استفاده کن.
نتایج را به فارسی و با نمودار توضیح بده."
Tools: [HTTP Request (DB API), Calculator, Code]
Human: "گزارش فروش ماه گذشته را تحلیل کن"
→ Gmail (ارسال گزارش)3. پرسش و پاسخ از اسناد (RAG)
Agent که از دانش پایگاه داده اسناد پاسخ میدهد:
Telegram Trigger (سوال کاربر)
→ AI Agent (Tools Agent)
LLM: Claude Sonnet
System: "دستیار دانش شرکت هستی.
ابتدا در Vector Store جستجو کن.
فقط بر اساس اسناد موجود پاسخ بده.
اگر پاسخی نیافتی، بگو اطلاعات کافی نداری."
Tools: [Vector Store Tool (Pinecone)]
Memory: Buffer Memory
→ Telegram (پاسخ مستند)4. دستیار تولید کد
Agent که کد تولید، بررسی و اصلاح میکند:
Webhook (درخواست کد)
→ AI Agent (ReAct Agent)
LLM: GPT-4o
System: "برنامهنویس ارشد هستی.
میتوانی کد بنویسی، تست کنی و اجرا کنی.
کد تمیز و مستند بنویس."
Tools: [Code Tool (اجرای JavaScript), HTTP Request (GitHub API)]
Human: "یک تابع مرتبسازی بنویس و تست کن"
→ Telegram (ارسال کد)5. دستیار تولید محتوا
Agent که محتوای بازاریابی تولید میکند:
Schedule (هر روز ساعت 9)
→ MySQL (محصول امروز)
→ AI Agent (Tools Agent)
LLM: Claude Sonnet
System: "متخصص محتوای فارسی هستی.
برای محصول دادهشده:
1. کپشن اینستاگرام بنویس (با هشتگ و ایموجی)
2. پست لینکدین بنویس (حرفهای)
3. متن ایمیل مارکتینگ بنویس"
Tools: [HTTP Request (اطلاعات رقبا)]
Human: "محصول: {{$json.name}}, قیمت: {{$json.price}} تومان"
→ Telegram (ارسال برای تایید ادمین)6. دستیار ترجمه حرفهای
Agent مترجم با دسترسی به واژهنامه تخصصی:
Webhook (متن + حوزه تخصصی)
→ AI Agent (Tools Agent)
LLM: GPT-4o
System: "مترجم حرفهای فارسی-انگلیسی هستی.
برای اصطلاحات تخصصی از ابزار glossary جستجو کن.
ترجمه روان و دقیق ارائه بده."
Tools: [Vector Store (واژهنامه تخصصی), HTTP Request (API ترجمه)]
Human: "ترجمه حوزه {{$json.domain}}: {{$json.text}}"
→ MySQL (ذخیره ترجمه)7. خلاصهسازی هوشمند جلسات
Agent که صدای جلسه را رونویسی و خلاصه میکند:
Webhook (فایل صوتی جلسه)
→ OpenAI (Whisper - تبدیل صدا به متن)
→ AI Agent (Plan and Execute)
LLM: GPT-4o
System: "دستیار مدیریت جلسات هستی"
Human: "متن جلسه:
{{$json.transcript}}
1. خلاصه کن
2. تصمیمات استخراج کن
3. Action Itemها لیست کن
4. جلسه بعدی پیشنهاد بده"
Tools: [Google Calendar (ثبت جلسه بعدی)]
→ Gmail (ارسال خلاصه به شرکتکنندگان)8. طبقهبندی خودکار تیکتها
Agent که تیکتها را تحلیل، دستهبندی و مسیریابی میکند:
Webhook (تیکت جدید)
→ AI Agent (Tools Agent)
LLM: GPT-4o-mini
System: "متخصص پشتیبانی هستی. تیکت را بررسی کن:
1. دپارتمان تعیین کن (فنی/مالی/فروش)
2. اولویت تعیین کن (low/medium/high/critical)
3. پاسخ پیشنویس بنویس"
Tools: [Vector Store (Knowledge Base), HTTP Request (CRM)]
OutputParser: JSON
→ IF (priority = critical) → Telegram (هشدار فوری)
→ MySQL (ذخیره دستهبندی)9. امتیازدهی سرنخ فروش (Lead Scoring)
Agent که سرنخهای فروش را ارزیابی و امتیاز میدهد:
Webhook (سرنخ جدید)
→ AI Agent (Tools Agent)
LLM: GPT-4o
System: "تحلیلگر فروش هستی. سرنخ را بررسی کن:
- صنعت و اندازه شرکت بررسی کن
- سوابق خرید چک کن
- امتیاز 1-100 بده و دلیل بنویس"
Tools: [HTTP Request (CRM API), HTTP Request (LinkedIn API)]
OutputParser: JSON {score, reason, nextAction}
→ IF (score > 70) → Telegram (تیم فروش)
→ MySQL (ذخیره امتیاز)10. تحقیق خودکار
Agent تحقیقاتی که از چندین منبع اطلاعات جمعآوری میکند:
Webhook (موضوع تحقیق)
→ AI Agent (Plan and Execute)
LLM: GPT-4o
System: "محقق حرفهای هستی.
مرحلهبهمرحله تحقیق کن:
1. ابتدا موضوع را تحلیل کن
2. منابع مختلف جستجو کن
3. اطلاعات جمعآوری و خلاصه کن
4. گزارش نهایی فارسی بنویس"
Tools: [Wikipedia, HTTP Request (News API), Vector Store (آرشیو)]
→ Google Drive (ذخیره گزارش)11. چتبات فارسیزبان با حافظه
Agent مکالمهای با درک زبان فارسی:
Telegram Trigger (پیام فارسی)
→ AI Agent (Tools Agent)
LLM: GPT-4o (عملکرد خوب فارسی)
System: "دستیار فارسیزبان هستی.
- تاریخ شمسی استفاده کن
- اعداد فارسی بنویس
- لحن دوستانه داشته باش
- از ابزار تقویم شمسی استفاده کن"
Tools: [Code (تبدیل تاریخ), Calculator]
Memory: Window Memory (20 پیام)
SessionId: {{$json.from.id}}
→ Telegram (پاسخ)12. دستیار خرید و مقایسه قیمت
Agent که محصولات را مقایسه و بهترین پیشنهاد را ارائه میدهد:
Telegram Trigger (درخواست کاربر)
→ AI Agent (Tools Agent)
LLM: GPT-4o-mini
System: "مشاور خرید هوشمند هستی.
محصولات را جستجو، مقایسه و بهترین را پیشنهاد بده."
Tools: [HTTP Request (API فروشگاه 1), HTTP Request (API فروشگاه 2)]
Memory: Buffer Memory
SessionId: {{$json.chatId}}
→ Telegram (جدول مقایسه + پیشنهاد)13. دستهبندی محتوا و تحلیل احساسات
Agent تخصصی تحلیل محتوای فارسی:
MySQL (نظرات جدید - هر ساعت)
→ SplitInBatches
→ AI Agent (Tools Agent)
LLM: GPT-4o-mini
System: "تحلیلگر محتوای فارسی هستی. هر نظر را:
1. احساسات تحلیل کن (مثبت/منفی/خنثی/مختلط)
2. موضوعات استخراج کن
3. اگر نیاز به پاسخ فوری دارد مشخص کن"
OutputParser: JSON
→ MySQL (ذخیره تحلیل)
→ IF (needsResponse) → Telegram (هشدار)نکات حرفهای
نکات حرفهای
- 1انتخاب نوع Agent مناسب:
Tools Agent: بهترین انتخاب برای اکثر کاربردها (سریع و دقیق)
ReAct Agent: وقتی نیاز به استدلال شفاف و step-by-step دارید
Plan and Execute: وظایف پیچیده چندمرحلهای
OpenAI Functions: فقط با OpenAI و سازگاری بالا- 1System Prompt حرفهای برای Agent:
"تو [نقش] هستی.
## وظایف:
- [وظیفه 1]
- [وظیفه 2]
## ابزارها:
- ابزار X: وقتی کاربر [شرایط] داشت استفاده کن
- ابزار Y: وقتی نیاز به [عمل] بود استفاده کن
## قوانین:
- فقط فارسی پاسخ بده
- از ابزار نامربوط استفاده نکن
- اگر مطمئن نیستی، بپرس
## فرمت خروجی:
- پاسخ کوتاه و مفید (حداکثر 200 کلمه)
- از Markdown استفاده کن
## مثال:
کاربر: وضعیت سفارش 12345
تو: [ابتدا ابزار get_order فراخوانی] سفارش شما..."- 1توصیف ابزارها (خیلی مهم!):
// توصیف بد ❌
name: "search"
description: "جستجو"
// توصیف خوب ✅
name: "search_products"
description: "جستجوی محصولات در فروشگاه بر اساس نام، دستهبندی
یا قیمت. وقتی کاربر درباره محصول خاصی سوال میپرسد یا
میخواهد محصولات مشابه ببیند استفاده کن.
ورودی: query (متن جستجو)
خروجی: لیست محصولات با نام، قیمت و توضیحات"- 1انتخاب Memory مناسب:
Buffer Memory: کل مکالمه ذخیره (مصرف context بالا)
Window Memory: فقط N پیام اخیر (توصیه: 10-20 پیام)
Summary Memory: خلاصه مکالمه (صرفهجویی context)
Vector Store Memory: حافظه بلندمدت (Semantic Search)
توصیه: Window Memory با 15 پیام برای چتبات- 1مدیریت هزینه Agent:
// هر تکرار Agent = 1 فراخوانی LLM
// Agent با 3 ابزار ≈ 3-5 فراخوانی LLM
هزینه تقریبی هر مکالمه Agent:
GPT-4o-mini: $0.005 - $0.02
GPT-4o: $0.05 - $0.20
Claude Sonnet: $0.03 - $0.15
راهکار: GPT-4o-mini برای 80% کارها کافی است!- 1Output Parser برای خروجی ساختاریافته:
// خروجی JSON تضمینشده:
Output Parser: Structured Output
Schema: {
answer: string, // پاسخ فارسی
confidence: number, // اطمینان 0-100
sources: string[], // منابع استفادهشده
nextAction: string // اقدام بعدی
}- 1الگوی RAG حرفهای (Retrieval-Augmented Generation):
1. اسناد → Text Splitter → Embedding → Vector Store (یکبار)
2. سوال کاربر → AI Agent + Vector Store Tool
→ Agent جستجو میکند → نتایج مرتبط → پاسخ مستند
Vector Storeها: Pinecone، Supabase، Qdrant، In-Memory
Embedding: OpenAI text-embedding-3-small (ارزان و خوب)- 1SessionId برای چتبات:
// هر کاربر Session جداگانه
Telegram: SessionId = {{$json.message.chat.id}}
WhatsApp: SessionId = {{$json.from}}
Website: SessionId = {{$json.userId}} یا cookie- 1Error Handling در Agent:
AI Agent
→ On Success: پاسخ عادی
→ On Error: پاسخ fallback
"متاسفم، در حال حاضر نمیتوانم پاسخ بدهم.
لطفاً مجدداً تلاش کنید."
// یا Retry با مدل دیگر:
Agent (GPT-4o) → Error → Agent (GPT-4o-mini) → پاسخ- 1محدود کردن Agent برای امنیت:
System Prompt:
"قوانین امنیتی:
- هرگز اطلاعات محرمانه افشا نکن
- فقط به سوالات مرتبط با [حوزه] پاسخ بده
- اگر سوال خارج از حوزه بود بگو: 'این سوال خارج از تخصص من است'
- هرگز کد مخرب تولید نکن
- اطلاعات شخصی کاربران را ذخیره نکن"- 1Streaming برای UX بهتر:
// فعالسازی Streaming:
Agent → Streaming: ON
// کاربر پاسخ را کلمهبهکلمه میبیند
// مناسب برای چتباتهای real-time- 1Multi-Agent Pattern:
Agent 1 (Researcher): جستجو و جمعآوری اطلاعات
↓
Agent 2 (Analyzer): تحلیل و پردازش دادهها
↓
Agent 3 (Writer): نوشتن گزارش نهایی فارسی
// هر Agent ابزارها و System Prompt متفاوت دارد- 1Custom Tool قدرتمند:
Tool Name: "get_exchange_rate"
Description: "نرخ ارز دلار، یورو و طلا را برمیگرداند.
وقتی کاربر درباره قیمت ارز یا طلا سوال میکند استفاده کن."
Code:
const response = await fetch('https://api.example.com/rates');
const data = await response.json();
return JSON.stringify({
dollar: data.USD,
euro: data.EUR,
gold: data.GOLD
});- 1بهینهسازی Agent فارسی:
// System Prompt انگلیسی + پاسخ فارسی = بهترین نتیجه
System: "You are a helpful Persian-speaking assistant.
ALWAYS respond in Farsi (Persian).
Use formal Farsi. Use Persian numerals.
When mentioning dates, use Solar Hijri calendar."
// مدلهای برتر برای فارسی:
1. GPT-4o (بهترین)
2. Claude Sonnet (عالی)
3. Gemini Pro (خوب)- 1تست و Debug Agent:
// مرحله 1: ابتدا بدون ابزار تست کنید
AI Agent (بدون Tool) → آیا System Prompt درست کار میکند؟
// مرحله 2: هر ابزار جداگانه تست کنید
Tool Node → آیا خروجی صحیح است؟
// مرحله 3: Agent + یک ابزار
آیا Agent ابزار را درست فراخوانی میکند؟
// مرحله 4: Agent کامل با همه ابزارها و حافظه
تست end-to-end با سناریوهای واقعی- 1Ollama برای Agent محلی و رایگان:
// نصب: ollama pull llama3.1
// مزایا: رایگان، بدون اینترنت، حریم خصوصی
// معایب: نیاز به GPU قوی، کیفیت کمتر
مدلهای پیشنهادی Ollama برای Agent:
- llama3.1:70b (بهترین کیفیت، نیاز به GPU قوی)
- llama3.1:8b (سبک، مناسب تست)
- mistral (خوب برای کارهای ساده)- 1الگوی Conversational Agent با تاریخچه:
// ذخیره Session در Redis برای مقیاسپذیری:
Memory: Redis Chat Memory
SessionId: "chat_" + userId
TTL: 24h (پاک شدن خودکار)
// یا PostgreSQL برای ماندگاری:
Memory: Postgres Chat Memory
SessionId: userId + "_" + conversationIdرفع مشکلات
خطاهای رایج
1. خطای "No tools connected"
علت: هیچ ابزاری به Agent متصل نشده
راهحل
- حداقل یک Tool Node به Agent متصل کنید
- از ورودی Tools (سمت چپ) استفاده کنید
- مطمئن شوید ابزار به درستی پیکربندی شده
- برای Agent ساده بدون ابزار، از Chat Model مستقیم استفاده کنید
2. خطای "Maximum iterations reached"
علت: Agent در حلقه بیپایان گیر کرده
راهحل
- maxIterations را افزایش دهید (پیشفرض: 10)
- System Prompt واضحتر بنویسید
- ابزارها را با توصیف دقیقتر تعریف کنید
- از Tools Agent بجای ReAct استفاده کنید (کارآمدتر)
- Temperature کاهش دهید (0.1-0.3)
3. خطای "Tool execution failed"
علت: ابزار متصل به Agent خطا داده
راهحل
- ابتدا ابزار را جداگانه تست کنید
- خروجی ابزار را بررسی کنید
- Credentials ابزار را چک کنید
- Error handling به ابزار اضافه کنید
4. خطای "Context length exceeded"
علت: مکالمه و ابزارها حافظه مدل را پر کردهاند
راهحل
- Memory Type را از Buffer به Window تغییر دهید (محدود به N پیام اخیر)
- System Prompt کوتاهتر بنویسید
- تعداد ابزارها کاهش دهید (هر ابزار context مصرف میکند)
- از مدل با context بزرگتر استفاده کنید (Claude 200K، Gemini 1M)
- Summary Memory استفاده کنید (خلاصه مکالمه بجای کامل)
5. Agent ابزار اشتباه انتخاب میکند
علت: توصیف ابزارها مبهم است
راهحل
- توصیف (Description) هر ابزار را دقیق و متمایز بنویسید
- مثال در توصیف اضافه کنید: "از این ابزار وقتی کاربر قیمت میپرسد"
- تعداد ابزارها کاهش دهید (حداکثر 5-8 ابزار بهینه)
- در System Prompt راهنمای انتخاب ابزار بنویسید
6. پاسخ Agent نامرتبط یا نامعتبر
علت: System Prompt ضعیف
راهحل
- System Prompt ساختاریافته بنویسید (نقش + قوانین + مثال)
- Temperature کاهش دهید (0-0.3 برای دقت)
- Output Parser استفاده کنید (JSON Schema)
- مثالهای Few-shot در System Prompt اضافه کنید
7. Agent خیلی کند است
علت: تعداد زیاد تکرار و فراخوانی ابزار
راهحل
- از Tools Agent بجای ReAct استفاده کنید (سریعتر)
- maxIterations محدود کنید
- از مدل سریعتر استفاده کنید (GPT-4o-mini، Gemini Flash)
- ابزارهای غیرضروری حذف کنید
- Streaming فعال کنید برای UX بهتر
8. خطای Memory/Session
علت: Session ID تنظیم نشده یا حافظه پر شده
راهحل
- SessionId منحصربهفرد برای هر کاربر تنظیم کنید
- مثل chatId تلگرام یا شناسه کاربر
- Window Memory با محدودیت استفاده کنید
- Redis یا دیتابیس برای ذخیره Session
9. هزینه بالای Agent
علت: هر Agent چندین بار LLM فراخوانی میکند
راهحل
- از مدل ارزان برای کارهای ساده (GPT-4o-mini)
- maxIterations محدود کنید
- تعداد ابزارها کاهش دهید
- Cache پاسخهای تکراری
- Gemini رایگان برای تست و پروتوتایپ
10. Agent به فارسی پاسخ نمیدهد
علت: System Prompt به زبان انگلیسی
راهحل
- در System Prompt بنویسید: "Always respond in Persian (Farsi)"
- یا فارسی: "همیشه به فارسی پاسخ بده"
- مدلهای بزرگتر فارسی بهتری دارند (GPT-4o > GPT-4o-mini)
- برای فارسی از GPT-4o یا Claude Sonnet استفاده کنید
