Bỏ qua đến nội dung chính
AI Automation
Logo n8n phía trên workflow n8n có node AI đọc đơn nối với Ollama Chat Model

AI Automation là gì? Khác tự động hóa thường ở đâu

AIDev TeamTham vấn chuyên môn: Nguyễn Việt Chung

Đăng 12 phút đọc1 lượt xem

Mục lục · 18

AI automation là quy trình tự chạy có ít nhất một bước để model AI đọc, phân loại hay viết nội dung. Mình dựng hai workflow n8n cùng đọc 40 tin nhắn đặt bánh: workflow dùng luật cố định đọc đúng mọi tin viết theo mẫu nhưng trượt cả 20 tin viết tự do, workflow có AI đọc đúng 38/40.

AI automation (tự động hóa bằng AI) là một quy trình tự chạy, trong đó có ít nhất một bước giao cho model AI đọc, hiểu hoặc viết nội dung, thay vì chỉ làm theo luật cố định. Tự động hóa thường xử lý tốt dữ liệu đúng khuôn, như ô "Số lượng" trong form. AI automation xử lý được cả văn bản người ta gõ tự do, đổi lại chậm hơn, tốn tiền model và đôi khi sai mà không báo lỗi.

Những điều cần nắm trước khi đọc tiếp:

  • Mình dựng hai workflow trên n8n (công cụ tự động hóa kéo thả, tự host được) cùng đọc 40 tin nhắn đặt bánh: 20 tin viết theo mẫu "Đặt 2 bánh bông lan, giao 15:00", 20 tin viết tự do như "Cho chị hai cái bông lan nhé, tầm 3h chiều".

  • Workflow dùng luật cố định đọc đúng 20/20 tin theo mẫu và 0/20 tin tự do.

  • Workflow có bước AI, dùng model gemma4:e2b chạy bằng Ollama (phần mềm chạy model AI trên máy của bạn), đọc đúng 38/40. Ba lần chạy cho kết quả giống hệt nhau.

  • AI sai ở hai tin, và sai mà không báo gì: "Năm ổ bánh mì hoa cúc, chín giờ kém mười lăm" thành 10 cái lúc 18:45, "1 giờ trưa" thành 12:00.

Cả hai workflow chạy ngày 26/10/2026 trên n8n 2.44.6, máy thuê ở AIDev Cloud. Nếu bạn chưa dùng n8n bao giờ, bài n8n là gì có cách cài và workflow đầu tiên.

AI automation khác tự động hóa thường ở điểm nào?

Khác ở chỗ ai quyết định cách đọc dữ liệu: luật bạn viết sẵn hay model AI. Tự động hóa thường làm đúng điều bạn viết sẵn: nếu ô "Loại" là "khiếu nại" thì báo nhóm, nếu có chữ "Đặt" và một con số thì lấy con số đó. AI automation đưa đoạn văn cho model và nhờ model trả về dữ liệu có cấu trúc.

Tự động hóa thường

AI automation

AI agent

Ai quyết định cách làm

luật bạn viết sẵn (If, công thức, regex là mẫu dò chữ)

luật của bạn, cộng một bước model AI đọc hoặc viết

model tự chọn bước tiếp theo và công cụ cần gọi

Dữ liệu vào phù hợp nhất

form, bảng, file đúng khuôn

email, tin nhắn, bình luận gõ tự do

yêu cầu mở, nhiều bước không biết trước

Kết quả có lặp lại không

luôn giống nhau

thường giống, có thể khác giữa các lần

khác nhau giữa các lần

Khi gặp dữ liệu lạ

trả về rỗng hoặc báo lỗi

vẫn trả lời, có khi trả lời sai

có thể đi sai hướng nhiều bước

Chi phí mỗi lần chạy

gần như 0

tiền model hoặc tiền máy chạy model

nhiều lần gọi model, đắt nhất

