Semakan kualiti kandungan produk

Updated 2026-09-05

Asingkan kesahan struktur daripada maksud produk. Dalam kes tempatan 40 baris bahasa Jepun dan Jerman, semakan medan lulus tetapi semakan AI masih menemui ungkapan Jepun yang perlu dibetulkan.

Takrifkan kontrak kualiti sebelum penjanaan

Tulis peraturan penerimaan untuk setiap medan. Medan identiti dan semakan harus sepadan dengan sumber. Teks boleh sunting harus menggunakan locale yang diminta, mengandungi maklumat yang diperlukan dan mematuhi format destinasi. Dakwaan memerlukan bukti sokongan. Satu label lulus atau gagal terlalu kasar untuk menerangkan syarat yang menghalang sesuatu produk.

Asingkan kecacatan yang boleh disemak mesin daripada pertimbangan editorial. Teks yang tiada dan drift pengecam boleh dikesan secara tentu. Sama ada terjemahan melebih-lebihkan manfaat memerlukan konteks dan semakan berkelayakan. Salurkan setiap isu kepada orang atau sistem yang boleh menyelesaikannya, dan kekalkan hasil terikat pada semakan calon.

SemakanBukti bergunaSemakan susulan
Identiti dan semakan sumberPerbandingan medan tepatTerjemahan semula jadi
Nilai dilindungiKesamaan skalar bertipSpesifikasi sumber yang betul
Markup dan placeholderParser dan kiraan tokenDakwaan produk yang tepat
Semakan dakwaanPemetaan pernyataan kepada sumberKejayaan import kedai
Baca balik destinasiPerbandingan diluluskan dengan tersimpanPrestasi komersial

Bandingkan nilai dilindungi selepas pemasangan

Jana medan teks yang dibenarkan sahaja, kemudian pasang rekod calon menggunakan nilai dilindungi yang disalin daripada sumber. Jalankan perbandingan kedua terhadap rekod yang dipasang itu. Ini menangkap kesilapan mapper serta suntingan tidak sengaja yang dibuat semasa semakan.

Contoh JavaScript ilustratif mengharapkan objek yang disahkan skema dengan nilai dilindungi skalar. Ia mengesan kunci dilindungi yang hilang, tambahan atau berubah dan semakan sumber yang lapuk, lalu mengembalikan kod isu yang stabil. Letakkan pengesahan skema dan nilai sebelum helper ini, kemudian salurkan calon yang sah secara struktur kepada semakan editorial.

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;
}

Asingkan pemformatan nombor daripada nilai

Nombor setempat mungkin kelihatan berbeza walaupun mewakili kuantiti tersimpan yang sama. MDN mendokumentasikan Intl.NumberFormat untuk persembahan mengikut locale. Gunakan pemformatan selepas nilai berautoriti dipilih; jangan meminta model bahasa mencipta semula harga daripada rentetan mata wang yang telah dipaparkan.

Takrifkan unit bersama nilai angka, termasuk unit yang dimiliki oleh setiap dimensi. Jika penukaran dibenarkan, gunakan peraturan penukaran tentu dan kekalkan perwakilan asal. Jangan bandingkan digit sahaja dalam ayat: dua nombor yang sama dengan unit berbeza boleh menerangkan produk berbeza. Unit yang tiada harus menghalang kelulusan sehingga sumber diselesaikan.

Sahkan gandaan placeholder dan markup

Gunakan parser templat aplikasi untuk mengumpul token placeholder daripada sumber dan calon. Bandingkan kiraan, bukan hanya set nama; token pendua boleh merosakkan ayat atau aplikasi walaupun setiap token asal masih muncul. Kekalkan peraturan escaping khusus format pada sempadan destinasi.

Semakan kecil berikut menerima token yang sudah diekstrak. Ia tidak cuba menggunakan ungkapan nalar placeholder yang universal. Untuk HTML, uraikan fragmen dokumen dan bandingkan struktur serta pautan yang dibenarkan secara berasingan. Panduan escaping WordPress berkaitan dengan pemaparan tersuai, tetapi escaping sahaja tidak dapat membuktikan bahawa kandungan mengekalkan maksudnya.

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);
}

Kes: medan sah, ungkapan masih perlu dibetulkan

Ejen terjemahan yang dikonfigurasi secara jelas untuk gpt-5.6-luna dengan penaakulan xhigh menghasilkan 20 tampalan Jepun dan 20 tampalan Jerman daripada 20 produk sintetik. Semakan skema, identiti dan medan dilindungi secara tentu lulus untuk kesemua 40 baris yang dipasang. Harga, mata wang, bahan dan dimensi disalin daripada sumber; tampalan yang dijana hanya boleh mengubah title dan description bagi SKU serta locale yang dikenal pasti.

Tampalan Jepun yang tidak diubah juga lulus pengesah struktur. Namun semakan AI mengenal pasti dua isu ungkapan di bawah dan menyemak penerangannya. Sebab itu pemeriksaan medan bahan yang dilindungi tidak dapat membuktikan bahawa prosa menerangkan bahan dengan tepat. Bandingkan setiap pernyataan yang penting dengan sumbernya, walaupun semua semakan skema sudah berwarna hijau.

