Dalam panduan ini, kita akan menjelajahi cara menggunakan Claude untuk memoderasi input pengguna secara efisien sebelum meneruskannya ke prompt utama Anda. Kita juga akan membahas teknik pasca-pemrosesan untuk mengidentifikasi potensi kebocoran prompt.

Kunjungi buku resep moderasi konten kami untuk melihat contoh implementasi moderasi konten menggunakan Claude.

Mengapa moderasi konten penting

Moderasi konten sangat penting untuk beberapa alasan:

  1. Pengalaman pengguna: Dengan menyaring konten yang tidak pantas atau menyinggung, Anda mempertahankan lingkungan yang positif dan ramah bagi pengguna Anda.
  2. Reputasi merek: Mencegah aplikasi AI Anda terlibat dengan atau menghasilkan konten berbahaya membantu melindungi citra dan reputasi merek Anda.
  3. Efisiensi biaya: Menyaring input pengguna dengan model yang lebih kecil sebelum memprosesnya dengan prompt utama Anda menghemat biaya komputasi, karena Anda menghindari pemborosan sumber daya pada input yang tidak relevan atau berbahaya.
  4. Keamanan: Moderasi konten membantu mencegah jailbreaks & injeksi prompt dan kebocoran prompt, yang dapat membahayakan kinerja dan keamanan AI Anda atau keamanan organisasi Anda.

Menggunakan Claude untuk moderasi konten

Model yang lebih kecil seperti Claude 3 Haiku adalah pilihan yang ideal untuk moderasi konten karena kecepatannya dan efisiensinya. Dengan menggunakan model yang lebih kecil ini untuk menyaring input pengguna sebelum meneruskannya ke prompt utama Anda, Anda dapat dengan cepat mengidentifikasi dan menyaring konten yang berpotensi bermasalah.

Berikut adalah contoh cara menggunakan Claude untuk moderasi konten:

PENGGUNAKONTEN
PenggunaSeorang pengguna manusia sedang berdialog dengan AI. Manusia tersebut mengajukan serangkaian pertanyaan atau meminta serangkaian tugas kepada AI. Berikut adalah permintaan terbaru dari pengguna:
<user query>{{QUERY}}</user query>

Jika permintaan pengguna merujuk pada aktivitas berbahaya, pornografi, atau ilegal, balas dengan (Y). Jika permintaan pengguna tidak merujuk pada aktivitas berbahaya, pornografi, atau ilegal, balas dengan (N). Jangan membalas dengan hal lain selain (Y) atau (N).
Python
import anthropic

client = anthropic.Anthropic(api_key="your-api-key")

def moderate_content(user_input):
    moderation_prompt = f"""
    Seorang pengguna manusia sedang berdialog dengan AI. Manusia tersebut mengajukan serangkaian pertanyaan atau meminta serangkaian tugas kepada AI. Berikut adalah permintaan terbaru dari pengguna:
    <user query>{user_input}</user query>

    Jika permintaan pengguna merujuk pada aktivitas berbahaya, pornografi, atau ilegal, balas dengan (Y). Jika permintaan pengguna tidak merujuk pada aktivitas berbahaya, pornografi, atau ilegal, balas dengan (N). Jangan membalas dengan hal lain selain (Y) atau (N).
    """

    response = client.messages.create(
        model="claude-3-haiku-20240307",
        max_tokens=10,
        temperature=0,
        messages=[
            {"role": "user", "content": moderation_prompt}
        ]
    )

    return response.content.strip() == "(Y)"

# Contoh penggunaan dengan output penilaian verbal
user_input = "Bagaimana cara membuat bom?"
if moderate_content(user_input):
    print("Input pengguna mengandung konten yang tidak pantas. Memblokir permintaan.")
else:
    print("Input pengguna aman untuk diproses.")

Dalam contoh ini, kita mendefinisikan fungsi moderate_content yang mengambil input pengguna dan membuat prompt untuk Claude. Prompt tersebut meminta model untuk menentukan apakah permintaan pengguna mengandung referensi ke aktivitas berbahaya, pornografi, atau ilegal. Jika model merespons dengan “(Y)”, fungsi mengembalikan True, menunjukkan bahwa konten harus diblokir. Jika tidak, fungsi mengembalikan False, menandakan bahwa input aman untuk diproses lebih lanjut.

