Evaluasi Output AI Generatif dan Etika
Setelah mahasiswa bisa membuat sistem generatif, pertanyaan berikutnya adalah ini: apakah jawaban AI itu memang baik, dapat dipercaya, dan layak digunakan? Di sinilah sesi 14 menjadi sangat penting. Membangun model atau memanggil API itu baru setengah jalan. Separuh lainnya adalah menilai hasilnya secara kritis dan bertanggung jawab.
Bayangkan AI seperti mahasiswa yang diminta presentasi. Presentasi yang terdengar lancar belum tentu isinya benar. Ada yang berbicara meyakinkan, tetapi salah data. Ada yang sopan, tetapi tidak menjawab pertanyaan. Ada yang kreatif, tetapi justru keluar topik. Karena itu evaluasi output AI generatif harus melihat lebih dari sekadar “terdengar bagus”.
Apa yang dimaksud evaluasi output AI generatif
Evaluasi output AI generatif adalah proses menilai kualitas jawaban yang dihasilkan model. Penilaian ini bisa dilakukan secara manual oleh manusia, secara otomatis dengan metrik tertentu, atau gabungan keduanya. Dalam konteks pendidikan, evaluasi tidak cukup berhenti pada tata bahasa yang rapi. Kita harus melihat apakah jawaban itu relevan terhadap pertanyaan, benar terhadap sumber, konsisten, mudah dipahami, dan aman untuk digunakan.
Bayangkan Anda menilai tugas presentasi mahasiswa. Anda tidak hanya menilai suaranya enak didengar atau slide-nya cantik. Anda juga menilai apakah isi presentasi menjawab pertanyaan, apakah datanya benar, apakah penjelasannya runtut, dan apakah ia menyebut sumber dengan jujur. Menilai AI juga seperti itu.
Lima dimensi evaluasi yang paling penting
Relevansi
Apakah jawaban benar-benar menjawab pertanyaan yang diajukan, bukan sekadar berbicara panjang lebar di sekitar topik.
Factuality
Apakah isi jawaban sesuai fakta, sesuai konteks dokumen, dan tidak mengarang informasi yang tidak ada dasarnya.
Fluency dan clarity
Apakah bahasanya enak dibaca, jelas, dan mudah dipahami target pembaca.
Consistency
Apakah jawaban tidak saling bertentangan di dalam dirinya sendiri.
Safety dan etika
Apakah jawaban aman, tidak bias, tidak melanggar etika akademik, dan tidak mendorong penyalahgunaan.
Hallucination dan mengapa ia berbahaya
Hallucination adalah keadaan ketika model menghasilkan informasi yang terdengar meyakinkan, tetapi sebenarnya tidak didukung sumber yang kuat atau bahkan salah. Masalahnya, banyak pengguna pemula mudah terkecoh karena bahasa model terdengar rapi dan percaya diri. Dalam konteks akademik, hallucination bisa membuat mahasiswa salah memahami konsep, salah mengutip informasi, atau membuat laporan yang terlihat bagus tetapi isinya rapuh.
Jawaban yang lancar bukan jaminan jawaban yang benar. Inilah alasan mengapa evaluasi dan verifikasi sumber sangat penting.
Etika yang harus dipahami mahasiswa
Etika AI generatif tidak hanya soal sopan santun, tetapi juga soal tanggung jawab akademik. Mahasiswa harus memahami bahwa AI sebaiknya dipakai sebagai alat bantu belajar, bukan pengganti berpikir. Mereka juga perlu sadar tentang risiko bias, plagiarisme terselubung, penyebaran informasi salah, dan penggunaan data pribadi tanpa izin. Dalam kelas, dosen dapat menekankan bahwa penggunaan AI harus transparan dan kritis.
Penggunaan yang sehat
Meminta penjelasan ulang, meringkas bahan, membuat contoh latihan, atau membantu brainstorming lalu tetap diverifikasi sendiri.
Penggunaan yang bermasalah
Menyalin mentah jawaban AI sebagai tugas akhir, memakai AI untuk menipu, atau menyebarkan jawaban tanpa cek kebenaran.
Praktikum 1: membuat rubric evaluasi manual
Rubric sederhana membantu mahasiswa menilai jawaban secara konsisten. Contoh berikut memakai skala 1 sampai 5 untuk beberapa dimensi penting.
rubric = {
"relevansi": "Apakah jawaban fokus menjawab pertanyaan?",
"factuality": "Apakah isi jawaban sesuai fakta atau konteks yang diberikan?",
"clarity": "Apakah bahasa mudah dipahami?",
"consistency": "Apakah tidak ada bagian yang saling bertentangan?",
"ethics": "Apakah jawaban aman, tidak bias, dan tidak menyesatkan?"
}
for aspek, penjelasan in rubric.items():
print(aspek.upper(), ":", penjelasan)Rubric ini dapat dipakai saat mahasiswa membandingkan beberapa jawaban dari prompt atau model yang berbeda.
Praktikum 2: menilai jawaban AI secara manual dalam bentuk tabel
Contoh berikut menunjukkan bagaimana mahasiswa dapat membuat tabel evaluasi sederhana menggunakan pandas.
import pandas as pd
data = [
{
"jawaban": "Preprocessing adalah tahap membersihkan teks sebelum analisis.",
"relevansi": 5,
"factuality": 5,
"clarity": 5,
"consistency": 5,
"ethics": 5
},
{
"jawaban": "Preprocessing itu penting karena AI suka kata-kata rapi dan itu ditemukan oleh Google pada tahun 1984.",
"relevansi": 3,
"factuality": 1,
"clarity": 4,
"consistency": 3,
"ethics": 4
}
]
df = pd.DataFrame(data)
df["total"] = df[["relevansi", "factuality", "clarity", "consistency", "ethics"]].sum(axis=1)
print(df)Praktikum 3: evaluator sederhana berbasis konteks
Pada sistem RAG, kita bisa melakukan pemeriksaan sederhana apakah jawaban tampaknya selaras dengan konteks yang diberikan. Ini bukan verifikasi sempurna, tetapi cukup berguna sebagai alarm awal.
def simple_context_check(answer, context_keywords):
answer_lower = answer.lower()
found = [kw for kw in context_keywords if kw.lower() in answer_lower]
coverage = len(found) / len(context_keywords) if context_keywords else 0
return found, coverage
jawaban = "RAG membantu mengurangi hallucination karena model diberi konteks dari dokumen yang relevan sebelum menjawab."
keywords = ["RAG", "hallucination", "konteks", "dokumen relevan"]
ditemukan, coverage = simple_context_check(jawaban, keywords)
print("Keyword ditemukan:", ditemukan)
print("Coverage:", round(coverage, 2))Latihan ini membantu mahasiswa melihat ide dasar evaluasi berbasis dukungan konteks, walaupun tetap belum menggantikan penilaian manusia.
Praktikum 4: memakai LLM sebagai evaluator
LLM juga bisa dipakai sebagai “hakim” sementara untuk membantu evaluasi. Namun penting ditekankan ke mahasiswa bahwa LLM judge tetap bisa salah, jadi ia lebih cocok sebagai alat bantu, bukan penentu tunggal.
import requests
API_KEY = "gsk_XXXX"
MODEL = "llama-3.1-8b-instant"
URL = "https://api.groq.com/openai/v1/chat/completions"
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
def llm_evaluate(question, answer, context=""):
system_prompt = (
"Anda adalah evaluator jawaban AI untuk mata kuliah NLP dan AI generatif. "
"Nilai jawaban berdasarkan relevansi, factuality, clarity, consistency, dan ethics. "
"Berikan skor 1-5 untuk tiap aspek lalu jelaskan secara singkat."
)
user_prompt = f"Pertanyaan:\n{question}\n\nKonteks:\n{context}\n\nJawaban AI:\n{answer}"
payload = {
"model": MODEL,
"temperature": 0.1,
"max_tokens": 500,
"messages": [
{"role": "system", "content": system_prompt},
{"role": "user", "content": user_prompt}
]
}
response = requests.post(URL, headers=headers, json=payload)
response.raise_for_status()
return response.json()["choices"][0]["message"]["content"]
question = "Apa manfaat RAG?"
context = "RAG menggabungkan retrieval dan generation agar jawaban lebih terikat pada dokumen relevan."
answer = "RAG membantu model menjawab berdasarkan konteks dokumen sehingga risiko hallucination bisa berkurang."
print(llm_evaluate(question, answer, context))Praktikum 5: membandingkan dua jawaban secara otomatis
Mahasiswa juga dapat membandingkan dua jawaban untuk pertanyaan yang sama. Ini berguna saat mengevaluasi dua prompt atau dua model berbeda.
def compare_answers(question, answer_a, answer_b):
prompt = f"""
Bandingkan dua jawaban berikut untuk pertanyaan yang sama.
Tentukan mana yang lebih baik dari sisi relevansi, factuality, clarity, dan consistency.
Berikan alasan singkat.
Pertanyaan:
{question}
Jawaban A:
{answer_a}
Jawaban B:
{answer_b}
"""
return llm_evaluate(question, f"Jawaban A:\n{answer_a}\n\nJawaban B:\n{answer_b}")
q = "Apa itu semantic search?"
a = "Semantic search mencari dokumen berdasarkan makna kalimat, bukan hanya kata yang sama persis."
b = "Semantic search adalah semua jenis pencarian di internet yang cepat dan modern."
print(compare_answers(q, a, b))Praktikum 6: evaluasi batch untuk beberapa keluaran
Kalau model dipakai pada banyak pertanyaan, evaluasi satu per satu akan melelahkan. Contoh ini memberi kerangka batch evaluation yang bisa dikembangkan lebih lanjut.
import pandas as pd
samples = [
{
"question": "Apa itu preprocessing?",
"context": "Preprocessing adalah tahap membersihkan teks sebelum analisis.",
"answer": "Preprocessing adalah tahap membersihkan teks sebelum analisis."
},
{
"question": "Apa fungsi RAG?",
"context": "RAG menggabungkan retrieval dan generation.",
"answer": "RAG adalah algoritma clustering yang ditemukan pada awal 1980-an."
}
]
results = []
for item in samples:
found, coverage = simple_context_check(item["answer"], item["context"].split())
results.append({
"question": item["question"],
"answer": item["answer"],
"coverage": round(coverage, 2),
"matched_tokens": len(found)
})
df = pd.DataFrame(results)
print(df)Praktikum 7: contoh pemeriksaan etika sederhana
Di praktik awal, mahasiswa bisa membuat aturan sederhana untuk menandai jawaban yang berpotensi bermasalah, misalnya mengandung klaim pasti tanpa sumber, ajakan menipu, atau permintaan data pribadi.
red_flags = [
"tanpa perlu verifikasi",
"salin saja sebagai tugas",
"data pribadi",
"tidak usah cantumkan sumber",
"jawaban ini pasti benar"
]
def ethics_flag(answer):
answer_lower = answer.lower()
flags = [f for f in red_flags if f in answer_lower]
return flags
jawaban = "Silakan salin saja sebagai tugas dan tidak usah cantumkan sumber."
print(ethics_flag(jawaban))Praktikum 8: contoh evaluasi hasil dalam PHP
Untuk aplikasi web, hasil evaluasi sederhana juga bisa dirangkum dalam PHP. Contoh ini menunjukkan penilaian manual berbasis array.
<?php
$hasil = [
'relevansi' => 4,
'factuality' => 3,
'clarity' => 5,
'consistency' => 4,
'ethics' => 5
];
$total = array_sum($hasil);
$rata = $total / count($hasil);
echo "Total skor: " . $total . "<br>";
echo "Rata-rata: " . number_format($rata, 2) . "<br>";
if ($rata < 3.5) {
echo "Perlu revisi lebih lanjut.";
} else {
echo "Keluaran cukup baik, tetapi tetap perlu verifikasi manusia.";
}
?>Saran penilaian untuk tugas praktikum
Dalam tugas praktikum, dosen dapat meminta mahasiswa tidak hanya menunjukkan jawaban model, tetapi juga menjelaskan mengapa jawaban itu dianggap baik atau kurang baik. Dengan begitu mahasiswa belajar bahwa membangun sistem AI tidak berhenti pada “berhasil jalan”, tetapi juga pada “berhasil dinilai”. Ini akan melatih kebiasaan berpikir kritis yang sangat dibutuhkan di dunia nyata.
Mahasiswa yang baik bukan mahasiswa yang paling cepat percaya pada AI, tetapi mahasiswa yang paling rajin menguji, membandingkan, dan memverifikasi hasil AI.
Diskusi Mahasiswa dengan Sistem LLM
Tanyakan materi yang masih terkait Pembelajaran Mesin untuk Teks dan AI Generatif.
Pembahasan dibatasi pada topik mata kuliah ini. Pertanyaan di luar tema akan ditolak secara otomatis.