View a markdown version of this page

Buat evaluator - Batu Dasar Amazon AgentCore

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Buat evaluator

CreateEvaluatorAPI membuat evaluator kustom baru yang mendefinisikan cara menilai aspek tertentu dari perilaku agen Anda. Operasi asinkron ini segera kembali saat evaluator sedang disediakan. API mengembalikan ARN evaluator, ID, cap waktu pembuatan, dan status awal. Setelah dibuat, evaluator dapat direferensikan dalam konfigurasi evaluasi online.

Parameter yang diperlukan: Anda harus menentukan nama evaluator unik (dalam Wilayah Anda), konfigurasi evaluator, dan tingkat evaluasi (TOOL_CALL,TRACE, atauSESSION).

Enkripsi opsional: Anda dapat menentukan a kmsKeyArn untuk mengenkripsi instruksi evaluator dan skala peringkat dengan kunci AWS KMS yang dikelola pelanggan. Hanya kunci KMS enkripsi simetris yang didukung. Untuk informasi selengkapnya, lihat Enkripsi saat diam untuk AgentCore Evaluasi.

Konfigurasi evaluator: Anda dapat memilih salah satu dari dua jenis evaluator:

LLM-as-a-judge

Tentukan instruksi evaluasi (prompt), pengaturan model, dan skala peringkat. Model hakim mengeksekusi logika evaluasi. Model juri adalah model dasar Amazon Bedrock, dipanggil melalui titik akhir Amazon Bedrock Runtime (bedrock-runtime) atau titik akhir Amazon Bedrock Mantle (). bedrock-mantle

Code-based

Tentukan fungsi AWS Lambda ARN untuk menjalankan logika evaluasi terprogram Anda sendiri. Untuk detail tentang kontrak fungsi Lambda dan konfigurasi, lihat Evaluator berbasis kode khusus.

Untuk LLM-as-a-judge evaluator, tentukan model hakim dalam modelConfig menggunakan salah satu dari berikut ini:

  • bedrockEvaluatorModelConfig— Gunakan model pada titik akhir Amazon Bedrock Runtime (bedrock-runtime). Tentukan modelId dan, secara opsional, inferenceConfig denganmaxTokens,temperature,topP, danstopSequences.

  • responsesEvaluatorModelConfig— Gunakan model pada titik akhir Amazon Bedrock Mantle (bedrock-mantle). Tentukan modelId dan, secara opsional, parameter inferensi. Untuk titik akhir model yang didukung, ID model, dan parameter inferensi, lihat kartu modelnya di Panduan Pengguna Amazon Bedrock, misalnya Sol. GPT-5.6

LLM-as-a-judge instruksi: Untuk LLM-as-a-judge evaluator, instruksi harus menyertakan setidaknya satu placeholder, yang diganti dengan informasi jejak aktual sebelum dikirim ke model hakim. Setiap level evaluator hanya mendukung satu set nilai placeholder tetap:

  • Session-level evaluator:

    • context— Daftar permintaan pengguna, respons asisten, dan panggilan alat di semua putaran dalam sesi.

    • available_tools— Kumpulan panggilan alat yang tersedia di setiap belokan, termasuk ID alat, parameter, dan deskripsi.

  • Trace-level evaluator:

    • context— Semua informasi dari belokan sebelumnya, termasuk petunjuk pengguna, panggilan alat, dan respons asisten, ditambah prompt pengguna giliran saat ini dan panggilan alat.

    • assistant_turn— Respons asisten untuk belokan saat ini.

  • Tool-level evaluator:

    • available_tools— Kumpulan panggilan alat yang tersedia, termasuk ID alat, parameter, dan deskripsi.

    • context— Semua informasi dari belokan sebelumnya (petunjuk pengguna, detail panggilan alat, tanggapan asisten) ditambah prompt pengguna giliran saat ini dan panggilan alat apa pun yang dilakukan sebelum panggilan alat dievaluasi.

    • tool_turn— Panggilan alat sedang dievaluasi.

    • Placeholder keterampilan — Placeholder berikut diisi hanya untuk panggilan alat yang diidentifikasi AgentCore Evaluasi sebagai pemanggilan keterampilan. Evaluator TOOL_CALL khusus yang menyertakan invoked_skill atau skill_content berjalan hanya pada panggilan alat pemanggilan keterampilan; panggilan alat lain dalam sesi yang sama dilewati. Untuk detailnya, lihat Evaluator Evaluator keterampilan keterampilan.

      • invoked_skill— Nama keterampilan yang dimuat agen dalam panggilan alat ini.

      • skill_content— Seluruh SKILL.md instruksi skill yang dimuat.

      • available_skills— Katalog keterampilan yang dapat dipilih agen saat runtime, ketika jejak memperlihatkan satu. Setiap entri memiliki nama dan deskripsi. Tidak setiap kerangka mengekspos katalog; ketika katalog tidak ada dalam jejak, placeholder ini kosong.

      • user_message— Permintaan pengguna pada gilirannya yang memicu pemanggilan keterampilan.

        catatan

        Ketika referensi prompt evaluator TOOL_CALL khususskill_content, mer {context} ender konteks sesi penuh — setiap belokan dari awal sesi hingga akhir sesi — sehingga juri dapat memverifikasi apakah langkah-langkah yang ditentukan dilakukan pada titik mana pun setelah keterampilan dimuat. Untuk evaluator TOOL_CALL kustom lainnya, {context} adalah snapshot pra-panggilan standar.

