Evaluasi kebenaran dasar
Kebenaran dasar adalah jawaban yang benar yang diketahui atau perilaku yang diharapkan untuk masukan yang diberikan — “standar emas” yang Anda bandingkan dengan hasil aktual. Untuk evaluasi agen, ground truth mengubah penilaian kualitas subjektif menjadi pengukuran objektif, memungkinkan deteksi regresi, kumpulan data benchmark, dan kebenaran spesifik domain yang tidak dapat disediakan oleh evaluator generik sendiri.
Dengan evaluasi kebenaran dasar, Anda memberikan input referensi di samping rentang sesi Anda saat memanggil API Evaluate. Layanan menggunakan input referensi ini untuk menilai perilaku aktual agen Anda terhadap perilaku yang diharapkan. Evaluator yang tidak menggunakan bidang kebenaran dasar tertentu mengabaikannya dan melaporkan bidang mana yang tidak digunakan dalam respons.
Evaluator bawaan yang didukung dan bidang kebenaran dasar
Tabel berikut menunjukkan evaluator bawaan mana yang mendukung kebenaran dasar dan bidang mana yang mereka gunakan.
| Evaluator | Tingkat | Bidang kebenaran dasar | Deskripsi |
|---|---|---|---|
|
|
Jejak |
|
Mengukur seberapa akurat respons agen sesuai dengan jawaban yang diharapkan. Menggunakan LLM-as-a-Judge penilaian. |
|
|
Sesi |
|
Memvalidasi apakah perilaku agen memenuhi pernyataan bahasa alami di seluruh sesi. Menggunakan LLM-as-a-Judge penilaian. |
|
|
Sesi |
|
Memeriksa apakah urutan panggilan alat yang sebenarnya cocok dengan urutan yang diharapkan persis — alat yang sama, urutan yang sama, tidak ada tambahan. Skor terprogram (tidak ada panggilan LLM). |
|
|
Sesi |
|
Memeriksa bahwa semua alat yang diharapkan muncul secara berurutan dalam urutan yang sebenarnya, tetapi memungkinkan alat tambahan di antara mereka. Penilaian terprogram. |
|
|
Sesi |
|
Memeriksa bahwa semua alat yang diharapkan ada dalam urutan yang sebenarnya, terlepas dari urutannya. Alat tambahan diperbolehkan. Penilaian terprogram. |
catatan
Evaluator khusus juga mendukung bidang kebenaran dasar melalui placeholder dalam instruksi evaluasi mereka. Lihat Kebenaran dasar di evaluator khusus untuk detailnya.
Tabel berikut menjelaskan bidang kebenaran dasar.
| Bidang | Tipe | Lingkup | Deskripsi |
|---|---|---|---|
|
|
String |
Jejak |
Respon agen yang diharapkan untuk giliran tertentu. Dicakup ke jejak menggunakan |
|
|
Daftar string |
Sesi |
Pernyataan bahasa alami yang harus benar tentang perilaku agen di seluruh sesi. |
|
|
Daftar nama alat |
Sesi |
Urutan panggilan alat yang diharapkan untuk sesi tersebut. |
-
Bidang kebenaran dasar adalah opsional. Jika Anda menghilangkannya, evaluator kembali ke mode bebas kebenaran dasar mereka (misalnya,
Builtin.Correctnessmasih berfungsi tanpaexpectedResponse, itu hanya mengevaluasi berdasarkan konteks saja). -
Anda dapat menyediakan semua bidang kebenaran dasar dalam satu permintaan. Layanan memilih bidang yang relevan untuk setiap evaluator dan laporan
ignoredReferenceInputFieldsdalam respons untuk bidang apa pun yang tidak digunakan. -
Anda tidak perlu menyediakan
expectedResponseuntuk setiap jejak. Jejak tanpa kebenaran dasar dievaluasi menggunakan varian bebas kebenaran dasar dari evaluator.
Prasyarat
-
Python 3.10+
-
Agen yang digunakan pada AgentCore Runtime dengan kemampuan observabilitas diaktifkan, atau agen yang dibuat dengan kerangka kerja yang didukung yang dikonfigurasi dengan Observability. AgentCore Kerangka kerja yang didukung:
-
Agen Helai
-
LangGraph dengan
opentelemetry-instrumentation-langchainatauopeninference-instrumentation-langchain
-
-
Penelusuran Transaksi diaktifkan di CloudWatch — lihat Aktifkan Pencarian Transaksi
-
AWS kredensil yang dikonfigurasi dengan izin untuk
bedrock-agentcore,bedrock-agentcore-control, dan ()logsCloudWatch
Untuk petunjuk tentang mengunduh rentang sesi, lihat Memulai evaluasi sesuai permintaan.
Tentang contoh-contohnya
Contoh di halaman ini menggunakan agen sampel dari tutorial AgentCore Evaluasi.calculator dan weather — dan digunakan di AgentCore Runtime dengan kemampuan observasi diaktifkan.
Contoh-contoh mengasumsikan sesi dua putaran:
-
Putaran 1: “Apa itu 15 + 27?” — agen menggunakan
calculatoralat dan merespons dengan hasilnya. -
Giliran 2: “Bagaimana cuacanya?” — agen menggunakan
weatheralat dan merespons dengan cuaca saat ini.
Sebelum menjalankan evaluasi, panggil agen Anda dan tunggu 2-5 menit CloudWatch untuk menelan data telemetri.
Konstanta berikut digunakan di seluruh contoh di halaman ini. Ganti dengan nilai Anda sendiri:
REGION = "<region-code>" AGENT_ID = "my-agent-id" SESSION_ID = "my-session-id" TRACE_ID_1 = "<trace-id-1>" # Turn 1: "What is 15 + 27?" TRACE_ID_2 = "<trace-id-2>" # Turn 2: "What's the weather?"
Kebenaran dengan respons yang diharapkan
Builtin.Correctnessadalah evaluator tingkat jejak yang mengukur seberapa akurat respons agen sesuai dengan jawaban yang diharapkan. Ketika Anda memberikanexpectedResponse, evaluator membandingkan respons aktual agen terhadap kebenaran dasar Anda menggunakan LLM-as-a-Judge penilaian.
contoh
GoalSuccessRate dengan pernyataan
Builtin.GoalSuccessRateadalah evaluator tingkat sesi yang memvalidasi apakah perilaku agen memenuhi serangkaian pernyataan bahasa alami. Pernyataan dapat memeriksa penggunaan alat, konten respons, urutan tindakan, atau perilaku lain yang dapat diamati di seluruh percakapan.
catatan
Contoh di bawah ini menggunakan pernyataan yang memvalidasi penggunaan alat, tetapi pernyataan adalah bahasa alami bentuk bebas — Anda dapat menggunakannya untuk menegaskan aspek perilaku agen apa pun, seperti nada respons, akurasi faktual, kepatuhan keselamatan, atau logika bisnis.
contoh
Pencocokan lintasan dengan lintasan yang diharapkan
Evaluator lintasan membandingkan urutan panggilan alat agen yang sebenarnya dengan urutan nama alat yang diharapkan. Tiga varian tersedia, masing-masing dengan keketatan pencocokan yang berbeda. Ketiganya adalah evaluator tingkat sesi dan menggunakan penilaian terprogram (tidak ada panggilan LLM, jadi penggunaan token nol).
| Evaluator | Aturan pencocokan | Contoh |
|---|---|---|
|
|
Aktual harus sama persis dengan yang diharapkan — alat yang sama, urutan yang sama, tidak ada tambahan |
Diharapkan: |
|
|
Alat yang diharapkan harus muncul secara berurutan, tetapi alat tambahan diperbolehkan di antara mereka |
Diharapkan: |
|
|
Semua alat yang diharapkan harus ada, pesanan tidak masalah, ekstra diizinkan |
Diharapkan: |
contoh
Menggabungkan semua bidang kebenaran dasar dalam satu permintaan
Anda dapat melewati semua bidang kebenaran dasar bersama-sama dalam satu panggilan evaluasi. Layanan merutekan setiap bidang ke evaluator yang sesuai dan mengabaikan bidang yang tidak digunakan oleh evaluator tertentu. Ini berarti Anda dapat membuat input referensi Anda sekali dan menggunakannya kembali di berbagai evaluator tanpa memodifikasi payload.
contoh
Memahami bidang input referensi yang diabaikan
Saat Anda menyediakan bidang kebenaran dasar yang tidak digunakan evaluator, responsnya menyertakan ignoredReferenceInputFields larik yang mencantumkan bidang yang tidak digunakan. Ini informasional, bukan kesalahan — evaluasi masih berhasil diselesaikan.
Misalnya, jika Anda menelepon Builtin.Helpfulness dengan expectedResponse disediakan, evaluator mengabaikan kebenaran dasar (Helpfulness tidak menggunakannya) dan mengembalikan:
{ "evaluatorId": "Builtin.Helpfulness", "value": 0.83, "label": "Very Helpful", "explanation": "...", "ignoredReferenceInputFields": ["expectedResponse"] }
Perilaku ini dirancang — ini memungkinkan Anda untuk membuat satu set input referensi dan menggunakannya di beberapa evaluator tanpa menyesuaikan muatan untuk masing-masing.
Kebenaran dasar dalam evaluator khusus
Evaluator khusus dapat menggunakan bidang kebenaran dasar melalui placeholder dalam instruksi evaluasi mereka. Saat membuat evaluator kustom, Anda dapat mereferensikan placeholder berikut:
-
Session-level evaluator kustom:
{context},,{available_tools},{actual_tool_trajectory},{expected_tool_trajectory}{assertions} -
Trace-level evaluator kustom:
{context},,{assistant_turn}{expected_response}
Misalnya, evaluator tingkat penelusuran khusus yang memeriksa kesamaan respons mungkin menggunakan:
Compare the agent's response with the expected response. Agent response: {assistant_turn} Expected response: {expected_response} Rate how closely the agent's response matches the expected response on a scale of 0 to 1.
Ketika evaluator ini dipanggil dengan expectedResponse dalam input referensi, layanan mengganti placeholder dengan nilai kebenaran dasar yang sebenarnya sebelum mencetak skor.
Untuk detail tentang membuat evaluator kustom, lihat Evaluator kustom.
catatan
Evaluator khusus yang menggunakan placeholder kebenaran dasar ({assertions},{expected_response},{expected_tool_trajectory}) tidak dapat digunakan dalam konfigurasi evaluasi online, karena evaluasi online memantau lalu lintas produksi langsung di mana nilai kebenaran dasar tidak tersedia.