
Hướng dẫn n8n AI Agents: Xây dựng quy trình thông minh từng bước
Khoảng cách giữa "Tôi muốn một tác nhân AI" và "Tôi có một tác nhân AI đang hoạt động" thường là hàng trăm dòng mã Python kết nối. Tác nhân AI n8n thu hẹp khoảng cách đó bằng một trình soạn thảo quy trình trực quan, nơi bạn kéo, thả và kết nối các tác nhân được hỗ trợ bởi LLM để thực sự làm việc: tìm kiếm trên web, truy vấn cơ sở dữ liệu, gửi email, cập nhật bảng tính. Bạn viết một lời nhắc hệ thống thay vì phải xử lý mã boilerplate của framework.
Hướng dẫn này sẽ đưa bạn qua quá trình xây dựng hai quy trình tác nhân thực tế từ đầu: một tác nhân nghiên cứu web và một bot hỗ trợ khách hàng có bộ nhớ. Đến cuối bài, bạn sẽ hiểu mọi loại node cần thiết và cách chúng phối hợp với nhau.
n8n là gì (và tại sao nên dùng nó cho Tác nhân AI)?
n8n là một nền tảng tự động hóa quy trình mã nguồn mở, hãy nghĩ về nó như Zapier, nhưng có thể tự lưu trữ với triết lý "viết mã khi cần". Nó kết nối hơn 500 dịch vụ thông qua trình soạn thảo trực quan dựa trên node.
Điều khiến n8n trở nên thú vị đặc biệt đối với tác nhân AI là khả năng tích hợp LangChain native. Thay vì viết mã LangChain bằng Python, bạn cấu hình các khái niệm tương tự (tác nhân, công cụ, bộ nhớ, mô hình) dưới dạng các node trực quan. Node AI Agent xử lý vòng lặp suy luận, bạn chỉ cần cắm vào những gì nó nên dùng để suy nghĩ và những gì nó có thể làm.
Tại sao chọn n8n thay vì chỉ viết mã thuần?
- Gỡ lỗi trực quan: bạn thấy chính xác nơi chuỗi suy luận của tác nhân bị đứt gãy
- Hơn 500 tích hợp trở thành công cụ tác nhân tức thì (Slack, Gmail, Google Sheets, cơ sở dữ liệu)
- Tự lưu trữ miễn phí (Phiên bản Cộng đồng) hoặc dùng n8n Cloud bắt đầu từ $20/tháng
- Hỗ trợ MCP cho phép các quy trình n8n trở thành công cụ cho các tác nhân AI bên ngoài, và ngược lại
Nếu bạn đang đánh giá các framework tác nhân khác nhau như LangGraph, CrewAI hoặc OpenAI Agents SDK, n8n nằm ở một phân khúc khác, dành cho những người muốn có tác nhân sản phẩm mà không cần quản lý runtime Python.
Cách hoạt động của Node AI Agent trong n8n
Mọi quy trình tác nhân AI trong n8n đều có cấu trúc phân cấp. Node Agent nằm ở trung tâm, và các node con kết nối bên dưới nó để cung cấp khả năng.
<!-- IMAGE: n8n AI agent node architecture diagram showing trigger, agent, model, tools, and memory connections -->Đây là cấu trúc chi tiết:
| Thành phần | Chức năng | Ví dụ về Node |
|---|---|---|
| Trigger (Kích hoạt) | Bắt đầu quy trình | Chat Trigger, Webhook, Schedule |
| AI Agent | Động cơ suy luận (vòng lặp ReAct) | Tools Agent, OpenAI Functions Agent |
| Chat Model | LLM cung cấp khả năng tư duy | OpenAI GPT-4o, Anthropic Claude, Ollama |
| Tools (Công cụ) | Các hành động tác nhân có thể thực hiện | HTTP Request, Calculator, SerpAPI, Code |
| Memory (Bộ nhớ) | Ngữ cảnh hội thoại qua các lượt | Window Buffer, Postgres, Redis |
| Output (Đầu ra) | Nơi kết quả được gửi đến | Respond to Webhook, Send Email, Update Sheet |
Tools Agent là loại bạn sẽ sử dụng 90% thời gian. Đây là loại tác nhân linh hoạt nhất, nó nhận lời nhắc của bạn, suy luận xem nên gọi công cụ nào, thực thi chúng và lặp lại cho đến khi có câu trả lời. Bên dưới, nó chạy một vòng lặp ReAct (Reason + Act): suy nghĩ, hành động, quan sát, lặp lại.
n8n cũng cung cấp các tác nhân chuyên biệt, một SQL Agent cho các truy vấn cơ sở dữ liệu, một Plan and Execute Agent chia nhỏ nhiệm vụ thành các bước phụ, và một Conversational Agent cho các luồng chat đơn giản hơn. Nhưng Tools Agent bao phủ hầu hết các trường hợp sử dụng.
Những thứ bạn cần trước khi bắt đầu
Trước khi xây dựng bất cứ thứ gì, hãy chuẩn bị ba điều sau:
- Một instance n8n, hoặc đăng ký n8n Cloud ($20/tháng gói Starter) hoặc tự lưu trữ với Docker:
docker run -it --rm \
--name n8n \
-p 5678:5678 \
-v n8n_data:/home/node/.n8n \
docker.n8n.io/n8nio/n8n-
Một khóa API LLM, từ OpenAI, Anthropic hoặc Google Gemini. Bạn cũng có thể dùng Ollama cho các mô hình cục bộ miễn phí, mặc dù hiệu suất gọi công cụ có thể khác nhau.
-
Khóa API công cụ (tùy chọn), SerpAPI cho tìm kiếm web ($50/tháng) hoặc Brave Search API (gói miễn phí). Bạn có thể xây dựng tác nhân không cần tìm kiếm, nhưng đây là công cụ đầu tiên phổ biến nhất.
Khi n8n đã chạy, mở http://localhost:5678 (tự lưu trữ) hoặc bảng điều khiển cloud của bạn. Tạo một quy trình mới và bạn đã sẵn sàng.
Xây dựng Tác nhân 1: Tác nhân Nghiên cứu Web
Tác nhân này nhận một chủ đề, tìm kiếm trên web, đọc kết quả và viết một bản tóm tắt có cấu trúc. Đây là "hello world" của tác nhân AI n8n và thực sự hữu ích cho nghiên cứu nội dung.
Bước 1: Thêm Manual Trigger
Nhấp vào nút + và tìm kiếm "Manual Trigger". Thả nó vào canvas. Điều này cho phép bạn kiểm tra quy trình bằng cách nhấp vào "Test Workflow", sau đó bạn sẽ thay thế nó bằng webhook hoặc chat trigger.
Bước 2: Thêm Node Edit Fields
Thêm node Edit Fields sau trigger. Đặt một trường gọi là topic với giá trị chuỗi như "Latest developments in Model Context Protocol". Điều này mô phỏng đầu vào của người dùng.
Bước 3: Thêm Node AI Agent
Tìm kiếm "AI Agent" và thêm nó. Chọn Tools Agent làm loại tác nhân.
Trong trường System Message, viết một lời nhắc định nghĩa hành vi:
You are a research assistant. When given a topic:
1. Search the web for the latest information
2. Read at least 3 different sources
3. Write a structured summary with:
- Key findings (bullet points)
- Notable quotes or data points
- Sources used
Be specific. Include dates, names, and numbers when available.
Do NOT make up information. If search results are unclear, say so.Trong phần Prompt, đặt nó thành biểu thức: {{ $json.topic }}, điều này lấy chủ đề từ node Edit Fields.
Bước 4: Kết nối Chat Model
Nhấp vào + bên dưới node Agent để thêm node con. Chọn OpenAI Chat Model (hoặc bất kỳ LLM nào bạn đang dùng).
Cấu hình nó:
- Model:
gpt-4o(hoặcgpt-4o-miniđể chạy rẻ hơn) - Temperature:
0.3(thấp hơn = thực tế hơn, ít sáng tạo hơn)
Dán khóa API của bạn vào phần thông tin xác thực.
Bước 5: Thêm Công cụ Tìm kiếm
Nhấp + lần nữa để thêm node con công cụ. Chọn SerpAPI (hoặc HTTP Request Tool nếu bạn muốn gọi một API tìm kiếm tùy chỉnh).
Đối với SerpAPI:
- Thêm khóa API của bạn làm thông tin xác thực
- Tác nhân sẽ gọi công cụ này bất cứ khi nào nó quyết định cần tìm kiếm
Đối với một lựa chọn miễn phí, hãy dùng HTTP Request Tool được cấu hình để gọi Brave Search API:
URL: https://api.search.brave.com/res/v1/web/search
Method: GET
Query Parameters: q={{ $fromAI("query", "search query") }}
Headers: X-Subscription-Token: YOUR_BRAVE_KEYBiểu thức $fromAI() là yếu tố then chốt, nó báo cho tác nhân biết "bạn quyết định giá trị nào cần truyền vào đây."
Bước 6: Kiểm tra
Nhấp vào Test Workflow. Theo dõi bảng thực thi bên phải. Bạn sẽ thấy:
- Tác nhân nhận chủ đề
- Nó quyết định tìm kiếm (gọi công cụ)
- SerpAPI trả về kết quả
- Tác nhân suy luận về các kết quả
- Nó có thể tìm kiếm thêm để có thêm chi tiết
- Nó tạo ra một bản tóm tắt cuối cùng
Nếu tác nhân lặp lại mà không hội tụ, lời nhắc hệ thống của bạn có thể cần hướng dẫn rõ ràng hơn. Hãy nói cho nó biết chính xác khi nào nên dừng tìm kiếm.
<!-- IMAGE: n8n workflow canvas showing completed research agent with connected nodes -->Xây dựng Tác nhân 2: Bot Hỗ trợ Khách hàng có Bộ nhớ
Tác nhân nghiên cứu là stateless, nó quên mọi thứ sau mỗi lần chạy. Một bot hỗ trợ khách hàng cần nhớ cuộc hội thoại. Đây là lúc bộ nhớ tác nhân phát huy tác dụng.
Bước 1: Sử dụng Chat Trigger
Lần này, bắt đầu với node Chat Trigger thay vì Manual Trigger. Điều này cung cấp cho bạn widget chat tích hợp sẵn của n8n để kiểm tra các cuộc hội thoại.
Bước 2: Cấu hình Tác nhân
Thêm node Tools Agent. Lời nhắc hệ thống:
You are a customer support agent for a SaaS project management tool called "TaskFlow."
Rules:
- Always greet the user by name if provided
- Check the knowledge base before answering questions
- If you cannot find an answer, say: "Let me connect you with a human agent"
- Never make up features or pricing that you don't find in the knowledge base
- Keep responses concise (2-3 sentences max unless the user asks for detail)
Available tools:
- Knowledge base search: use this for product questions
- Ticket creation: use this when the user reports a bug or requests a featureBước 3: Thêm Bộ nhớ
Nhấp + trên Agent để thêm node con và chọn Window Buffer Memory.
- Context Window Length:
10(nhớ 10 cặp tin nhắn cuối cùng) - Session ID:
{{ $json.sessionId }}(từ chat trigger)
Đây là tùy chọn bộ nhớ đơn giản nhất, nó giữ các tin nhắn gần đây trong một cửa sổ trượt. Đối với các bot sản phẩm cần bộ nhớ liên tục qua các phiên, hãy dùng Postgres Chat Memory hoặc Redis Chat Memory. Hướng dẫn của chúng tôi về các công cụ bộ nhớ tác nhân AI tốt nhất bao gồm các đánh đổi giữa các phương pháp này.
Bước 4: Thêm Công cụ
Thêm hai node con công cụ:
Công cụ 1 -- Cơ sở kiến thức (Vector Store QA): Nếu bạn có tài liệu sản phẩm trong vector store (Pinecone, Qdrant, Supabase), hãy dùng Vector Store Question Answer Tool. Về cơ bản đây là RAG (Retrieval-Augmented Generation) trong một node duy nhất.
Công cụ 2 -- Tạo vé hỗ trợ (HTTP Request): Thêm HTTP Request Tool được cấu hình để POST đến API tạo vé của bạn:
URL: https://api.yourapp.com/tickets
Method: POST
Body (JSON):
{
"title": "{{ $fromAI('title', 'ticket title') }}",
"description": "{{ $fromAI('description', 'issue description') }}",
"priority": "{{ $fromAI('priority', 'low, medium, or high') }}"
}Bước 5: Kiểm tra Cuộc hội thoại
Nhấp Test Workflow và mở bảng chat. Thử một cuộc hội thoại nhiều lượt:
- "Chào, tôi là Alex. Làm sao để xuất nhiệm vụ của tôi sang CSV?"
- "Còn xuất sang PDF thì sao?"
- "Thực ra, xuất PDF bị lỗi với tôi, bạn có thể ghi lại lỗi này không?"
Quan sát cách tác nhân tìm kiếm trong cơ sở kiến thức cho hai câu hỏi đầu tiên và tạo một vé cho câu thứ ba. Node bộ nhớ đảm bảo nó nhớ tên Alex và ngữ cảnh của vấn đề PDF.
Sử dụng MCP để Mở rộng Tác nhân của bạn
n8n hiện hỗ trợ Model Context Protocol (MCP) theo cả hai chiều, và đây là lúc mọi thứ trở nên mạnh mẽ.
Tiêu thụ máy chủ MCP: Thêm node con MCP Client Tool vào tác nhân của bạn. Trỏ nó đến bất kỳ URL máy chủ MCP nào và tác nhân sẽ tự động khám phá và có thể gọi tất cả các công cụ mà máy chủ đó cung cấp. Một node, hàng chục công cụ.
Phơi bày quy trình dưới dạng công cụ MCP: Dùng node MCP Server Trigger để biến bất kỳ quy trình n8n nào thành một công cụ tương thích MCP. Các tác nhân bên ngoài chạy trong Claude Desktop, Cursor hoặc VS Code sau đó có thể khám phá và gọi các quy trình n8n của bạn. Xây dựng một quy trình "gửi thông báo Slack" một lần, và mọi tác nhân tương thích MCP trong ngăn xếp của bạn đều có thể sử dụng nó.
Hỗ trợ MCP hai chiều này biến n8n thành một trung tâm tác nhân, các tác nhân n8n của bạn gọi công cụ bên ngoài qua MCP, và các tác nhân bên ngoài gọi quy trình n8n của bạn qua MCP.
Mẹo thực tế để có Tác nhân n8n tốt hơn
Sau khi xây dựng hàng chục quy trình tác nhân, đây là những điều thực sự quan trọng:
Giữ số lượng công cụ thấp. Tác nhân bị bối rối khi có hơn 5-7 công cụ. Nếu bạn cần nhiều hơn, hãy tạo một "tác nhân quản lý" để định tuyến đến các "tác nhân làm việc" chuyên biệt, n8n hỗ trợ quy trình tác nhân-tới-tác nhân.
Hãy cụ thể trong lời nhắc hệ thống. Đừng chỉ nói "giúp đỡ người dùng." Hãy nêu rõ các quy tắc chính xác, định dạng đầu ra và khi nào nên dùng mỗi công cụ. Lời nhắc càng cụ thể, càng ít lệnh gọi công cụ bất ngờ.
Đặt giới hạn token. Trong cấu hình Chat Model, đặt giới hạn token tối đa. Nếu không, một tác nhân bị bối rối có thể đốt cháy ngân sách API của bạn chỉ trong một vòng lặp.
Sử dụng các node xử lý lỗi. Thêm quy trình Error Trigger để bắt lỗi và thông báo cho bạn qua Slack hoặc email. Nếu không, tác nhân sẽ thất bại âm thầm.
Kiểm tra với các trường hợp biên trước. Hỏi tác nhân điều gì đó mà nó không nên biết. Nếu nó bịa đặt thay vì nói "Tôi không biết", lời nhắc của bạn cần các rào chắn.
Ghi nhật ký mọi thứ trong quá trình phát triển. Bật ghi nhật ký thực thi (có sẵn trên gói Pro hoặc tự lưu trữ) để bạn có thể phát lại và gỡ lỗi chính xác nơi tác nhân gặp sự cố.
Khi nào Tác nhân n8n phù hợp (và khi nào thì không)
n8n rất phù hợp nếu:
- Bạn muốn các tác nhân sản phẩm mà không cần quản lý hạ tầng Python
- Quy trình của bạn kết nối nhiều công cụ SaaS (Slack, Gmail, Notion, cơ sở dữ liệu)
- Nhóm của bạn bao gồm những người không phải lập trình viên cần sửa đổi hành vi tác nhân
- Bạn cần gỡ lỗi trực quan các chuỗi suy luận của tác nhân
n8n có lẽ là lựa chọn sai nếu:
- Bạn cần kiểm soát chi tiết kiến trúc tác nhân (hãy dùng LangGraph hoặc CrewAI thay thế)
- Tác nhân của bạn hoàn toàn mang tính tính toán (pipeline ML, xử lý dữ liệu) mà không có tích hợp
- Bạn đang xây dựng hệ thống nghiên cứu đa tác nhân với quản lý trạng thái phức tạp
Đối với các trường hợp sử dụng tự động hóa kinh doanh, bot hỗ trợ khách hàng, tác nhân xử lý dữ liệu, trợ lý nghiên cứu, đủ điều kiện khách hàng tiềm năng, n8n đạt điểm cân bằng giữa sức mạnh và khả năng tiếp cận.
Câu hỏi thường gặp
n8n hỗ trợ những LLM nào cho tác nhân AI?
n8n hỗ trợ OpenAI (GPT-4o, GPT-4, GPT-3.5), Anthropic Claude (dòng Claude 3.5 và 4), Google Gemini, Mistral, Cohere, mô hình HuggingFace và các mô hình cục bộ qua Ollama. Bạn đổi mô hình bằng cách thay đổi một node con duy nhất, không cần thay đổi quy trình.
n8n có miễn phí để xây dựng tác nhân AI không?
Phiên bản Cộng đồng tự lưu trữ hoàn toàn miễn phí và không giới hạn thực thi. n8n Cloud bắt đầu từ $20/tháng (Starter) với 2.500 lượt thực thi. Bạn vẫn sẽ phải trả riêng cho nhà cung cấp LLM (OpenAI, Anthropic, v.v.) cho các lệnh gọi API.
Tác nhân AI của n8n so sánh thế nào với việc viết tác nhân bằng Python?
n8n đánh đổi khả năng tùy chỉnh để lấy tốc độ. Một tác nhân Python với LangChain cho bạn toàn quyền kiểm soát mọi bước suy luận. n8n cung cấp 80% khả năng đó trong 20% thời gian, với gỡ lỗi trực quan và hơn 500 tích hợp sẵn. Chọn Python cho nghiên cứu hoặc kiến trúc mới lạ; chọn n8n cho tự động hóa kinh doanh.
Tác nhân n8n có thể sử dụng các công cụ như tìm kiếm web và cơ sở dữ liệu không?
Có. Tác nhân n8n có thể sử dụng bất kỳ công cụ nào có sẵn dưới dạng node, SerpAPI, Brave Search, HTTP Request (cho bất kỳ API nào), cơ sở dữ liệu SQL, Google Sheets, Slack và hàng trăm công cụ khác. Bạn thêm chúng làm node con bên dưới node Agent.
MCP Client Tool trong n8n là gì?
MCP Client Tool kết nối tác nhân n8n của bạn với các máy chủ MCP (Model Context Protocol) bên ngoài. Tác nhân của bạn tự động khám phá tất cả các công cụ mà máy chủ đó cung cấp và có thể gọi chúng trong quá trình suy luận. Đó là một node duy nhất có thể mở khóa hàng chục công cụ bên ngoài.
Làm thế nào để thêm bộ nhớ vào tác nhân AI n8n?
Thêm node con bộ nhớ bên dưới node Agent của bạn. Window Buffer Memory là tùy chọn đơn giản nhất (giữ N tin nhắn cuối cùng). Để có bộ nhớ liên tục qua các phiên, hãy dùng Postgres Chat Memory, Redis Chat Memory hoặc Zep Memory. Đặt Session ID để theo dõi các cuộc hội thoại riêng lẻ.
Tôi có thể kết nối nhiều tác nhân trong n8n không?
Có. n8n hỗ trợ quy trình tác nhân-tới-tác nhân nơi một tác nhân "quản lý" ủy thác nhiệm vụ cho các tác nhân "làm việc" chuyên biệt. Bạn xây dựng mỗi tác nhân làm việc như một quy trình con riêng biệt và kết nối chúng qua công cụ Call n8n Workflow.
Sự khác biệt giữa Tools Agent và các loại tác nhân khác là gì?
Tools Agent sử dụng vòng lặp suy luận ReAct và hoạt động với bất kỳ công cụ nào. OpenAI Functions Agent sử dụng API gọi hàm native của OpenAI (nhanh hơn một chút nhưng chỉ dành cho OpenAI). SQL Agent chuyên biệt cho các truy vấn cơ sở dữ liệu. Plan and Execute Agent chia nhỏ các nhiệm vụ phức tạp thành các bước phụ. Đối với hầu hết các trường hợp, hãy bắt đầu với Tools Agent.
Làm thế nào để triển khai tác nhân n8n lên môi trường production?
Đối với tự lưu trữ: dùng Docker Compose với PostgreSQL và Redis, bật chế độ queue để mở rộng ngang và đặt nó sau reverse proxy với SSL. Đối với cloud: chỉ cần kích hoạt quy trình, n8n sẽ xử lý hạ tầng. Trong cả hai trường hợp, thay thế Chat Trigger bằng Webhook trigger để các ứng dụng bên ngoài có thể gọi tác nhân của bạn.
Tác nhân n8n có thể xử lý tải lên tệp và hình ảnh không?
n8n có thể xử lý tệp thông qua khả năng xử lý dữ liệu nhị phân. Bạn có thể xây dựng các tác nhân nhận tải lên tệp qua webhook, trích xuất văn bản (sử dụng node Code với trình phân tích cú pháp PDF, ví dụ) và suy luận về nội dung. Khả năng phân tích hình ảnh/ảnh native phụ thuộc vào LLM của bạn có hỗ trợ đầu vào đa phương thức hay không (ví dụ: GPT-4o có hỗ trợ).