View a markdown version of this page

Cari catatan registri - Batu Dasar Amazon AgentCore

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

Cari catatan registri

Migrasi Sekarang Dibuka

AWS Agen Registry telah diluncurkan di bawah agent-registry namespace baru. Dukungan untuk bedrock-agentcore namespace pratinjau publik akan dihentikan pada 17 September 2026. Untuk petunjuk migrasi, lihat Panduan migrasi registri komprehensif.

Sebagai konsumen, Anda dapat mencari catatan registri yang disetujui menggunakan API SearchDiscoverableRegistryRecords data-plane. API menerima kueri bahasa alami, menerapkan pencarian hibrida yang menggabungkan pemahaman semantik dengan pencocokan kata kunci, dan mengembalikan hasil peringkat terbatas pada catatan yang revisi terbarunya memiliki status Dis etujui. Catatan dalam status D raf, Penund aan persetujuan, Dit olak, atau Tidak digunakan lagi tidak dikembalikan. Untuk menelusuri katalog tanpa kueri, gunakan ListDiscoverableRegistryRecords dan sebagai BatchGetDiscoverableRegistryRecord gantinya — lihat Menelus uri catatan yang disetujui.

Anda juga dapat memanggil API bidang data penemuan melalui titik akhir MCP registri (InvokeRegistryMcp) menggunakan klien apa pun. MCP-compatible Titik akhir mengeksposSearchDiscoverableRegistryRecords,ListDiscoverableRegistryRecords, dan BatchGetDiscoverableRegistryRecord sebagai alat MCP yang dapat Anda panggil secara langsung.

Parameter Permintaan

  • SearchQuery (wajib): Dapat berupa kueri bahasa alami dari 1-256 karakter

  • RegistryIDs (wajib): Registri mana yang akan dilakukan Pencarian. Mendukung tepat satu registri ARN atau ID

  • MaxResults (opsional): Berapa banyak catatan yang dikembalikan dalam respons Pencarian. Dapat mengambil nilai apa pun antara 1-20 dan default ke 10

  • filter (opsional) — Ekspresi filter metadata

Filter metadata

Operator:$eq,$ne,$in. Logis:$and,$or. Bidang:name,recordType,recordVersion.

Contoh: {"recordType": {"$eq": "MCP"}}

Gabungan: {"$and": [{"recordType": {"$eq": "MCP"}}, {"recordVersion": {"$eq": "1.0"}}]}

Konsol

contoh
AWS Agent Registry namespace
  1. Buka konsol AWS Agen Registry.

  2. Di panel navigasi, pilih Rekam direktori.

  3. Pilih registri yang ingin Anda cari. Halaman secara otomatis memanggil ListDiscoverableRegistryRecords dan menampilkan catatan yang disetujui dalam registri.

  4. Di bilah pencarian, masukkan permintaan pencarian Anda. Ini memicu SearchDiscoverableRegistryRecords dan menampilkan hasil peringkat.

  5. (Opsional) Untuk memfilter hasil berdasarkan properti tertentu, pilih bidang pencarian untuk memperluas menu Pro perti, lalu pilih filter: Nama, Jenis rekaman, atau Versi.

  6. Pilih rekaman dari hasil untuk melihat konten deskriptor lengkapnya.

Amazon Bedrock AgentCore namespace (to be deprecated)
  1. Buka halaman AWS Agen Registry di Bedrock-AgentCore konsol.

  2. Di panel navigasi, pilih Registry, lalu pilih nama registri.

  3. Pilih tab Cari catatan.

  4. Masukkan permintaan pencarian Anda dan lihat hasil.

catatan

Pencarian konsol hanya tersedia untuk registri yang menggunakan IAM-based otorisasi masuk. Untuk JWT-authorized pendaftar, gunakan API pencarian secara langsung dengan klien HTTP (seperticurl) dan token pembawa JWT yang valid, atau gunakan titik akhir MCP untuk registri melalui klien MCP.

AWS CLI (Registri dengan Otorisasi Masuk berbasis IAM)

contoh
AWS Agent Registry namespace
aws agent-registry search-discoverable-registry-records \ --search-query "weather" \ --registry-ids "<registryARN>" \ --region us-east-1
Amazon Bedrock AgentCore namespace (to be deprecated)
aws bedrock-agentcore search-registry-records \ --search-query "weather" \ --registry-ids "<registryARN>" \ --region us-east-1

AWS SDK (Registri dengan Otorisasi Masuk berbasis IAM)

