Một agent chạy trên máy bạn khác xa một agent phục vụ thật. Bài cuối này lo phần "đưa vào đời": triển khai, quan sát, kiểm soát chi phí và cải tiến liên tục.
Triển khai: agent sống ở đâu?
Ba mô hình phổ biến:
- Trong nền tảng automation (n8n/Zapier gọi agent node): dễ vận hành, tận dụng trigger sẵn có.
- Serverless function (Cloud Functions/Lambda): agent chạy theo request, rẻ khi tải thấp.
- Service riêng (container): kiểm soát tối đa, phù hợp tải cao và tùy biến sâu.
Observability: nhìn thấy agent đang nghĩ gì
Agent bất định nên log là bắt buộc. Ghi lại toàn bộ dấu vết mỗi phiên (trace):
{
"session_id": "a1b2",
"steps": [
{"thought": "phân loại intent", "action": "none"},
{"action": "create_order_row", "args": {"qty": 2}, "result": {"ok": true}}
],
"tokens": 1840,
"cost_usd": 0.004,
"latency_ms": 2600,
"outcome": "success"
}
Bốn chỉ số vận hành cốt lõi cần theo dõi:
- Success rate: % phiên đạt goal.
- Cost/phiên: token và tiền trung bình.
- Latency: thời gian hoàn thành.
- Escalation rate: % phiên phải chuyển người.
Kiểm soát chi phí
- Chọn model theo bước: model rẻ cho phân loại, model mạnh chỉ khi cần suy luận sâu.
- Giới hạn max_steps và token mỗi phiên.
- Cache kết quả tra cứu lặp lại.
- Cảnh báo ngân sách: bật alert khi chi phí/ngày vượt ngưỡng.
Đánh giá chất lượng liên tục (evals)
Đừng chỉ "cảm thấy" agent tốt. Xây bộ ca kiểm thử (golden set) và chạy định kỳ.
cases = [
{"input": "lấy gấp 2 cái, sđt 090...", "expect_tool": "create_order_row", "expect_priority": True},
{"input": "thôi huỷ nhé", "expect_tool": "forward_to_manager"},
{"input": "bạn ơi", "expect_tool": None} # phải hỏi lại
]
for c in cases:
trace = run_agent(c["input"])
assert used_tool(trace) == c["expect_tool"]
Mỗi khi đổi prompt/model/tool, chạy lại golden set để bắt hồi quy trước khi lên production.
Vòng cải tiến vận hành
- Thu thập trace các phiên thất bại/escalation.
- Phân nhóm lỗi (chọn nhầm tool, thiếu dữ liệu, prompt mơ hồ...).
- Sửa nguyên nhân gốc (thêm enum, rõ description, bổ sung ca vào golden set).
- Chạy eval, so sánh trước/sau.
- Rollout dần: bật cho một phần lưu lượng trước khi mở toàn bộ.
Checklist trước khi lên production
- [ ] Logging/trace đầy đủ mỗi phiên.
- [ ] Guardrails và cổng phê duyệt đã bật (Bài 7).
- [ ] Giới hạn chi phí và cảnh báo ngân sách.
- [ ] Golden set và eval tự động.
- [ ] Kế hoạch fallback khi LLM/API sập.
- [ ] Bắt đầu ở mức tự chủ thấp, có tiêu chí nâng.
- [ ] So sánh KPI với workflow Zapier cũ.
Sai lầm thường gặp
- Deploy không có observability: agent sai mà bạn mù thông tin.
- Không có golden set: mỗi lần chỉnh prompt là một canh bạc, dễ hồi quy.
- Bỏ qua chi phí: một vòng lặp lỗi có thể đốt token khủng khiếp mà không ai hay.
- Big-bang rollout: bật cho 100% ngay, lỗi lan rộng. Hãy rollout dần.
- Không có fallback khi API sập: toàn bộ quy trình chết theo LLM.
Tổng kết khóa học
Bạn đã đi trọn hành trình: hiểu khác biệt tư duy (Bài 1), giải phẫu agent (Bài 2), dựng môi trường (Bài 3), chuyển đổi một Zap thật (Bài 4), tool-calling an toàn (Bài 5), memory (Bài 6), guardrails + HITL (Bài 7), và vận hành thực tế (Bài 8). Nguyên tắc xuyên suốt: giữ phần thực thi deterministic, thay phần phán đoán bằng LLM, và luôn bọc mọi thứ trong guardrail + quan sát. Giờ hãy chọn một Zap thật của bạn và bắt đầu chuyển đổi.