برای ساخت ایجنت هوش مصنوعی با n8n سه جزء لازم دارید: یک «تریگر» که کار را شروع کند (مثلاً رسیدنِ پیام در تلگرام یا ایمیلِ تازه)، یک نودِ AI Agent که به یک مدلِ زبانی وصل است و تصمیم میگیرد چه کند، و چند «ابزار» که ایجنت اجازه دارد صدا بزند (جستوجو در گوگلشیت، فراخوانیِ API، ارسالِ ایمیل). در این راهنما که برای مهرِ ۱۴۰۵ و نسخههای سریِ 2.x از n8n بهروز شده، اول میگوییم ایجنت n8n دقیقاً چیست، بعد یک ایجنتِ واقعیِ پاسخگو در تلگرام را قدمبهقدم میسازیم و در پایان خطاهای رایج، هزینهها و نکتههای مخصوصِ کاربرانِ ایرانی را مرور میکنیم.
ایجنت هوش مصنوعی در n8n چیست و با یک ورکفلوی معمولی چه فرقی دارد؟
یک ورکفلوی معمولی در n8n مسیرِ ثابتی دارد: «اگر ایمیل آمد، متنش را خلاصه کن و در اسلک بفرست». هر بار همان گامها به همان ترتیب اجرا میشوند. اما ایجنت (AI Agent) مسیر را خودش انتخاب میکند. شما هدف، دستورالعمل و فهرستِ ابزارها را به او میدهید و مدلِ زبانی در هر اجرا تصمیم میگیرد کدام ابزار را، با چه ورودی و به چه ترتیبی صدا بزند.
مثال: مشتری در تلگرام میپرسد «سفارشِ شمارهی ۱۲۴۵ من کجاست؟». ایجنت میفهمد باید ابزارِ «جستوجوی سفارش» را با عددِ ۱۲۴۵ صدا بزند، جواب را میخواند و به زبانِ طبیعی پاسخ میدهد. اگر مشتری فقط سلام کند، ایجنت هیچ ابزاری را صدا نمیزند و فقط خوشآمد میگوید. همین انعطاف است که ایجنت را از یک ربات با جوابهای ازپیشنوشته جدا میکند.
اگر هنوز با خودِ n8n آشنا نیستید، پیش از ادامه مقالهی n8n چیست و چگونه کار میکند را بخوانید.
اجزای یک ایجنت n8n
در n8n نودِ AI Agent یک «نودِ ریشه» است که چند زیرنود به آن وصل میشود. طبقِ مستنداتِ رسمی، همهی نودهای AI Agent حالا از نوعِ Tools Agent هستند و دستکم یک ابزار باید به آن وصل باشد.
| جزء | کارش چیست | نمونهی نود در n8n |
|---|---|---|
| تریگر | اجرای ایجنت را شروع میکند | Telegram Trigger، Gmail Trigger، Chat Trigger، Webhook، Schedule |
| مدلِ گفتوگو (Chat Model) | مغزِ ایجنت؛ میفهمد و تصمیم میگیرد | OpenAI Chat Model، Google Gemini Chat Model، Anthropic Chat Model، OpenRouter |
| حافظه (Memory) | پیامهای قبلیِ همان کاربر را به یاد میآورد | Simple Memory، Postgres Chat Memory، Redis Chat Memory |
| ابزارها (Tools) | کارهایی که ایجنت اجازهی انجامش را دارد | Google Sheets Tool، HTTP Request Tool، Calculator، MCP Client Tool، یک ورکفلوی دیگر |
| تجزیهگرِ خروجی (اختیاری) | خروجی را در قالبِ ثابت (مثلاً JSON) برمیگرداند | Structured Output Parser |
n8n در مهر ۱۴۰۵: چه چیزهایی عوض شده است؟
بسیاری از آموزشهای فارسیِ ایجنت n8n برای نسخههای ۱.x نوشته شدهاند و بخشی از جزئیاتشان دیگر درست نیست. مهمترین تغییرها:
- نسخهی ۲.۰ (آذر ۱۴۰۴ / دسامبر ۲۰۲۵): یک نسخهی امنیتی و «سفتکننده» بود. اجرای نودِ Code در محیطِ ایزوله (Task Runner) پیشفرض شد، دسترسیِ نودِ Code به متغیرهای محیطی بهطورِ پیشفرض بسته شد و نودهای Execute Command و Local File Trigger بهطورِ پیشفرض غیرفعالاند. اگر ورکفلوی قدیمیتان به اینها وابسته است، پیش از بهروزرسانی آزمایشش کنید.
- بهروزرسانیهای هفتگی: n8n تقریباً هر هفته نسخهی تازه میدهد؛ در مهرِ ۱۴۰۵ نسخهی پایدار در حدودِ 2.41 و 2.42 است و بخشِ بزرگی از تغییراتِ ماههای اخیر روی AI Agent، پشتیبانی از MCP و دستیارِ ساختِ ورکفلو بوده است.
- ساختِ ایجنت با توصیفِ متنی: در نسخههای اخیر میتوانید با نوشتنِ کاری که ایجنت باید انجام دهد، مدل و ابزارهایش را مشخص کنید و n8n پیشنویسِ ایجنت را بسازد. این قابلیت هنوز در حالِ تکمیل است؛ برای کارِ جدی بهتر است ساختار را خودتان بفهمید و بازبینی کنید.
- MCP: با نودِ MCP Client Tool ایجنت میتواند ابزارهای هر سرورِ MCP را صدا بزند، و با MCP Server Trigger میتوانید ورکفلوهای n8n را بهصورتِ ابزار در اختیارِ دستیارهای دیگر بگذارید.
- جستوجوی وب برای ایجنت: در بهروزرسانیهای ۲۰۲۶ امکانِ جستوجوی وب برای ایجنتها هم اضافه شده است، اما هنوز باید با منابع و هزینهی مدلِ انتخابیتان بسنجید که برایتان مناسب است یا نه.
قانونِ ساده: پیش از هر بهروزرسانیِ بزرگ از دادهها نسخهی پشتیبان بگیرید و یادداشتهای انتشار را در مستنداتِ رسمیِ n8n بخوانید.
پیشنیازها: قبل از ساختِ ایجنت چه آماده کنید؟
- یک نمونهی n8n در حالِ اجرا: یا نسخهی ابریِ n8n (پولی، با دورهی آزمایشی) یا نسخهی خودمیزبان (Community Edition، رایگان) روی سرورِ شخصی. راهنمای کامل را در آموزش قدم به قدم نصب n8n روی سرور شخصی آوردهایم. برای آزمایشِ سریع روی رایانهی خودتان هم این فرمانِ داکر کافی است: docker run -it --rm --name n8n -p 5678:5678 -v n8n_data:/home/node/.n8n docker.n8n.io/n8nio/n8n و بعد آدرسِ localhost:5678 را در مرورگر باز کنید.
- دسترسی به یک مدلِ زبانی: کلیدِ API از OpenAI، Google (Gemini)، Anthropic یا سرویسی مثل OpenRouter. هر درخواستِ ایجنت هزینه دارد و هرچه ابزار و حافظه بیشتر باشد، توکنِ مصرفی بالاتر میرود.
- دامنه و HTTPS برای تریگرهای وبهوکی: تریگرِ تلگرام با وبهوک کار میکند و تلگرام فقط به آدرسِ HTTPS عمومی پیام میفرستد؛ پس نسخهای که روی localhost اجرا میشود برای تلگرام کافی نیست.
- یک هدفِ مشخص: «ایجنتی که همه کار بکند» معمولاً هیچ کاری را خوب نمیکند. از یک کارِ کوچک و تکراری شروع کنید.
نکتهی مهم برای کاربرانِ ایران
اگر n8n را روی سروری داخلِ ایران نصب کنید، معمولاً به API تلگرام و برخی سرویسهای هوش مصنوعیِ خارجی دسترسی ندارد، و بعضی ارائهدهندهها هم درخواست از آیپیِ ایران را رد میکنند. برای ایجنتهایی که به تلگرام یا مدلهای خارجی وصل میشوند، معمولاً یک سرورِ مجازی بیرون از ایران راهحلِ عملیتری است. پرداختِ هزینهی API هم با کارتِ بانکیِ ایرانی ممکن نیست و باید از راهِ قانونیای که در اختیار دارید پرداخت کنید.
آموزش گامبهگام: ساخت ایجنت پاسخگو در تلگرام با n8n
هدف: رباتی تلگرامی برای یک فروشگاهِ اینترنتیِ کوچک که به سؤالهای پرتکرار (ساعتِ کاری، هزینهی ارسال، شرایطِ مرجوعی) جواب بدهد، وضعیتِ سفارش را از یک گوگلشیت بخواند و گفتوگوی هر مشتری را جداگانه به یاد بسپارد. ساختارِ نهایی پنج نود دارد: Telegram Trigger ← AI Agent (با Chat Model، Simple Memory و Google Sheets Tool) ← Telegram.
گام ۱: ساختِ ربات در تلگرام و گرفتنِ توکن
در تلگرام با BotFather گفتوگو کنید، فرمانِ newbot را بفرستید، نام و نامِ کاربریِ ربات را انتخاب کنید و توکنی را که میدهد جایی امن نگه دارید. این توکن مثلِ رمزِ عبور است؛ آن را در هیچ متن یا اسکرینشاتی منتشر نکنید.
گام ۲: افزودنِ Telegram Trigger
یک ورکفلوی تازه بسازید و نودِ Telegram Trigger را اضافه کنید. در بخشِ Credential توکنِ ربات را وارد کنید و در Trigger On گزینهی Message را بگذارید. حالا یک پیامِ آزمایشی به ربات بفرستید و در n8n روی اجرای آزمایشی بزنید تا ساختارِ داده را ببینید. دو فیلد برایمان مهم است: متنِ پیام در message.text و شناسهی گفتوگو در message.chat.id.
گام ۳: افزودنِ نودِ AI Agent و نوشتنِ دستورالعمل
بعد از تریگر نودِ AI Agent را اضافه کنید. در بخشِ Source for Prompt گزینهی Define below را بزنید و در قسمتِ Prompt عبارتِ {{ $json.message.text }} را بگذارید تا متنِ پیامِ کاربر به ایجنت برسد. سپس در Options یک System Message اضافه کنید. کیفیتِ ایجنت بیش از هر چیز به همین متن بستگی دارد. نمونهی خوب:
«تو دستیارِ پشتیبانیِ فروشگاهِ X هستی. فقط به فارسی و کوتاه جواب بده. ساعتِ کاری شنبه تا پنجشنبه ۹ تا ۱۸ است. هزینهی ارسال طبقِ جدولِ سایت است و آن را حدس نزن. اگر مشتری شمارهی سفارش داد، با ابزارِ جستوجوی سفارش وضعیت را پیدا کن. اگر سفارش پیدا نشد یا سؤال خارج از این موضوعها بود، بگو همکارانِ پشتیبانی پیگیری میکنند. هرگز قیمت، تخفیف یا وعدهای از خودت نساز.»
جملهی آخر مهم است: مدلهای زبانی وقتی جواب را نمیدانند تمایل دارند چیزی بسازند، و دستورِ صریح این خطر را کم میکند (اما کاملاً از بین نمیبرد).
گام ۴: وصل کردنِ مدلِ زبانی
روی ورودیِ Chat Model در زیرِ نودِ AI Agent بزنید و مدلِ دلخواه را انتخاب کنید؛ مثلاً OpenAI Chat Model یا Google Gemini Chat Model. کلیدِ API را در Credential وارد کنید. برای ایجنتِ پشتیبانی، یک مدلِ سریع و ارزان (نسخههای mini یا Flash) معمولاً کافی است؛ مدلهای بزرگتر را برای کارهای استدلالیِ پیچیده نگه دارید.
گام ۵: افزودنِ حافظه برای هر مشتری
بدونِ حافظه، ایجنت هر پیام را جدا میبیند و اگر مشتری بنویسد «همان سفارش را میگویم»، نمیفهمد کدام سفارش. زیرنودِ Simple Memory را به ورودیِ Memory وصل کنید. نکتهی کلیدی در Session Key است: آن را روی Define below بگذارید و شناسهی گفتوگوی تلگرام را بدهید: {{ $('Telegram Trigger').item.json.message.chat.id }}. اینطور حافظهی هر کاربر از بقیه جدا میماند. Context Window Length (تعدادِ پیامهایی که به یاد میماند) را حدودِ ۱۰ بگذارید؛ عددِ بزرگتر هزینهی هر درخواست را بالا میبرد.
Simple Memory داده را در حافظهی خودِ n8n نگه میدارد و با راهاندازیِ دوباره پاک میشود. برای محیطِ واقعی Postgres Chat Memory یا Redis Chat Memory مطمئنترند.
گام ۶: دادنِ ابزار به ایجنت
یک گوگلشیت با ستونهای «شماره سفارش»، «وضعیت» و «کد رهگیری» بسازید. زیرنودِ Google Sheets Tool را به ورودیِ Tool وصل کنید، عملیات را روی خواندنِ ردیفها بگذارید و فیلتر را روی ستونِ «شماره سفارش» تنظیم کنید. اجازه دهید مقدارِ فیلتر را خودِ مدل پر کند (گزینهی تعیین توسطِ مدل در کنارِ فیلد). در توضیحِ ابزار (Description) واضح بنویسید: «برای پیدا کردنِ وضعیتِ سفارش با شمارهی سفارش استفاده کن». مدل بر اساسِ همین توضیح تصمیم میگیرد کِی ابزار را صدا بزند.
گام ۷: فرستادنِ پاسخ به تلگرام
بعد از AI Agent نودِ Telegram را با عملیاتِ Send Message اضافه کنید. در Chat ID عبارتِ {{ $('Telegram Trigger').item.json.message.chat.id }} و در Text عبارتِ {{ $json.output }} را بگذارید. پاسخِ نهاییِ ایجنت در فیلدِ output قرار دارد. اگر نمیخواهید زیرِ پیامها متنِ «ارسالشده با n8n» بیاید، در تنظیماتِ اضافیِ نود گزینهی Append n8n Attribution را خاموش کنید.
گام ۸: آزمایش، فعالسازی و نظارت
چند سناریوی واقعی را امتحان کنید: سلامِ ساده، سؤالِ ساعتِ کاری، شمارهی سفارشِ درست، شمارهی سفارشِ اشتباه و یک سؤالِ بیربط. در پنلِ اجرا (Executions) ببینید ایجنت کدام ابزار را با چه ورودی صدا زده است. وقتی نتیجه رضایتبخش بود ورکفلو را فعال (Active) کنید. در هفتهی اول هر روز چند اجرا را بازبینی کنید؛ بیشترِ بهبودها از اصلاحِ System Message و توضیحِ ابزارها به دست میآید، نه از عوض کردنِ مدل.
نمونهی دوم بهطورِ خلاصه: ایجنتِ پاسخ به ایمیل
همین الگو برای ایمیل هم کار میکند: Gmail Trigger (ایمیلِ تازه) ← AI Agent ← Gmail (ساختِ پیشنویس، نه ارسالِ مستقیم). به ایجنت بگویید ایمیل را دستهبندی کند (سؤالِ فروش، شکایت، تبلیغات)، برای سؤالهای تکراری پیشنویسِ پاسخ بسازد و ایمیلهای حساس را فقط برچسب بزند. ساختنِ «پیشنویس» بهجای ارسالِ خودکار یعنی یک انسان پیش از رفتنِ پاسخ آن را میبیند. جزئیاتِ کاملترِ این سناریو را در ساخت دستیار ایمیل هوشمند با n8n و ChatGPT ببینید.
کدام مدلِ زبانی را برای ایجنت n8n انتخاب کنیم؟
| نیاز | انتخابِ مناسب | توضیح |
|---|---|---|
| پشتیبانیِ ساده و پرتعداد | مدلهای سبک (mini، Flash) | سریع و کمهزینه؛ برای پاسخهای کوتاه و صدا زدنِ یک یا دو ابزار کافیاند |
| استدلالِ چندمرحلهای و ابزارهای زیاد | مدلهای بزرگترِ OpenAI، Claude یا Gemini Pro | در انتخابِ درستِ ابزار دقیقترند ولی گرانتر و کندترند |
| آزمودنِ چند مدل با یک کلید | OpenRouter | دسترسی به مدلهای چند شرکت از یک حساب |
| حریمِ خصوصیِ کامل | مدلِ محلی با Ollama | داده از سرورتان بیرون نمیرود، اما به سختافزارِ قوی نیاز دارد و دقتش در صدا زدنِ ابزار معمولاً پایینتر است |
اگر میخواهید پیش از خرجِ هزینهی API ببینید کدام مدل برای متنِ فارسیِ شما بهتر جواب میدهد، میتوانید همان System Message و چند پیامِ نمونه را در چت با هوش مصنوعیِ هوشنو با مدلهای GPT، Claude، Gemini و DeepSeek امتحان و مقایسه کنید. هوشنو یک پلتفرمِ هوش مصنوعی آنلاین فارسی است که با پرداختِ تومانی و بدونِ اشتراکِ اجباری کار میکند؛ این کار برای آزمودنِ لحن و دقتِ پاسخها مفید است، هرچند خودِ ایجنت در n8n به کلیدِ API مستقیم از ارائهدهندهی مدل نیاز دارد.
n8n یا Zapier و Make برای ساخت ایجنت؟
| ویژگی | n8n | Zapier | Make |
|---|---|---|---|
| نصب روی سرورِ شخصی | دارد (Community Edition) | ندارد | ندارد |
| نودِ ایجنت با حافظه و ابزار | دارد، بسیار انعطافپذیر | دارد، سادهتر | دارد |
| کدنویسیِ داخلِ ورکفلو | جاوااسکریپت و پایتون | محدود | محدود |
| مدلِ هزینه | خودمیزبان: فقط هزینهی سرور و API؛ ابری: بر اساسِ تعدادِ اجرا | بر اساسِ تعدادِ تسک | بر اساسِ عملیات/اعتبار |
| منحنیِ یادگیری | متوسط تا زیاد | کم | متوسط |
برای کسی که کنترلِ کامل روی داده و هزینه میخواهد و از کمی کارِ فنی نمیترسد، n8n معمولاً انتخابِ بهتری است. مقایسهی مفصلتر را در مقایسه n8n با سایر پلتفرمهای اتوماسیون آوردهایم.
خطاها و اشتباههای رایج در ساختِ ایجنت n8n
- ایجنت ابزار را صدا نمیزند: معمولاً توضیحِ ابزار (Description) مبهم است. دقیق بنویسید ابزار چه میکند و کِی باید استفاده شود.
- ایجنت در حلقه گیر میکند یا خیلی گران میشود: در Options مقدارِ Max Iterations را محدود کنید و تعدادِ ابزارها را کم نگه دارید؛ ده ابزارِ همپوشان مدل را سردرگم میکند.
- همهی کاربران حافظهی مشترک دارند: Session Key را روی شناسهی هر کاربر یا گفتوگو نگذاشتهاید.
- تریگرِ تلگرام کار نمیکند: آدرسِ n8n عمومی و HTTPS نیست، یا متغیرِ WEBHOOK_URL در تنظیماتِ سرور درست مقداردهی نشده است.
- کلیدهای API در معرضِ دید: کلیدها را فقط در بخشِ Credentials نگه دارید، نه داخلِ نودِ Code یا متنِ ورکفلویی که خروجی میگیرید و به اشتراک میگذارید.
- ارسالِ خودکار بدونِ بازبینی: برای کارهای حساس (ایمیل به مشتری، تغییرِ داده) اول پیشنویس بسازید یا یک مرحلهی تأییدِ انسانی بگذارید.
ایدههای کاربردی برای ایجنتهای بعدی
- ایجنتِ تولیدِ محتوا: موضوع را از یک شیت میخواند، پیشنویسِ پست و کپشن میسازد و برای بازبینی در یک پوشه میگذارد.
- ایجنتِ پاسخ بر اساسِ اسنادِ شرکت (RAG): سؤال را با محتوای راهنماها و قوانینِ داخلی پاسخ میدهد؛ برای این کار به یک پایگاهدادهی برداری نیاز دارید که در راهنمای اتوماسیونهای پیشرفته با n8n و دیتابیسهای برداری توضیح دادهایم.
- ایجنتِ گزارشگیری: هر صبح دادهی فروش را جمع میکند، تغییراتِ مهم را خلاصه میکند و در تلگرامِ مدیر میفرستد.
- ایجنتِ دستهبندیِ تیکت: تیکتِ تازه را میخواند، اولویت و واحدِ مسئول را تعیین میکند و برچسب میزند.
برای دیدن تصویر بزرگتر، راهنمای کامل ایجنتهای هوش مصنوعی سازوکار و انواع ایجنتها را توضیح میدهد.
گزینهی دیگرِ ساختِ ایجنت روی سرورِ شخصی، نصب و استفاده از OpenClaw است.
سؤالات متداول
آیا ساخت ایجنت هوش مصنوعی با n8n رایگان است؟
خودِ n8n در نسخهی خودمیزبان (Community Edition) رایگان است و فقط هزینهی سرور را میپردازید. نسخهی ابری پولی است. جدا از این، مدلِ زبانیای که ایجنت استفاده میکند (OpenAI، Gemini، Claude و…) بر اساسِ مصرف هزینه دارد، مگر اینکه یک مدلِ محلی اجرا کنید.
برای ساخت ایجنت n8n برنامهنویسی لازم است؟
برای یک ایجنتِ ساده مثلِ نمونهی تلگرامِ این مقاله نه؛ همهچیز با کشیدن و وصل کردنِ نودها و نوشتنِ چند عبارتِ کوتاه انجام میشود. اما فهمِ پایهای از JSON، وبهوک و API کارتان را خیلی راحتتر میکند.
فرقِ AI Agent با نودِ OpenAI یا Basic LLM Chain در n8n چیست؟
نودِ OpenAI یا Basic LLM Chain یک درخواست میفرستد و یک جواب میگیرد. AI Agent میتواند ابزار صدا بزند، نتیجه را ببیند، دوباره تصمیم بگیرد و حافظه داشته باشد. اگر کارتان فقط خلاصهسازی یا ترجمهی ساده است، نودِ ساده ارزانتر و قابلپیشبینیتر است.
آیا ایجنت n8n فارسی را خوب میفهمد؟
توانِ فارسی به مدلِ زبانیِ انتخابی بستگی دارد، نه به خودِ n8n. مدلهای بزرگِ امروزی فارسی را خوب میفهمند؛ کافی است در System Message صریحاً بخواهید پاسخها فارسی باشد و چند نمونهی پاسخِ دلخواه هم بیاورید.
آیا میتوانم n8n را روی سرورِ ایران نصب کنم؟
نصب ممکن است، اما ایجنتی که به تلگرام یا مدلهای هوش مصنوعیِ خارجی وصل میشود معمولاً از سرورِ داخلی به این سرویسها دسترسی ندارد. برای این نوع ایجنتها سرورِ بیرون از ایران کمدردسرتر است.
MCP در n8n به چه درد میخورد؟
MCP یک استانداردِ باز برای وصل کردنِ ابزارها به مدلهای هوش مصنوعی است. با MCP Client Tool ایجنتِ شما از ابزارهای یک سرورِ MCP استفاده میکند و با MCP Server Trigger ورکفلوهای n8n را بهعنوانِ ابزار در اختیارِ دستیارهای دیگر میگذارید.
جمعبندی
ساخت ایجنت هوش مصنوعی با n8n دیگر پروژهای پیچیده نیست: یک تریگر، یک نودِ AI Agent با مدلِ مناسب، حافظهای که برای هر کاربر جدا باشد و دو سه ابزارِ دقیقتعریفشده. نقطهی شروعِ خوب همان ایجنتِ تلگرامیِ این مقاله است؛ وقتی جا افتاد، ابزارهای بیشتر، حافظهی پایدار و مرحلهی تأییدِ انسانی اضافه کنید. اگر هنوز n8n را نصب نکردهاید، از آموزش نصب n8n روی سرور شخصی شروع کنید.