Khi nào AI agent nên chuyển cho người thật?
Trigger escalation đúng, vì sao sentiment và độ tự tin tự báo là bẫy, bảng quyết định human-in-the-loop và mẫu JSON handoff cho đề CCAR-F.
Agent hỗ trợ khách hàng mà chuyển cho người thật quá nhiều thì không đạt chỉ tiêu tự giải quyết. Chuyển quá ít thì lại hoàn tiền cho những trường hợp chính sách không cho phép. Đề CCAR-F kiểm tra chính ranh giới này, và đề có quan điểm rất rõ về tín hiệu nào đáng tin. Bài này nói về các trigger đúng, hai cái bẫy trông có vẻ hợp lý, và cách bàn giao để người nhận không phải làm lại từ đầu.
Nội dung bám theo task statement 5.2 (escalation và xử lý mơ hồ), 1.4 (giao thức handoff) và 5.5 (human review và hiệu chỉnh độ tin cậy), xuất hiện nhiều nhất ở Scenario 1: agent hỗ trợ khách hàng với các tool get_customer, lookup_order, process_refund và escalate_to_human.
Khi nào AI agent nên chuyển cho người thật
Exam guide nêu ba trigger:
- Khách yêu cầu gặp người thật. Chuyển ngay. Không điều tra trước, không thuyết phục khách ở lại với bot.
- Chính sách không nói đến, hoặc nói không rõ. Ví dụ trong guide: khách đòi giảm giá bằng giá bên đối thủ, trong khi chính sách chỉ nói về điều chỉnh giá trên site của mình. Agent không được tự đặt ra quy định. Lưu ý: ca phức tạp chưa chắc là ca thiếu chính sách. Đổi hàng hỏng có ảnh chụp có thể nhiều bước nhưng vẫn nằm trọn trong chính sách.
- Agent không tiến triển được. Tra cứu thất bại nhiều lần, thiếu tool cần thiết, cứ quay vòng mãi. Lúc đó chuyển, và ghi rõ đã thử những gì.
Khách bực bội không nằm trong danh sách. Nếu khách khó chịu nhưng vấn đề nằm trong khả năng của agent, cách guide gợi ý là ghi nhận sự bực bội và đề nghị xử lý luôn. Chỉ chuyển nếu khách nhắc lại là muốn gặp người.
Nhiều khách hàng trùng khớp: hỏi lại, đừng đoán
Khi get_customer trả về hai tài khoản cùng tên "Nguyễn Minh Anh", agent phải hỏi thêm một thông tin định danh (email, mã đơn, số điện thoại). Chọn tài khoản mới nhất hay tài khoản đang có đơn mở là đoán theo heuristic, và đó là cách tiền hoàn bị chuyển nhầm người. Đây là xử lý mơ hồ chứ không phải escalation, nhưng đề xếp chung một nhóm.
Vì sao sentiment và độ tự tin tự báo là bẫy
Hai đáp án này xuất hiện liên tục trong câu hỏi về escalation, và đều sai nếu dùng làm trigger chính:
- Sentiment analysis. Giọng điệu tiêu cực đo cảm xúc của khách, không đo độ khó của ca. Khách nóng tính hỏi chuyện giao hàng đơn giản thì bị chuyển, khách điềm tĩnh xin ngoại lệ ngoài chính sách thì không.
- Model tự chấm độ tự tin. Bắt agent tự chấm 1–10 rồi chuyển khi dưới ngưỡng không hiệu quả, vì con số đó hiệu chỉnh kém. Agent xử lý sai ca khó thường lại rất tự tin.
Task 5.5 mới là chỗ confidence có ích, ở một dạng khác. Trong pipeline trích xuất dữ liệu, confidence score theo từng field dùng được sau khi bạn hiệu chỉnh ngưỡng bằng tập validation có nhãn, và vẫn lấy mẫu ngẫu nhiên phân tầng các kết quả confidence cao để bắt lỗi mà điểm số bỏ sót. Điểm theo field đã hiệu chỉnh để phân luồng review: được. Một câu "bạn chắc bao nhiêu phần?" để quyết định chuyển khách: bẫy.
Human-in-the-loop là gì: bảng quyết định
Human-in-the-loop nghĩa là con người xem xét hoặc tiếp quản ở những điểm đã định trước. Với agent hỗ trợ khách hàng, các điểm đó trông như sau:
| Tình huống | Agent làm gì | Lý do |
|---|---|---|
| "Cho tôi gặp người thật" | Chuyển ngay, kèm handoff summary | Tôn trọng yêu cầu rõ ràng, không điều tra trước |
| Khách bực, vấn đề trong khả năng | Ghi nhận, đề nghị xử lý; chuyển nếu khách nhắc lại | Bực bội không phải độ phức tạp |
| Chính sách không bao quát yêu cầu | Chuyển | Agent không tự đặt chính sách |
| Hoàn tiền vượt hạn mức cứng | Chặn bằng hook, chuyển cho người | Cần đảm bảo tất định |
| Hai hồ sơ khách trùng khớp | Hỏi thêm thông tin định danh | Không chọn theo heuristic |
| Thử hợp lý rồi vẫn không tiến triển | Chuyển, kèm những gì đã thử | Giới hạn năng lực |
| Phức tạp nhưng chính sách bao quát | Tự giải quyết | Phức tạp không phải trigger |
Dòng hoàn tiền liên quan task 1.5: quy tắc nghiệp vụ bắt buộc phải đúng thì đặt trong hook chặn tool call, không đặt trong prompt. Chi tiết ở bài hooks vs prompt enforcement.
Bàn giao cho người thật: structured handoff summary
Người tiếp nhận thường không xem được transcript. Task 1.4 yêu cầu handoff có thông tin khách, phân tích nguyên nhân gốc và hành động đề xuất. Hãy cho escalate_to_human nhận một schema thay vì văn bản tự do:
{
"customer_id": "C-48213",
"verified": true,
"escalation_reason": "policy_gap",
"summary": "Customer requests price match against a competitor listing.",
"root_cause": "Refund policy covers own-site price drops only; competitor matching is not addressed.",
"order_id": "ORD-99172",
"amount_in_question": 42.50,
"currency": "USD",
"actions_taken": ["get_customer", "lookup_order: delivered 2026-10-11"],
"recommended_action": "Decide whether to grant a one-time $42.50 credit; customer is otherwise eligible for own-site adjustments.",
"customer_requested_human": false
}
Các field bắt buộc như root_cause và recommended_action buộc agent phân tích xong rồi mới bàn giao, nên người nhận xử lý được ngay mà không phải hỏi lại khách. Dùng schema để ép cấu trúc cũng là ý tưởng trong bài structured output.
Đưa tiêu chí escalation và few-shot vào system prompt
Khi agent chuyển những ca dễ và tự ôm những ca khó, cách sửa đầu tiên đề thi ưu tiên là cách vừa sức: viết tiêu chí escalation rõ ràng vào system prompt và thêm vài ví dụ cho từng loại quyết định. Classifier riêng hay pipeline sentiment là chuyện sau, nếu cần.
Escalate when: the customer asks for a human; policy does not address the request;
you cannot make progress after checking the relevant tools.
Do not escalate just because a case has several steps or the customer is upset.
Example: "My blender arrived cracked, here's a photo." -> Resolve: replacement is covered.
Example: "Another store has it $40 cheaper, match it." -> Escalate: policy_gap.
Example: "I don't want a bot. Human please." -> Escalate immediately.
Thử sức
Khách viết: "Đây là lần thứ ba tôi hỏi rồi. Tôi muốn nói chuyện với người thật." Câu hỏi của khách chỉ là đổi địa chỉ giao hàng, việc agent làm được bằng tool sẵn có. Agent nên làm gì?
A) Tra cứu đơn hàng trước để báo cho người tiếp nhận biết tình hình. B) Ghi nhận sự bực bội và đề nghị đổi địa chỉ ngay, chỉ chuyển nếu khách yêu cầu lần nữa. C) Chuyển ngay, kèm structured handoff summary. D) Chạy sentiment analysis và chuyển nếu điểm vượt ngưỡng.
Đáp án: C. Khách đã yêu cầu gặp người thật một cách rõ ràng, và guide nói phải đáp ứng ngay.
- A điều tra trước khi đáp ứng yêu cầu, điều guide không cho phép.
- B đúng khi khách bực mà chưa yêu cầu gặp người. Ở đây yêu cầu đã rõ.
- D dùng tín hiệu mà đề coi là không đáng tin, lại thêm hạ tầng cho một ca mà chính yêu cầu của khách đã quyết định.
Key takeaways
- Chuyển khi khách yêu cầu gặp người, khi thiếu chính sách, hoặc khi không tiến triển được.
- Sentiment và độ tự tin tự báo không phản ánh độ phức tạp thật của ca.
- Nhiều khách trùng khớp thì hỏi thêm thông tin định danh, không bao giờ đoán.
- Bàn giao bằng summary có cấu trúc: customer ID, nguyên nhân gốc, số tiền, hành động đề xuất.
- Agent chuyển sai thì sửa trước bằng tiêu chí rõ ràng và few-shot trong system prompt.
Câu hỏi thường gặp
Là thiết kế để con người xem xét hoặc tiếp quản ở các điểm định trước, như ngoại lệ chính sách, thao tác giá trị cao hay kết quả trích xuất có độ tin cậy thấp. Phần khó là chọn các điểm đó bằng tiêu chí rõ ràng chứ không bằng tín hiệu mơ hồ.
Không chỉ vì giận. Nếu vấn đề nằm trong khả năng của agent, hãy ghi nhận cảm xúc và đề nghị xử lý, rồi chuyển nếu khách nhắc lại là muốn gặp người.
Có, trong review kết quả trích xuất, khi điểm theo field đã được hiệu chỉnh bằng tập validation có nhãn và được kiểm tra bằng lấy mẫu phân tầng. Còn để model tự chấm rồi quyết định chuyển khách thì không.
Đọc thêm: agent loop và cách viết tool description. Sau đó luyện câu hỏi Scenario 1 cho đến khi bạn quyết định escalation thật nhanh.