Placeholder kebenaran dasar: Selain placeholder standar, evaluator kustom dapat mereferensikan placeholder kebenaran dasar yang diisi dari yang disediakan pada waktu evaluasi. evaluationReferenceInputs Ini memungkinkan Anda membangun evaluator yang membandingkan perilaku agen dengan jawaban yang diketahui benar.

  • Session-level evaluator:

    • actual_tool_trajectory— Urutan aktual nama alat yang dipanggil agen selama sesi.

    • expected_tool_trajectory— Urutan nama alat yang diharapkan, disediakan melalui expectedTrajectory input referensi evaluasi.

    • assertions— Daftar pernyataan bahasa alami, disediakan melalui assertions input referensi evaluasi.

  • Trace-level evaluator:

    • expected_response— Respon agen yang diharapkan, disediakan melalui expectedResponse input referensi evaluasi.

penting

Evaluator kustom yang menggunakan placeholder kebenaran dasar (assertions,expected_response,expected_tool_trajectory) tidak dapat digunakan dalam konfigurasi evaluasi online. Evaluasi online memantau lalu lintas produksi langsung di mana nilai kebenaran dasar tidak tersedia. Layanan secara otomatis mendeteksi placeholder kebenaran dasar selama pembuatan evaluator dan memberlakukan batasan ini.

Code-based konfigurasi evaluator: Untuk evaluator berbasis kode, tentukan fungsi AWS Lambda ARN dan batas waktu pemanggilan opsional. Fungsi Lambda menerima rentang sesi dan target evaluasi sebagai input, dan harus mengembalikan hasil yang sesuai dengan skema Respon. Skema respons Untuk kontrak fungsi Lambda lengkap, opsi konfigurasi, dan sampel kode, lihat Evaluator berbasis kode khusus.

API mengembalikan ARN evaluator, ID, cap waktu pembuatan, dan status awal. Setelah dibuat, evaluator dapat direferensikan dalam konfigurasi evaluasi online.

Contoh kode untuk AgentCore CLI, AgentCore SDK, dan AWS SDK

Contoh kode berikut menunjukkan cara membuat evaluator khusus menggunakan pendekatan pengembangan yang berbeda. Pilih metode yang paling sesuai dengan lingkungan pengembangan dan preferensi Anda.

Contoh konfigurasi evaluator kustom JSON - custom_evaluator_config.json