contoh
AWS Agent Registry namespace
import boto3 client = boto3.client('agent-registry') response = client.search_discoverable_registry_records( registryIds=['<registryARN>'], searchQuery='weather', maxResults=10 ) for record in response['registryRecords']: print(f"{record['displayName']} ({record['name']}) - {record['recordType']} - {record['status']}")
Amazon Bedrock AgentCore namespace (to be deprecated)
import boto3 client = boto3.client('bedrock-agentcore') response = client.search_registry_records( registryIds=['<registryARN>'], searchQuery='weather', maxResults=10 ) for record in response['registryRecords']: print(f"{record['name']} - {record['descriptorType']} - {record['status']}")

Klien HTTP (Registri dengan OAuth berbasis OAuth Inbound Authorization)

Pertama dapatkan token pembawa:

SECRET_HASH=$(echo -n "<username><appClientId>" | openssl dgst -sha256 -hmac "<appClientSecret>" -binary | base64) aws cognito-idp initiate-auth \ --client-id "<appClientId>" \ --auth-flow USER_PASSWORD_AUTH \ --auth-parameters USERNAME="<username>",PASSWORD='<password>',SECRET_HASH="$SECRET_HASH" \ --region us-east-1 | jq -r '.AuthenticationResult.AccessToken'

Kemudian cari dengan token pembawa:

contoh
AWS Agent Registry namespace
curl -X POST "https://agent-registry.<region>.api.aws/discoverable-records-search" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <accessToken>" \ -d '{"registryIds": ["<registryARN>"], "searchQuery": "weather", "maxResults": 10}'
Amazon Bedrock AgentCore namespace (to be deprecated)
curl -X POST "https://bedrock-agentcore.<region>.amazonaws.com/registry-records/search" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer <accessToken>" \ -d '{"registryIds": ["<registryARN>"], "searchQuery": "weather", "maxResults": 10}'

Konsistensi akhirnya dalam AWS Pencarian Pendaftaran Agen

AWS Agen Registry menggunakan model yang akhirnya konsisten untuk pengindeksan pencarian. Saat Anda menyetujui rekaman registri dengan menelepon UpdateRegistryRecordStatus atau melalui konsol, catatan tidak muncul SearchDiscoverableRegistryRecords atau InvokeRegistryMcp menghasilkan segera. Biasanya dibutuhkan beberapa detik untuk catatan yang disetujui untuk diindeks dan dapat ditemukan, tetapi dalam beberapa kasus dapat memakan waktu hingga beberapa menit.

Selama waktu ini, Anda mungkin mengamati perilaku berikut:

  • Ku SearchDiscoverableRegistryRecords eri tidak mengembalikan catatan yang baru saja disetujui.

  • A ListDiscoverableRegistryRecords atau BatchGetDiscoverableRegistryRecord panggilan tidak termasuk catatan.

  • Titik akhir MCP registri (InvokeRegistryMcp) tidak menyertakan catatan yang baru saja disetujui dalam hasil alat.

  • Sebaliknya, API bidang kontrol (GetRegistryRecorddanListRegistryRecords) mengembalikan catatan yang baru disetujui segera setelah UpdateRegistryRecordStatus selesai. Konsistensi akhirnya hanya berlaku untuk API bidang data penemuan dan titik akhir MCP registri.

Hanya catatan dalam status Dis etujui yang disertakan dalam hasil yang dapat ditemukan. Catatan dalam status Draf, Persetujuan Tertunda, Ditolak, atau Tidak pernah dikembalikan oleh API bidang data yang dapat ditemukan atau oleh. InvokeRegistryMcp Anda dapat memverifikasi status rekaman saat ini dengan memanggilGetRegistryRecord, yang selalu mengembalikan revisi terbaru terlepas dari status pengindeksan.

Untuk menangani konsistensi akhir dalam aplikasi Anda, kami merekomendasikan hal berikut:

  • Setelah menyetujui catatan, konfirmasikan bahwa rekaman dapat ditemukan SearchDiscoverableRegistryRecords dengan memanggil dengan strategi coba lagi yang mencakup backoff eksponensial.

  • Jangan menganggap catatan hilang dari registri jika tidak muncul dalam hasil segera setelah persetujuan. Panggil GetRegistryRecord untuk memverifikasi status catatan.

  • Jika Anda mengintegrasikan alur kerja persetujuan melalui Amazon EventBridge danUpdateRegistryRecordStatus, tambahkan penundaan singkat sebelum sistem hilir menanyakan API yang dapat ditemukan untuk catatan yang baru disetujui.

catatan

SearchDiscoverableRegistryRecordsdiberi nama SearchRegistryRecords dalam bedrock-agentcore namespace.

