Giao diện
Hành động AI nâng cao
Trang này để làm gì
Hướng dẫn cấu hình node AI nâng cao - hành động gửi yêu cầu kèm dữ liệu và hình ảnh của các bước trước cho AI, rồi nhận về văn bản, JSON hoặc hình ảnh để các bước sau dùng tiếp. Trang giải thích từng ô trong màn hình cấu hình, cách tham chiếu kết quả, chi phí AI Credit và các lỗi hay gặp.
Node nằm ở Chiến dịch → mở chiến dịch → bấm + sau một node → Hành động → nhóm Công cụ đặc biệt → AI nâng cao.
Node này làm được gì
Ba kiểu kết quả tương ứng ba nhóm việc:
| Kiểu kết quả | Dùng khi | Bước sau nhận được |
|---|---|---|
| Văn bản | Viết nội dung tin nhắn cá nhân hoá, tóm tắt phản hồi, dịch, phân loại nhanh | Một field text |
| JSON | Trích xuất dữ liệu có cấu trúc từ ảnh hay văn bản: đọc hoá đơn, bóc thông tin từ ghi chú, chấm điểm theo nhiều tiêu chí | Mỗi field bạn khai trong schema thành một field riêng, gán thẳng vào cột Data Hub hay biến |
| Hình ảnh | Sinh ảnh minh hoạ, banner, thiệp theo dữ liệu từng khách | image_url, image_urls, resource_key của ảnh đã lưu trong media của shop |
Trước khi bắt đầu
| Cần có | Vì sao | Kiểm tra ở đâu |
|---|---|---|
| Quyền AI nâng cao (Tạo, Sửa) trên vai trò của bạn | Không có quyền, bấm Lưu node sẽ báo lỗi Access Denied dù giao diện vẫn mở được | Cài đặt → Phân quyền → Vai trò, nhóm Automation. Chủ tài khoản có sẵn mọi quyền |
| AI Credit còn dư | Mỗi lần node chạy trừ AI Credit; hết thì item báo lỗi OUT_OF_CREDITS | Con số AI Credit còn lại trên thanh trên cùng, hoặc Cài đặt → AI credits |
| Dữ liệu đầu vào đã có ở bước trước | Prompt và ảnh đính kèm chỉ chọn được từ các bước đứng trước node | Xem Tham chiếu dữ liệu giữa các bước |
Node không tiêu Token automation. Chi phí duy nhất là AI Credit, trừ theo lượng dùng thật của từng lần chạy.
Bước 1 - Thêm node vào luồng
Bấm + ở node muốn nối tiếp, chọn Hành động. Trong hộp thoại Chọn hành động, mở nhóm Công cụ đặc biệt và chọn AI nâng cao.

- Tab Công cụ đặc biệt - lọc nhanh nhóm công cụ điều khiển luồng. Cuộn xuống cuối danh sách để thấy hai mục AI.
- AI nâng cao - mô tả ngắn cho biết node nhận prompt, dữ liệu, hình ảnh và trả về văn bản, JSON hoặc hình ảnh. Ngay phía trên là mục AI cũ gắn nhãn Sắp ra mắt, không chọn được.
Mục "AI" cũ vẫn còn trong danh sách
Bên cạnh AI nâng cao còn một mục AI gắn nhãn Sắp ra mắt. Đó là node thế hệ trước, chưa dùng được. Mọi nhu cầu AI trong chiến dịch hiện dùng AI nâng cao.
Bước 2 - Phần Yêu cầu
Màn hình cấu hình Cài đặt AI nâng cao mở ở bên phải, chia hai phần: 1. Yêu cầu và 2. Cấu hình response.