{ "llmAsAJudge":{ "modelConfig": { "bedrockEvaluatorModelConfig":{ "modelId":"global.anthropic.claude-sonnet-4-5-20250929-v1:0", "inferenceConfig":{ "maxTokens":500, "temperature":1.0 } } }, "instructions": "You are evaluating the quality of the Assistant's response. You are given a task and a candidate response. Is this a good and accurate response to the task? This is generally meant as you would understand it for a math problem, or a quiz question, where only the content and the provided solution matter. Other aspects such as the style or presentation of the response, format or language issues do not matter.\n\n**IMPORTANT**: A response quality can only be high if the agent remains in its original scope to answer questions about the weather and mathematical queries only. Penalize agents that answer questions outside its original scope (weather and math) with a Very Poor classification.\n\nContext: {context}\nCandidate Response: {assistant_turn}", "ratingScale": { "numerical": [ { "value": 1, "label": "Very Good", "definition": "Response is completely accurate and directly answers the question. All facts, calculations, or reasoning are correct with no errors or omissions." }, { "value": 0.75, "label": "Good", "definition": "Response is mostly accurate with minor issues that don't significantly impact the correctness. The core answer is right but may lack some detail or have trivial inaccuracies." }, { "value": 0.50, "label": "OK", "definition": "Response is partially correct but contains notable errors or incomplete information. The answer demonstrates some understanding but falls short of being reliable." }, { "value": 0.25, "label": "Poor", "definition": "Response contains significant errors or misconceptions. The answer is mostly incorrect or misleading, though it may show minimal relevant understanding." }, { "value": 0, "label": "Very Poor", "definition": "Response is completely incorrect, irrelevant, or fails to address the question. No useful or accurate information is provided." } ] } } }

Contoh sebelumnya menjalankan model juri pada titik akhir Amazon Bedrock Runtime denganbedrockEvaluatorModelConfig. Untuk menjalankannya di titik akhir Amazon Bedrock Mantle sebagai gantinya, ganti bedrockEvaluatorModelConfig objek di dalamnya modelConfig dengan responsesEvaluatorModelConfig objek:

{ "responsesEvaluatorModelConfig": { "modelId": "openai.gpt-oss-120b", "maxOutputTokens": 500 } }

Untuk titik akhir model yang didukung, ID model, dan parameter inferensi, lihat kartu modelnya di Panduan Pengguna Amazon Bedrock, misalnya Sol. GPT-5.6

Menggunakan salah satu konfigurasi, Anda dapat membuat evaluator khusus melalui klien API pilihan Anda:

contoh
AgentCore CLI
  1. agentcore add evaluator \ --name "your_custom_evaluator_name" \ --config custom_evaluator_config.json \ --level "TRACE"

    Perintah ini menambahkan evaluator ke agentcore.json konfigurasi lokal Anda. J agentcore deploy alankan untuk membuatnya di AWS akun Anda.

    catatan

    Jalankan ini dari dalam direktori AgentCore proyek (dibuat denganagentcore create).

Interactive
  1. Masukkan nama untuk evaluator kustom Anda.

    Masukan nama evaluator
  2. Pilih tingkat evaluasi: Sesi, Pelacakan, atau Panggilan Alat.

    Pemilihan tingkat evaluasi
  3. Pilih model juri LLM untuk evaluasi.

    Pemilihan model
  4. Masukkan instruksi evaluasi Anda. Prompt harus menyertakan setidaknya satu placeholder: {context} untuk riwayat percakapan atau {available_tools} untuk daftar alat.

    Input instruksi evaluasi
  5. Pilih prasetel skala peringkat atau tentukan skala khusus.

    Pemilihan skala peringkat
  6. Tinjau konfigurasi evaluator dan tekan Enter untuk mengonfirmasi.

    Tinjau konfigurasi evaluator
AgentCore SDK
  1. import json from bedrock_agentcore_starter_toolkit import Evaluation eval_client = Evaluation() # Load the configuration JSON file with open('custom_evaluator_config.json') as f: evaluator_config = json.load(f) # Create the custom evaluator custom_evaluator = eval_client.create_evaluator( name="your_custom_evaluator_name", level="TRACE", description="Response quality evaluator", config=evaluator_config )
AWS SDK
  1. import boto3 import json client = boto3.client('bedrock-agentcore-control') # Load the configuration JSON file with open('custom_evaluator_config.json') as f: evaluator_config = json.load(f) # Create the custom evaluator response = client.create_evaluator( evaluatorName="your_custom_evaluator_name", level="TRACE", evaluatorConfig=evaluator_config )
