دنیای ایجنت ها با n۸n: سفری از خودکارسازی ساده تا هوش مصنوعی چندعاملی

4 مرداد 1405 - خواندن 8 دقیقه - 24 بازدید

 دنیای ایجنت ها با n8n: سفری از خودکارسازی ساده تا هوش مصنوعی چندعاملی


احتمالا برایتان پیش آمده که آرزو کنید یک دستیار هوشمند داشته باشید که کارهای تکراری را انجام دهد، ایمیل ها را پاسخ دهد یا از داده ها گزارش تهیه کند. با n8n، این آرزو به واقعیتی ملموس تبدیل می شود. n8n یک ابزار متن باز و قدرتمند برای خودکارسازی گردش کار است که به شما امکان می دهد بدون نوشتن کدهای پیچیده، ایجنت های هوش مصنوعی بسازید .


در این مسیر، از صفر شروع می کنیم و قدم به قدم با ساخت ایجنت ها در n8n آشنا می شویم. فرقی نمی کند تازه کار باشید یا قبلا با ابزارهای مشابه کار کرده باشید؛ این راهنما برای همه قابل استفاده است.


 ایجنت هوش مصنوعی در n8n یعنی چه؟


به زبان ساده، یک ایجنت در n8n، یک گره (Node) هوشمند در گردش کار شماست که از یک مدل زبانی بزرگ (مثل GPT4 یا Gemini) برای درک درخواست کاربر، تصمیم گیری و انجام اقدامات استفاده می کند . تفاوت اصلی ایجنت با یک زنجیره ساده (Chain) در این است که ایجنت می تواند از «ابزارها» استفاده کند. یعنی برای پاسخ به یک سوال، می تواند از ابزارهایی مثل جستجوی وب، خواندن از پایگاه داده یا ارسال ایمیل کمک بگیرد .


 ساختار اصلی یک ایجنت: مثل یک ماشین هوشمند


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


1. محرک (Trigger): این نقطه شروع کار است. گردش کار با دریافت یک پیام در چت، یک درخواست وب هوک (Webhook) یا طبق یک برنامه زمان بندی فعال می شود .

2. مدل زبانی (Language Model): مغز متفکر ایجنت است. شما یک مدل (مثلا از OpenAI، Anthropic یا Gemini) را انتخاب و اعتبارنامه (API Key) آن را به n8n معرفی می کنید .

3. حافظه (Memory): این بخش به ایجنت امکان می دهد مکالمات قبلی را به خاطر بیاورد. مثلا اگر کاربر اول اسمش را بگوید، در پاسخ بعدی ایجنت اسم او را می داند . حافظه معمولا با یک کلید جلسه (`sessionId`) به کاربر متصل می شود .

4. ابزارها (Tools): اینجا جادوی اصلی رخ می دهد. هر گره ای در n8n می تواند به عنوان یک ابزار به ایجنت متصل شود. مثلا یک گره `HTTP Request` برای تماس با یک API، گره `Gmail` برای ارسال ایمیل، یا حتی یک گره `Code` برای اجرای کدهای سفارشی . نکته مهم این است که ابزارها باید از طریق پورت های مخصوص (`ai_tool`) به ایجنت متصل شوند، نه از طریق ورودی اصلی .


 قدم اول: ساختن یک ایجنت ساده (مثل یک دستیار ایمیل)


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


1. اضافه کردن محرک (Trigger): از گره `When Chat Message Received` استفاده کنید تا گردش کار با دریافت پیام شروع شود.

2. افزودن گره ایجنت: یک گره `AI Agent` به بوم کاری (Canvas) اضافه کنید.

3. اتصال مدل زبانی: یک گره `Chat Model` (مثلا از نوع OpenAI) به گره ایجنت اضافه کنید و آن را از طریق پورت `ai_languageModel` متصل کنید. اعتبارنامه API خود را در این گره وارد کنید .

4. افزودن حافظه (اختیاری اما پیشنهادی): یک گره `Simple Memory` یا `Window Buffer Memory` اضافه کنید و آن را به پورت `ai_memory` ایجنت متصل کنید. در تنظیمات حافظه، کلید جلسه را با استفاده از عبارت `{{ $json.sessionId }}` مقداردهی کنید تا حافظه برای هر کاربر جداگانه باشد .

5. افزودن ابزار (Tool): یک گره `Gmail` اضافه کنید و آن را به پورت `ai_tool` ایجنت متصل کنید. در تنظیمات گره Gmail، عمل `Send` را انتخاب کنید و اعتبارنامه حساب Gmail خود را وارد کنید .

6. تنظیم پیام سیستم (System Message): در گره ایجنت، یک پیام سیستم بنویسید تا نقش و رفتار آن را مشخص کنید. مثلا: «تو یک دستیار مفید ایمیل هستی. وقتی کاربر از تو خواست ایمیلی بفرستد، از ابزار Gmail برای این کار استفاده کن.» .