AI agent (tác tử AI) là bước xa hơn: model không chỉ đọc một đoạn văn mà tự quyết định gọi công cụ nào, theo thứ tự nào. Bài này chỉ nói tới cột giữa, loại dễ áp dụng nhất cho cửa hàng hay văn phòng nhỏ. Trong một quy trình AI automation, phần lớn các bước vẫn là bước thường; bước AI chỉ đứng ở chỗ dữ liệu không theo khuôn.

Mình thử luật cố định và AI trên cùng 40 tin đặt bánh như thế nào?

Mình mượn tên Tiệm Mây, cửa hàng hư cấu trong các bài thực hành của AIDev, cho một tiệm bánh nhỏ: khách nhắn đặt bánh, tiệm cần lấy ra ba thông tin là món, số lượng và giờ giao. Menu có năm món: bánh bông lan, bánh tiramisu, bánh su kem, bánh mì hoa cúc, bánh kem bắp.

Mình tự viết 40 tin và gán nhãn đúng cho từng tin. 20 tin đầu theo đúng mẫu tiệm hướng dẫn. 20 tin sau là cùng các đơn đó nhưng viết như khách thật hay nhắn: "Một chục su kem, 2 giờ chiều nay nha", "Lấy nửa tá bông lan, 1 giờ trưa", "bông lan x4, 10h15 giao".

Workflow luật cố định

Workflow n8n Đơn hàng luật cố định: Nhận tin đặt bánh bằng Webhook, Đọc đơn bằng luật bằng node Code, Trả kết quả

Workflow có ba node (mỗi node là một bước trên canvas của n8n): Webhook (một đường dẫn nhận dữ liệu gửi tới) nhận tin, node Code đọc đơn, node Respond to Webhook trả kết quả. Luật trong node Code là kiểu mình hay thấy người ta viết khi đã có mẫu tin cố định:

javascript
// Luật cố định: đọc đơn theo mẫu "Đặt <số> <tên bánh>, giao <giờ>:<phút>"
const MENU = ['bánh bông lan', 'bánh tiramisu', 'bánh su kem', 'bánh mì hoa cúc', 'bánh kem bắp'];
const tin = $json.body.tin.toLowerCase();
const mon = MENU.find(m => tin.includes(m)) || '';
const sl = tin.match(/đặt (\d+)/);
const gio = tin.match(/giao (\d{1,2}):(\d{2})/);
return [{ json: {
  mon,
  so_luong: sl ? Number(sl[1]) : null,
  gio: gio ? gio[1].padStart(2, '0') + ':' + gio[2] : '',
} }];

Workflow có bước AI

Workflow n8n Đơn hàng AI: Nhận tin đặt bánh, AI đọc đơn nối Ollama Chat Model, Lấy kết quả, Trả kết quả

Workflow thứ hai thay node Code bằng node Information Extractor của n8n, nối với Ollama Chat Model. Mình chỉ mô tả ba trường cần lấy, không viết luật nào:

text
mon       Tên bánh, chỉ một trong: bánh bông lan, bánh tiramisu, bánh su kem, bánh mì hoa cúc, bánh kem bắp
so_luong  Số bánh khách đặt (một chục = 10, nửa tá = 6)
gio       Giờ giao hoặc giờ lấy, dạng HH:MM 24 giờ (3h chiều = 15:00)

Model là gemma4:e2b, bản nhỏ nhất của Gemma 4 trong thư viện Ollama, tải về 4,6GB. Mình đặt temperature (độ ngẫu nhiên khi model chọn chữ) ở 0,2 và tắt chế độ thinking để model trả lời ngay. Ollama 0.40.11 chạy trong Docker (phần mềm đóng gói ứng dụng để chạy tách biệt) trên cùng máy với n8n:

bash
docker run -d --name ollama --restart unless-stopped --gpus all \
  -p 11434:11434 -e OLLAMA_NUM_PARALLEL=4 \
  -v ollama:/root/.ollama ollama/ollama:0.40.11
