Chapter 3 — When the Moment Hits

Khi nào kỹ sư mới nhận ra mình “không biết điều mình không biết”

Phần này rất hay vì nó chỉ ra một sự thật: phần lớn kỹ sư không phát hiện điểm mù ngay lúc AI trả lời. Họ chỉ phát hiện ra khi output đó va chạm với một lớp kiểm tra thật hơn.

1) The Senior Review — Khi một người nhiều kinh nghiệm nhìn vào

Đây là thời điểm rất thường gặp. Một senior engineer hoặc tech lead nhìn vào đoạn code do AI hỗ trợ và nhận ra ngay những thứ người viết chưa hề nghĩ tới: race condition, security gap, nợ kỹ thuật về sau, hoặc đơn giản là pattern này không đúng với cách hệ thống nên vận hành. Người viết có thể không hề biết rằng loại rủi ro đó tồn tại để mà tự kiểm tra.

Điều này liên quan trực tiếp tới việc dùng AI ngoài domain của mình. Anthropic cho thấy trong một thử nghiệm ngẫu nhiên có đối chứng, nhóm dùng AI để học một thư viện Python mới có điểm mastery thấp hơn 17% so với nhóm tự làm bằng tay; và cách dùng AI ảnh hưởng rõ tới mức hiểu bài giữ lại. Điều đó giúp giải thích vì sao một người ít kinh nghiệm dễ bị “lọt” những lỗi mà senior nhìn ra ngay.

Ví dụ: một junior dùng AI viết logic phân quyền. Code chạy được, có check role. Nhưng senior đọc vào thấy ngay là kiểm tra role đang nằm sai tầng, dễ bị bỏ qua ở một vài endpoint khác, và cách tổ chức này sẽ tạo lỗ hổng quyền truy cập khi hệ thống lớn dần.

2) The Production Incident — Khi vào môi trường thật mới lộ vấn đề

Nhiều đoạn code do AI hỗ trợ hoạt động tốt ở local hoặc trong happy path, nhưng lại hỏng ở production vì điều kiện thật phức tạp hơn nhiều: dữ liệu xấu, khác biệt môi trường, tải cao, concurrency, hoặc các trường hợp biên chưa từng được hỏi tới. Đây là kiểu “đúng trong demo, sai trong đời thật”.

OWASP cảnh báo rất rõ về Insecure Output Handling: nếu đầu ra của LLM được đưa xuống các thành phần khác mà không được kiểm tra và xử lý cẩn thận, nó có thể dẫn tới XSS, CSRF, SSRF, leo thang đặc quyền, hoặc thậm chí thực thi mã từ xa trên hệ thống backend. Tức là có những rủi ro chỉ lộ ra khi code thật sự chạm vào hệ thống thật.

Ví dụ: AI viết một endpoint nhận input rồi tạo câu lệnh truy vấn hoặc template hiển thị. Ở local, mọi thứ hoạt động bình thường. Nhưng khi gặp input do người dùng kiểm soát tốt hơn, đầu ra chưa được làm sạch đúng cách có thể kéo theo rủi ro ở các hệ thống phía sau.

3) The Domain Expert — Khi người rất rành lĩnh vực đó nhìn vào

Có những lúc AI không viết sai hoàn toàn. Nó chỉ viết theo cách “ngây thơ”, vòng vèo hơn, hoặc không theo chuẩn lâu nay của domain đó. Lúc này, một người thật sự rành lĩnh vực sẽ nhìn vào và nói: “Bài toán này có cách chuẩn hơn rồi.” Đây là một khoảnh khắc rất quan trọng, vì nó cho thấy AI có thể cho bạn một câu trả lời kỹ thuật chấp nhận được, nhưng không phải câu trả lời trưởng thành nhất.

Anthropic cũng lưu ý rằng những người dùng AI theo hướng hỏi thêm, xin giải thích, đặt câu hỏi khái niệm thì giữ được hiểu biết tốt hơn những người chủ yếu để AI sinh code hộ. Điều đó rất hợp với tình huống “domain expert review”: nếu người dùng chỉ nhận code mà không xây được hiểu biết nền, họ sẽ không biết có một cách tốt hơn đang tồn tại.

Ví dụ: một kỹ sư chưa quen dữ liệu lớn hỏi AI cách xử lý đồng bộ dữ liệu giữa hai hệ thống. AI đưa ra polling theo chu kỳ. Một người rành integration nhìn vào sẽ nói ngay: với loại bài toán này, outbox pattern hoặc event-driven mới là hướng phù hợp hơn.

4) Ý chính của phần này

Kỹ sư thường không biết mình đang “không biết gì” ngay lúc AI trả lời. Họ biết điều đó ở các thời điểm muộn hơn: khi bị review, khi gặp sự cố thật, hoặc khi gặp người rành domain hơn. Vì vậy, đừng chờ đến lúc production incident xảy ra mới nhận ra vấn đề. Hãy chủ động tạo ra các lớp kiểm tra đó sớm hơn.

Nguồn tham khảo
1. OWASP LLM02
2. Anthropic Research