AI Agent node trong n8n với Claude: model + memory + tools trong một khối kéo thả
Tóm tắt
AI Agent node của n8n nhận đầu vào (chat, webhook, lịch), dùng một chat model (ví dụ Anthropic/Claude), có thể gắn memory và nhiều tool. Agent tự quyết gọi tool nào. Giữ tool ít và mô tả rõ, đặt system message chặt, log mọi lần chạy.
Trong n8n, bạn có thể dựng một agent hoàn chỉnh mà không viết dòng code nào: kéo node AI Agent, cắm một chat model (Claude), gắn bộ nhớ, thêm vài tool — agent sẽ tự quyết định gọi tool nào để hoàn thành yêu cầu. Bài này giải thích cấu trúc, cách cấu hình với Claude, ví dụ trợ lý tra cứu đơn hàng, và những lỗi hay gặp khiến agent chạy vòng vòng tốn token.
Cấu trúc: một root node, nhiều sub-node
AI Agent là “root node” có các cổng cắm sub-node bên dưới:
| Khối | Chọn gì | Ghi chú |
|---|---|---|
| Trigger | Chat Trigger, Webhook, Schedule, email… | Nguồn yêu cầu |
| AI Agent | Tools Agent (mặc định khuyên dùng) | Bộ não điều phối |
| Chat Model | Anthropic Chat Model | Credential (API key) và lựa chọn model nằm ở node này, không nằm ở Agent |
| Memory | Simple/Window Buffer, Postgres Chat Memory, Redis Chat Memory… | Giữ ngữ cảnh hội thoại theo phiên; bỏ qua nếu workflow chạy một lần |
| Tools | HTTP Request, Code, Postgres, Google Sheets, Workflow Tool, Think… | Mỗi tool có credential riêng; Agent không giữ credential |
| Output Parser (tuỳ chọn) | Structured / Auto-fixing Output Parser | Ép đầu ra theo schema JSON |
Các bước dựng
- Thêm node AI Agent, chọn kiểu Tools Agent.
- Cắm Anthropic Chat Model vào cổng Model; tạo credential với API key từ Claude Console, chọn model (Haiku cho việc đơn giản, Sonnet/Opus cho việc cần suy luận).
- Viết System Message (quy tắc cố định) và Prompt (thường là biểu thức lấy dữ liệu từ node trước, ví dụ tin nhắn chat).
- Gắn các tool vào cổng Tools.
- Gắn memory nếu là hội thoại nhiều lượt.
- Đặt Max Iterations, bật Return Intermediate Steps khi debug.
Ví dụ: trợ lý tra cứu đơn hàng cho CSKH
Chat Trigger (nhân viên CSKH hỏi trong khung chat nội bộ)
→ AI Agent (Tools Agent)
├─ Model: Anthropic Chat Model (Sonnet)
├─ Memory: Postgres Chat Memory (theo session của nhân viên)
├─ Tool: Postgres "tim_don_hang" — tìm đơn theo mã hoặc số điện thoại
└─ Tool: HTTP Request "tra_van_chuyen" — gọi API hãng vận chuyển
→ trả lời trong chat + ghi log vào Google Sheets
System Message mẫu:
Bạn là trợ lý tra cứu đơn hàng cho nhân viên CSKH.
- Chỉ trả lời về đơn hàng và vận chuyển.
- Luôn tra bằng tool, không đoán trạng thái.
- Không hiển thị đầy đủ số điện thoại hay địa chỉ khách; chỉ 3 số cuối.
- Không chắc thì nói "chưa tìm thấy" và gợi ý kiểm tra lại mã đơn.
- Trả lời tối đa 5 dòng, có mã đơn và trạng thái mới nhất.
Viết mô tả tool như viết tài liệu cho đồng nghiệp
Agent chọn tool dựa vào mô tả. Mô tả “Database tool” gần như vô dụng. So sánh:
Kém: "Database tool"
Tốt: "Tìm đơn hàng theo mã đơn (dạng DH123456) hoặc số điện thoại.
Trả về: mã đơn, ngày đặt, trạng thái, mã vận đơn.
Dùng khi nhân viên hỏi về một đơn cụ thể."
Nguyên tắc: mỗi tool một việc; nói rõ đầu vào, đầu ra, và khi nào nên dùng. Muốn tái sử dụng logic phức tạp, đóng gói thành một workflow riêng rồi gắn bằng Workflow Tool.
Lỗi hay gặp
| Triệu chứng | Nguyên nhân | Cách sửa |
|---|---|---|
| Agent chạy vòng vòng tới giới hạn | Không có đủ thông tin để xong việc | Hạ Max Iterations (mặc định 10; khi dev nên 5–8), thêm Think Tool, dặn “không tìm thấy thì dừng và báo” |
| Gọi sai tool | Mô tả tool mơ hồ, quá nhiều tool | Viết lại mô tả, bớt tool |
| Đầu ra lúc thế này lúc thế khác | Trả văn bản tự do | Thêm Structured Output Parser với schema |
| Node sau lỗi khi bật intermediate steps | Đầu ra có thêm mảng intermediateSteps | Dùng Code node chuẩn hoá về trường output |
| Hoá đơn tăng nhanh | Model lớn cho việc đơn giản, nhiều vòng lặp | Dùng Haiku cho việc đơn giản, giới hạn vòng, theo dõi usage ở dashboard nhà cung cấp |
An toàn
- Tool ghi dữ liệu (xoá, hoàn tiền, gửi email cho khách) nên đặt sau bước người duyệt — ví dụ Slack “Send and Wait for Response”.
- Credential tool nên có quyền tối thiểu: tool tra cứu dùng user DB chỉ đọc.
- Nếu agent đọc nội dung từ khách (email, chat), coi đó là đầu vào không tin cậy — có thể chứa prompt injection.
- Theo dõi tab Executions để phát hiện vòng lặp và lỗi sớm.
Áp dụng thế nào?
- Dev: Bắt đầu với 1–2 tool chỉ đọc, bật intermediate steps để xem agent “nghĩ” gì, chỉnh mô tả tool cho tới khi chọn đúng ổn định.
- Tech Lead: Chuẩn hoá mẫu system message (vai trò, giới hạn, định dạng đầu ra) và danh sách tool được phép cho các agent nội bộ.
- PM: Agent trong n8n là cách nhanh nhất để thử một ý tưởng trợ lý nội bộ trong vài giờ — đo giá trị trước khi đầu tư viết code.
Nguồn & tham khảo
- n8n Anthropic Chat Model node: connect Claude to your AI Agent workflows — DEV Community
- Build AI agents with n8n — Strapi Blog