Một flow bảy bước, chạy thật trên brand VinUni Tuyển Sinh 2026. Không có điểm dừng nào để kiểm tra trước khi hành động — cả ở tầng AI lẫn tầng UI. Đây là chẩn đoán đầy đủ và một redesign tối thiểu để chặn hậu quả.
Hệ thống không có điểm dừng nào để tự kiểm tra hoặc để người dùng xác nhận trước khi trình bày một lựa chọn — ở cả tầng AI lẫn tầng UI logic.
Hai lỗi trong hành trình này có nguyên nhân kỹ thuật hoàn toàn khác nhau — một là AI hallucination (tin vào tên file mà không verify nội dung), một là lỗi routing UI (nút bấm gọi nhầm component). Nhưng cả hai đều xuất phát từ cùng một khoảng trống thiết kế: không có ai — người hay máy — dừng lại kiểm tra trước khi hành động chạy.
Flow thật, không dựng lại. Mỗi bước ghi rõ loại pain point và nguồn bằng chứng — ảnh chụp thật hoặc trích nguyên văn log, không lẫn lộn.
Đăng nhập qua V-ID SSO, chọn brand từ danh sách. Không có ma sát ở bước này.
Gõ brief mô tả angle "Trải nghiệm quốc tế", đính kèm ảnh khuôn viên làm nền, bấm gửi. Composer phản hồi mượt.
Trước Directions, agent dừng lại hỏi rõ vì brand có nhiều asset cùng tên VINUNI_LOGO-FULL. Đây là hành vi đúng quy trình — playbook đã ép agent hỏi thay vì tự đoán.
Nhưng câu hỏi trình bày dưới 3 thumbnail nhỏ, không cảnh báo việc một asset thực chất là ảnh tai nghe — dù cái tên "logo" đã ngầm khẳng định nội dung mà chưa ai verify.
Không được chụp lại tại thời điểm chạy — chỉ có trong log text của agent.
Không có cách phóng to xem trước ba lựa chọn. Quyết định dựa trên hình nhỏ và tên file trùng lặp — không phải nội dung thật.
Lỗi chỉ lộ ra ở cuối pipeline — sau Directions, Concepts, Final touches. Đây là điểm phát hiện, không phải điểm gốc — nhưng chi phí sửa tại đây đã cao hơn nhiều.
Ở slot "Brand logo" trong Final touches, bấm "Replace" kỳ vọng mở lại picker logo. Thay vào đó mở "Select place images — Pick the real location(s) to depict" — picker địa điểm, sai hoàn toàn ngữ cảnh.
Chưa được chụp lại tại thời điểm xảy ra — ghi nhận từ quan sát trực tiếp.
Không còn đường sửa hợp lệ nào khác. Lối thoát duy nhất: bỏ artifact lỗi, mở session mới, viết lại brief, đi lại từ Directions — dù Concepts và Final touches vốn không có gì sai.
| # | Bước | Loại | Vì sao |
|---|---|---|---|
| 1 | Đăng nhập, vào brand | — | Không có vấn đề |
| 2 | Viết brief, gửi | — | Không có vấn đề |
| 3 | Agent hỏi chọn logo, đưa tai nghe ngang hàng | Confusion | Không cảnh báo nội dung bất thường trước khi hỏi |
| 4 | Chọn nhầm qua thumbnail nhỏ | Confusion | Hệ quả trực tiếp của bước 3 |
| 5 | Phát hiện lỗi ở cuối pipeline | Dead-end | Phát hiện quá muộn, chi phí sửa đã cao |
| 6 | Bấm Replace, mở nhầm modal địa điểm | Dead-end | Lối sửa duy nhất cũng hỏng, không cảnh báo trước |
| 7 | Không sửa được, chạy lại từ đầu | Dead-end Friction | Không có cơ chế quay lại đúng bước sai |
Trước khi vẽ màn hình, một câu hỏi phải trả lời dứt khoát: ai kiểm duyệt — máy hay người? Câu trả lời quyết định toàn bộ hướng thiết kế bên dưới.
Không có bước nào tự động chặn hay tự động chọn thay. Mỗi điểm chèn chỉ thêm một tín hiệu để người dùng không còn phải đoán mù như ở bước 3 và bước 6 của flow gốc — quyền quyết định luôn ở người dùng.
Asset nghi ngờ được đóng khung cảnh báo, có nút xem lớn — thay vì 3 thumbnail nhỏ giống hệt nhau.
Thay đổi: asset không khớp tên gọi được đóng khung màu cảnh báo, có icon + dòng chữ giải thích, và nút "Xem lớn" riêng.
Sửa đúng pain point nào: bước 3 (confusion) — hệ thống không có bước tự-kiểm-tra trước khi hỏi, để asset sai lọt vào danh sách như thể bình thường.
Vì sao không tự động loại bỏ asset nghi ngờ: asset có thể bị đặt tên sai nhưng nội dung vẫn đúng ý người dùng trong vài trường hợp hiếm — tự động ẩn sẽ tước quyền quyết định khỏi người dùng, đi ngược thesis.
Một dòng xác nhận ngắn, mô tả rõ màn hình sắp mở — trước khi UI thực sự chạy.
Thay đổi: chèn 1 bước xác nhận ngắn, nêu rõ "sắp làm gì → sắp mở màn gì" trước khi modal thật sự bật lên.
Sửa đúng pain point nào: bước 6 (dead-end nặng nhất) — nếu do lỗi routing, modal sắp mở là "Select place images", nó sẽ không khớp với lời hứa "Chọn ảnh khác cho slot logo" trên màn xác nhận. Người dùng thấy sự lệch pha ngay, bấm Huỷ, không cần tự bấm vào rồi mới ngỡ ngàng.
Giới hạn thành thật: đây không sửa được lỗi routing ở tầng code — chỉ chặn hậu quả của nó lan tới người dùng. Xem thêm mục Giới hạn bên dưới.