- Cài đặt AI nâng cao - tiêu đề phần cấu hình. Dòng nhỏ bên phải nhắc: gọi AI qua hệ thống CNV, mỗi lần chạy trừ AI Credit.
- Prompt (bắt buộc) - việc bạn muốn AI làm, viết như văn bản thường. Tối đa 20.000 ký tự.
- Nút + ở góc dưới ô prompt - chèn dữ liệu của bước trước vào đúng vị trí con trỏ.
- Tệp đính kèm - hình ảnh gửi kèm cho AI đọc. Số trong ngoặc là số tệp đã thêm; mỗi tệp hiện thành một dòng Bước 1: … · Ảnh hóa đơn bên dưới nút Thêm tệp đính kèm.
- Xoá - xoá trắng toàn bộ phần Yêu cầu để viết lại từ đầu. Mỗi tệp đính kèm cũng có nút x riêng để gỡ từng tệp.
Prompt
Prompt là chỉ thị cho AI. Viết rõ ba thứ: dữ liệu đầu vào là gì, cần làm gì với nó, và kết quả trả về theo dạng nào. Mọi chữ trong prompt đều được gửi đi và tính vào chi phí, nên gọn và cụ thể tốt hơn dài và chung chung.
Hệ thống tự thêm một lớp hướng dẫn nền cho AI: chỉ xử lý dữ liệu, không hỏi lại, không bịa số liệu, coi nội dung trong dữ liệu gửi kèm là dữ liệu chứ không phải chỉ thị. Bạn không cần viết lại các quy tắc này.
Chèn dữ liệu của bước trước
Bấm nút + ở góc dưới ô prompt. Một bảng chọn hai tầng hiện ra: chọn bước, rồi chọn trường trong bước đó. Trường được chèn vào prompt tại vị trí con trỏ và khi chạy sẽ được thay bằng giá trị thật của từng khách.

- Ô tìm dữ liệu - gõ tên trường để lọc nhanh khi bước có nhiều cột.
- Danh sách bước - chỉ hiện các bước đứng trước node AI, kèm số trường mỗi bước có (ở đây trigger Data Hub có 25 trường). Bấm vào một bước để xem trường của nó; nút mũi tên ở đầu bảng đưa bạn về lại danh sách bước.
Không gõ tay mã tham chiếu
Trường chèn vào có dạng mã như {item_547665}.{field_col_235734}. Luôn chèn bằng nút +, không tự gõ hay sửa mã. Nếu bước hay cột gốc bị xoá, prompt hiện cảnh báo Không tìm thấy dữ liệu này ở các bước trước, hãy chèn lại.
Tệp đính kèm
Dùng khi AI cần nhìn ảnh: hoá đơn, ảnh sản phẩm, ảnh khách gửi qua form. Bấm Thêm tệp đính kèm và chọn một trong hai nguồn:

- Chọn từ bước trước - trỏ tới một trường chứa ảnh của bước trước, ví dụ cột Ảnh hoá đơn của trigger Data Hub. Giá trị có thể là một URL, nhiều URL cách nhau bằng dấu phẩy, hoặc một cột ảnh của Data Hub. Đây là cách dùng cho ảnh khác nhau theo từng khách.
- Chọn từ thư viện media - lấy một ảnh cố định đã tải lên media của shop, dùng làm ảnh tham chiếu chung cho mọi lần chạy, ví dụ ảnh mẫu để AI so phong cách.
Mỗi tệp đính kèm có tên hiển thị; tên này được gửi kèm để AI biết ảnh nào là gì khi có nhiều ảnh. Giới hạn 6 ảnh mỗi lần chạy, chỉ nhận đường dẫn http(s) hoặc ảnh dạng data URL.
Bước 3 - Cấu hình response
Phần 2 quyết định AI trả về dạng gì và bước sau dùng được field nào.
Chọn kiểu kết quả
Ba nút Văn bản, JSON, Hình ảnh. Đổi kiểu kết quả sẽ đổi luôn danh sách model và các ô cấu hình phía dưới.
Kiểu JSON và schema

