Kiểm tra chất lượng nội dung sản phẩm

Updated 2026-09-05

Tách tính hợp lệ cấu trúc khỏi ý nghĩa sản phẩm. Trong ca local 40 dòng tiếng Nhật và Đức, kiểm tra trường đều đạt nhưng AI review vẫn tìm cách diễn đạt tiếng Nhật cần sửa.

Định nghĩa hợp đồng chất lượng trước khi tạo

Viết quy tắc chấp nhận cho từng trường. Trường danh tính và bản sửa đổi phải khớp nguồn. Văn bản chỉnh sửa phải dùng locale yêu cầu, chứa thông tin bắt buộc và tôn trọng format điểm đến. Khẳng định cần bằng chứng hỗ trợ. Một nhãn đạt hoặc không đạt duy nhất quá thô để giải thích điều kiện nào chặn sản phẩm.

Tách lỗi có thể kiểm tra bằng máy khỏi phán đoán biên tập. Văn bản thiếu và trôi mã định danh có thể định vị xác định. Bản dịch có phóng đại lợi ích hay không cần ngữ cảnh và rà soát đủ năng lực. Đưa mỗi vấn đề tới người hoặc hệ thống có thể xử lý, đồng thời gắn kết quả vào bản sửa đổi ứng viên.

Kiểm traBằng chứng hữu íchRà soát tiếp theo
Danh tính và bản sửa nguồnSo sánh trường chính xácBản dịch tự nhiên
Giá trị được bảo vệBình đẳng scalar có kiểuĐặc tả nguồn đúng
Markup và placeholderParser và số tokenKhẳng định sản phẩm chính xác
Rà soát khẳng địnhÁnh xạ khẳng định tới nguồnNhập cửa hàng thành công
Đọc lại điểm đếnSo sánh đã duyệt với đã lưuHiệu quả thương mại

So sánh giá trị được bảo vệ sau lắp ráp

Chỉ tạo trường văn bản được phép, rồi lắp bản ghi ứng viên bằng giá trị bảo vệ sao chép từ nguồn. Chạy so sánh lần hai trên bản ghi đã lắp. Điều này bắt lỗi mapper cũng như chỉnh sửa vô tình trong lúc rà soát.

Ví dụ JavaScript minh họa yêu cầu object đã xác thực schema với giá trị bảo vệ scalar. Nó phát hiện key bảo vệ thiếu, thừa hoặc đổi và bản sửa nguồn cũ, trả mã vấn đề ổn định. Đặt xác thực schema cùng giá trị trước helper và chuyển ứng viên hợp cấu trúc tới rà soát biên tập sau đó.

function checkProtected(source, candidate) {
  const issues = [];
  if (candidate.sourceRevision !== source.sourceRevision) {
    issues.push({ code: "STALE_SOURCE", field: "sourceRevision" });
  }
  const keys = new Set([
    ...Object.keys(source.protected),
    ...Object.keys(candidate.protected),
  ]);
  for (const field of keys) {
    const hasSource = Object.prototype.hasOwnProperty.call(source.protected, field);
    const hasCandidate = Object.prototype.hasOwnProperty.call(candidate.protected, field);
    if (!hasSource || !hasCandidate ||
        !Object.is(source.protected[field], candidate.protected[field])) {
      issues.push({ code: "PROTECTED_FIELD_CHANGED", field });
    }
  }
  return issues;
}

Tách format số khỏi giá trị

Số bản địa hóa có thể trông khác nhưng đại diện cùng lượng đã lưu. MDN ghi nhận Intl.NumberFormat cho hiển thị theo locale. Áp dụng format sau khi chọn giá trị có thẩm quyền; đừng yêu cầu model ngôn ngữ dựng lại giá từ chuỗi tiền tệ đã render.

Định nghĩa đơn vị cạnh giá trị số, gồm đơn vị nào thuộc từng kích thước. Nếu được ủy quyền chuyển đổi, dùng quy tắc xác định và giữ biểu diễn gốc. Đừng chỉ so chữ số trong câu: hai số giống nhau với đơn vị khác có thể mô tả sản phẩm khác. Đơn vị thiếu phải chặn phê duyệt cho tới khi nguồn được giải quyết.

Xác thực số lượng placeholder và markup

Dùng parser template của ứng dụng để thu token placeholder từ nguồn và ứng viên. So số lượng, không chỉ tập tên; token trùng có thể phá câu hoặc ứng dụng dù mọi token gốc vẫn xuất hiện. Giữ quy tắc escaping theo format ở ranh giới đích.

Kiểm tra nhỏ sau nhận token đã trích xuất. Nó không cố tạo regex placeholder phổ quát. Với HTML, parse fragment và so cấu trúc cùng liên kết được phép riêng. Hướng dẫn escaping WordPress liên quan render tùy chỉnh, nhưng escaping một mình không chứng minh nội dung giữ đúng ý định.

function samePlaceholderCounts(sourceTokens, candidateTokens) {
  const counts = new Map();
  for (const token of sourceTokens) {
    counts.set(token, (counts.get(token) ?? 0) + 1);
  }
  for (const token of candidateTokens) {
    if (!counts.has(token)) return false;
    counts.set(token, counts.get(token) - 1);
  }
  return [...counts.values()].every((count) => count === 0);
}

Ca thực tế: trường hợp lệ nhưng cách diễn đạt vẫn cần sửa

