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_roundsmà 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_roundsvà 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.
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