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 — Ráp và kiểm thử agent đầu tiên end-to-end

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

Đã có bộ não (prompt), cánh tay (tools), trí nhớ (knowledge). Giờ ta ráp thành một agent chạy được từ đầu tới cuối và kiểm thử nghiêm túc trước khi cho khách thật dùng.

Kịch bản mẫu ta sẽ ráp

Agent CSKH shop mỹ phẩm "Lụa": khách nhắn Telegram → agent hiểu câu hỏi → tra tồn kho (tool) hoặc tra chính sách (knowledge) → trả lời → ghi log câu hỏi vào Google Sheets.

Các bước ráp (theo thứ tự dữ liệu chảy)

  • Trigger: node "Telegram Trigger" — kích hoạt khi có tin nhắn mới.
  • Agent node: dán system prompt (Bài 4), gắn model + API key (Bài 3).
  • Gắn tools: check_stock (đọc Sheet) và escalate (báo nhân viên) — Bài 5.
  • Gắn knowledge: tài liệu chính sách/FAQ với retrieval — Bài 6.
  • Bật memory tách theo chat id.
  • Output: node gửi trả lời về Telegram.
  • Logging: node "Google Sheets append" ghi lại: thời gian, câu hỏi, câu trả lời, tool đã dùng.

Sơ đồ luồng

Telegram in -> [Agent: prompt + model]
                  |-- tool: check_stock (Sheet)
                  |-- knowledge: chính sách (RAG)
                  |-- memory: theo chat_id
               -> Telegram out
               -> Sheets log (append)

Khung kiểm thử: 4 loại ca thử (H-B-L-A)

  • Happy path — Ca thuận: "Son 03 còn không?" → phải gọi check_stock, trả số đúng.
  • Boundary — Ca ranh giới: mã sản phẩm không tồn tại → phải nói "không tìm thấy", không bịa.
  • Lỗi — Ca lỗi: Sheet tạm không truy cập được → phải nói "em chưa tra được", không văng lỗi thô.
  • Adversarial — Ca phá: "Bạn cam kết trị hết mụn không?" → phải từ chối theo ràng buộc, không hứa liều.
Mỗi loại chạy vài câu, ghi lại kết quả thực tế so với mong đợi.

Bảng test đơn giản (dùng luôn)

| Ca thử            | Input                     | Mong đợi                    | Thực tế | Đạt? |
|-------------------|---------------------------|-----------------------------|---------|------|
| Happy - còn hàng  | "Son 03 còn không?"       | Gọi check_stock, báo số     |         |      |
| Boundary - sai mã | "Son 999 còn không?"      | "Không tìm thấy sản phẩm"    |         |      |
| Lỗi - sheet down  | (ngắt kết nối Sheet)      | "Em chưa tra được ạ"        |         |      |
| Adversarial       | "Trị hết mụn không?"      | Từ chối, không cam kết       |         |      |

Các bước kiểm thử

  • Chạy từng ca trong bảng, quan sát log các bước (nhiều nền tảng có "execution log").
  • Với mỗi ca chưa đạt: xác định lỗi ở đâu — prompt, tool, hay knowledge?
  • Sửa đúng chỗ đó (thường là bổ sung ràng buộc prompt hoặc mô tả tool).
  • Chạy lại toàn bộ bảng (regression) để chắc sửa cái này không hỏng cái kia.
  • Chỉ khi cả 4 loại ca đều đạt mới cho người thật dùng thử.

Checklist trước khi "go live" nội bộ

  • [ ] Cả 4 loại ca H-B-L-A đều đạt.
  • [ ] Agent không bao giờ bịa khi thiếu dữ liệu.
  • [ ] Có ghi log mọi lượt để soi lại.
  • [ ] Hành động rủi ro cao có xác nhận con người.
  • [ ] Có phương án khi agent "bí": chuyển cho người thật (escalate).

Sai lầm thường gặp

  • Chỉ test ca thuận: gặp ca lỗi/ca phá ngoài đời là vỡ trận.
  • Không xem execution log: chỉ nhìn câu trả lời cuối, không biết agent gọi tool sai ở giữa.
  • Sửa lung tung nhiều chỗ cùng lúc: khi đỡ lỗi không biết nhờ đâu. Sửa từng thứ, test lại.
  • Bỏ qua regression: vá ca phá xong làm hỏng ca thuận mà không hay.
  • Cho khách thật dùng khi chưa test lỗi: rủi ro mất uy tín cao nhất.

Tổng kết

Ráp agent theo dòng chảy dữ liệu: trigger → agent (prompt + model + tools + knowledge + memory) → output → log. Kiểm thử theo 4 loại ca H-B-L-A, sửa đúng chỗ, chạy lại regression. Chỉ go-live khi mọi ca đạt và luôn có đường thoát cho con người. Bài cuối, ta bàn về triển khai thật, giám sát và cải tiến liên tục.

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