AI Automation

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ốiChọn gìGhi chú
TriggerChat Trigger, Webhook, Schedule, email…Nguồn yêu cầu
AI AgentTools Agent (mặc định khuyên dùng)Bộ não điều phối
Chat ModelAnthropic Chat ModelCredential (API key) và lựa chọn model nằm ở node này, không nằm ở Agent
MemorySimple/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
ToolsHTTP 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

  1. Thêm node AI Agent, chọn kiểu Tools Agent.
  2. 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).
  3. 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).
  4. Gắn các tool vào cổng Tools.
  5. Gắn memory nếu là hội thoại nhiều lượt.
  6. Đặ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ứngNguyên nhânCách sửa
Agent chạy vòng vòng tới giới hạnKhông có đủ thông tin để xong việcHạ 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 toolMô tả tool mơ hồ, quá nhiều toolViết lại mô tả, bớt tool
Đầu ra lúc thế này lúc thế khácTrả văn bản tự doThêm Structured Output Parser với schema
Node sau lỗi khi bật intermediate stepsĐầu ra có thêm mảng intermediateStepsDùng Code node chuẩn hoá về trường output
Hoá đơn tăng nhanhModel lớn cho việc đơn giản, nhiều vòng lặpDù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

  1. n8n Anthropic Chat Model node: connect Claude to your AI Agent workflows — DEV Community
  2. Build AI agents with n8n — Strapi Blog