Một agent dịch cấu hình rõ cho gpt-5.6-luna với suy luận xhigh đã tạo 20 patch tiếng Nhật và 20 patch tiếng Đức từ 20 sản phẩm tổng hợp. Kiểm tra schema, danh tính và trường được bảo vệ xác định đều đạt cho 40 dòng lắp. Giá, tiền tệ, vật liệu và kích thước được sao chép từ nguồn; patch tạo chỉ có thể đổi title và description cho SKU cùng locale xác định.

Patch Nhật chưa chỉnh cũng đạt validator cấu trúc. Tuy vậy AI review xác định hai vấn đề diễn đạt bên dưới và sửa mô tả. Đây là lý do kiểm tra trường vật liệu bảo vệ không thể chứng minh văn xuôi mô tả vật liệu đúng. So sánh từng khẳng định có hệ quả với nguồn ngay cả sau khi mọi kiểm tra schema đều xanh.

Ảnh chụp báo cáo rà soát sản phẩm tổng hợp local với không có vi phạm schema hay danh tính, đang chờ native speaker và merchant rà soát; bản nháp DEMO-003 đã sửa hiển thị.
Báo cáo rà soát catalog tổng hợp local từ ca Luna xhigh. Cả 40 dòng đạt kiểm tra schema và danh tính đã ghi; phê duyệt ngữ nghĩa vẫn chờ sau chỉnh sửa AI review Nhật.
Giải thích tiếng Anh về thay đổi trong bản nháp Nhật thực tế; raw-ja.json giữ output gốc.
Sản phẩm tổng hợpÝ nghĩa nguồnSửa từ AI review tiếng Nhật
DEMO-003: sổ phác thảoBìa bìa cứngLoại bỏ hàm ý không hỗ trợ về bìa carton sóng
DEMO-010: giỏ đựng đồTổng cộng hai quai bênLàm rõ tổng số quai để loại mơ hồ

Kiểm tra export rà soát cùng với import

OWASP mô tả chèn công thức bảng tính và lưu ý phép biến đổi an toàn khác nhau giữa các consumer. Coi ô của nhà cung cấp và ô được tạo là không đáng tin. Dùng policy serialization đã rà soát cho công cụ bảng tính thực và kiểm tra artifact đã lưu, không chỉ bảng trong memory.

Tách import máy khỏi tệp rà soát. Prefix thêm để người đọc an toàn không được âm thầm đổi mã định danh hoặc mô tả công khai khi import. Xác thực encoding, xử lý quote và danh tính dòng dự kiến bằng parser. Giữ nguồn không chỉnh để nhận diện và sửa thay đổi do editor bảng tính đưa vào.

Gắn phê duyệt với đúng ứng viên

Lưu bản sửa hoặc hash ứng viên cùng phê duyệt dữ kiện và ngôn ngữ. Chỉnh sửa sau đó phải vô hiệu phê duyệt liên quan cho tới khi rà soát. Publisher cuối cũng phải so bản sửa nguồn hiện tại vì bản dịch không đổi có thể cũ sau khi đặc tả sản phẩm đổi.

Trong artifact ca, patch Nhật đã sửa và patch Đức lắp vào các dòng có review_status: unreviewed. Cả hai báo cáo giữ translation_semantic_review: pending. Sửa có AI hỗ trợ là bước revision, không phải ký của native speaker hay merchant. Giữ ứng viên gốc và sửa, rồi để người phù hợp duyệt đúng văn bản sẽ vào gói import.

Tái tạo kiểm tra và giữ rõ phạm vi

Test của ca local kiểm tra giữ trường nguồn, SKU trùng, SKU thiếu và override giá bị cấm. Lắp lại chỉ đọc patch Nhật và Đức đã lưu tái tạo cả hai output đã xác thực. Với catalog rộng hơn, thêm kiểm tra grammar placeholder, markup và policy revision riêng; helper minh họa bên trên là ví dụ riêng, không phải validator dùng cho 40 dòng này.

Đây là ca dịch local cấu hình Luna, không có call Astra hay gateway và không import cửa hàng thật. Công cụ không lộ usage API, request ID hay billing; cả hai output giữ usage và cost null. Dùng kết quả cấu trúc để chuyển sang rà soát ngữ nghĩa, rồi kiểm thử adapter cửa hàng được ủy quyền riêng.

node --test examples/commerce-localization-case/case.test.mjs

Câu hỏi thường gặp

Response hợp JSON có thể vẫn không an toàn để nhập không?

Có. Cú pháp hợp lệ không xác lập mã định danh đúng, nguồn mới, trường hỗ trợ, khẳng định chính xác hay phê duyệt. Xác thực các hợp đồng đó độc lập.

Vì sao so trường bảo vệ nếu model không thể sửa?

Các bước lắp ráp, ánh xạ và rà soát vẫn có thể đưa lỗi vào. So sau lắp kiểm tra đúng bản ghi chuẩn bị bàn giao.

Có thể xác thực khẳng định bằng danh sách từ được phép không?

Danh sách từ có thể gắn cờ một số vấn đề nhưng không xác lập ý nghĩa hay mức độ của khẳng định. Rà soát câu với bằng chứng sản phẩm.

Khớp tên placeholder có đủ không?

Cũng so số lượng bằng parser template thật. Token trùng hoặc thiếu có thể là lỗi dù tập tên trông quen thuộc.

Ca 40 dòng đã xác lập điều gì?

Patch đã lưu lắp không có lỗi cấu trúc được ghi và giữ trường sản phẩm kiểm soát từ nguồn. Cách diễn đạt Nhật vẫn cần hai chỉnh sửa AI review, còn phê duyệt ngữ nghĩa vẫn chờ cho cả hai ngôn ngữ.