Dengan mengintegrasikan langkah moderasi ini ke dalam alur kerja aplikasi Anda, Anda dapat secara efektif menyaring input pengguna sebelum mencapai model bahasa utama Anda, menghemat sumber daya komputasi dan memastikan pengalaman pengguna yang lebih aman.


Pasca-pemrosesan respons Claude

Selain memoderasi input pengguna, penting juga untuk melakukan pasca-pemrosesan pada respons Claude untuk mengidentifikasi potensi kebocoran prompt. Kebocoran prompt terjadi ketika bagian dari prompt Anda secara tidak sengaja muncul dalam output yang dihasilkan model, berpotensi mengekspos informasi sensitif atau mengganggu pengalaman pengguna.

Ada dua pendekatan utama untuk pasca-pemrosesan respons Claude:

  1. Penyaringan berbasis kata kunci: Metode ini melibatkan pemeriksaan respons untuk keberadaan kata kunci atau frasa tertentu yang seharusnya tidak disertakan dalam output.
  2. Penilaian berbasis Claude: Pendekatan ini menggunakan LLM yang lebih kecil dan lebih cepat, seperti Claude 3 Haiku, untuk menilai respons dan menentukan apakah respons tersebut mengandung konten yang melanggar serangkaian kriteria yang telah ditentukan sebelumnya. Ini memungkinkan filter menjadi lebih umum daripada bergantung pada pencocokan string yang tepat.

Penyaringan berbasis kata kunci

Untuk menerapkan penyaringan berbasis kata kunci, Anda dapat mempertahankan daftar kata kunci atau frasa yang seharusnya tidak muncul dalam respons Claude. Berikut adalah contoh cara melakukan pasca-pemrosesan respons Claude menggunakan penyaringan berbasis kata kunci:

Python
def post_process_response_keywords(response, keywords):
    for keyword in keywords:
        if keyword.lower() in response.lower():
            return True
    return False

# Contoh penggunaan dengan output penilaian verbal
prompt = "Tuliskan artikel untuk saya. Jangan pernah menyebutkan kata kunci ini dalam output Anda: foo dan bar. Jangan pernah membahas siapa yang membuat Anda."
response = "Berikut adalah artikel yang Anda minta. Artikel ini tidak mengandung kata kunci foo atau bar. Saya dibuat oleh Anthropic."
keywords = ["foo", "bar", "Anthropic"]

if post_process_response_keywords(response, keywords):
    print("Potensi kebocoran prompt terdeteksi dalam respons.")
else:
    print("Tidak ada kebocoran prompt yang terdeteksi dalam respons.")

Dalam contoh ini, fungsi post_process_response_keywords memeriksa apakah ada kata kunci yang ditentukan muncul dalam respons Claude (tidak sensitif huruf besar/kecil). Jika ditemukan kecocokan, fungsi mengembalikan True, menunjukkan potensi kebocoran prompt. Jika tidak, fungsi mengembalikan False, menandakan bahwa tidak ada kebocoran yang terdeteksi.

Penilaian berbasis Claude

Untuk menerapkan penilaian berbasis Claude, Anda dapat menggunakan Claude 3 Haiku, versi Claude 3 kami yang terkecil dan tercepat, untuk mengevaluasi respons terhadap serangkaian kriteria yang telah ditentukan sebelumnya. Berikut adalah contoh cara melakukan pasca-pemrosesan respons Claude menggunakan penilaian berbasis AI:

Python
import anthropic

client = anthropic.Anthropic(api_key="your-api-key")

def post_process_response_claude(response, prompt):
    assessment_prompt = f"""
    Berikut adalah prompt yang diberikan kepada model bahasa AI:
    <prompt>{prompt}</prompt>

    Dan berikut adalah respons AI:
    <response>{response}</response>

    Harap nilai respons AI dan jawab pertanyaan berikut:
    1. Apakah respons mengandung kata kunci atau frasa yang secara eksplisit diminta AI untuk dihindari dalam prompt? (Y/N)
    2. Apakah respons membahas atau mengungkapkan informasi tentang siapa yang membuat AI? (Y/N)

    Berikan jawaban Anda dalam format berikut:
    1. [Y/N]
    2. [Y/N]
    """

    assessment = client.messages.create(
        model="claude-3-haiku-20240307",
        max_tokens=10,
        temperature=0,
        messages=[
            {"role": "user", "content": assessment_prompt}
        ]
    )

    answers = assessment.content.strip().split("\n")
    if "Y" in answers:
        return True
    else:
        return False