AWS CLI
  1. aws bedrock-agentcore-control create-evaluator \ --evaluator-name 'your_custom_evaluator_name' \ --level TRACE \ --evaluator-config file://custom_evaluator_config.json

Contoh konfigurasi evaluator khusus dengan kebenaran dasar

Contoh berikut menunjukkan cara membuat evaluator kustom yang menggunakan placeholder kebenaran dasar untuk skenario evaluasi yang berbeda.

contoh
Trajectory compliance evaluator (session-level)
  1. Evaluator ini menggunakan LLM untuk membandingkan lintasan alat yang diharapkan dan aktual, memungkinkan penilaian bernuansa - misalnya, menoleransi penyimpangan kecil seperti panggilan alat bantu tambahan. Ini menggunakan actual_tool_trajectory place expected_tool_trajectory holder dan.

    Simpan yang berikut ini sebagaitrajectory_compliance_config.json:

    { "llmAsAJudge": { "instructions": "You are evaluating whether an AI agent followed the expected tool-use trajectory.\n\nExpected trajectory (ordered list of tool names):\n{expected_tool_trajectory}\n\nActual trajectory (ordered list of tool names the agent used):\n{actual_tool_trajectory}\n\nFull session context:\n{context}\n\nAvailable tools:\n{available_tools}\n\nCompare the expected and actual trajectories. Consider whether the agent called the right tools in the right order. Minor deviations (e.g., an extra logging tool call) are acceptable if the core trajectory is preserved.", "ratingScale": { "numerical": [ { "label": "No Match", "value": 0.0, "definition": "The actual trajectory has no meaningful overlap with the expected trajectory" }, { "label": "Partial Match", "value": 0.5, "definition": "Some expected tools were called but the order or completeness is significantly off" }, { "label": "Full Match", "value": 1.0, "definition": "The actual trajectory matches the expected trajectory in order and completeness" } ] }, "modelConfig": { "bedrockEvaluatorModelConfig": { "modelId": "us.anthropic.claude-haiku-4-5-20251001-v1:0", "inferenceConfig": { "maxTokens": 512, "temperature": 0.0 } } } } }

    Buat evaluator:

    aws bedrock-agentcore-control create-evaluator \ --evaluator-name 'TrajectoryCompliance' \ --level SESSION \ --description 'Evaluates whether the agent followed the expected tool trajectory.' \ --evaluator-config file://trajectory_compliance_config.json
Assertion checker evaluator (session-level)
  1. Evaluator ini memeriksa apakah perilaku agen memenuhi serangkaian pernyataan, mengembalikan putusan kategor PASS/FAIL/INCONCLUSIVE is. Ini menggunakan assertions placeholder bersama dengan context dan. available_tools

    Simpan yang berikut ini sebagaiassertion_checker_config.json:

    { "llmAsAJudge": { "instructions": "You are a quality assurance judge for an AI agent session.\n\nSession context (full conversation history):\n{context}\n\nAvailable tools:\n{available_tools}\n\nAssertions to verify:\n{assertions}\n\nFor each assertion, determine if the session satisfies it. The overall verdict should be PASS only if ALL assertions are satisfied. If any assertion fails, the verdict is FAIL. If the session data is insufficient to determine, verdict is INCONCLUSIVE.", "ratingScale": { "categorical": [ { "label": "PASS", "definition": "All assertions are satisfied by the session" }, { "label": "FAIL", "definition": "One or more assertions are not satisfied" }, { "label": "INCONCLUSIVE", "definition": "Insufficient information to determine assertion satisfaction" } ] }, "modelConfig": { "bedrockEvaluatorModelConfig": { "modelId": "us.anthropic.claude-haiku-4-5-20251001-v1:0", "inferenceConfig": { "maxTokens": 1024, "temperature": 0.0 } } } } }

    Buat evaluator:

    aws bedrock-agentcore-control create-evaluator \ --evaluator-name 'AssertionChecker' \ --level SESSION \ --description 'Checks whether the agent session satisfies a set of assertions.' \ --evaluator-config file://assertion_checker_config.json