- Kiểu kết quả - đang chọn JSON. Dòng mô tả dưới nút nhắc: AI trả JSON đúng schema, bước sau dùng từng field trong schema.
- Định dạng JSON Schema (bắt buộc với kiểu JSON) - dán schema vào đây. Mỗi field trong
propertiestrở thành một dữ liệu cho bước sau. - Chuyển đổi từ JSON - nếu chưa quen viết schema, dán một JSON mẫu (ví dụ kết quả bạn mong muốn) rồi bấm Chuyển đổi, hệ thống sinh schema tương ứng.
- Model AI - nhà cung cấp và model. Để trống thì dùng model mặc định của hệ thống, tên model mặc định hiện ngay trong ô.
- Dữ liệu cho bước sau - danh sách field mà node sẽ sinh ra, cập nhật ngay khi bạn sửa schema.
Quy tắc schema cần nhớ:
| Quy tắc | Giải thích |
|---|---|
Gốc schema là object có properties | Đây là dạng hệ thống đọc để sinh field. Schema gốc là mảng hay kiểu đơn sẽ được tự bọc vào field result |
| Tên field là tên bạn dùng ở bước sau | Đặt tên không dấu, không khoảng trắng, ví dụ ma_giao_dich, so_kwh |
Kiểu string, number, integer, boolean | Thành field Văn bản, Số, Số, Chọn đúng/sai. Dùng "type": ["string", "null"] để cho phép AI trả null khi không đọc được, thay vì bịa giá trị |
Field lồng nhau a.b | Object con sinh field dạng ten_cha.ten_con |
| Field mảng | Sinh field có hậu tố [], ví dụ chi_tiet[]. Gán vào cột Data Hub sẽ lưu nguyên chuỗi JSON của mảng |
description cho từng field | Không bắt buộc nhưng là chỗ tốt nhất để nói với AI định dạng mong muốn, ví dụ "Ngày dạng YYYY-MM-DD" |
required | Liệt kê field AI luôn phải trả về, kể cả khi giá trị là null |
AI không đọc được thì để null
Trong prompt hãy dặn: "Trường nào không đọc được thì để null, không suy đoán", và khai kiểu cho phép null trong schema. Khi AI trả null, hệ thống bỏ trống ô tương ứng thay vì ghi chữ "null", nên dữ liệu xuống Data Hub vẫn sạch.
Kiểu Hình ảnh

- Hình ảnh - AI tạo ảnh, hệ thống tự lưu vào media của shop và trả URL cho bước sau.
- Model - danh sách chỉ còn model tạo ảnh (`gpt-image-1` mặc định, `gpt-image-1-mini` rẻ hơn).
- Kích cỡ ảnh - `1024x1024` (mặc định), `1024x1536` dọc, `1536x1024` ngang, hoặc Tự động. Khổ chữ nhật tốn hơn khổ vuông.
- Chất lượng ảnh - Thấp, Trung bình (mặc định), Cao, Tự động. Chất lượng càng cao càng tốn AI Credit, xem bảng chi phí bên dưới.
- Dữ liệu cho bước sau -
image_url,image_urls,resource_keyvàtextnếu AI kèm chú thích.
Mỗi lần chạy sinh đúng một ảnh. Ảnh đính kèm ở phần Yêu cầu, nếu có, được dùng làm tham chiếu phong cách hoặc nội dung.
Kiểu Văn bản
Không có ô cấu hình thêm. AI trả lời tự do theo prompt; bước sau dùng field text. Muốn AI trả đúng một câu, một con số hay một nhãn phân loại, hãy nói rõ trong prompt, ví dụ "Chỉ trả về một trong ba chữ: TÍCH CỰC, TIÊU CỰC, TRUNG TÍNH".
Bước 4 - Chọn model
| Model | Dùng cho | Ghi chú |
|---|---|---|
| gpt-5.2 | Văn bản, JSON | Mặc định. Đọc ảnh tốt, làm theo schema chặt |
| gpt-5 | Văn bản, JSON | Cùng thế hệ, rẻ hơn một chút |
| gpt-5-mini | Văn bản, JSON | Rẻ hơn nhiều, hợp việc đơn giản: phân loại, tóm tắt ngắn, viết tin nhắn |
| gpt-4o, gpt-4o-mini | Văn bản, JSON | Thế hệ trước, giữ để tương thích |
| gpt-image-1 | Hình ảnh | Mặc định cho tạo ảnh |
| gpt-image-1-mini | Hình ảnh | Rẻ hơn khoảng 4 lần, chất lượng thấp hơn |
Danh sách model do hệ thống quản lý và có thể thay đổi; ô chọn chỉ hiện model hợp với kiểu kết quả đang chọn. Để trống là an toàn nhất, node luôn chạy được với model mặc định.
Bước 5 - Dùng kết quả ở bước sau
Sau khi lưu, node AI xuất hiện trong ô chọn hai tầng của mọi node phía sau với tên Bước N: AI nâng cao. Field có sẵn:
| Field | Có khi | Ý nghĩa |
|---|---|---|
result | Luôn | Thành công hay thất bại, dùng cho node Điều kiện rẽ nhánh |
text | Văn bản, Hình ảnh | Nội dung AI trả về |
| các field trong schema | JSON | Mỗi field một giá trị, kiểu theo schema |
image_url, image_urls, resource_key | Hình ảnh | URL ảnh đầu tiên, danh sách URL, khoá tài nguyên trên media |
model | Luôn | Model thực tế đã dùng |
ai_credit | Luôn | Số AI Credit lần chạy này đã tiêu |
Cách gán phổ biến nhất là đưa kết quả JSON vào bảng Data Hub bằng node Cập nhật bản ghi:

- Data Hub và bảng - bảng cần cập nhật. Biểu tượng mở bảng bên cạnh dẫn thẳng tới bảng để đối chiếu dữ liệu.
- Row Id - dòng cần sửa, thường trỏ về Bước 1 › Row Id của trigger Data Hub để cập nhật đúng dòng vừa được thêm.
- Cột và giá trị - mỗi cột chọn công thức Bước 2: AI nâng cao › tên field.
Ví dụ thực tế: đọc hoá đơn sạc xe điện
Khách hàng của một hãng sạc xe điện quét QR, điền tên, số điện thoại và tải ảnh màn hình Lịch sử sạc lên Dynamic Form. Form ghi vào bảng Data Hub. Mỗi tháng cần tổng kWh theo khách để xếp hạng và tặng quà. Trước đây nhân viên gõ tay từ ảnh; giờ chiến dịch ba node làm việc đó:

- Trigger Data Hub - bảng Hoá đơn sạc được thêm mới.
- AI nâng cao - kết quả JSON, model mặc định, một ảnh đầu vào lấy từ Bước 1 › Ảnh chụp bill.
- Cập nhật bản ghi - danh sách cột và field tương ứng của Bước 2.
Prompt (rút gọn):
text
Ảnh đính kèm là màn hình "Lịch sử sạc" của app V-Green. Đọc và trích xuất đúng mọi giá trị
hiển thị trên ảnh, không suy đoán, không bịa. Quy tắc chuẩn hoá:
- ma_giao_dich: chuỗi 24 ký tự sau chữ "Mã dịch vụ", giữ nguyên từng ký tự.
- ngay_sac: dòng "ngày D tháng M, YYYY" đưa về YYYY-MM-DD; thang_sac lấy YYYY-MM.
- so_kwh: số ở dòng "Số điện đã sạc", đổi dấu phẩy thập phân thành dấu chấm (33,7 → 33.7).
- Tiền: bỏ dấu chấm hàng nghìn và chữ "đ", trả về số nguyên (130.015 đ → 130015).
Nếu ảnh không phải màn hình lịch sử sạc, bị mờ, hoặc không đọc được mã dịch vụ hay số kWh
thì đặt doc_duoc = false, ghi lý do vào ghi_chu và để null các trường không đọc được. Chỉ trả về JSON.Schema (rút gọn, đủ dạng các kiểu field):
json
{
"type": "object",
"properties": {
"doc_duoc": {"type": "boolean", "description": "true khi đọc được mã dịch vụ và số kWh"},
"ma_giao_dich": {"type": ["string", "null"], "description": "Mã dịch vụ, 24 ký tự"},
"ngay_sac": {"type": ["string", "null"], "description": "Ngày sạc dạng YYYY-MM-DD"},
"so_kwh": {"type": ["number", "null"], "description": "Số điện đã sạc (kWh)"},
"phi_sac": {"type": ["integer", "null"], "description": "Số ở dòng Tổng (VND)"},
"tong_thanh_toan": {"type": ["integer", "null"], "description": "Số ở dòng Tổng thanh toán (VND)"},
"phi_sac_chi_tiet": {
"type": "array",
"items": {"type": "object", "properties": {
"khung_gio": {"type": ["string", "null"]},
"so_tien": {"type": ["integer", "null"]}
}, "required": ["khung_gio", "so_tien"]}
},
"ghi_chu": {"type": ["string", "null"], "description": "Lý do không đọc được, rỗng nếu bình thường"}
},
"required": ["doc_duoc", "ma_giao_dich", "ngay_sac", "so_kwh", "phi_sac", "tong_thanh_toan", "phi_sac_chi_tiet", "ghi_chu"]
}Kết quả sau khi chạy một dòng:

- Mã giao dịch - chuỗi 24 ký tự AI đọc từ dòng Mã dịch vụ trên ảnh, giữ nguyên từng ký tự để đối soát với dữ liệu của đối tác.
- Trạm sạc - địa chỉ dài nhiều dòng trên ảnh được gom về một ô đoạn văn bản.
Các cột còn lại nằm tiếp bên phải: Số kWh và Số phút sạc kiểu Số, Phí sạc và Tổng thanh toán kiểu Số tiền, Chi tiết phí sạc lưu nguyên chuỗi JSON của mảng, Ngày sạc kiểu Ngày giờ nhận thẳng chuỗi YYYY-MM-DD do AI trả về.
Một lần đọc hoá đơn như trên tốn khoảng 42 AI Credit, tương đương khoảng 330 đồng.
Chi phí AI Credit
AI Credit trừ theo lượng dùng thật của từng lần chạy: số token gửi đi (prompt, hướng dẫn nền, schema, ảnh), số token AI trả về, và với kiểu Hình ảnh là giá mỗi ảnh theo kích cỡ và chất lượng. Một AI Credit tương đương khoảng 8 đồng.
| Tình huống | Model | Khoảng AI Credit mỗi lần | Tương đương |
|---|---|---|---|
| Viết một tin nhắn ngắn từ vài trường dữ liệu | gpt-5-mini | 4 - 8 | 30 - 60 đ |
| Việc trên với model mặc định | gpt-5.2 | 25 - 40 | 200 - 320 đ |
| Đọc một ảnh hoá đơn ra JSON 18 field | gpt-5.2 | 40 - 50 | 320 - 400 đ |
| Tạo một ảnh 1024x1024 chất lượng Thấp | gpt-image-1 | khoảng 70 | 550 đ |
| Tạo một ảnh 1024x1024 chất lượng Trung bình | gpt-image-1 | khoảng 260 | 2.000 đ |
| Tạo một ảnh 1024x1024 chất lượng Cao | gpt-image-1 | khoảng 1.000 | 8.000 đ |
Con số thay đổi theo độ dài prompt, kích cỡ ảnh đầu vào và độ dài câu trả lời. Field ai_credit của mỗi lần chạy cho biết số chính xác.
Ước lượng trước khi chạy cho tệp lớn
Chiến dịch chạy cho 1.000 dòng với node đọc ảnh tốn khoảng 40.000 - 50.000 AI Credit. Hết AI Credit giữa chừng thì các dòng còn lại báo lỗi OUT_OF_CREDITS và không tự chạy lại sau khi nạp. Hãy nhân số item với chi phí một lần chạy, nạp đủ rồi mới kích hoạt.
Xem chi phí đã tiêu tại Cài đặt → AI credits:

- Số dư và mức đã dùng - cùng con số với thanh trên cùng.
- Dòng của node - tên dạng Tên chiến dịch / Bước N - AI nâng cao, ứng dụng Automation. Bấm vào tên để mở chiến dịch. Mọi lần chạy của cùng một node gom vào một dòng, nên cột AI Credits là tổng của node đó.
- Lịch sử tiêu - tab bên cạnh liệt kê từng lần trừ với số dư trước và sau.
Lần chạy thất bại ở bước gọi AI không bị trừ AI Credit. Bấm Chạy lại cho item lỗi thì lần chạy mới tính phí như bình thường.
Giới hạn kỹ thuật
| Hạng mục | Giới hạn |
|---|---|
| Độ dài prompt | 20.000 ký tự |
| Số dữ liệu gửi kèm | 20 mục, tổng 100.000 ký tự văn bản |
| Ảnh đính kèm | 6 ảnh mỗi lần chạy, chỉ nhận URL http(s) hoặc data URL |
| Độ dài câu trả lời | 8.192 token mỗi lần chạy, kể cả token suy luận của model. Kết quả dài hơn báo lỗi OUTPUT_TRUNCATED |
| Kích cỡ ảnh tạo | 1024x1024, 1024x1536, 1536x1024, Tự động |
| Số ảnh tạo mỗi lần | 1 |
| Thời gian chờ | 120 giây với Văn bản/JSON, 300 giây với Hình ảnh |
Lỗi thường gặp
Mã lỗi hiện trong tab Lỗi của chiến dịch và ở trạng thái từng item.
| Mã hoặc hiện tượng | Nguyên nhân | Cách xử lý |
|---|---|---|
| Bấm Lưu node báo Access Denied | Vai trò chưa có quyền AI nâng cao | Bật quyền Tạo, Sửa cho vai trò tại Phân quyền, tải lại trang |
OUT_OF_CREDITS | AI Credit đã hết | Nạp AI Credit rồi Chạy lại các item lỗi |
AI_CREDIT_UNAVAILABLE | Không kiểm tra được số dư, dịch vụ AI Credit tạm gián đoạn | Thử lại sau vài phút |
MODEL_NOT_ALLOWED | Model đã chọn không còn trong danh mục | Mở node, chọn lại model hoặc để Mặc định |
PRICING_NOT_CONFIGURED | Model chưa có bảng giá | Đổi sang model khác, báo đội kỹ thuật |
IMAGE_URL_INVALID | Trường ảnh không phải URL http(s) | Kiểm tra cột ảnh ở bước trước; Data Hub lưu ảnh dạng URL trên CDN là hợp lệ |
TOO_MANY_IMAGES, PROMPT_TOO_LONG, INPUTS_TOO_LARGE | Vượt giới hạn ở bảng trên | Rút bớt ảnh hoặc chữ trong prompt |
INVALID_JSON_OUTPUT, AI không trả về JSON | Kiểu JSON nhưng AI không trả đúng cấu trúc | Kiểm tra schema hợp lệ, thêm câu "Chỉ trả về JSON" vào prompt, thử model mặc định |
OUTPUT_TRUNCATED | Câu trả lời dài hơn giới hạn token đầu ra | Yêu cầu AI trả ngắn hơn, bỏ field không cần trong schema |
PROVIDER_RATE_LIMIT, NO_PROVIDER_AVAILABLE | Nhà cung cấp AI tạm giới hạn tần suất | Hệ thống đã tự thử khoá khác; đợi vài phút rồi Chạy lại |
PROVIDER_CONTENT_FILTER | Nội dung bị bộ lọc của nhà cung cấp chặn | Xem lại prompt và ảnh đầu vào |
MEDIA_UPLOAD_FAILED | Tạo được ảnh nhưng không lưu được vào media của shop | Kiểm tra dung lượng lưu trữ tại Lưu trữ, Chạy lại |
| Item thành công nhưng cột Data Hub trống | Node Cập nhật bản ghi chưa ánh xạ field, hoặc AI trả null cho field đó | Mở node sau kiểm tra ánh xạ; xem field ghi_chu nếu có để biết AI không đọc được gì |
| Cột Số tiền hiện trống dù có giá trị 0 | Giá trị 0 là hợp lệ, hiển thị trống ở phiên bản cũ | Đã sửa; kiểm tra bằng cách mở ô hoặc xuất dữ liệu |
Mẹo viết prompt cho chiến dịch
- Nói rõ nguồn dữ liệu: "Ảnh đính kèm là màn hình X của app Y" giúp AI đọc đúng vùng cần đọc.
- Chuẩn hoá ngay trong prompt: định dạng ngày, dấu thập phân, đơn vị tiền. Dữ liệu vào Data Hub đồng nhất thì lọc và tổng hợp mới đúng.
- Cho phép AI nói "không biết": có field kiểu
booleannhưdoc_duocvà fieldghi_chu, rồi rẽ nhánh bằng node Điều kiện để nhân viên xử lý tay các dòng AI không chắc. - Kiểm tra chéo: với số liệu có quan hệ (tổng bằng cộng các dòng), dặn AI đối chiếu và ghi chỗ lệch vào
ghi_chu. - Chạy thử một dòng trước khi kích hoạt cho cả tệp: xem kết quả, xem
ai_credit, rồi mới nhân lên.
Bước tiếp theo
- Xem lại cơ chế ô chọn hai tầng: Tham chiếu dữ liệu giữa các bước
- Ghi kết quả AI vào bảng: Thư viện Hành động - Data Hub
- Theo dõi hạn mức: Credit, Token & AI Credit