docker exec ollama ollama pull gemma4:e2b

Gửi cùng một tin vào hai workflow thì nhận được gì?

Mình gửi thử từng tin bằng curl ngay trên máy chạy n8n, mỗi workflow có một đường dẫn webhook riêng:

bash
curl -s -X POST -H "Content-Type: application/json" \
  -d '{"tin": "Cho chị hai cái bông lan nhé, tầm 3h chiều em giao giúp chị"}' \
  http://127.0.0.1:5678/webhook/don-ai-gemma4-e2b

Tin theo mẫu thì hai bên trả về giống hệt nhau. Khác biệt chỉ lộ ra ở tin viết tự do:

Gửi ba tin bằng curl vào hai webhook: tin theo mẫu cả hai đọc đúng 2 bánh bông lan lúc 15:00; tin "Cho chị hai cái bông lan nhé, tầm 3h chiều" luật trả về rỗng còn AI đọc đúng; tin "Năm ổ bánh mì hoa cúc, chín giờ kém mười lăm" luật chỉ lấy được tên món, AI đọc thành 10 cái lúc 18:45

Luật trả về rỗng khi tin không có chữ "Đặt", không có chữ "giao", hay khách viết "bông lan" thay vì "bánh bông lan". Model AI hiểu "hai cái", "3h chiều", "một chục" chỉ nhờ mô tả ba trường ở trên, không cần viết thêm luật nào.

Mình gửi đủ 40 tin vào workflow luật một lần, vào workflow AI ba lần, rồi chấm từng tin theo nhãn đã gán. Một đơn chỉ tính là đúng khi cả món, số lượng và giờ đều đúng:

Kết quả chấm: luật đúng cả đơn 20/20 tin theo mẫu, 0/20 tin tự do, 0,09 và 0,07 giây mỗi tin; AI đúng 20/20 tin theo mẫu và 18/20 tin tự do ở cả ba lần, 0,60 đến 0,63 giây mỗi tin; hai tin AI sai là #29 và #31

Luật cố định

AI (gemma4:e2b)

Tin theo mẫu, đúng cả đơn

20/20

20/20

Tin tự do, đúng cả đơn

0/20

18/20

Tin tự do, đọc đúng tên món

5/20

20/20

Thời gian mỗi tin (trung vị)

0,07 đến 0,09 giây

0,60 đến 0,63 giây

Ba lần chạy có giống nhau

luôn giống

giống nhau cả ba lần

Biểu đồ số đơn đọc đúng: luật 20 tin theo mẫu và 0 tin tự do, AI 20 tin theo mẫu và 18 tin tự do

Máy mình thuê có card Tesla P40 nên bước AI chỉ mất khoảng 0,6 giây. Trên máy chỉ có CPU (8 vCPU), một bước AI tương tự với cùng model mất khoảng 8,5 giây mỗi lần, theo số đo trong bài so sánh n8n, Make, Zapier. Với vài chục tin một ngày, chừng đó vẫn nhanh hơn người đọc tay.

AI sai ở đâu?

Hai tin AI đọc sai ở cả ba lần chạy:

  • "Năm ổ bánh mì hoa cúc, chín giờ kém mười lăm" thành 10 cái lúc 18:45. Đáng lẽ là 5 cái lúc 08:45.

  • "Lấy nửa tá bông lan, 1 giờ trưa" đúng 6 cái nhưng giờ thành 12:00 thay vì 13:00.

Cái nguy là kết quả sai trông y như kết quả đúng: JSON (dữ liệu dạng tên và giá trị) đủ ba trường, không có chữ lỗi nào. Luật cố định thì ngược lại: gặp tin không hiểu, luật trả về ô rỗng, và một bước If kiểm "giờ rỗng" là bắt được ngay. Vì vậy mình không để AI ghi thẳng đơn vào sổ. Với đơn hàng, mình sẽ cho workflow nhắn lại khách một câu xác nhận ("Tiệm ghi: 10 bánh mì hoa cúc, giao 18:45, đúng không ạ?") rồi mới lưu.