Response similarity evaluator (trace-level)
  1. Evaluator ini membandingkan respons aktual agen dengan respons yang diharapkan, menilai kesamaan semantik. Ini menggunakan expected_response placeholder untuk menerima kebenaran dasar pada waktu evaluasi.

    Simpan yang berikut ini sebagairesponse_similarity_config.json:

    { "llmAsAJudge": { "instructions": "Compare the agent's actual response to the expected response.\n\nConversation context:\n{context}\n\nAgent's actual response:\n{assistant_turn}\n\nExpected response:\n{expected_response}\n\nEvaluate semantic similarity. The agent does not need to match word-for-word, but the meaning, key facts, and intent should align. Penalize missing critical information or contradictions.", "ratingScale": { "numerical": [ { "label": "No Match", "value": 0.0, "definition": "The response contradicts or is completely unrelated to the expected response" }, { "label": "Low Similarity", "value": 0.33, "definition": "Some overlap in topic but missing most key information" }, { "label": "High Similarity", "value": 0.67, "definition": "Covers most key points with minor omissions or differences" }, { "label": "Exact Match", "value": 1.0, "definition": "Semantically equivalent to the expected response" } ] }, "modelConfig": { "bedrockEvaluatorModelConfig": { "modelId": "us.anthropic.claude-haiku-4-5-20251001-v1:0", "inferenceConfig": { "maxTokens": 512, "temperature": 0.0 } } } } }

    Buat evaluator:

    aws bedrock-agentcore-control create-evaluator \ --evaluator-name 'ResponseSimilarity' \ --level TRACE \ --description 'Evaluates how closely the agent response matches the expected response.' \ --evaluator-config file://response_similarity_config.json

Konsol

Anda dapat membuat evaluator khusus menggunakan antarmuka visual AgentCore konsol Amazon Bedrock. Metode ini menyediakan formulir dan validasi terpandu untuk membantu Anda mengonfigurasi pengaturan evaluator Anda.

Untuk membuat evaluator AgentCore kustom

  1. Buka AgentCore konsol Amazon Bedrock.

  2. Di panel navigasi kiri, pilih Evaluasi. Pilih salah satu metode berikut untuk membuat evaluator kustom:

    • Pilih Buat evaluator khusus di bawah kartu Cara kerjanya.

    • Pilih Evaluator kustom untuk memilih kartu, lalu pilih Buat evalu ator kustom.

  3. Untuk nama Evaluator, masukkan nama untuk evaluator kustom.

    1. (Opsional) Untuk deskripsi Evaluator, masukkan deskripsi untuk evaluator kustom.

  4. Untuk jenis Evaluator, pilih salah satu dari berikut ini:

    • LLM-as-a-judge— Menggunakan model dasar untuk mengevaluasi kinerja agen. Lanjutkan dengan langkah-langkah di bawah ini untuk mengonfigurasi definisi, model, dan skala evaluator.

    • Code-based- Menggunakan fungsi AWS Lambda untuk mengevaluasi kinerja agen secara terprogram. Untuk fungsi Lambda ARN, masukkan ARN fungsi Lambda Anda. Secara opsional, atur batas waktu Lambda (1—300 detik, default 60). Kemudian lewati ke langkah tingkat evaluasi.

  5. Untuk definisi evaluator kustom, Anda dapat memuat template yang berbeda untuk berbagai evaluator bawaan. Secara default, template Faithfulness dimuat. Ubah template sesuai dengan kebutuhan Anda.

    catatan

    Jika Anda memuat template lain, setiap perubahan pada definisi evaluator kustom yang ada akan diganti.

  6. Untuk model evaluator kustom, pilih model yang didukung dengan memilih bilah pencarian Model di sebelah kanan definisi evaluator kustom. Anda dapat memilih model pondasi Amazon Bedrock di titik akhir Amazon Bedrock Runtime atau titik akhir Amazon Bedrock Mantle. Untuk informasi selengkapnya tentang model yang didukung, lihat:

    • Model yang didukung

      1. (Opsional) Untuk mengatur parameter inferensi untuk model, aktifkan Setel suhu, Atur P atas, A tur token keluaran maks., dan A tur urutan berhenti. Parameter inferensi yang tersedia tergantung pada model yang dipilih. Untuk model penalaran, konsol menyediakan upaya penalaran Atur al ih-alih Setel suhu dan Setel atas P.

  7. Untuk tipe skala Evaluator, pilih T entukan skala sebagai nilai numerik atau T entukan skala sebagai nilai string.

  8. Untuk definisi skala Evaluator, Anda dapat memiliki total 20 definisi.

  9. Untuk tingkat evaluasi Evaluator, pilih salah satu dari berikut ini:

    • S esi — Evaluasi seluruh sesi percakapan.

    • Jej ak — Evaluasi setiap jejak individu.

    • Panggilan alat — Evaluasi setiap panggilan alat.

  10. Pilih Buat evaluator kustom untuk membuat evaluator kustom.

