Bỏ qua để đến nội dung

Human-in-the-loop

Level: L8 — Automation & AI Agents (Bài 9/13) · Đối tượng: Người đã học bài 79-83 (Agent, Anatomy, Trigger→Process→

Human-in-the-loop (HITL) là nguyên tắc thiết kế: xác định trước những điểm cụ thể trong vòng lặp hoạt động của agent (Execution Loop, bài 80) mà tại đó agent bắt buộc dừng lại, chờ 1 người quyết định, thay vì tự hành động tiếp — áp dụng cho cả single agent (bài 82) lẫn multi-agent (bài 83).

Nguyên tắc nền tảng đã gặp từ bài 79: agent có quyền tự chủ càng cao, rủi ro lỗi tích lũy (compounding error) càng lớn. HITL là đòn bẩy chính để kiểm soát rủi ro đó mà không phải từ bỏ hoàn toàn lợi ích của tự động hóa — bạn không cần chọn giữa “agent tự làm mọi thứ” và “con người tự làm mọi thứ,” mà thiết kế đúng những điểm cần con người.

3. How It Works — 2 tình huống bắt buộc có Human-in-the-loop

Phần tiêu đề “3. How It Works — 2 tình huống bắt buộc có Human-in-the-loop”

Theo OpenAI, có 2 tình huống bắt buộc phải có con người xác nhận trước khi agent tiếp tục [S20]:

  1. Vượt ngưỡng thất bại (failure threshold exceeded) — agent lặp lại lỗi hoặc không hiểu đúng ý định nhiều lần liên tiếp. Đây là dấu hiệu Reasoning (bài 80) đang “kẹt” — tiếp tục để nó tự thử thêm chỉ tốn thêm chi phí/thời gian mà không chắc giải quyết được.
  2. Hành động rủi ro cao hoặc không thể đảo ngược — hủy đơn hàng, hoàn tiền số lượng lớn, thực hiện thanh toán [S20]. Đây là những hành động mà nếu agent quyết định sai, không thể “hoàn tác” đơn giản như 1 lỗi văn bản.

HITL nằm ở đâu trong Execution Loop (bài 80)? Đúng điểm giữa Reasoning quyết định hành động tiếp theoTools thực thi hành động đó — 1 “cổng kiểm tra” chèn vào trước bước Act, không phải sau.

Sơ đồ đề xuất: lấy đúng sơ đồ Execution Loop đã học bài 80 (Goal→ Think→Act→Observe→Repeat), thêm 1 cổng “DỪNG — chờ con người” chèn giữa Think và Act, chỉ kích hoạt khi gặp 1 trong 2 tình huống ở mục 3 — các lượt Think→Act bình thường khác đi thẳng qua, không bị chặn.

5. Step-by-Step — Thiết kế điểm HITL cho 1 agent

Phần tiêu đề “5. Step-by-Step — Thiết kế điểm HITL cho 1 agent”
  1. Liệt kê toàn bộ Tools agent của bạn có thể dùng (đã mô tả ở bài 80-81).
  2. Với mỗi Tool, tự hỏi: hành động này có thể đảo ngược không? Nếu không (hoặc khó/tốn kém để đảo ngược) → đánh dấu cần HITL.
  3. Với mỗi Tool còn lại, tự hỏi: sai sót ở đây gây thiệt hại bao nhiêu? Nếu cao (tài chính, pháp lý, uy tín) → đánh dấu cần HITL dù về lý thuyết có thể đảo ngược được.
  4. Định nghĩa rõ ngưỡng thất bại — ví dụ: “sau 3 lần thử liên tiếp không thành công, dừng và báo cho người dùng” — không để ngưỡng này mơ hồ (“khi nào cần thì dừng”).
  5. Xác nhận: agent của bạn có ít nhất 1 điểm HITL nếu nó có bất kỳ Tool nào chạm vào dữ liệu/hành động thật (không chỉ đọc thông tin).

Áp dụng cho 3 trong 4 agent đã học ở bài 79:

  • Travel Planning Agent: đặt vé máy bay/khách sạn là hành động khó đảo ngược (phí hủy, mất chỗ) → cần HITL trước khi thanh toán thật, dù agent được phép tự tìm kiếm/so sánh không cần hỏi.
  • Customer Support Agent: trả lời câu hỏi thông thường không cần HITL; hoàn tiền vượt 1 ngưỡng cụ thể cần HITL — đúng ví dụ nguyên văn “hoàn tiền số lượng lớn” [S20].
  • Sales Follow-up Agent: gửi tin nhắn nhắc thông thường không cần HITL; nhưng nếu agent liên tục không nhận được phản hồi sau nhiều lần thử (vượt ngưỡng thất bại), nên dừng và để người phụ trách quyết định bước tiếp theo, thay vì tự ý tiếp tục nhắn vô thời hạn.
Với mỗi Tool trong agent của tôi:
[ ] Hành động này có đảo ngược dễ dàng không? Nếu KHÔNG → cần HITL.
[ ] Sai sót ở đây gây thiệt hại lớn (tài chính/pháp lý/uy tín) không?
Nếu CÓ → cần HITL, dù có thể đảo ngược được.
Ngưỡng thất bại: sau [số lần] thử không thành công liên tiếp, agent
PHẢI dừng và báo cho: [ai].

Quay lại agent bạn đã thiết kế ở bài 82 hoặc 83. Áp dụng đầy đủ quy trình 5 bước ở mục 5 — liệt kê rõ: Tool nào cần HITL, và ngưỡng thất bại cụ thể là bao nhiêu lần.

Think (AI lập kế hoạch)Human Review (Chờ phê duyệt)Act (AI thực thi công cụ)
Hình 8.9 — Human-in-the-loop: cổng 'DỪNG — chờ người' chèn giữa Think và Act.

(Suy luận từ nguyên tắc [S20], không phải quan sát độc lập.)

  • Không có điểm HITL nào — để agent tự quyết định cả những hành động rủi ro cao/không đảo ngược, đặt cược vào việc agent “chắc sẽ đúng.”
  • Quá nhiều điểm HITL — yêu cầu xác nhận con người cho mọi hành động, kể cả những việc rủi ro thấp — triệt tiêu chính lợi ích của việc dùng agent.
  • Ngưỡng thất bại mơ hồ (“dừng khi cần thiết”) — không có tiêu chí rõ ràng khiến agent (hoặc người vận hành) không biết chính xác khi nào nên dừng.
  • Nhầm HITL với việc agent hỏi làm rõ thông tin — 1 agent hỏi thêm chi tiết để hiểu đúng yêu cầu là hành vi Reasoning bình thường, khác hẳn việc dừng hẳn để chờ con người quyết định thay nó ở 1 hành động cụ thể.
  • [S20] A Practical Guide to Building Agents, OpenAI — 2 tình huống bắt buộc HITL, ví dụ hoàn tiền/hủy đơn hàng.
  • Dẫn chiếu (không trích dẫn mới): bài 80 (Execution Loop, vị trí chèn HITL); Level 7 bài 68 (nguyên tắc user consent của MCP, mục 11); bài 87 (Guardrails, cơ chế kỹ thuật thực thi HITL — không giảng lại ở đây).

Nội dung kiểm chứng qua nguồn Tier 1 (S20), tái sử dụng nguyên vẹn từ nghiên cứu đã có (2026-07-11), không cần freshness audit lại lần 2 trong cùng Level. Nguyên tắc HITL là nguyên lý an toàn ổn định, rủi ro lỗi thời thấp.