Những yếu tố giữ nguyên và những yếu tố thay đổi: ánh xạ kiến thức kiểm thử web sang thế giới mới của các mô hình ngôn ngữ lớn (LLM).
Ứng dụng mẫu
ThemeBuilder là ứng dụng mẫu trong suốt loạt bài viết này. ThemeBuilder xuất ra một đối tượng JSON chứa phương châm do LLM tạo và bảng màu.
- Phương châm và bảng màu phải khớp với tên thương hiệu, nội dung mô tả, đối tượng và giọng điệu đầu vào.
- Phương châm không được gây hại và phải ngắn gọn (dưới 6 từ).
- Độ tương phản của bảng màu phải có khả năng tiếp cận, theo quy định của các nguyên tắc tối thiểu của WCAG , với tỷ lệ tương phản là 4,5:1.
Đánh giá khách quan và chủ quan
Làm cách nào để kiểm thử rằng ThemeBuilder hoạt động như dự định?
Đánh giá dựa trên quy tắc (đôi khi được gọi là đánh giá chính xác) là các kiểm thử khách quan có câu trả lời nhị phân là đúng hoặc sai. Những kiểm thử này phù hợp nhất cho các câu hỏi về định dạng dữ liệu, tỷ lệ tương phản hoặc các câu hỏi khác có câu trả lời xác định. Bạn có thể triển khai các kiểm thử này bằng mã lập trình thông thường.
Một số quy trình kiểm tra là khách quan, với câu trả lời nhị phân là đúng hoặc sai. Những kiểm thử này phù hợp nhất cho các câu hỏi về định dạng dữ liệu, tỷ lệ tương phản hoặc các câu hỏi khác có câu trả lời xác định. Bạn có thể triển khai các kiểm thử này bằng mã lập trình thông thường. Chúng được gọi là đánh giá dựa trên quy tắc hoặc đánh giá chính xác.
Ví dụ:
// Example rule-based eval: data format
function evaluateFormat(appOutput) {
// Check if JSON is valid, colors are hex, no empty strings, motto is 6 words or fewer
// Use deterministic tools like zod for schema validation
return "PASS"; // or "FAIL"
}
Các quy trình kiểm tra khác mang tính chủ quan, chẳng hạn như sự phù hợp giữa thương hiệu và đối tượng cho phương châm và bảng màu. Mặc dù việc phát hiện nội dung gây hại là một nhiệm vụ phân loại, nhưng việc này cũng mang tính chủ quan vì liên quan đến việc đưa ra phán đoán.
Mặc dù các kiểm thử chủ quan cũng liên quan đến việc phân loại, nhưng phạm vi của những gì đúng và sai có thể khác nhau rất nhiều. Ví dụ: đánh giá sự phù hợp giữa thương hiệu và đối tượng cho phương châm và bảng màu. Việc phát hiện nội dung gây hại cũng mang tính chủ quan.
Mặc dù việc đánh giá các phẩm chất chủ quan có vẻ như chỉ có chuyên gia là con người mới có thể thực hiện, nhưng bạn có thể tự động hoá các kiểm thử này ở quy mô lớn bằng kỹ thuật LLM-as-a-judge.
[LLM judges] nhanh chóng, dễ sử dụng và tương đối rẻ [...] Đây đã trở thành một trong những phương pháp phổ biến nhất, nếu không phải là phương pháp phổ biến nhất để đánh giá các mô hình AI trong quá trình sản xuất.
—AI Engineering, Chip Huyen
Ví dụ:
// Example LLM-as-a-judge eval for a subjective quality like brand fit
async function evalBrandFit(userInput, appOutput) {
const brandPrompt = `You are an expert brand strategist. Evaluate the
following generated motto for the company whose target audience is
${userInput.audience}, and who describes itself as
${userInput.companyDescription}: ${appOutput.motto}`
// Call the LLM judge
const evalResult = evalWithLLM(brandPrompt);
// Return the consolidated results
return {
mottoBrandFit: evalResult,
};
}
// Helper that communicates with the LLM API
async function evalWithLLM(prompt) {
// ... Call LLM with the prompt ...
// ... Parse the resulting judgement ("PASS" or "FAIL") + rationale
return {
status: "PASS",
rationale: "This motto perfectly captures the brand and tone, because..."
};
}
Mô hình này mô phỏng phán đoán của con người, vì vậy, bạn cần có cách để cho giám khảo biết chính xác những gì bạn đang tìm kiếm. Bạn có thể thực hiện việc đó bằng cách cung cấp cho giám khảo một bảng tiêu chí chấm điểm.
Tiêu chí chấm điểm là một tập hợp có cấu trúc gồm các tiêu chí hoặc nguyên tắc tính điểm mà giám khảo (con người hoặc AI) sử dụng để đánh giá đầu ra. Bảng tiêu chí cung cấp một khung nhất quán để đánh giá về các phẩm chất chủ quan trong mọi lần đánh giá.
Các loại đánh giá khác
Bạn có thể muốn sử dụng các đánh giá dựa trên tài liệu tham khảo hoặc đánh giá theo cặp.
Dựa trên tài liệu tham khảo
Các đánh giá này đo lường mức độ tương tự với câu trả lời thực tế. Sử dụng các đánh giá này cho các tác vụ như dịch hoặc các sự kiện kỹ thuật mà có câu trả lời tốt đã biết.
Theo cặp
Giám khảo có thể cho điểm PASS cho 2 phiên bản khác nhau, ngay cả khi một phiên bản tốt hơn phiên bản còn lại. Đánh giá theo cặp giải quyết vấn đề này bằng cách cung cấp cho giám khảo 2 đầu ra (A và B) cho cùng một thông tin đầu vào và hướng dẫn giám khảo chọn một đầu ra chiến thắng.
Ví dụ: giả sử bạn đang đánh giá một phương châm cho một quán cà phê thân thiện:
Input: "Friendly cafe"
Pointwise evaluation:
Output A: "Come get coffee." // PASS
Output B: "Your morning smile in a cup." // PASS
2 PASS. Unconclusive!
Pairwise evaluation:
Output B wins. It captures the "friendly" tone more effectively than the generic Output A.
Sử dụng đánh giá theo cặp để chọn phiên bản mô hình mà bạn sẽ triển khai hoặc để so sánh 2 lời nhắc khác nhau.
Kiểm thử web tiêu chuẩn so với đánh giá AI
Chúng tôi giả định rằng bạn, người đọc khoá học này, đã biết cách kiểm thử một trang web và ứng dụng web. Khi thêm AI, bạn cần thay đổi mô hình tư duy hiện có. Sử dụng đánh giá AI để thực hiện các hành động sau:
- Thực hiện kiểm thử hồi quy: Khi bạn thay đổi câu lệnh hoặc mô hình, ứng dụng có bị hỏng không? Bạn có nhận được bảng màu bị hỏng hoặc phương châm gây hại không? Không giống như ứng dụng web nơi sự cố là chức năng phần mềm, ở đây bạn đang kiểm tra xem đầu ra của LLM có chất lượng cao và an toàn hay không. Điều này liên quan đến tính chủ quan.
- Tối ưu hoá ứng dụng: Ứng dụng của bạn có đang cải thiện không? Bạn có đang cải thiện các chỉ số mà bạn muốn không, ví dụ: bạn có nhận được nhiều phương châm phù hợp với thương hiệu hơn mà không làm tăng nội dung gây hại không?
- Chọn mô hình phù hợp: Có mô hình nào tốt hơn cho trường hợp sử dụng của bạn không? Trước khi có AI, bạn chỉ chọn một lần ngăn xếp web. Với AI, bạn nên thường xuyên đo điểm chuẩn các mô hình để xác định cơ hội chuyển sang một mô hình tốt hơn (và có khả năng rẻ hơn).
Phân lớp kiểm thử
Một cơ sở mã lành mạnh phải có nhiều lớp kiểm thử: kiểm thử đơn vị, kiểm thử hồi quy và tích hợp, cũng như kiểm thử từ đầu đến cuối. Các đánh giá của bạn cũng phải được phân lớp.
- Sử dụng các đánh giá dựa trên quy tắc kết hợp với các đánh giá LLM-as-a-judge để tự động hoá hoàn toàn các kiểm thử cho ứng dụng AI. Bằng cách này, bạn có thể phát hiện các vấn đề trong quá trình phát triển hằng ngày và CI/CD, đồng thời kiểm thử để đảm bảo rằng các ứng cử viên phát hành đáp ứng tiêu chuẩn chất lượng của bạn.
- Chạy kiểm thử tích hợp và hồi quy để xác minh chất lượng ở quy mô lớn.
- Chạy các đánh giá thủ công của con người dưới dạng kiểm thử chấp nhận.
Ngoài các đánh giá này mà bạn chạy trong thời gian xây dựng, hãy theo dõi lưu lượng truy cập sản xuất bằng các đánh giá thời gian chạy. Các đánh giá này có thể giúp bạn phát hiện các vấn đề về chất lượng hoặc an toàn trên các đầu vào trong thế giới thực.
Liên tục phát triển các đánh giá
Các đánh giá phải phát triển cùng với ứng dụng của bạn. Khi các mô hình của bạn trở nên thông minh hơn, hãy cập nhật các đánh giá cũ.
Thường xuyên thêm các ví dụ phức tạp vào tập dữ liệu kiểm thử, chẳng hạn như các trường hợp đặc biệt mới hoặc các đầu vào bất ngờ của người dùng mà bạn tìm thấy trong quá trình sản xuất.
Các đánh giá của bạn đo lường những gì?
Trước khi thiết kế các đánh giá, bạn nên hiểu cách đánh giá đầu ra. Có một vài thuật ngữ bạn cần biết.
Tiêu chí là các quy tắc, các phương diện cần được kiểm thử. Ví dụ: sự phù hợp với thương hiệu, nội dung gây hại và khả năng tiếp cận.
Mỗi tiêu chí đánh giá được đo lường bằng một chỉ số. Chỉ số là một điểm số cụ thể, duy nhất đo lường đầu ra của mô hình so với tiêu chí. Điểm số này có thể là nhị phân hoặc một giá trị trong phạm vi đo lường mức độ xa hoặc gần của đầu ra so với kỳ vọng của người đánh giá.
Bạn có thể đo lường cùng một tiêu chí bằng nhiều loại chỉ số. Ví dụ: đối với sự phù hợp với thương hiệu:
- "Phương châm này có phù hợp với thương hiệu không?" Chỉ số là
PASShoặcFAIL. - "Theo thang điểm từ 1 đến 5, phương châm này phù hợp với thương hiệu ở mức độ nào?" Chỉ số là một số nguyên từ 1 đến 5.
Người đánh giá là mã hoặc mô hình tính điểm tiêu chí. Người đánh giá xác định các chỉ số.