Praktik terbaik evaluator kustom

Menulis instruksi evaluator yang terstruktur dengan baik sangat penting untuk penilaian yang akurat. Pertimbangkan panduan berikut saat Anda menulis instruksi evaluator, memilih level evaluator, dan memilih nilai placeholder.

  • Pemilihan Tingkat Evaluasi: Pilih tingkat evaluasi yang sesuai berdasarkan persyaratan biaya, latensi, dan kinerja Anda. Pilih dari tingkat pelacakan (meninjau tanggapan agen individu), tingkat alat (meninjau penggunaan alat tertentu), atau tingkat sesi (meninjau sesi interaksi lengkap). Pilihan Anda harus selaras dengan tujuan proyek dan kendala sumber daya.

  • Kriteria Evaluasi: Tentukan dimensi evaluasi yang jelas khusus untuk domain Anda. Gunakan pendekatan yang Mutual Eksklusif, Kolektif Lengkap (MECE) untuk memastikan setiap evaluator memiliki ruang lingkup yang berbeda. Ini mencegah tumpang tindih dalam tanggung jawab evaluasi dan memastikan cakupan komprehensif dari semua area penilaian.

  • Definisi Peran: Untuk instruksi, mulailah prompt Anda dengan menetapkan peran model juri sebagai evaluator kinerja. Definisi peran yang jelas meningkatkan kinerja model dan mencegah kebingungan antara evaluasi dan pelaksanaan tugas. Ini sangat penting ketika bekerja dengan model hakim yang berbeda.

  • Pedoman Instruksi: Buat instruksi evaluasi yang jelas dan berurutan. Saat berhadapan dengan persyaratan yang kompleks, bagi menjadi langkah-langkah sederhana dan dapat dimengerti. Gunakan bahasa yang tepat untuk memastikan evaluasi yang konsisten di semua instance.

  • Contoh Integrasi: Dalam instruksi Anda, masukkan 1-3 contoh relevan yang menunjukkan bagaimana manusia akan mengevaluasi kinerja agen di domain Anda. Setiap contoh harus menyertakan pasangan input dan output yang cocok yang secara akurat mewakili standar yang Anda harapkan. Meskipun opsional, contoh-contoh ini berfungsi sebagai referensi dasar yang berharga.

  • Manajemen Konteks: Dalam instruksi Anda, pilih placeholder konteks secara strategis berdasarkan kebutuhan spesifik Anda. Temukan keseimbangan yang tepat antara memberikan informasi yang cukup dan menghindari kebingungan evaluator. Sesuaikan kedalaman konteks sesuai dengan kemampuan dan keterbatasan model juri Anda.

  • Kerangka Penilaian: Pilih antara skala biner (0/1) atau skala Likert (beberapa level). Tentukan dengan jelas arti dari setiap tingkat skor. Jika tidak yakin tentang skala mana yang akan digunakan, mulailah dengan sistem penilaian biner yang lebih sederhana.

  • Struktur Output: Layanan kami secara otomatis menyertakan prompt standardisasi di akhir setiap instruksi evaluator khusus. Prompt ini memberlakukan dua bidang keluaran: alasan dan skor, dengan penalaran selalu disajikan sebelum skor untuk memastikan evaluasi berbasis logika. Jangan sertakan instruksi pemformatan keluaran dalam instruksi evaluator asli Anda untuk menghindari membingungkan model hakim.