feat(ai-moderation): add conflict instigation, offensive username, and discrimination moderation flags and prompt rules

This commit is contained in:
MythEclipse
2026-06-04 12:49:24 +07:00
parent aad62bc66b
commit 1c46a8a084
2 changed files with 128 additions and 23 deletions
@@ -84,17 +84,19 @@ export async function llmChat(
retries = DEFAULT_RETRIES, retries = DEFAULT_RETRIES,
} = opts; } = opts;
const params: OpenAI.Chat.Completions.ChatCompletionCreateParamsNonStreaming = { const params: OpenAI.Chat.Completions.ChatCompletionCreateParamsNonStreaming =
model, {
messages, model,
temperature, messages,
top_p, temperature,
max_tokens, top_p,
stream: false, max_tokens,
}; stream: false,
};
if (jsonResponse) { if (jsonResponse) {
(params as unknown as Record<string, unknown>).response_format = jsonResponse; (params as unknown as Record<string, unknown>).response_format =
jsonResponse;
} }
return retryWithBackoff( return retryWithBackoff(
@@ -198,10 +200,15 @@ const VALID_PRIMARY_AI_FLAGS = new Set([
"financial_scam", "financial_scam",
"religious_insult", "religious_insult",
"self_promo", "self_promo",
"conflict_instigation",
"offensive_username",
]); ]);
function normalizeFlag(value: string): string | null { function normalizeFlag(value: string): string | null {
const lower = value.trim().toLowerCase().replace(/[\s-]+/g, "_"); const lower = value
.trim()
.toLowerCase()
.replace(/[\s-]+/g, "_");
if (!lower) return null; if (!lower) return null;
if (VALID_PRIMARY_AI_FLAGS.has(lower)) return lower; if (VALID_PRIMARY_AI_FLAGS.has(lower)) return lower;
return null; return null;
@@ -28,6 +28,29 @@ Bahasa utama komunitas ini adalah BAHASA INDONESIA. Bahasa Inggris adalah bahasa
- Discord custom emoji seperti <:hadeh:123> atau [emoji:hadeh] adalah ekspresi, bukan pelanggaran teks. - Discord custom emoji seperti <:hadeh:123> atau [emoji:hadeh] adalah ekspresi, bukan pelanggaran teks.
- Gunakan normalized_text dan normalization_notes dari local lexical check. Jika notes hanya berisi slang/emoji aman, jangan flag. Jika notes menyatakan "Indonesian badword detected", gunakan sebagai konteks untuk menilai harassment/vulgar_language. - Gunakan normalized_text dan normalization_notes dari local lexical check. Jika notes hanya berisi slang/emoji aman, jangan flag. Jika notes menyatakan "Indonesian badword detected", gunakan sebagai konteks untuk menilai harassment/vulgar_language.
## Aturan Server & Nilai Komunitas
Pedoman ini mencerminkan nilai-nilai yang dijunjung server. Terapkan dengan bijak.
### Hormati Sesama — Tolak Segala Diskriminasi
- Setiap anggota berhak diperlakukan dengan hormat tanpa memandang latar belakang, usia, gender, atau pandangan.
- **Seksisme dilarang keras.** Komentar yang merendahkan, menstereotip, atau menghina berdasarkan gender (mis. "dasar perempuan", "logika cewek", "laki-laki pada ...", "emang cewek tuh ...", "benci perempuan", dll) → flag sebagai "hate_speech" jika general, atau "harassment" jika terarah ke individu.
- **Ageisme** (penghinaan berdasarkan usia, mis. "dasar bocil", "tau aja lo tua") → "hate_speech" atau "harassment" jika terarah.
- **Diskriminasi penampilan fisik** (mis. "gendut", "iteman", "cungkring") → "harassment" jika terarah ke individu.
- Pelecehan, rasisme, seksisme, dan segala bentuk diskriminasi lainnya tidak ditoleransi.
- Perbedaan pendapat itu wajar. Serangan personal, penghinaan, dan merendahkan orang lain tidak.
### Hindari Konflik dan Jaga Kedamaian
- Dilarang memancing keributan, drama, atau pertengkaran di channel umum.
- Ajakan/mengumpat untuk menyelesaikan masalah personal di channel publik → "conflict_instigation".
- Mempermalukan, mengadu domba, atau provokasi berkelanjutan terhadap anggota lain → "harassment" atau "conflict_instigation".
- Kritik membangun itu beda dengan provokasi. Lihat tone dan konteks.
- Jika pesan bernada netral atau sedang melerai/mediasi → jangan flag. Ini bukan conflict_instigation.
### Profil yang Sopan
- Username/display name yang mengandung unsur ofensif, vulgar, SARA, promosi judi/narkoba/NSFW, atau referensi LGBT/furry melanggar aturan.
- Jika username terbukti ofensif: tambahkan flag "offensive_username" pada hasil analisis pesan tersebut.
- **PENTING:** Username kadang merupakan pilihan lama yang belum diganti. Pertimbangkan konteks — jika isi pesan bersih dan tidak terkait username, beri score rendah pada flag ini. Jika isi pesan mendukung/memperkuat username ofensif, beri score lebih tinggi.
## Kategori Pelanggaran & Kriteria Flag ## Kategori Pelanggaran & Kriteria Flag
Prioritas tertinggi (ANCAMAN KESELAMATAN): Prioritas tertinggi (ANCAMAN KESELAMATAN):
- child_safety, self_harm, violence, illegal_content — flag jika ada indikasi nyata - child_safety, self_harm, violence, illegal_content — flag jika ada indikasi nyata
@@ -37,20 +60,26 @@ Prioritas tertinggi (ANCAMAN KESELAMATAN):
Prioritas menengah (PERILAKU MERUSAK): Prioritas menengah (PERILAKU MERUSAK):
- Ancaman kekerasan, doxxing, scam → flag sesuai kategori - Ancaman kekerasan, doxxing, scam → flag sesuai kategori
- spam self-promo → "spam" - Spam self-promo → "spam"
- Istilah agama/suku/ras: penyebutan netral/edukasi = clean; hinaan/provokasi/diskriminatif = "sara" atau "hate_speech" - Istilah agama/suku/ras: penyebutan netral/edukasi = clean; hinaan/provokasi/diskriminatif = "sara" atau "hate_speech"
- **Memancing drama/konflik** → "conflict_instigation"
Prioritas rendah (PELANGGARAN RINGAN): Prioritas rendah (PELANGGARAN RINGAN):
- harassment (targeted insult), vulgar_language (profanity terarah) - harassment (targeted insult), vulgar_language (profanity terarah)
- sexual_deviation: jika pesan mempromosikan/mendukung topik seksual/identitas yang dibatasi server sebagai pembahasan utama - sexual_deviation: jika pesan mempromosikan/mendukung topik seksual/identitas yang dibatasi server sebagai pembahasan utama. Termasuk namun tidak terbatas pada: pengakuan orientasi seksual non-hetero, pembahasan hubungan sesama jenis, konten/referensi furry, promosi identitas LGBT, roleplay LGBT, dan penyimpangan seksual lainnya.
- Username/display name ofensif → "offensive_username" (dengan pertimbangan konteks)
## Pohon Keputusan (Decision Tree) ## Pohon Keputusan (Decision Tree)
1. Apakah ada ancaman keselamatan nyata (child_safety, self_harm, violence)? → flagged, critical 1. Apakah ada ancaman keselamatan nyata (child_safety, self_harm, violence, illegal_content)? → flagged, critical
2. Apakah ada konten ilegal/explicit (NSFW, drugs, gambling, scam)? → flagged, high 2. Apakah ada konten ilegal/explicit (NSFW, drugs, gambling, scam, nsfw_image)? → flagged, high
3. Apakah ada harassment terarah/hate speech/sara? → flagged, medium-high 3. Apakah ada harassment terarah/hate speech/sara/diskriminasi (seksisme, ageisme)? → flagged, medium-high
4. Apakah ada spam/promosi borderline? → warn, low-medium 4. Apakah ada sexual_deviation (promosi LGBT, furry, penyimpangan seksual)? → flagged, medium
5. Jika tidak ada pelanggaran jelas atau bukti ambigu → clean 5. Apakah ada conflict_instigation (memancing drama/keributan)? → warn, low-medium
6. Apakah ada username ofensif? → warn, low (kecuali diperkuat isi pesan)
7. Apakah ada spam/promosi borderline? → warn, low-medium
8. Jika tidak ada pelanggaran jelas atau bukti ambigu → clean
Jangan pernah flag hanya berdasarkan kecurigaan atau ketidakjelasan konteks. Jangan pernah flag hanya berdasarkan kecurigaan atau ketidakjelasan konteks.
Jika ragu antara dua level, pilih yang lebih rendah (innocent until proven guilty).
## ATURAN UNTUK GAMBAR — DUA MODE BERBEDA ## ATURAN UNTUK GAMBAR — DUA MODE BERBEDA
@@ -126,11 +155,27 @@ Output: {"results":[{"message_id":"44444","status":"clean","flags":[],"score":0.
Contoh 7 — Pesan HANYA GAMBAR situs judi (teks kosong, tapi gambar jelas): Contoh 7 — Pesan HANYA GAMBAR situs judi (teks kosong, tapi gambar jelas):
Input: [target] id=55555 user=promotor: [Media analysis for message 55555] [gambar di atas adalah attachment promo.jpg dari pesan id=55555]: Screenshot website dengan background merah dan emas. Terlihat teks "DEPOSIT NOW", "BONUS 100%", "SLOT GACOR", chip poker, dan roda roulette. Ada tombol "DAFTAR" dan "LOGIN". Input: [target] id=55555 user=promotor: [Media analysis for message 55555] [gambar di atas adalah attachment promo.jpg dari pesan id=55555]: Screenshot website dengan background merah dan emas. Terlihat teks "DEPOSIT NOW", "BONUS 100%", "SLOT GACOR", chip poker, dan roda roulette. Ada tombol "DAFTAR" dan "LOGIN".
Output: {"results":[{"message_id":"55555","status":"flagged","flags":["gambling"],"score":0.94,"categories":["gambling"],"severity":"high","confidence":0.94,"recommended_action":"delete","policy_version":"default-2026-05-30","evidence":["Gambar menampilkan antarmuka situs judi online dengan chip, roulette, tombol deposit, dan teks promosi judi"],"analysis":"Promosi situs judi melalui gambar dengan elemen judi jelas: chip, roulette, teks deposit dan bonus."}]}`; Output: {"results":[{"message_id":"55555","status":"flagged","flags":["gambling"],"score":0.94,"categories":["gambling"],"severity":"high","confidence":0.94,"recommended_action":"delete","policy_version":"default-2026-05-30","evidence":["Gambar menampilkan antarmuka situs judi online dengan chip, roulette, tombol deposit, dan teks promosi judi"],"analysis":"Promosi situs judi melalui gambar dengan elemen judi jelas: chip, roulette, teks deposit dan bonus."}]}
// --------------------------------------------------------------------------- Contoh 8 — Seksisme terarah:
// Section: Extracted Few-Shot Examples by Mode Input: [target] id=88888 user=sexist: dasar perempuan ngerti apa sih, logika lo aja kagak bener
// --------------------------------------------------------------------------- Output: {"results":[{"message_id":"88888","status":"flagged","flags":["hate_speech","harassment"],"score":0.82,"categories":["hate_speech","harassment"],"severity":"high","confidence":0.9,"recommended_action":"delete","policy_version":"default-2026-05-30","evidence":["dasar perempuan ngerti apa sih","logika lo aja kagak bener"],"analysis":"sexist mengirim komentar seksis merendahkan yang menyasar gender perempuan. Penghinaan terarah dan stereotip ofensif. Melanggar aturan hate speech dan harassment."}]}
Contoh 9 — Memancing drama/konflik:
Input: [target] id=99999 user=drama: si budi kemarin ngomongin lo di belakang, masa tega banget dia, ayo kita konfrontasi di sini aja
Output: {"results":[{"message_id":"99999","status":"warn","flags":["conflict_instigation"],"score":0.65,"categories":["conflict_instigation"],"severity":"low","confidence":0.75,"recommended_action":"warn","policy_version":"default-2026-05-30","evidence":["si budi kemarin ngomongin lo di belakang","ayo kita konfrontasi di sini aja"],"analysis":"drama mengajak konfrontasi masalah personal di channel publik. Berpotensi menimbulkan pertengkaran dan drama. Tidak ada pelanggaran berat namun perlu diperingatkan."}]}
Contoh 10 — Promosi LGBT/furry (sexual_deviation):
Input: [target] id=10101 user=fox: aku gender fluid, panggil aja ze/zer. Yang mau join server furry silakan DM aku ya
Output: {"results":[{"message_id":"10101","status":"flagged","flags":["sexual_deviation"],"score":0.75,"categories":["sexual_deviation"],"severity":"medium","confidence":0.85,"recommended_action":"delete","policy_version":"default-2026-05-30","evidence":["aku gender fluid, panggil aja ze/zer","Yang mau join server furry silakan DM aku"],"analysis":"fox mempromosikan identitas LGBT dan komunitas furry. Konten ini melanggar kebijakan server yang tidak memberikan ruang untuk penyimpangan seksual."}]}
Contoh 11 — Username ofensif (isi pesan bersih):
Input: [target] id=12121 user=pejabat_munafik_dajjal: Halo teman-teman, ada yang main game?
Output: {"results":[{"message_id":"12121","status":"flagged","flags":["offensive_username"],"score":0.3,"categories":["offensive_username"],"severity":"low","confidence":0.95,"recommended_action":"warn","policy_version":"default-2026-05-30","evidence":["Username 'pejabat_munafik_dajjal' mengandung unsur ofensif/SARA"],"analysis":"pejabat_munafik_dajjal memiliki username ofensif yang menyerang pejabat dengan label SARA. Namun isi pesan bersih dan tidak terkait username. Flag ringan."}]}
Contoh 12 — Username ofensif (isi pesan memperkuat):
Input: [target] id=13131 user=nazi_babi_itu: bener tuh nih ras emang harus dibasmi
Output: {"results":[{"message_id":"13131","status":"flagged","flags":["offensive_username","hate_speech","sara"],"score":0.9,"categories":["offensive_username","hate_speech","sara"],"severity":"high","confidence":0.95,"recommended_action":"delete","policy_version":"default-2026-05-30","evidence":["Username 'nazi_babi_itu' mengandung unsur SARA","bener tuh nih ras emang harus dibasmi"],"analysis":"nazi_babi_itu memiliki username SARA dan isi pesan memperkuat tone kebencian dengan ajakan kekerasan terhadap ras tertentu. Pelanggaran berat."}]}`;
/** /**
* Text-only examples extracted from FEW_SHOT_EXAMPLES for text-mode prompts. * Text-only examples extracted from FEW_SHOT_EXAMPLES for text-mode prompts.
@@ -148,7 +193,27 @@ Output: {"results":[{"message_id":"67890","status":"flagged","flags":["harassmen
Contoh 3 — Sticker kartun dengan nama provokatif: Contoh 3 — Sticker kartun dengan nama provokatif:
Input: [target] id=11111 user=citra: <:singa_injek:123456> [sticker: "Singa injek pejabat"] Input: [target] id=11111 user=citra: <:singa_injek:123456> [sticker: "Singa injek pejabat"]
Output: {"results":[{"message_id":"11111","status":"clean","flags":[],"score":0.1,"categories":[],"severity":"none","confidence":0.8,"recommended_action":"none","policy_version":"default-2026-05-30","evidence":[],"analysis":"Sticker kartun satir dengan nama provokatif namun bukan ancaman nyata."}]}`; Output: {"results":[{"message_id":"11111","status":"clean","flags":[],"score":0.1,"categories":[],"severity":"none","confidence":0.8,"recommended_action":"none","policy_version":"default-2026-05-30","evidence":[],"analysis":"Sticker kartun satir dengan nama provokatif namun bukan ancaman nyata."}]}
Contoh 8 — Seksisme terarah:
Input: [target] id=88888 user=sexist: dasar perempuan ngerti apa sih, logika lo aja kagak bener
Output: {"results":[{"message_id":"88888","status":"flagged","flags":["hate_speech","harassment"],"score":0.82,"categories":["hate_speech","harassment"],"severity":"high","confidence":0.9,"recommended_action":"delete","policy_version":"default-2026-05-30","evidence":["dasar perempuan ngerti apa sih","logika lo aja kagak bener"],"analysis":"sexist mengirim komentar seksis merendahkan yang menyasar gender perempuan. Penghinaan terarah dan stereotip ofensif. Melanggar aturan hate speech dan harassment."}]}
Contoh 9 — Memancing drama/konflik:
Input: [target] id=99999 user=drama: si budi kemarin ngomongin lo di belakang, masa tega banget dia, ayo kita konfrontasi di sini aja
Output: {"results":[{"message_id":"99999","status":"warn","flags":["conflict_instigation"],"score":0.65,"categories":["conflict_instigation"],"severity":"low","confidence":0.75,"recommended_action":"warn","policy_version":"default-2026-05-30","evidence":["si budi kemarin ngomongin lo di belakang","ayo kita konfrontasi di sini aja"],"analysis":"drama mengajak konfrontasi masalah personal di channel publik. Berpotensi menimbulkan pertengkaran dan drama. Tidak ada pelanggaran berat namun perlu diperingatkan."}]}
Contoh 10 — Promosi LGBT/furry (sexual_deviation):
Input: [target] id=10101 user=fox: aku gender fluid, panggil aja ze/zer. Yang mau join server furry silakan DM aku ya
Output: {"results":[{"message_id":"10101","status":"flagged","flags":["sexual_deviation"],"score":0.75,"categories":["sexual_deviation"],"severity":"medium","confidence":0.85,"recommended_action":"delete","policy_version":"default-2026-05-30","evidence":["aku gender fluid, panggil aja ze/zer","Yang mau join server furry silakan DM aku"],"analysis":"fox mempromosikan identitas LGBT dan komunitas furry. Konten ini melanggar kebijakan server yang tidak memberikan ruang untuk penyimpangan seksual."}]}
Contoh 11 — Username ofensif (isi pesan bersih):
Input: [target] id=12121 user=pejabat_munafik_dajjal: Halo teman-teman, ada yang main game?
Output: {"results":[{"message_id":"12121","status":"flagged","flags":["offensive_username"],"score":0.3,"categories":["offensive_username"],"severity":"low","confidence":0.95,"recommended_action":"warn","policy_version":"default-2026-05-30","evidence":["Username 'pejabat_munafik_dajjal' mengandung unsur ofensif/SARA"],"analysis":"pejabat_munafik_dajjal memiliki username ofensif yang menyerang pejabat dengan label SARA. Namun isi pesan bersih dan tidak terkait username. Flag ringan."}]}
Contoh 12 — Username ofensif (isi pesan memperkuat):
Input: [target] id=13131 user=nazi_babi_itu: bener tuh nih ras emang harus dibasmi
Output: {"results":[{"message_id":"13131","status":"flagged","flags":["offensive_username","hate_speech","sara"],"score":0.9,"categories":["offensive_username","hate_speech","sara"],"severity":"high","confidence":0.95,"recommended_action":"delete","policy_version":"default-2026-05-30","evidence":["Username 'nazi_babi_itu' mengandung unsur SARA","bener tuh nih ras emang harus dibasmi"],"analysis":"nazi_babi_itu memiliki username SARA dan isi pesan memperkuat tone kebencian dengan ajakan kekerasan terhadap ras tertentu. Pelanggaran berat."}]}`;
/** /**
* Media-capable examples extracted from FEW_SHOT_EXAMPLES for media-mode prompts. * Media-capable examples extracted from FEW_SHOT_EXAMPLES for media-mode prompts.
@@ -171,7 +236,27 @@ Output: {"results":[{"message_id":"44444","status":"clean","flags":[],"score":0.
Contoh 7 — Pesan HANYA GAMBAR situs judi (teks kosong, tapi gambar jelas): Contoh 7 — Pesan HANYA GAMBAR situs judi (teks kosong, tapi gambar jelas):
Input: [target] id=55555 user=promotor: [Media analysis for message 55555] [gambar di atas adalah attachment promo.jpg dari pesan id=55555]: Screenshot website dengan background merah dan emas. Terlihat teks "DEPOSIT NOW", "BONUS 100%", "SLOT GACOR", chip poker, dan roda roulette. Ada tombol "DAFTAR" dan "LOGIN". Input: [target] id=55555 user=promotor: [Media analysis for message 55555] [gambar di atas adalah attachment promo.jpg dari pesan id=55555]: Screenshot website dengan background merah dan emas. Terlihat teks "DEPOSIT NOW", "BONUS 100%", "SLOT GACOR", chip poker, dan roda roulette. Ada tombol "DAFTAR" dan "LOGIN".
Output: {"results":[{"message_id":"55555","status":"flagged","flags":["gambling"],"score":0.94,"categories":["gambling"],"severity":"high","confidence":0.94,"recommended_action":"delete","policy_version":"default-2026-05-30","evidence":["Gambar menampilkan antarmuka situs judi online dengan chip, roulette, tombol deposit, dan teks promosi judi"],"analysis":"Promosi situs judi melalui gambar dengan elemen judi jelas: chip, roulette, teks deposit dan bonus."}]}`; Output: {"results":[{"message_id":"55555","status":"flagged","flags":["gambling"],"score":0.94,"categories":["gambling"],"severity":"high","confidence":0.94,"recommended_action":"delete","policy_version":"default-2026-05-30","evidence":["Gambar menampilkan antarmuka situs judi online dengan chip, roulette, tombol deposit, dan teks promosi judi"],"analysis":"Promosi situs judi melalui gambar dengan elemen judi jelas: chip, roulette, teks deposit dan bonus."}]}
Contoh 8 — Seksisme terarah:
Input: [target] id=88888 user=sexist: dasar perempuan ngerti apa sih, logika lo aja kagak bener
Output: {"results":[{"message_id":"88888","status":"flagged","flags":["hate_speech","harassment"],"score":0.82,"categories":["hate_speech","harassment"],"severity":"high","confidence":0.9,"recommended_action":"delete","policy_version":"default-2026-05-30","evidence":["dasar perempuan ngerti apa sih","logika lo aja kagak bener"],"analysis":"sexist mengirim komentar seksis merendahkan yang menyasar gender perempuan. Penghinaan terarah dan stereotip ofensif. Melanggar aturan hate speech dan harassment."}]}
Contoh 9 — Memancing drama/konflik:
Input: [target] id=99999 user=drama: si budi kemarin ngomongin lo di belakang, masa tega banget dia, ayo kita konfrontasi di sini aja
Output: {"results":[{"message_id":"99999","status":"warn","flags":["conflict_instigation"],"score":0.65,"categories":["conflict_instigation"],"severity":"low","confidence":0.75,"recommended_action":"warn","policy_version":"default-2026-05-30","evidence":["si budi kemarin ngomongin lo di belakang","ayo kita konfrontasi di sini aja"],"analysis":"drama mengajak konfrontasi masalah personal di channel publik. Berpotensi menimbulkan pertengkaran dan drama. Tidak ada pelanggaran berat namun perlu diperingatkan."}]}
Contoh 10 — Promosi LGBT/furry (sexual_deviation):
Input: [target] id=10101 user=fox: aku gender fluid, panggil aja ze/zer. Yang mau join server furry silakan DM aku ya
Output: {"results":[{"message_id":"10101","status":"flagged","flags":["sexual_deviation"],"score":0.75,"categories":["sexual_deviation"],"severity":"medium","confidence":0.85,"recommended_action":"delete","policy_version":"default-2026-05-30","evidence":["aku gender fluid, panggil aja ze/zer","Yang mau join server furry silakan DM aku"],"analysis":"fox mempromosikan identitas LGBT dan komunitas furry. Konten ini melanggar kebijakan server yang tidak memberikan ruang untuk penyimpangan seksual."}]}
Contoh 11 — Username ofensif (isi pesan bersih):
Input: [target] id=12121 user=pejabat_munafik_dajjal: Halo teman-teman, ada yang main game?
Output: {"results":[{"message_id":"12121","status":"flagged","flags":["offensive_username"],"score":0.3,"categories":["offensive_username"],"severity":"low","confidence":0.95,"recommended_action":"warn","policy_version":"default-2026-05-30","evidence":["Username 'pejabat_munafik_dajjal' mengandung unsur ofensif/SARA"],"analysis":"pejabat_munafik_dajjal memiliki username ofensif yang menyerang pejabat dengan label SARA. Namun isi pesan bersih dan tidak terkait username. Flag ringan."}]}
Contoh 12 — Username ofensif (isi pesan memperkuat):
Input: [target] id=13131 user=nazi_babi_itu: bener tuh nih ras emang harus dibasmi
Output: {"results":[{"message_id":"13131","status":"flagged","flags":["offensive_username","hate_speech","sara"],"score":0.9,"categories":["offensive_username","hate_speech","sara"],"severity":"high","confidence":0.95,"recommended_action":"delete","policy_version":"default-2026-05-30","evidence":["Username 'nazi_babi_itu' mengandung unsur SARA","bener tuh nih ras emang harus dibasmi"],"analysis":"nazi_babi_itu memiliki username SARA dan isi pesan memperkuat tone kebencian dengan ajakan kekerasan terhadap ras tertentu. Pelanggaran berat."}]}`;
// --------------------------------------------------------------------------- // ---------------------------------------------------------------------------
// Section: Output Schema + XML Delimiter Instructions // Section: Output Schema + XML Delimiter Instructions
@@ -219,6 +304,19 @@ Contoh buruk: "Pesan berisi teks dan gambar tanpa pelanggaran."
Tulis: "[user] <melakukan pelanggaran X>. <bukti dari teks dan/atau gambar>. <dampak/konteks>." Tulis: "[user] <melakukan pelanggaran X>. <bukti dari teks dan/atau gambar>. <dampak/konteks>."
Contoh baik: "spammer mempromosikan situs judi online dengan link dan gambar antarmuka judi. Gambar menunjukkan chip, roulette, dan tombol deposit. Melanggar kebijakan gambling." Contoh baik: "spammer mempromosikan situs judi online dengan link dan gambar antarmuka judi. Gambar menunjukkan chip, roulette, dan tombol deposit. Melanggar kebijakan gambling."
### Jika conflict_instigation:
Tulis: "[user] <ajakan/tindakan memicu konflik>. <konteks>. Diberi peringatan karena berpotensi menimbulkan drama/pertengkaran."
Contoh baik: "drama menceritakan isu personal tentang budi di channel publik dan mengajak konfrontasi. Berpotensi memicu drama di channel umum."
### Jika username ofensif:
Tulis: "[user] memiliki username yang <alasan ofensif>. <isi pesan>. <kesimpulan>."
Contoh baik (pesan bersih): "pejabat_munafik_dajjal memiliki username ofensif yang menyerang pejabat dengan label SARA. Isi pesan hanya sapaan biasa. Diberi warning ringan untuk mengganti username."
Contoh baik (pesan mendukung): "nazi_babi_itu memiliki username SARA dan isi pesan memperkuat tone kebencian dengan ajakan kekerasan. Pelanggaran berat."
### Jika sexual_deviation:
Tulis: "[user] <konten penyimpangan>. <konteks>. Melanggar kebijakan server."
Contoh baik: "fox mempromosikan identitas LGBT dan komunitas furry. Melanggar kebijakan server terkait penyimpangan seksual."
CRITICAL: CRITICAL:
- JANGAN PERNAH menulis "Pesan hanya berisi..." atau "Pesan tidak mengandung..." sebagai analysis. - JANGAN PERNAH menulis "Pesan hanya berisi..." atau "Pesan tidak mengandung..." sebagai analysis.
- Selalu sebutkan ISI KONTEN secara spesifik — apa yang dibicarakan, apa yang terlihat di gambar. - Selalu sebutkan ISI KONTEN secara spesifik — apa yang dibicarakan, apa yang terlihat di gambar.