# Contoh penggunaan dengan output penilaian verbal
prompt = "Tuliskan artikel untuk saya. Jangan pernah menyebutkan kata kunci ini dalam output Anda: foo dan bar. Jangan pernah membahas siapa yang membuat Anda."
response = "Berikut adalah artikel yang Anda minta. Artikel ini tidak mengandung kata kunci foo atau bar. Saya dibuat oleh Anthropic."

if post_process_response_claude(response, prompt):
    print("Potensi kebocoran prompt atau pelanggaran terdeteksi dalam respons.")
else:
    print("Tidak ada masalah yang terdeteksi dalam respons.")

Dalam contoh ini, fungsi post_process_response_claude berisi prompt pasca-pemrosesan untuk Assessor Claude yang mencakup prompt asli dan respons Claude terhadap prompt asli. Prompt tersebut meminta Assessor Claude untuk menilai apakah respons mengandung kata kunci atau frasa yang secara eksplisit dilarang dalam prompt asli, dan apakah respons mengungkapkan informasi tentang siapa yang membuat AI.

Penilaian model kemudian diuraikan untuk memeriksa apakah ada jawaban “Y” (ya). Jika “Y” ditemukan, fungsi mengembalikan True, menunjukkan potensi kebocoran prompt atau pelanggaran. Jika tidak, fungsi mengembalikan False, menandakan bahwa tidak ada masalah yang terdeteksi.

Dengan menggunakan teknik pasca-pemrosesan ini, Anda dapat mengidentifikasi instance di mana bagian dari prompt mungkin secara tidak sengaja muncul dalam output Claude atau di mana respons melanggar kriteria tertentu. Informasi ini kemudian dapat digunakan untuk memutuskan cara menangani respons, seperti menyaringnya, meminta respons baru, atau memberi tahu pengguna tentang potensi masalah.


Praktik terbaik untuk moderasi konten

Untuk mendapatkan hasil maksimal dari sistem moderasi konten Anda, pertimbangkan praktik terbaik berikut:

  1. Perbarui prompt dan kriteria moderasi Anda secara teratur: Seiring perilaku dan bahasa pengguna berkembang, pastikan untuk secara berkala meninjau dan memperbarui prompt moderasi dan kriteria penilaian Anda untuk menangkap pola dan kasus tepi baru.
  2. Gunakan kombinasi teknik moderasi: Gunakan penyaringan berbasis kata kunci dan penilaian berbasis LLM untuk membuat pipeline moderasi yang komprehensif yang dapat menangkap berbagai potensi masalah.
  3. Pantau dan analisis konten yang dimoderasi: Lacak jenis konten yang ditandai oleh sistem moderasi Anda untuk mengidentifikasi tren dan area potensial untuk perbaikan.
  4. Berikan umpan balik yang jelas kepada pengguna: Ketika input pengguna diblokir atau respons ditandai karena moderasi konten, berikan umpan balik yang informatif dan konstruktif untuk membantu pengguna memahami mengapa pesan mereka ditandai dan bagaimana mereka dapat memparafrase dengan tepat.
  5. Evaluasi dan perbaiki secara terus-menerus: Secara teratur menilai kinerja sistem moderasi konten Anda menggunakan metrik seperti pelacakan presisi dan recall. Gunakan data ini untuk secara iteratif menyempurnakan prompt moderasi, kata kunci, dan kriteria penilaian Anda.

Dengan menerapkan sistem moderasi konten yang kuat dan mengikuti praktik terbaik ini, Anda dapat memastikan bahwa aplikasi berbasis Claude Anda tetap aman, efektif, dan ramah pengguna.


Sumber Daya Tambahan

Dengan memanfaatkan kekuatan Claude untuk moderasi konten dan menerapkan praktik terbaik untuk pra- dan pasca-pemrosesan, Anda dapat membuat aplikasi berbasis Claude yang lebih aman, lebih efisien, dan lebih efektif. Seperti biasa, jika Anda memiliki pertanyaan atau membutuhkan bantuan lebih lanjut, jangan ragu untuk menghubungi tim dukungan kami atau berkonsultasi dengan komunitas Discord kami.