Nên dùng luật cố định hay AI trong quy trình tự động?

Dùng cả hai, mỗi thứ đúng chỗ. Từ phép thử 40 tin đặt bánh, mình rút ra cách chia:

  • Dữ liệu đã có khuôn (form có ô riêng, file Excel, đơn từ sàn thương mại điện tử): dùng luật. Luật chạy nhanh hơn bước AI khoảng 7 lần, không tốn tiền model, kết quả luôn giống nhau.

  • Văn bản người gõ tự do (tin nhắn, email, bình luận): dùng AI để biến nó thành vài trường có cấu trúc, rồi mọi bước sau đó lại là luật thường: lưu bảng, rẽ nhánh, gửi tin.

  • Sau bước AI luôn có một bước kiểm: giá trị có nằm trong danh sách cho phép không, số lượng có hợp lý không, việc quan trọng thì hỏi lại người.

Workflow kết hợp cũng dễ dựng: node If kiểm tin có khớp mẫu không, khớp thì đi nhánh luật, không khớp mới gọi AI. Tiệm nào phần lớn khách đặt qua form thì bước AI chỉ phải chạy cho phần còn lại.

Lỗi mình gặp khi dựng hai workflow này

Bộ cài Ollama tải quá chậm. Mình cài Ollama bằng script chính thức curl -fsSL https://ollama.com/install.sh | sh. Sau 18 phút, file cài mới tải được 15,8%. Mình dừng script, và vì file tải dở bị cắt ngang, bước giải nén trong script báo:

text
>>> Installing ollama to /usr/local
>>> Downloading ollama-linux-amd64.tar.zst
/*stdin*\ : Read error (39) : premature end
tar: Unexpected EOF in archive
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now

Lỗi tar chỉ là hệ quả của việc dừng tải giữa chừng, máy và cấu hình không có vấn đề gì. Mình chuyển sang chạy Ollama bằng image Docker ollama/ollama:0.40.11 như lệnh ở trên; image kéo về mất 95 giây, model gemma4:e2b thêm 81 giây.

AI đọc sai giờ mà không báo lỗi. Đây là kết quả của tin #29, lần nào cũng vậy:

json
{"mon": "bánh mì hoa cúc", "so_luong": 10, "gio": "18:45"}

Model hiểu "chín giờ kém mười lăm" theo kiểu buổi tối và đọc "Năm ổ" thành 10. Chạy lại không giúp gì, vì cả ba lần đều ra cùng một câu trả lời sai. Mình thêm vào mô tả trường gio ví dụ "9 giờ kém 15 = 08:45" rồi chạy lại đủ 40 tin ba lần. Giờ của tin này đã đúng, nhưng số lượng vẫn là 10, nên vẫn chỉ 18/20 tin tự do đúng cả đơn.

Chạy lại 40 tin ba lần sau khi thêm ví dụ 9 giờ kém 15 bằng 08:45: tin tự do vẫn đúng cả đơn 18/20, tin #29 giờ đã đúng 08:45 nhưng số lượng vẫn là 10, tin #31 vẫn 12:00

Thêm ví dụ vào mô tả chỉ vá được những câu mình đã biết trước. Cách chắc hơn là nhắn khách xác nhận lại đơn, như mình viết ở mục AI sai ở đâu.

Khi nào không nên dùng AI automation?

  • Dữ liệu đã có khuôn. Đổi form thành ba ô Món, Số lượng, Giờ giao thì chỉ cần luật, không cần model nào.

  • Sai một lần là mất tiền hoặc mất khách và không có bước người xem lại, như chuyển khoản, xuất hóa đơn, trả lời khiếu nại thay người.

  • Bạn cần kết quả lặp lại tuyệt đối để đối soát cuối tháng. Ba lần chạy của mình cho kết quả giống nhau, nhưng trong bài so sánh công cụ, mình đã gặp trường hợp cùng một câu bị xếp hai loại khác nhau qua 33 lần chạy.

  • Khối lượng quá nhỏ: năm tin một ngày thì đọc tay còn nhanh hơn công dựng rồi trông chừng workflow.

Câu hỏi thường gặp

AI automation có cần biết lập trình không?

Không bắt buộc. Với n8n, bạn kéo node AI vào canvas và mô tả trường cần lấy bằng tiếng Việt như ở trên. Phần cần làm quen là biểu thức lấy dữ liệu của bước trước, kiểu {{ $json.body.tin }}, và đọc màn Executions (lịch sử các lần chạy) khi workflow lỗi.

Làm AI automation miễn phí được không?

Được, nếu bạn tự host. n8n bản tự host miễn phí cho việc nội bộ (theo giấy phép Sustainable Use của n8n, đọc ngày 08/11/2026), Ollama và model gemma4:e2b cũng miễn phí, bạn chỉ trả tiền máy. Nếu dùng API của OpenAI hay Google thay cho Ollama, bạn trả thêm tiền token (đơn vị tính chữ của model) theo mỗi lần chạy.

AI automation agent là gì?

Đó là quy trình mà model AI không chỉ đọc một đoạn văn, mà tự quyết định bước tiếp theo và gọi công cụ, như tra kho, tạo đơn, gửi email. n8n có node AI Agent cho việc này. Bài n8n workflow mẫu có một bot Telegram dùng AI trả lời khách mà bạn có thể nạp vào chạy thử.

Học AI automation bắt đầu từ đâu?

Bắt đầu bằng một workflow không có AI cho một việc lặp lại mỗi ngày, rồi thêm một bước AI ở chỗ dữ liệu gõ tự do. Bài n8n là gì đi từ cài đặt tới workflow đầu tiên, còn bài n8n workflow mẫu có sẵn sáu file JSON tiếng Việt để nạp vào.

Chạy model AI cho n8n cần máy cỡ nào?

Khi chạy trên CPU và nhận 4 yêu cầu cùng lúc, model gemma4:e2b trong bài chiếm khoảng 6,5GB RAM, theo số đo trong bài so sánh công cụ. Nếu VPS chỉ có 2GB RAM thì để n8n trên VPS và gọi API của một model rẻ; bài chọn chỗ host n8n có số đo RAM của n8n trên từng cỡ VPS.

Đọc tiếp

Nếu cửa hàng hay công ty bạn có việc kiểu đọc tin đặt hàng, phân loại email hay nhập chứng từ mà muốn tự động hóa luôn, AIDev nhận dựng workflow n8n có bước AI trên máy chủ của bạn, kèm bước kiểm và xác nhận như trong bài, rồi bàn giao toàn quyền.

Chạy ngày 26/10/2026 trên máy AIDev Cloud Tesla P40 Standard (Xeon E5-2680 v4, 25 vCPU, 55GB RAM, GPU Tesla P40 24GB, Ubuntu 24.04.4, Docker 29.6.1): n8n 2.44.6 cài bằng get.n8n.io, Ollama 0.40.11 (Docker), gemma4:e2b.

Chuyên mục

AI Automation

Tham vấn chuyên môn

Nguyễn Việt Chung

Nhà sáng lập AIDev và VietPlatform · Thạc sĩ AI MSE

  • Tốt nghiệp thủ khoa xuất sắc Thạc sĩ AI MSE.
  • Đồng sáng lập, CTO E-University, SVOnline: số hóa 10+ đại học, 40.000+ sinh viên.
  • Xây hệ thống AI cho doanh nghiệp tại VietPlatform.
Biên soạn: AIDev Team · Rà soát · Quy trình biên tập