اکنون گردش کار شما آماده است. با ارسال پیامی مثل «به فلانی ایمیل بزن که جلسه فردا ساعت ۱۰ است»، ایجنت درخواست را پردازش کرده و با استفاده از ابزار Gmail، ایمیل را می فرستد.


 از ساده به پیچیده: معماری چندعاملی (MultiAgent Architecture)


پروژه های واقعی معمولا به یک ایجنت ختم نمی شوند. برای کارهای پیچیده، بهتر است از چند ایجنت متخصص استفاده کنیم. این کار باعث می شود سیستم ماژولارتر، قابل نگهداری تر و خواناتر باشد .


 سناریو ۱: ایجنت مدیر (Manager Agent) با ایجنت های تخصصی


در این الگو، یک ایجنت به عنوان مدیر عمل می کند و وظایف را بین ایجنت های تخصصی تر تقسیم می کند .


 ایجنت مدیر: نقش آن درک درخواست کاربر و تصمیم گیری در مورد اینکه کدام ایجنت تخصصی باید پاسخ دهد، است.

 ایجنت تخصصی ایمیل: فقط برای نوشتن و ارسال ایمیل ها بهینه شده است.

 ایجنت تخصصی داده: برای پاسخ به سوالات تحلیلی، خلاصه سازی داده ها و تهیه گزارش استفاده می شود.


برای پیاده سازی، شما یک گره `AI Agent` به عنوان مدیر ایجاد می کنید و سپس دو گره `Agent Tool` دیگر (هر کدام یک ایجنت تخصصی با مدل و حافظه مخصوص خود) را به عنوان ابزار به آن متصل می کنید .


 سناریو ۲: زیرگردش کارها (Subworkflows) به عنوان ابزار


روش دیگر برای ساخت سیستم های چندعاملی، استفاده از زیرگردش کارها است. در این روش، هر ایجنت تخصصی در یک گردش کار مجزا (با محرک `Execute Workflow Trigger`) ساخته می شود. سپس گردش کار اصلی از گره `Execute Workflow` برای صدا زدن و اجرای آن ها استفاده می کند .


مزیت این روش، قابلیت استفاده مجدد و تست مستقل هر زیرگردش کار است. مثلا می توانید یک زیرگردش کار برای «تحقیق و جستجوی مطالب» داشته باشید و آن را در چندین گردش کار مختلف استفاده کنید .


یک مثال عملی از این روش، ساخت یک سیستم تولید خبرنامه هفتگی است که شامل سه ایجنت می شود: یکی برای برنامه ریزی و تعیین موضوعات، یکی برای نوشتن بخش های مختلف، و یکی برای تبدیل نهایی به یک قالب HTML و آماده سازی برای ارسال .


 انسانی سازی خروجی: از ماشینی به انسانی


یکی از چالش های بزرگ کار با مدل های زبانی، ماشینی و خشک بودن متن های تولیدشده است. برای حل این مشکل، می توانید از گره های تخصصی «انسانی سازی» استفاده کنید .


این گره ها (مثل `n8nnodeshumantone`) به عنوان یک ابزار به ایجنت شما متصل می شوند. ایجنت می تواند بعد از تولید یک متن، از این ابزار برای بازنویسی آن و طبیعی تر کردنش استفاده کند. شما حتی می توانید سطح انسانی سازی (استاندارد، پیشرفته یا شدید) و لحن مدنظر را مشخص کنید .


 نکات طلایی برای ساخت ایجنت های حرفه ای


 از پورت های درست استفاده کنید: همیشه ابزارها را از طریق پورت های `ai_` (مثل `ai_tool`) به ایجنت متصل کنید؛ در غیر این صورت، ایجنت آن ها را نخواهد دید .

 خروجی ایجنت را بشناسید: پاسخ نهایی ایجنت در `$json.output` قرار دارد، نه `$json.response` یا `$json.text` .

 از حافظه هوشمندانه استفاده کنید: برای مکالمات طولانی، از `Window Buffer Memory` استفاده کنید تا فقط چند پیام اخیر در حافظه بمانند و هزینه و زمان پردازش کاهش یابد .

 ایمنی را جدی بگیرید: اگر ایجنت شما به ابزارهایی دسترسی دارد که می توانند اطلاعات را تغییر دهند یا مخرب باشند (مثل حذف کردن)، حتما یک مرحله تایید انسانی (Humanintheloop) در نظر بگیرید .

 مقیاس پذیری: برای سیستم های بزرگ، از معماری زیرگردش کارها استفاده کنید تا هر بخش به صورت مستقل قابل توسعه و اشکال زدایی باشد .


ساخت ایجنت با n8n سفری است از خودکارسازی ساده تا خلق سیستم های هوشمند و پویا. با درک مفاهیم پایه و بهره گیری از الگوهای معماری، می توانید دستیارهایی بسازید که نه تنها کارها را انجام می دهند، بلکه به شیوه ای انسانی و هوشمند با دنیای اطراف خود تعامل دارند.