🎯 Mục tiêu phần này:
Hướng dẫn thiết kế trải nghiệm người dùng (UX) cho hệ thống agent để:
- ✅ Tạo niềm tin
- ✅ Giao tiếp rõ ràng, không gây hiểu nhầm
- ✅ Thể hiện đúng khả năng, giới hạn và độ tự tin của agent
🎛️ 1. Interaction Modalities – Các hình thức tương tác
💬 A. Text-based Interfaces (Chatbots, CLI, AI trong Gmail/Slack…)
✅ Điểm mạnh:
- Dễ tiếp cận, phổ biến, tích hợp nhanh
- Giao tiếp được cả synchronous và asynchronous
- Có lưu lại lịch sử → dễ theo dõi, kiểm tra, giải thích
⚠️ Thách thức:
- Dễ gây hiểu nhầm nếu user diễn đạt không rõ
- Không có sắc thái (tone of voice, cảm xúc)
- Giới hạn độ dài phản hồi
⭐ Best practices:
- Dùng ngôn ngữ ngắn gọn, dễ hiểu, tránh thuật ngữ kỹ thuật
- Giữ ngữ cảnh trong nhiều lượt (multi-turn)
- Xử lý lỗi rõ ràng, hỏi lại khi không chắc
- Điều phối lượt nói tự nhiên (turn-taking)
🧠 Ví dụ tốt:
“Tôi không chắc bạn muốn tôi làm gì. Bạn có thể nói rõ hơn không?”
thay vì:
“Invalid input.”
🖼️ B. Graphical Interfaces (Dashboards, interactive UI)
✅ Điểm mạnh:
- Hiển thị trực quan: biểu đồ, trạng thái, cảnh báo
- Giảm tải nhận thức cho người dùng
- Phù hợp với tác vụ nhiều bước, đa lựa chọn
⚠️ Thách thức:
- Giới hạn không gian hiển thị, dễ lộn xộn
- Yêu cầu tương thích đa thiết bị
- Cần giữ tính phản hồi thời gian thực
⭐ Best practices:
- Ưu tiên thông tin quan trọng trước, dùng màu sắc để gợi ý
- Tích hợp vừa tự động vừa cho người dùng kiểm soát (approve/reject action)
- Giữ tương tác mượt mà, chuyển trạng thái rõ ràng
🧠 Ví dụ:
Agent đề xuất đặt lịch, hiển thị 3 thời gian khả dụng → người dùng chọn bằng nút bấm.
🎙️ C. Speech & Voice Interfaces (Siri, Alexa, Voicebot…)
✅ Điểm mạnh:
- Tự nhiên, rảnh tay (hands-free)
- Tiếp cận tốt cho người khuyết tật hoặc khi đang làm việc tay chân
- Ngày càng phổ biến trong smart home, healthcare, logistics
⚠️ Thách thức:
- Vẫn có độ trễ (latency)
- Hiểu sai vì nhiễu, giọng địa phương, tốc độ nói…
- Khó giữ ngữ cảnh nếu không dùng short-term memory tốt
⭐ Best practices:
- Luôn xác nhận lại trước khi hành động quan trọng
- Giải thích tại sao cần hỏi lại người dùng
- Giảm độ trễ (nghĩa là phải chọn mô hình & pipeline tốt)
🧠 Ví dụ:
“Xin lỗi, tôi nghe chưa rõ. Bạn có thể nhắc lại phần ‘ngày đi’ không?”
🎥 D. Video-based Interfaces (Avatars, Agent trong Zoom/AR)
✅ Điểm mạnh:
- Giàu cảm xúc: biểu cảm khuôn mặt, cử chỉ
- Kết hợp được nhiều modal: hình ảnh + lời nói + text
- Phù hợp cho: giáo dục, dịch vụ khách hàng, y tế từ xa
⚠️ Thách thức:
- Nặng về tài nguyên: cần GPU, bandwidth cao
- Nếu chưa chuẩn → rơi vào uncanny valley (gượng gạo, thiếu tự nhiên)
- Gây lo ngại riêng tư (camera, biểu cảm, hình ảnh)
⭐ Best practices:
- Tập trung hiển thị cảm xúc đúng ngữ cảnh
- Cho phép người dùng kiểm soát dữ liệu video
- Dùng avatar đơn giản, tránh cố gắng “quá giống người thật” nếu chưa đủ năng lực
⏳ 2. Trải nghiệm đồng bộ (Synchronous) vs bất đồng bộ (Asynchronous)
⏱️ A. Synchronous – phản hồi thời gian thực
🧠 Ứng dụng:
- Chat, voice, dashboard dữ liệu thời gian thực
✅ Yêu cầu UX:
- Phản hồi nhanh (low latency)
- Giữ mạch hội thoại mượt (turn-taking)
- Hiển thị đang xử lý (typing, loading…) để người dùng yên tâm
💡 Best practices:
- Tránh trả lời quá dài → nên ngắn gọn, dễ đọc
- Nếu không hiểu → hỏi lại thay vì đoán bừa
- Có thể “trì hoãn” một cách khéo léo: “Tôi đang tìm câu trả lời, khoảng 5 giây nữa sẽ gửi lại.”
📬 B. Asynchronous – phản hồi không tức thì
🧠 Ứng dụng:
- Tổng hợp báo cáo, phân tích phức tạp, xử lý chạy nền
✅ Yêu cầu UX:
- Gửi thông báo rõ ràng: đã nhận yêu cầu, đang xử lý, kết quả sắp có
- Duy trì ngữ cảnh giữa các lần tương tác (có thể cách nhau nhiều giờ/ngày)
💡 Best practices:
- Có ETA (dự kiến hoàn thành): “Tôi sẽ gửi báo cáo vào 15h chiều nay.”
- Gửi tóm tắt kết quả rõ ràng khi xong, không yêu cầu người dùng phải hỏi lại
🎯 C. Khi nào chọn Sync vs Async?
Tác vụ | Loại phù hợp |
---|---|
Chat, Q&A, hỗ trợ khách hàng | Synchronous |
Phân tích dữ liệu, AI chuẩn đoán, xử lý khối lượng lớn | Asynchronous |
Lịch họp, báo cáo hệ thống, phân loại ticket | Có thể kết hợp cả hai |
🧠 3. Giữ ngữ cảnh & cá nhân hóa – Làm agent trở nên “hiểu chuyện”
🔄 A. Giữ trạng thái hội thoại (Maintaining State)
✅ Tại sao quan trọng:
- Không làm người dùng phải lặp lại thông tin
- Giữ mạch hội thoại mượt, không ngắt quãng
🔧 Cách thực hiện:
- Short-term memory: ghi nhớ trong 1 phiên
- Long-term memory: lưu sở thích, lịch sử, hành vi để hỗ trợ các phiên sau
🧠 Ví dụ:
“Tôi đã đặt 2 vé đi Tokyo. Giờ tôi muốn thêm hành lý cho chuyến đó.”
Agent hiểu “chuyến đó” là gì vì giữ được bối cảnh.
👤 B. Cá nhân hoá & thích ứng (Personalization & Adaptability)
📌 Ví dụ:
- Nhớ giọng điệu người dùng thích (formal/informal)
- Gợi ý dựa trên hành vi trước đó
- Thay đổi kênh giao tiếp phù hợp (gửi email thay vì nhắc pop-up)
⚠️ Lưu ý:
- Luôn giải thích rõ đang lưu cái gì → tránh gây lo ngại riêng tư
- Cho người dùng xoá/reset lịch sử nếu muốn
🧠 Ví dụ:
“Tôi nhớ lần trước bạn đặt vé lúc 8h sáng. Lần này bạn có muốn giữ khung giờ đó không?”
🧩 4. Khi nào agent nên chủ động? – Proactive but not annoying
🔔 Chủ động tốt:
- Nhắc việc quan trọng đúng lúc
- Cảnh báo sự cố
- Gợi ý hành động tiếp theo sau khi làm xong bước trước
🧠 Ví dụ:
“Bạn vừa hoàn tất tạo sự kiện, bạn có muốn mời người tham gia không?”
🚫 Chủ động một cách phiền phức:
- Thông báo giữa cuộc họp
- Spam gợi ý không liên quan
- Nhắc lại những việc người dùng đã biết
⭐ Best practices:
Nguyên tắc | Cụ thể |
---|---|
🧠 Hiểu ngữ cảnh | Biết khi nào người dùng đang bận |
🎯 Gợi ý có giá trị | Có ích, đúng lúc, tránh dư thừa |
⚙️ Có tuỳ chọn | Cho phép người dùng tắt/thay đổi tần suất chủ động |
📢 5. Giao tiếp khả năng và giới hạn của Agent
📌 Vì sao quan trọng?
- Người dùng thường kỳ vọng quá cao hoặc quá thấp
- Thiếu rõ ràng → dễ dẫn đến thất vọng, mất niềm tin
📋 Cách làm đúng:
✅ A. Thiết lập kỳ vọng ban đầu
“Tôi có thể hỗ trợ đặt lịch, gửi email, và nhắc việc. Tôi chưa thể giúp với các yêu cầu về thanh toán.”
✅ B. Thông báo rõ khi không làm được
“Tôi không thể đặt visa, nhưng tôi có thể gửi link hướng dẫn cho bạn.”
✅ C. Truyền đạt độ tin cậy
“Tôi khá chắc (~90%) đây là lựa chọn tốt nhất, nhưng bạn nên kiểm tra lại với nhân sự tài chính.”
✅ D. Hỏi khi không chắc chắn
“Bạn muốn đặt vé khứ hồi hay một chiều cho chuyến đi Chicago?”
🧠 Lưu ý: Agent không nên im lặng, cũng không nên đoán mò khi thiếu thông tin
💥 6. Failing Gracefully – Thất bại mà không phá hỏng trải nghiệm
😓 Khi Agent thất bại:
Tình huống | UX tốt nhất nên làm gì? |
---|---|
Không hiểu yêu cầu | Xin người dùng diễn đạt lại, gợi ý cách nói |
Không tìm thấy kết quả | Thông báo rõ, gợi ý lựa chọn gần nhất |
Gặp lỗi kỹ thuật | Xin lỗi, giải thích & gợi ý phương án khác |
📋 Cần đảm bảo:
- Ngôn ngữ nhẹ nhàng, dễ thông cảm “Tôi xin lỗi, tôi gặp chút trục trặc khi truy cập hệ thống.”
- Giữ được tiến độ tác vụ (không bắt người dùng làm lại từ đầu)
- Cung cấp hướng giải quyết (kết nối với người thật, link thay thế, thử lại sau)
🧠 Ví dụ xấu:
“Error 404 – unknown input.”
🧠 Ví dụ tốt:
“Tôi không thể xử lý yêu cầu này. Bạn muốn tôi kết nối với nhân viên hỗ trợ không?”
🔒 7. Xây dựng Niềm Tin & Tránh Ảo tưởng AI
🧱 A. Dự đoán được hành vi – Tính nhất quán
- Cùng 1 câu hỏi, cùng điều kiện → phải trả lời giống nhau
- Với câu trả lời không chắc chắn → nên nói rõ
🧠 Ví dụ:
“Tôi không chắc về thông tin này. Bạn có muốn tôi tìm nguồn tham khảo không?”
👀 B. Minh bạch vừa đủ – Không quá đà
- Không cần hiện hết “prompt” hoặc “token weight”
- Nhưng cần giải thích được hành vi khó hiểu “Tôi đề xuất email này vì bạn đã nhắc đến việc follow-up trong cuộc họp hôm qua.”
🧠 C. Tránh automation bias – tin mù quáng vào agent
✅ Giải pháp:
- Nói rõ mức độ tự tin
- Đặt câu hỏi gợi ý kiểm tra lại “Đây là báo cáo sơ bộ. Bạn muốn tôi nhờ một người trong nhóm xác nhận không?”
👤 D. Tạo mối quan hệ “hợp tác”, không “phục tùng”
Xấu | Tốt |
---|---|
“Tôi đã làm xong. Không cần kiểm tra.” | “Tôi đã hoàn thành bước đầu. Bạn muốn kiểm tra lại không?” |
Luôn tự động hành động | Gợi ý trước, xin xác nhận |
Để lại một bình luận
Bạn phải đăng nhập để gửi bình luận.