Product Management
Đăng nhập
ESC

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

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

Bài 8 — Vận hành thực tế: giám sát, escalate và đưa vào production

Đã đọc 0/8 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.

Từ demo chạy được đến hệ thống đáng tin cậy

Một pipeline đa agent chạy được trên máy bạn khác xa với một hệ thống vận hành 24/7. Bài cuối bàn về giám sát (observability), cơ chế con-người-trong-vòng-lặp (human-in-the-loop), an toàn, và tiêu chí đưa vào production.

Giám sát: nhìn thấy mọi thứ đội đang làm

Mỗi lượt gọi agent phải sinh một bản ghi (trace) có cấu trúc:

{
  "run_id":"r-92","task":"T2","role":"reviewer",
  "tokens_in":1200,"tokens_out":300,"latency_ms":1800,
  "verdict":"changes_requested","round":2
}

Từ các trace này bạn dựng dashboard: tỉ lệ task done vs escalate, số vòng review trung bình, chi phí mỗi task, agent nào hay thất bại. Không có observability thì không thể vận hành.

Human-in-the-loop: người vào cuộc đúng lúc

Không phải mọi thứ nên tự động 100%. Định nghĩa rõ khi nào cần người:

  • Task vượt max_rounds mà chưa xanh → escalate cho người.
  • Thay đổi chạm vùng nhạy cảm (thanh toán, xóa dữ liệu, migration) → bắt buộc người duyệt trước khi commit.
  • Reviewer báo issue critical → dừng, chờ người.
if task.status == "escalate" or diff.touches(SENSITIVE_PATHS):
    notify_human(task, diff, history_summary)
    wait_for_approval()

An toàn khi cho agent chạm vào code thật

  • Agent làm việc trên nhánh riêng, không đẩy thẳng vào main.
  • Chạy trong sandbox, không có quyền vào production/secret.
  • Danh sách lệnh cho phép (allowlist): agent chỉ được chạy các lệnh đã duyệt (test, lint, build), cấm lệnh phá hoại.
  • Mọi commit của agent đều gắn nhãn để truy vết và revert dễ dàng.

Các bước đưa vào production

  • Thêm trace cho mọi lượt gọi và dựng dashboard tối thiểu (done/escalate/cost).
  • Định nghĩa SENSITIVE_PATHS và quy tắc bắt buộc người duyệt.
  • Cấu hình sandbox + allowlist lệnh; chặn mọi thứ ngoài danh sách.
  • Bật giới hạn: max_rounds, ngân sách token/ngày, số task song song.
  • Chạy thử ở chế độ "shadow" (agent đề xuất, người duyệt tất cả) trước khi nới quyền tự động.
  • Đặt cảnh báo: chi phí tăng đột biến, tỉ lệ escalate cao, latency bất thường.

Checklist sẵn sàng production

  • [ ] Mọi lượt gọi có trace và log token.
  • [ ] Có max_rounds và escalate rõ ràng, không vòng lặp vô tận.
  • [ ] Agent chạy trong sandbox, không có quyền production.
  • [ ] Vùng nhạy cảm bắt buộc người duyệt.
  • [ ] Có allowlist lệnh; lệnh phá hoại bị chặn.
  • [ ] Có dashboard chi phí + cảnh báo bất thường.
  • [ ] Commit của agent gắn nhãn, dễ revert.
  • [ ] Đã chạy giai đoạn shadow trước khi tự động hóa.

Khung tư duy: "Nếu agent làm sai, hậu quả xấu nhất là gì?"

Với mỗi quyền bạn định trao cho đội agent, hình dung kịch bản tệ nhất và đảm bảo có phanh (sandbox, người duyệt, revert). Trao quyền tương xứng với mức độ kiểm soát bạn có.

Sai lầm thường gặp

  • Cho agent đẩy thẳng lên main/production mà không qua nhánh và người duyệt.
  • Không có observability: khi hỏng không biết vì sao, không biết tốn bao nhiêu.
  • Tự động hóa 100% ngay lập tức thay vì chạy shadow rồi nới dần.
  • Không giới hạn ngân sách: một vòng lặp lỗi có thể đốt sạch quota trong đêm.
  • Cho agent quyền chạy lệnh tùy ý: một lệnh xóa nhầm là mất dữ liệu thật.
Hoàn thành 8 bài, bạn đã có bản thiết kế đầy đủ cho một đội phần mềm đa agent: từ vai trò, hợp đồng, orchestrator, review chéo, tester, bộ nhớ, đến vận hành an toàn trong production.

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