Product Management
Đăng nhập
ESC

Nhập từ khóa để tìm kiếm

↑↓ Di chuyển
Enter Mở
ESC Đóng

Bài 7 — Vòng lặp quyết định, guardrails và Human-in-the-loop

Đã đọc 0/9 mục · còn khoảng 3 phút
Cách chúng tôi ghi nhận

Một mục được tính là đã đọc khi nó nằm giữa màn hình đủ lâu so với độ dài của nó (bảng và sơ đồ tính một nửa), bạn vẫn đang cuộn hoặc bấm phím, và bạn đã thấy tới cuối mục. Lướt nhanh hoặc để tab mở không được tính. Chúng tôi chỉ lưu thời gian đọc từng mục — không lưu gì khác.

Agent càng tự chủ càng cần khung an toàn. Bài này dạy cách để agent tự ra quyết định nhiều bước mà không đi lạc, không gây hại, và biết khi nào phải hỏi người.

Vòng lặp planning: chia mục tiêu thành bước

Với tác vụ phức tạp, cho agent lập kế hoạch trước rồi thực thi. Mẫu Plan → Execute → Reflect:

Plan:  1) tra đơn  2) kiểm tra điều kiện hoàn  3) hoàn tiền  4) báo khách
Execute: chạy bước 1 -> quan sát -> bước 2 ...
Reflect: bước 2 báo 'quá hạn 7 ngày' -> đổi kế hoạch: đề nghị voucher thay hoàn

Khác Zapier ở chỗ: khi thực tế lệch kế hoạch, agent tự điều chỉnh thay vì dừng cứng.

Guardrails: giới hạn quyền tự chủ

Tự chủ không có nghĩa vô giới hạn. Bốn lớp guardrail:

  • Giới hạn hành động: agent chỉ được gọi tập tool cho phép.
  • Giới hạn ngưỡng: hoàn tiền tối đa X đồng, gửi tối đa Y email/giờ.
  • Giới hạn vòng lặp: max_steps để không chạy vô tận.
  • Cổng phê duyệt: hành động rủi ro cao phải chờ người duyệt.
HIGH_RISK = {"refund_order", "delete_customer", "send_bulk_email"}

def dispatch(name, args):
    if name in HIGH_RISK and args.get("amount", 0) > 2_000_000:
        return {"ok": False, "needs_approval": True}   # chặn, chờ người
    return TOOLS[name](**args)

Human-in-the-loop (HITL): người ở đúng chỗ

Đừng để người duyệt mọi thứ (mất giá trị tự động), cũng đừng để agent tự tung tự tác với việc rủi ro. Đặt cổng người tại các điểm:

  • Hành động không thể hoàn tác (xóa, chuyển tiền lớn).
  • Giao tiếp ra bên ngoài nhạy cảm (email tới khách VIP, phát ngôn công khai).
  • Khi agent độ tự tin thấp hoặc dữ liệu mâu thuẫn.
Cơ chế thực dụng: agent tạo một "đề xuất hành động" → đẩy vào Slack với nút Approve/Reject → chỉ khi Approve mới thực thi tool.

Xử lý lỗi và thất bại có kiểm soát

  • Retry có giới hạn: thử lại tool lỗi tạm thời tối đa 2 lần.
  • Fallback: nếu tool chính hỏng, dùng đường dự phòng hoặc chuyển người.
  • Fail closed cho việc nguy hiểm: khi nghi ngờ, không hành động, báo người.
  • Circuit breaker: nếu tỉ lệ lỗi cao bất thường, tạm dừng agent.

Khung tư duy: Autonomy Slider

Hình dung một thanh trượt mức tự chủ:

  • Mức 1 — Gợi ý: agent chỉ đề xuất, người làm.
  • Mức 2 — Duyệt từng bước: agent làm, người bấm duyệt mỗi hành động rủi ro.
  • Mức 3 — Tự chủ có chặn: agent tự làm, chỉ dừng ở hành động vượt ngưỡng.
  • Mức 4 — Tự chủ hoàn toàn: chỉ cho việc rủi ro thấp, có thể hoàn tác.
Bắt đầu ở mức thấp cho quy trình mới, nâng dần khi có dữ liệu chứng minh agent đáng tin.

Các bước thêm guardrail cho agent hiện có

  • Liệt kê mọi hành động rủi ro cao (tiền, không hoàn tác, ra ngoài).
  • Gắn ngưỡng số/cổng phê duyệt cho từng hành động đó.
  • Đặt max_steps và circuit breaker cho loop.
  • Định nghĩa hành vi "fail closed" khi nghi ngờ.
  • Chọn mức Autonomy Slider phù hợp và ghi rõ tiêu chí nâng mức.

Sai lầm thường gặp

  • All-or-nothing: hoặc bắt duyệt mọi thứ (bỏ phí tự động) hoặc thả nổi hoàn toàn (rủi ro). Hãy phân tầng.
  • Fail open cho việc nguy hiểm: khi lỗi mà vẫn hành động → thảm họa. Việc nguy hiểm phải fail closed.
  • Retry vô hạn: khuếch đại lỗi và chi phí.
  • Không log quyết định: không truy được vì sao agent làm vậy khi có sự cố.
  • Nhảy thẳng lên tự chủ hoàn toàn cho quy trình quan trọng mà chưa có dữ liệu tin cậy.

Tổng kết

Tự chủ đi cùng guardrail: giới hạn tool, ngưỡng, vòng lặp và cổng người. Autonomy Slider giúp bạn tăng quyền cho agent một cách có kiểm soát. Bài cuối ta triển khai, giám sát và vận hành agent trong thực tế.

Học xong bài này rồi? Tạo tài khoản miễn phí để lưu lại — lần sau vào là biết ngay đang dở ở đâu, và học hết khóa thì có chứng chỉ. Lưu tiến độ của tôi