Untuk panduan umum tentang mengonfigurasi perilaku coba ulang di AWS SDK, lihat Perilaku coba ulang di Panduan Referensi AWS SDK dan Alat.

Bagaimana atribut rekaman memengaruhi relevansi pencarian

AWS Agen Registry menggunakan pencarian hybrid yang menggabungkan pemahaman semantik dengan pencocokan kata kunci untuk mengembalikan hasil yang relevan. Jika rekaman yang ingin Anda temukan tidak muncul di hasil penelusuran, memahami atribut rekaman mana yang memengaruhi pencarian dapat membantu.

Atribut rekaman mana yang digunakan untuk pencarian

Atribut berikut dari catatan registri Anda digunakan untuk menentukan relevansi pencarian:

  • Nama - Digunakan untuk pencocokan kata kunci. Nama yang jelas dan deskriptif yang mencerminkan apa yang dilakukan sumber daya meningkatkan kemampuan ditemukan untuk pencarian nama yang tepat dan sebagian.

  • Deskripsi - Digunakan untuk pencocokan kata kunci dan semantik. Deskripsi yang ditulis dalam bahasa alami yang menjelaskan tujuan sumber daya dan kasus penggunaan umum lebih dapat ditemukan daripada label teknis singkat.

  • Deskriptor — Konten lengkap definisi protokol Anda (definisi server MCP, kartu agen, dokumentasi keterampilan, atau JSON khusus) digunakan untuk pencocokan semantik. Ini termasuk nama alat, deskripsi alat, nama parameter input, dan ringkasan kemampuan.

  • Jenis rekaman dan versi - Tersedia sebagai bidang yang dapat disaring. Anda dapat mempersempit hasil menggunakan filter metadata pada namerecordType,, danrecordVersion.

Bagaimana permintaan pencarian diproses

Saat Anda memanggilSearchDiscoverableRegistryRecords, AWS Agen Registry menjalankan dua pencarian secara paralel terhadap kumpulan catatan yang diindeks yang sama dan menggabungkan hasilnya:

  • Pencarian semantik — Kueri Anda diubah menjadi representasi vektor dan dibandingkan dengan representasi vektor dari catatan yang diindeks. Ini menemukan catatan yang terkait secara konseptual bahkan ketika kata-kata yang tepat dalam kueri Anda tidak muncul dalam catatan. Misalnya, kueri untuk “pesan penerbangan” dapat cocok dengan catatan bernama “layanan reservasi perjalanan”.

  • Pencarian kata kunci — Kueri Anda dicocokkan dengan konten teks bidang catatan menggunakan relevansi kata kunci tradisional. Ini efektif untuk pencarian nama yang tepat dan istilah teknis tertentu. Misalnya, kueri untuk “weather-api-v2" cocok dengan catatan yang berisi teks yang tepat.

Jika Anda menyertakan filter metadata dalam permintaan Anda, filter diterapkan ke kedua penelusuran sebelum hasil dinilai dan diberi peringkat. Ini berarti filter mengurangi kumpulan kandidat yang digunakan oleh pencarian semantik dan kata kunci, daripada memfilter hasil setelah peringkat.

Bagaimana hasil diberi peringkat

Hasil dari pencarian semantik dan kata kunci digabungkan menjadi satu daftar peringkat dan dikembalikan dalam urutan relevansi, dengan catatan yang paling relevan terlebih dahulu. Posisi akhir setiap hasil ditentukan oleh relevansinya di kedua pencarian — catatan yang berperingkat tinggi dalam hasil semantik dan kata kunci akan muncul lebih tinggi daripada catatan yang berperingkat tinggi hanya dalam satu. Dalam pencarian kata kunci, nama catatan memiliki pengaruh terkuat pada peringkat, diikuti oleh deskripsi dan konten deskriptor, yang berkontribusi sama. Karena kedua mode pencarian selalu berjalan dan berkontribusi pada peringkat akhir, cara Anda menulis kueri memengaruhi permukaan catatan mana. Panduan berikut dapat membantu Anda mendapatkan hasil yang lebih baik tergantung pada niat Anda.

Menulis permintaan pencarian yang efektif

Ketika Anda mengetahui nama atau pengidentifikasi yang tepat, gunakan kueri singkat dan spesifik. Pencarian kata kunci mencocokkan teks yang tepat dengan nama catatan, deskripsi, dan konten deskriptor. Kueri pendek seperti “weather-api-v2" atau “pdf-processing” efektif untuk menemukan catatan berdasarkan nama.

