View a markdown version of this page

Lacak proses penalaran langkah demi langkah agen menggunakan trace - Amazon Bedrock

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

Lacak proses penalaran langkah demi langkah agen menggunakan trace

Setiap respons 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 titik itu dalam percakapan.

Gunakan jejak untuk melacak jalur agen dari input pengguna ke respons yang dikembalikan. Pelacakan memberikan informasi tentang input ke grup tindakan yang dipanggil agen dan basis pengetahuan yang diminta untuk merespons pengguna. Selain itu, jejak memberikan informasi tentang output yang dikembalikan oleh kelompok tindakan dan basis pengetahuan. Anda dapat melihat alasan yang digunakan agen untuk menentukan tindakan yang diambil atau kueri yang dibuat untuk basis pengetahuan. Jika langkah dalam pelacakan gagal, jejak mengembalikan alasan kegagalan. Gunakan informasi terperinci dalam pelacakan 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 pelacakan, dalam InvokeAgent respons, masing-masing chunk dalam aliran disertai dengan trace bidang yang dipetakan ke TracePart objek. Ob tracePart jek 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 TracePart objek:

  • agentId— Pengidentifikasi unik agen.

  • agentName- Nama agen.

  • collaboratorName— Jika kolaborasi multi-agen diaktifkan, nama agen kolaborator.

  • agentVersion— Versi agen.

  • agentAliasId— Pengidentifikasi unik dari alias agen.

  • sessionId— Pengidentifikasi unik sesi dengan agen.

  • trace— Berisi proses penalaran agen dan hasil dari panggilan 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 dalamnya TracePart ada trace bidang yang memetakan ke Trace objek. Jejak ditampilkan sebagai objek JSON di konsol dan API. Setiap Langkah di konsol atau Trace di API dapat menjadi salah satu dari jejak berikut:

  • PreProcessingTrace— Melacak input dan output dari langkah pra-pemrosesan, di mana agen mengontekstualisasikan dan mengkategorikan input pengguna dan menentukan apakah itu valid.

  • OrchestrationTraceMelacak 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 merespons pengguna.

  • PostProcessingTraceMelacak input dan output dari langkah pasca-pemrosesan, di mana agen menangani output akhir dari orkestrasi dan menentukan bagaimana mengembalikan respons kepada pengguna.

  • CustomOrchestrationTrace— Rincian tentang langkah orkestrasi khusus di mana agen menentukan urutan di mana tindakan dieksekusi.

  • RoutingClassifierTrace— Melacak input dan output dari pengklasifikasi routing

  • FailureTrace— Menelusuri alasan mengapa langkah gagal.

  • GuardrailTrace— Melacak tindakan Guardrail.

Setiap jejak (kecualiFailureTrace) berisi ModelInvocationInput objek. Ob ModelInvocationInput jek berisi konfigurasi yang ditetapkan 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 ModelInvocationInput objek:

Untuk informasi selengkapnya tentang setiap jenis pelacakan, 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" } }

Ter PreProcessingTrace diri dari ModelInvocationInput objek dan PreProcessingModelInvocationOutput objek. Ber PreProcessingModelInvocationOutput isi 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 dasar.

      • outputTokens— Berisi informasi tentang token keluaran dari penggunaan model dasar.

  • rawResponse- Berisi output mentah dari model pondasi.

    • content— Konten keluaran mentah model pondasi.

  • parsedResponse- Berisi detail berikut tentang prompt pengguna yang diurai.

    • isValid— Menentukan apakah prompt pengguna valid.

    • rationale— Menentukan alasan agen untuk langkah selanjutnya yang harus diambil.

  • traceId— Pengidentifikasi unik dari jejak.

Ter OrchestrationTrace diri dari ModelInvocationInput objek, OrchestrationModelInvocationOutput objek, dan kombinasi apa pun dari objek Rasional, InvocationInput, dan Observasi. Ber OrchestrationModelInvocationOutput isi bidang berikut. Untuk informasi selengkapnya tentang objek Rationale InvocationInput,, dan Observation, pilih dari tab berikut.