Tangkapan skrin laporan semakan produk sintetik tempatan dengan sifar pelanggaran skema atau identiti dan semakan penutur asli serta pedagang yang menunggu; draf DEMO-003 yang dibetulkan kelihatan.
Laporan semakan katalog sintetik tempatan daripada kes Luna xhigh. Kesemua 40 baris lulus semakan skema dan identiti yang direkodkan; kelulusan semantik masih menunggu selepas pembetulan semakan AI bahasa Jepun.
Penjelasan bahasa Inggeris tentang perubahan pada draf bahasa Jepun sebenar; raw-ja.json mengekalkan output asal.
Produk sintetikMaksud sumberPembetulan semakan AI bahasa Jepun
DEMO-003: pad lakaranLapisan belakang kadbodMembuang implikasi tidak disokong tentang kadbod beralun
DEMO-010: bakul penyimpananDua pemegang sisi secara keseluruhanMenjelaskan jumlah pemegang keseluruhan untuk menghapuskan kekaburan

Uji eksport semakan serta import

OWASP menerangkan suntikan formula hamparan dan menyatakan bahawa transformasi keselamatan berbeza mengikut pengguna. Anggap sel pembekal dan sel yang dijana sebagai tidak dipercayai. Gunakan dasar serialisasi yang disemak untuk alat hamparan sebenar dan periksa artifak yang disimpan, bukan jadual dalam memori sahaja.

Asingkan import mesin daripada fail semakan. Awalan yang ditambah untuk paparan manusia yang selamat tidak boleh mengubah pengecam atau penerangan awam secara senyap ketika import. Sahkan pengekodan, pengendalian tanda petik dan identiti baris yang dijangka dengan parser. Simpan sumber yang tidak diubah supaya perubahan yang diperkenalkan oleh editor hamparan dapat dikenal pasti dan dibetulkan.

Ikat kelulusan pada calon yang tepat

Simpan semakan atau hash calon bersama kelulusan fakta dan kelulusan bahasa. Sebarang suntingan kemudian harus membatalkan kelulusan yang berkaitan sehingga disemak. Penerbit akhir mesti membandingkan semakan sumber semasa juga, kerana terjemahan yang tidak berubah mungkin sudah lapuk selepas spesifikasi produk berubah.

Dalam artifak kes, tampalan Jepun yang dibetulkan dan tampalan Jerman dipasang menjadi baris bertanda review_status: unreviewed. Kedua-dua laporan mengekalkan translation_semantic_review: pending. Pembetulan berbantukan AI ialah langkah semakan, bukan pengesahan penutur asli atau pedagang. Kekalkan calon mentah dan calon yang disemak, kemudian minta penyemak yang sesuai meluluskan teks tepat yang akan memasuki pakej import.

Hasilkan semula semakan dan jelaskan skopnya

Ujian kes tempatan menggunakan pemeliharaan medan sumber, SKU pendua, SKU yang hilang dan penggantian harga yang dilarang. Pemasangan semula baca sahaja bagi tampalan Jepun dan Jerman yang disimpan menghasilkan semula kedua-dua output yang disahkan. Untuk katalog lebih luas, tambah semakan bagi tatabahasa placeholder, markup dan dasar semakan anda sendiri; helper ilustratif di atas ialah contoh berasingan, bukan pengesah yang digunakan untuk 40 baris ini.

Ini ialah kes terjemahan tempatan yang dikonfigurasi dengan Luna, tanpa panggilan Astra atau get laluan dan tanpa import kedai sebenar. Alat tidak mendedahkan penggunaan API, ID permintaan atau pengebilan; kedua-dua output mengekalkan penggunaan dan kos null. Gunakan hasil struktur untuk bergerak ke semakan semantik, kemudian uji adapter kedai yang dibenarkan secara berasingan.

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

Soalan lazim

Bolehkah respons yang sah JSON masih tidak selamat untuk diimport?

Ya. Sintaks yang sah tidak membuktikan pengecam yang betul, kesegaran sumber, medan yang disokong, dakwaan yang tepat atau kelulusan. Sahkan kontrak tersebut secara berasingan.

Mengapa membandingkan medan dilindungi jika model tidak dapat menyuntingnya?

Peringkat pemasangan, pemetaan dan semakan masih boleh memperkenalkan kesilapan. Perbandingan selepas pemasangan menyemak rekod sebenar yang sedang disediakan untuk penghantaran.

Bolehkah saya mengesahkan dakwaan dengan senarai perkataan yang dibenarkan?

Senarai perkataan mungkin menandakan sesetengah isu, tetapi tidak dapat membuktikan maksud atau kekuatan pernyataan. Semak ayat itu terhadap bukti produknya.

Adakah sepadan dengan nama placeholder sudah memadai?

Bandingkan gandaan juga menggunakan parser templat sebenar. Token yang berulang atau hilang boleh menjadi kecacatan walaupun set namanya kelihatan biasa.

Apakah yang dibuktikan oleh kes 40 baris itu?

Tampalan yang disimpan dipasang tanpa kegagalan struktur yang direkodkan dan mengekalkan medan produk yang dikawal sumber. Ungkapan Jepun masih memerlukan dua pembetulan semakan AI, dan kelulusan semantik masih menunggu untuk kedua-dua bahasa.