Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Lacak proses step-by-step penalaran agen menggunakan jejak
Setiap tanggapan dari agen Amazon Bedrock disertai dengan jejak yang merinci langkah-langkah yang diatur oleh agen. Jejak membantu Anda mengikuti proses penalaran agen yang mengarahkannya ke respons yang diberikannya pada saat itu dalam percakapan.
Gunakan jejak untuk melacak jalur agen dari input pengguna ke respons yang dikembalikan. Jejak memberikan informasi tentang input ke grup tindakan yang dipanggil agen dan basis pengetahuan yang ditanyakan untuk merespons pengguna. Selain itu, jejak memberikan informasi tentang output yang dikembalikan oleh kelompok aksi dan basis pengetahuan. Anda dapat melihat alasan yang digunakan agen untuk menentukan tindakan yang diperlukan atau kueri yang dibuatnya ke basis pengetahuan. Jika langkah dalam jejak gagal, jejak mengembalikan alasan kegagalan. Gunakan informasi terperinci dalam jejak untuk memecahkan masalah agen Anda. Anda dapat mengidentifikasi langkah-langkah di mana agen mengalami masalah atau di mana ia menghasilkan perilaku yang tidak terduga. Kemudian, Anda dapat menggunakan informasi ini untuk mempertimbangkan cara-cara di mana Anda dapat meningkatkan perilaku agen.
Struktur jejak
Jika Anda mengaktifkan jejak, di InvokeAgentrespon, masing-masing chunk
dalam aliran disertai dengan trace
bidang yang memetakan ke TracePartobjek. tracePart
Objek berisi informasi tentang agen dan sesi, di samping proses penalaran agen dan dan hasil dari memanggil fungsi API.
{ "agentId": "string", "agentName": "string", "collaboratorName": "string", "agentAliasId": "string", "sessionId": "string", "agentVersion": "string", "trace": { ...}, "callerChain": [{ "agentAliasArn": "
agent alias arn
" }] }
Daftar berikut menjelaskan bidang TracePartobjek:
-
agentId
— Pengidentifikasi unik agen. -
agentName
Nama agen. -
collaboratorName
— Jika kolaborasi multi-agen diaktifkan, nama agen kolaborator. -
agentVersion
— Versi agen. -
agentAliasId
— Pengenal unik alias agen. -
sessionId
— Pengenal unik sesi dengan agen. -
trace
— Berisi proses penalaran agen dan hasil dari memanggil tindakan API. Lihat di bawah untuk informasi lebih lanjut. -
callerChain
— Daftar penelepon antara agen yang menerbitkan jejak ini dan pengguna akhir.Jika itu adalah agen tunggal, bidang ini akan berisi alias Arn dari agen yang sama yang menerbitkan jejak.
Jika kolaborasi multi-agen diaktifkan, bidang ini akan berisi alias Arn dari semua agen yang meneruskan permintaan pengguna akhir ke agen saat ini.
Di dalam TracePartadalah trace
bidang yang memetakan ke Traceobjek. Jejak ditampilkan sebagai objek JSON di konsol dan API. Setiap Langkah di konsol atau Tracedi API dapat menjadi salah satu jejak berikut:
-
PreProcessingTrace— Melacak input dan output dari langkah pra-pemrosesan, di mana agen mengontekstualisasikan dan mengkategorikan input pengguna dan menentukan apakah itu valid.
-
OrchestrationTrace— Melacak input dan output dari langkah orkestrasi, di mana agen menafsirkan input, memanggil kelompok tindakan, dan menanyakan basis pengetahuan. Kemudian agen mengembalikan output untuk melanjutkan orkestrasi atau untuk menanggapi pengguna.
-
PostProcessingTrace— Melacak input dan output dari langkah pasca-pemrosesan, di mana agen menangani output akhir orkestrasi dan menentukan bagaimana mengembalikan respons kepada pengguna.
-
FailureTrace— Melacak alasan bahwa sebuah langkah gagal.
-
GuardrailTrace— Menelusuri tindakan Guardrail.
Masing-masing jejak (kecualiFailureTrace
) berisi ModelInvocationInputobjek. Sebuah ModelInvocationInputobjek berisi konfigurasi yang diatur dalam template prompt untuk langkah tersebut, di samping prompt yang diberikan kepada agen pada langkah ini. Untuk informasi selengkapnya tentang cara memodifikasi templat prompt, lihatTingkatkan akurasi agen menggunakan templat prompt lanjutan di Amazon Bedrock. Struktur ModelInvocationInput
objek adalah sebagai berikut:
{ "traceId": "string", "text": "string", "type": "PRE_PROCESSING | ORCHESTRATION | ROUTING_CLASSIFIER | KNOWLEDGE_BASE_RESPONSE_GENERATION | POST_PROCESSING", "foundationModel:string", "inferenceConfiguration": { "maximumLength": number, "stopSequences": ["string"], "temperature": float, "topK": float, "topP": float }, "promptCreationMode": "DEFAULT | OVERRIDDEN", "parserMode": "DEFAULT | OVERRIDDEN", "overrideLambda": "string" }
Daftar berikut menjelaskan bidang ModelInvocationInputobjek:
-
traceId
— Pengidentifikasi unik dari jejak. -
text
— Teks dari prompt yang diberikan kepada agen pada langkah ini. -
type
— Langkah saat ini dalam proses agen. -
foundationModel
— Model dasar agen kolaborator dalam kolaborasi multi-agen. Bidang ini hanya diisi jikatype
adaROUTING_CLASSIFIER
. Jika model default yang digunakan untuk routing prompt diganti, bidang ini menunjukkan model agen pengawas yang digunakan untuk merutekan prompt. -
inferenceConfiguration
— Parameter inferensi yang mempengaruhi generasi respons. Untuk informasi selengkapnya, lihat Mempengaruhi generasi respons dengan parameter inferensi. -
promptCreationMode
— Apakah template prompt dasar default agen diganti untuk langkah ini. Untuk informasi selengkapnya, lihat Tingkatkan akurasi agen menggunakan templat prompt lanjutan di Amazon Bedrock. -
parserMode
— Apakah parser respons default agen diganti untuk langkah ini. Untuk informasi selengkapnya, lihat Tingkatkan akurasi agen menggunakan templat prompt lanjutan di Amazon Bedrock. -
overrideLambda
— Nama Sumber Daya Amazon (ARN) dari fungsi parser Lambda yang digunakan untuk mengurai respons, jika parser default diganti. Untuk informasi selengkapnya, lihat Tingkatkan akurasi agen menggunakan templat prompt lanjutan di Amazon Bedrock.
Untuk informasi selengkapnya tentang setiap jenis jejak, lihat bagian berikut:
{ "modelInvocationInput": { // see above for details } "modelInvocationOutput": { "metadata": { "usage": { "inputToken":: int, "outputToken":: int }, "rawResponse": { "content": "string" } "parsedResponse": { "isValid": boolean, "rationale": "string" }, "traceId": "string" } }
PreProcessingTraceTerdiri dari a ModelInvocationInputobjek dan a PreProcessingModelInvocationOutputobjek. Sebuah PreProcessingModelInvocationOutputberisi bidang-bidang berikut.
-
metadata
- Berisi informasi berikut tentang output model pondasi.usage
— Berisi informasi berikut tentang penggunaan model pondasi.-
inputTokens
— Berisi informasi tentang token input dari penggunaan model foundation. -
outputTokens
— Berisi informasi tentang token keluaran dari penggunaan model foundation.
-
-
rawResponse
- Berisi output mentah dari model pondasi.-
content
— Konten keluaran mentah model pondasi.
-
-
parsedResponse
— Berisi rincian berikut tentang prompt pengguna yang diuraikan.-
isValid
- Menentukan apakah prompt pengguna valid. -
rationale
— Menentukan alasan agen untuk langkah selanjutnya yang harus diambil.
-
-
traceId
— Pengidentifikasi unik dari jejak.
OrchestrationTraceTerdiri dari ModelInvocationInputobjek, OrchestrationModelInvocationOutputobjek, dan kombinasi apa pun dari Rasional, InvocationInput, dan objek Observasi. Sebuah OrchestrationModelInvocationOutputberisi bidang-bidang berikut. Untuk informasi lebih lanjut tentang Rasional, InvocationInput, dan objek Observasi, pilih dari tab berikut.
{ "modelInvocationInput": { // see above for details }, "modelInvocationOutput": { "metadata": { "usage": { "inputToken":: int, "outputToken":: int }, "rawResponse": { "content": "string" }, "rationale": { ... }, "invocationInput": { ... }, "observation": { ... } }
Jika type
is AGENT_COLLABORATOR
dan jika routing diaktifkan untuk agen supervisor, OrchestrationModelInvocationOutputakan berisi struktur berikut:
routingClassifierModelInvocationOutput: { traceId: "string", rawResponse: "string", routerClassifierParsedResponse: {...} metadata: { inputTokens: "..." outputTokens: "..." } }
{ "modelInvocationInput": { // see above for details } "modelInvocationOutput": { "rawResponse": { "content": "string" }, "metadata": { "usage": { "inputToken": int, "outputToken": int } }, "parsedResponse": { "text": "string" }, "traceId": "string" } }
PostProcessingTraceTerdiri dari a ModelInvocationInputobjek dan a PostProcessingModelInvocationOutputobjek. Sebuah PostProcessingModelInvocationOutputberisi bidang-bidang berikut:
-
rawResponse
- Berisi output mentah dari model pondasi.-
content
— Konten keluaran mentah model pondasi.
-
-
metadata
- Berisi informasi berikut tentang output model pondasi.usage
— Berisi informasi berikut tentang penggunaan model pondasi.-
inputTokens
— Berisi informasi tentang token input dari penggunaan model foundation. -
outputTokens
— Berisi informasi tentang token keluaran dari penggunaan model foundation.
-
-
parsedResponse
— Berisitext
untuk kembali ke pengguna setelah teks diproses oleh fungsi parser. -
traceId
— Pengidentifikasi unik dari jejak.
{ "failureReason": "string", "traceId": "string" }
Daftar berikut menjelaskan bidang FailureTraceobjek:
-
failureReason
Alasan mengapa langkah itu gagal. -
traceId
— Pengidentifikasi unik dari jejak.
{ "action": "GUARDRAIL_INTERVENED" | "NONE", "inputAssessments": [GuardrailAssessment], "outputAssessments": [GuardrailAssessment] }
Daftar berikut menjelaskan bidang GuardrailAssessment objek:
-
action
— menunjukkan apakah pagar pembatas diintervensi atau tidak pada data input. Pilihannya adalahGUARDRAIL_INTERVENED
atauNONE
. -
inputAssessments
— Rincian penilaian Guardrail pada input pengguna. -
outputAssessments
— Rincian penilaian Guardrail pada tanggapan.
Untuk detail lebih lanjut tentang GuardrailAssessment
objek dan menguji Pagar Pembatas, lihat. Uji pagar pembatas
GuardrailAssessment contoh:
{ "topicPolicy": { "topics": [{ "name": "string", "type": "string", "action": "string" }] }, "contentPolicy": { "filters": [{ "type": "string", "confidence": "string", "action": "string" }] }, "wordPolicy": { "customWords": [{ "match": "string", "action": "string" }], "managedWordLists": [{ "match": "string", "type": "string", "action": "string" }] }, "sensitiveInformationPolicy": { "piiEntities": [{ "type": "string", "match": "string", "action": "string" }], "regexes": [{ "name": "string", "regex": "string", "match": "string", "action": "string" }] } }