{ "modelInvocationInput": { // see above for details }, "modelInvocationOutput": { "metadata": { "usage": { "inputToken":: int, "outputToken":: int }, "rawResponse": { "content": "string" }, "rationale": { ... }, "invocationInput": { ... }, "observation": { ... } }

Jika type adalah AGENT_COLLABORATOR dan jika routing diaktifkan untuk agen supervisor, OrchestrationModelInvocationOutput akan berisi struktur berikut:

routingClassifierModelInvocationOutput: { traceId: "string", rawResponse: "string", routerClassifierParsedResponse: {...} metadata: { inputTokens: "..." outputTokens: "..." } }
Rationale

Ob jek Rationale berisi penalaran agen yang diberikan input pengguna. Berikut ini adalah strukturnya:

{ "traceId": "string", "text": "string" }

Daftar berikut menjelaskan bidang objek Rationale:

  • traceId— Pengidentifikasi unik dari langkah pelacakan.

  • text— Proses penalaran agen, berdasarkan prompt input.

InvocationInput

Ob InvocationInput jek berisi informasi yang akan dimasukkan ke grup tindakan atau basis pengetahuan yang akan dipanggil atau ditanyakan. Berikut ini adalah strukturnya:

{ "traceId": "string", "invocationType": "AGENT_COLLABORATOR" | "ACTION_GROUP | KNOWLEDGE_BASE | FINISH", "agentCollaboratorInvocationInput": { // see below for details }, "actionGroupInvocationInput": { // see below for details }, "knowledgeBaseLookupInput": { "knowledgeBaseId": "string", "text": "string" } }

Daftar berikut menjelaskan bidang InvocationInput objek:

  • traceId— Pengidentifikasi unik dari jejak.

  • invocationType— Menentukan apakah agen memanggil agen kolaborator, grup tindakan atau basis pengetahuan, atau mengakhiri sesi.

  • agentCollaborationInvocationInput— Berisi masukan pemanggilan ke agen kolaborator. Muncul jika routing type is AGENT_COLLABORATOR dan if diaktifkan untuk agen supervisor. Untuk informasi selengkapnya, lihat Gunakan kolaborasi multi-agen dengan Amazon Bedrock Agents.

    • agentCollaborationInvocationInput Strukturnya adalah sebagai berikut:

      { "agentCollaboratorName": "string", "agentCollaboratorAliasArn": "string", "input": { "text": "string" } }

      Berikut ini adalah deskripsi bidang:

      • agentCollaboratorName— Nama agen kolaborator yang terkait dengan agen supervisor.

      • agentCollaboratorAliasArn— Alias Arn dari agen kolaborator.

      • input— String input untuk agen kolaborator.

  • actionGroupInvocationInput— Muncul jika type memang demikianACTION_GROUP. Untuk informasi selengkapnya, lihat Tentukan tindakan dalam kelompok tindakan. Dapat menjadi salah satu struktur berikut:

    • Jika grup tindakan ditentukan oleh skema API, strukturnya adalah sebagai berikut:

      { "actionGroupName": "string", "apiPath": "string", "verb": "string", "parameters": [ { "name": "string", "type": "string", "value": "string" }, ... ], "requestBody": { "content": { "<content-type>": [ { "name": "string", "type": "string", "value": "string" } ] } }, "executionType": "LAMBDA | RETURN_CONTROL", "invocationId": "string" }

      Berikut ini adalah deskripsi bidang:

      • actionGroupName— Nama grup tindakan yang diprediksi agen harus dipanggil.

      • apiPath— Jalur ke operasi API untuk dipanggil, sesuai dengan skema API.

      • verb— Metode API yang digunakan, sesuai dengan skema API.

      • parameters— Berisi daftar objek. Setiap objek berisi nama, jenis, dan nilai parameter dalam operasi API, seperti yang didefinisikan dalam skema API.

      • requestBody- Berisi badan permintaan dan propertinya, seperti yang didefinisikan dalam skema API.

      • executionType— Apakah pemenuhan tindakan diteruskan ke fungsi Lambda (LAMBDA) atau kontrol dikembalikan melalui InvokeAgent response (RETURN_CONTROL). Untuk informasi selengkapnya, lihat Menangani pemenuhan tindakan.

      • invocationId— Pengidentifikasi unik dari pemanggilan. Hanya dikembalikan jika executionType memang demikianRETURN_CONTROL.

    • Jika grup tindakan ditentukan oleh detail fungsi, strukturnya adalah sebagai berikut:

      { "actionGroupName": "string", "function": "string", "parameters": [ { "name": "string", "type": "string", "value": "string" }, ... ], "executionType": "LAMBDA | RETURN_CONTROL", "invocationId": "string" }

      Berikut ini adalah deskripsi bidang:

      • actionGroupName— Nama grup tindakan yang diprediksi agen harus dipanggil.

      • function— Nama fungsi yang diprediksi agen harus dipanggil.

      • parameters— Parameter fungsi.

      • executionType— Apakah pemenuhan tindakan diteruskan ke fungsi Lambda (LAMBDA) atau kontrol dikembalikan melalui InvokeAgent response (RETURN_CONTROL). Untuk informasi selengkapnya, lihat Menangani pemenuhan tindakan.

      • invocationId— Pengidentifikasi unik dari pemanggilan. Hanya dikembalikan jika executionType memang demikianRETURN_CONTROL.

  • knowledgeBaseLookupInput— Muncul jika type memang demikianKNOWLEDGE_BASE. Untuk informasi selengkapnya, lihat Ambil data dan hasilkan respons AI dengan Pangkalan Pengetahuan Amazon Bedrock. Berisi informasi berikut tentang basis pengetahuan dan permintaan pencarian untuk basis pengetahuan:

    • knowledgeBaseId— Pengidentifikasi unik dari basis pengetahuan yang akan dicari agen.

    • text— Kueri yang akan dibuat ke basis pengetahuan.

Observation

Ob https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent-runtime_Observation.html jek Observation berisi hasil atau output dari kolaborator agen, grup tindakan atau basis pengetahuan, atau respons terhadap pengguna. Berikut ini adalah strukturnya:

{ "traceId": "string", "type": "AGENT_COLLABORATOR |ACTION_GROUP | KNOWLEDGE_BASE | REPROMPT | ASK_USER | FINISH", "agentCollaboratorInvocationOutput": { "agentCollaboratorName": "string", "agentCollaboratorAliasArn": "string", "output": { "text": "string" }, "actionGroupInvocation": { "text": "JSON-formatted string" }, "knowledgeBaseLookupOutput": { "retrievedReferences": [ { "content": { "text": "string" }, "location": { "type": "S3", "s3Location": { "uri": "string" } } }, ... ] }, "repromptResponse": { "source": "ACTION_GROUP | KNOWLEDGE_BASE | PARSER", "text": "string" }, "finalResponse": { "text" } }

Daftar berikut menjelaskan bidang objek Observasi:

  • traceId— Pengidentifikasi unik dari jejak.

  • typeMenentukan apakah pengamatan agen dikembalikan dari hasil kolaborator agen, grup tindakan atau basis pengetahuan, jika agen meminta ulang pengguna, meminta informasi lebih lanjut, atau mengakhiri percakapan.

  • agentCollaboratorInvocationOutput— Berisi respons dari agen kolaborator atau respons akhir. Muncul jika routing type is AGENT_COLLABORATOR dan if diaktifkan untuk agen supervisor. Untuk informasi selengkapnya, lihat Gunakan kolaborasi multi-agen dengan Amazon Bedrock Agents. Setiap respons berisi bidang berikut:

    • agentCollaboratorName— Nama agen kolaborator yang mengirim respons.

    • agentCollaboratorAliasArn— Alias Arn dari agen kolaborator yang mengirim respons.

    • output— Berisi respons yang dikirim oleh agen kolaborator.

  • actionGroupInvocationOutput- Berisi JSON-formatted string yang dikembalikan oleh operasi API yang dipanggil oleh grup tindakan. Muncul jika type memang demikianACTION_GROUP. Untuk informasi selengkapnya, lihat Mendefinisikan OpenAPI skema untuk grup tindakan agen Anda di Amazon Bedrock.

  • knowledgeBaseLookupOutput- Berisi teks yang diambil dari basis pengetahuan yang relevan untuk menanggapi prompt, di samping lokasi Amazon S3 dari sumber data. Muncul jika type memang demikianKNOWLEDGE_BASE. Untuk informasi selengkapnya, lihat Ambil data dan hasilkan respons AI dengan Pangkalan Pengetahuan Amazon Bedrock. Setiap objek dalam daftar retrievedReferences berisi bidang berikut:

    • content- Ber text isi dari basis pengetahuan yang dikembalikan dari query basis pengetahuan.

    • location— Berisi URI Amazon S3 dari sumber data dari mana teks yang dikembalikan ditemukan.

  • repromptResponse— Muncul jika type memang demikianREPROMPT. Berisi text yang meminta prompt lagi di source samping mengapa agen perlu meminta ulang.

  • finalResponse— Muncul jika type ada ASK_USER atauFINISH. Berisi text yang meminta pengguna untuk informasi lebih lanjut atau merupakan respons kepada pengguna.

{ "modelInvocationInput": { // see above for details } "modelInvocationOutput": { "rawResponse": { "content": "string" }, "metadata": { "usage": { "inputToken": int, "outputToken": int } }, "parsedResponse": { "text": "string" }, "traceId": "string" } }

Ter PostProcessingTrace diri dari ModelInvocationInput objek dan PostProcessingModelInvocationOutput objek. Ber PostProcessingModelInvocationOutput isi 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 dasar.

      • outputTokens— Berisi informasi tentang token keluaran dari penggunaan model dasar.

  • parsedResponse— Berisi text untuk kembali ke pengguna setelah teks diproses oleh fungsi parser.

  • traceId— Pengidentifikasi unik dari jejak.

{ "failureReason": "string", "traceId": "string" }

Daftar berikut menjelaskan bidang FailureTrace objek:

  • failureReasonAlasan 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 campur tangan atau tidak pada data input. Opsi adalah GUARDRAIL_INTERVENED atauNONE.

  • inputAssessments— Rincian penilaian Guardrail pada input pengguna.

  • outputAssessments— Rincian penilaian Guardrail pada tanggapan.

Untuk detail lebih lanjut tentang GuardrailAssessment objek dan pengujian Guardrail, lihat. Uji pagar pembatas Anda

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" }] } }