Saat Anda menjelajahi berdasarkan kemampuan atau kasus penggunaan, gunakan deskripsi bahasa alami tentang apa yang Anda butuhkan. Pencarian semantik memahami maksud konseptual, sehingga kueri seperti “temukan alat yang dapat memesan penerbangan” atau “ekstrak data terstruktur dari dokumen PDF” dapat mencocokkan catatan yang relevan meskipun kata-kata yang tepat tersebut tidak muncul dalam metadata catatan.

Hindari pencampuran batasan seperti filter dengan maksud deskriptif dalam kueri yang sama. Kueri seperti “temukan semua server MCP untuk prakiraan cuaca” mengirimkan seluruh kalimat melalui pencarian semantik dan kata kunci. Komponen semantik menafsirkan kalimat lengkap sebagai maksud konseptual, yang dapat menampilkan catatan yang terkait secara konseptual tetapi tidak cocok dengan atribut spesifik yang ingin Anda batasi. Sebagai gantinya, gunakan filter metadata untuk batasan berbasis atribut dan jaga agar kueri tetap fokus pada topik. Lihat Kapan menggunakan filter metadata versus teks kueri.

Menulis catatan yang dapat ditemukan

  • Tulis deskripsi yang menjelaskan apa yang dilakukan sumber daya dan masalah yang dipecahkannya. Pencarian semantik memahami maksud, jadi “membantu pelanggan melacak pengiriman paket” lebih dapat ditemukan daripada “status pengiriman - titik akhir.”

  • Berikan definisi alat lengkap untuk server MCP. Deskripsi alat dan deskripsi parameter input semuanya berkontribusi pada relevansi pencarian.

  • Sertakan kata kunci yang relevan dalam nama dan deskripsi Anda. Pencarian kata kunci cocok dengan teks yang tepat, jadi jika konsumen cenderung mencari istilah tertentu, pastikan istilah tersebut muncul dalam catatan Anda.

Kapan menggunakan filter metadata versus teks kueri

Gunakan filter metadata jika maksud Anda membatasi hasil dengan atribut yang diketahui seperti jenis rekaman, nama, atau versi. Jangan menyematkan batasan seperti filter dalam teks kueri itu sendiri. Misalnya, jika Anda ingin menemukan semua server MCP yang terkait dengan cuaca, gunakan filter metadata untuk jenis rekaman dan kueri untuk topik:

{ "searchQuery": "weather forecast", "filters": { "recordType": { "$eq": "MCP" } } }

Hindari menempatkan batasan ke dalam teks kueri seperti “temukan semua server MCP untuk prakiraan cuaca”. Karena kueri yang lebih panjang condong ke pencocokan semantik, kata-kata “server MCP” ditafsirkan sebagai bagian dari maksud konseptual daripada sebagai filter yang tepat. Hal ini dapat menyebabkan komponen semantik mengembalikan catatan yang secara konseptual terkait dengan kalimat lengkap tetapi tidak cocok dengan atribut spesifik yang ingin Anda filter — misalnya, mengembalikan catatan agen tentang cuaca bersama catatan server MCP. Hal yang sama berlaku untuk batasan berbasis atribut apa pun. Jika Anda ingin rekaman dengan nama, versi, atau jenis tertentu, gunakan filter metadata yang sesuai daripada menyertakan istilah tersebut dalam kueri.

Anda dapat memfilter pada bidang berikut:

  • name— Rekor pertandingan dengan nama yang tepat.

  • recordType— Mencocokkan catatan dengan tipe semantik (AGENTMCP,SKILL,,CUSTOM).

  • recordVersion— Mencocokkan catatan dengan string versi.

Filter mendukung operator $eq (sama), $ne (tidak sama), dan $in (cocok dengan nilai apa pun dalam daftar), dan dapat digabungkan menggunakan $or logika $and dan.

Misalnya, untuk mencari server MCP terkait cuaca saja:

{ "searchQuery": "weather forecast", "filters": { "recordType": { "$eq": "MCP" } } }

Untuk mengecualikan jenis sumber daya tertentu:

{ "searchQuery": "<your query>", "filters": { "recordType": { "$ne": "CUSTOM" } } }

Untuk mencocokkan salah satu dari beberapa versi:

{ "filters": { "recordVersion": { "$in": ["1.0", "1.1", "2.0"] } } }

Pencarian hanya mengembalikan catatan yang disetujui

Hanya catatan dalam status Disetujui yang muncul di hasil pencarian dan melalui titik akhir MCP. Catatan dalam status Draf, Persetujuan Tertunda, Ditolak, atau Tidak digunakan lagi tidak dikembalikan. Jika catatan yang baru disetujui tidak muncul dalam hasil, lihat Konsistensi akhir dalam pencarian Registri AWS Agen.