View a markdown version of this page

Keterampilan - Batuan Dasar Amazon AgentCore

Keterampilan

Keterampilan Agen adalah bundel penurunan harga dan skrip yang memberikan pengetahuan domain agen sesuai permintaan. Setiap keterampilan mengikuti AgentSkills.iostandar terbuka: SKILL.md file dengan frontmatter YAMM (nama, deskripsi) dan instruksi penurunan harga, ditambah opsionalscripts/,, dan direktori. references/ assets/

Keterampilan menggunakan pengungkapan progresif: metadata disuntikkan ke prompt sistem di muka (~ 100 token), dan instruksi lengkap dimuat sesuai permintaan melalui panggilan alat. Ini menghindari membanjiri jendela konteks dengan instruksi yang mungkin tidak diperlukan agen.

Harness mendukung empat sumber keterampilan:

Sumber Deskripsi Kapan harus digunakan

AWS Keterampilan

Pre-built keterampilan untuk AWS layanan dari AWS Agen Toolkit. Aktifkan dengan pola glob.

Anda menginginkan AWS keahlian siap pakai dengan pengaturan nol.

Git (HTTPS)

Mengkloning keterampilan dari repositori Git publik atau pribadi apa pun. Mendukung subdirektori.

Anda ingin mereferensikan keterampilan dari GitHub, GitLab, atau host git apa pun tanpa mengunggah ke S3.

Amazon S3

Ambil skill dari bucket S3 milik pelanggan menggunakan peran eksekusi.

Anda ingin kontrol penuh atas pembuatan versi, enkripsi, dan tata kelola akses.

Jalur (sistem file)

Referensi keterampilan yang sudah ada pada sistem file harness (dipanggang ke dalam gambar wadah atau diinstal melalui). InvokeAgentRuntimeCommand

Keterampilan adalah bagian dari gambar kontainer Anda atau diinstal pada awal sesi.

Keterampilan diambil sekali per sesi pada doa pertama. Dalam satu sesi, keterampilan bertahan pada disk di beberapa pemanggilan. Ketika VM berakhir dan sesi baru dimulai, keterampilan diambil kembali untuk menjamin kesegaran.

Anda dapat mengatur skills sebagai default pada harness (via CreateHarness atauUpdateHarness), atau mengganti per pemanggilan. Invoke-time keterampilan ditambahkan setelah keterampilan create-time; jika keduanya mendefinisikan keterampilan dengan nama yang sama, versi waktu-panggilan menang.

catatan

Untuk menambahkan keterampilan ke harness secara interaktif, jalankan agentcore untuk membuka TUI, pilih tambahkan, pilih Harness, maju ke pengaturan Lanjutan, dan aktifkan Keterampilan. Wizard kemudian meminta sumber keterampilan. Lihat tab Interaktif di bawah Git dan Amazon S3 di bawah ini untuk langkah-langkah per sumber.

AWS Keterampilan

AWS Keterampilan adalah keterampilan pra-bangun yang memungkinkan agen Anda untuk berinteraksi dengan AWS layanan. Mereka diatur secara hierarkis dan dipilih melalui pola glob. Lihat sumbernya di GitHub.

Kategori Pola Keterampilan khas

Keterampilan inti

core-skills/*

EC2, S3, Lambda, DynamoDB,, operasi IAM. CloudWatch

Keterampilan analitik

specialized-skills/analytics-skills/*

Athena, Glue, QuickSight, operasi danau data.

Keterampilan operasi

specialized-skills/operations-skills/*

Pemecahan masalah, diagnostik, analisis log.

Keterampilan penyimpanan

specialized-skills/storage-skills/*

S3, EFS, FSx, Operasi Backup.

Aktifkan semua AWS keterampilan

contoh
AWS CLI/boto3
aws bedrock-agentcore-control create-harness \ --harness-name "MyHarness" \ --execution-role-arn "${ROLE_ARN}" \ --skills '[{"awsSkills": {}}]'

Atau pada saat memanggil:

response = client.invoke_harness( harnessArn=HARNESS_ARN, runtimeSessionId=SESSION_ID, skills=[{"awsSkills": {}}], messages=[{"role": "user", "content": [{"text": "List my EC2 instances and their status."}]}], )

Aktifkan keterampilan berdasarkan kategori

Gunakan pola glob untuk mengaktifkan kategori keterampilan tertentu:

contoh
AWS CLI/boto3
aws bedrock-agentcore-control create-harness \ --harness-name "MyHarness" \ --execution-role-arn "${ROLE_ARN}" \ --skills '[{"awsSkills": {"paths": ["core-skills/*", "specialized-skills/operations-skills/*"]}}]'

Aktifkan satu keterampilan khusus

response = client.invoke_harness( harnessArn=HARNESS_ARN, runtimeSessionId=SESSION_ID, skills=[{"awsSkills": {"paths": ["core-skills/aws-cdk"]}}], messages=[{"role": "user", "content": [{"text": "Create a CDK stack for a Lambda function."}]}], )

Gabungkan beberapa pola

skills=[{"awsSkills": {"paths": ["core-skills/aws-cdk", "core-skills/aws-serverless", "specialized-skills/storage-skills/*"]}}]
catatan
  • Jalur harus relatif (tidak memimpin / atau..). Jalur absolut dan traversal jalur ditolak.

  • Jika pola glob tidak cocok dengan keterampilan, pemanggilan gagal dengan kesalahan deskriptif.

  • Beberapa awsSkills entri dalam muatan yang sama digabungkan.

Keterampilan Git (HTTPS)

Mengkloning keterampilan dari repositori Git publik atau pribadi apa pun. Mendukung subdirektori dalam monorepos menggunakan checkout jarang.

contoh
AWS CLI/boto3

Repositori publik:

response = client.invoke_harness( harnessArn=HARNESS_ARN, runtimeSessionId=SESSION_ID, skills=[ {"git": {"url": "https://github.com/anthropics/skills", "path": "skills/docx"}}, ], messages=[{"role": "user", "content": [{"text": "Summarize the attached DOCX file."}]}], )

Repositori pribadi (memerlukan token akses pribadi yang disimpan dalam AgentCore Identity):

skills=[ { "git": { "url": "https://github.com/my-org/internal-skills", "path": "excel", "auth": { "credentialArn": "arn:aws:bedrock-agentcore:us-west-2:123456789012:token-vault/default/apikeycredentialprovider/my-github-pat" }, } } ]
AgentCore CLI

Lampirkan keterampilan dari repositori Git publik dengan. agentcore add skill Gunakan --git-path untuk menarik satu keterampilan dari subdirektori:

agentcore add skill --harness my-harness \ --git https://github.com/anthropics/skills \ --git-path skills/docx agentcore deploy

Untuk repositori pribadi, teruskan --credential dengan nama kredensyal kunci API di project Anda yang menyimpan token akses pribadi (--usernamebersifat opsional, default): oauth2

agentcore add skill --harness my-harness \ --git https://github.com/my-org/internal-skills \ --git-path excel \ --credential my-github-pat agentcore deploy
catatan

Hapus keterampilan dengan agentcore remove skill menggunakan flag sumber yang sama. Untuk mengganti skill untuk satu panggilan tanpa mengubah harness, gunakan agentcore invoke --skills <sources> (jalur yang dipisahkan koma, URI, atau URL https:// Git); Autentikasi Git tidak didukung pada penggantian pemanggilan. s3://

Interactive

Di TUI, tambahkan skill Git ke harness melalui wizard addHarness.

  1. Lanjutkan ke Pengaturan lanjutan, pindah ke Keterampilan, dan tekan Spasi untuk mengaktifkannya, lalu tekan Enter.

    Pengaturan lanjutan dengan Keterampilan diaktifkan
  2. Pilih Git sebagai sumber keterampilan.

    Jenis sumber keterampilan: Path, S3, atau Git
  3. Masukkan URL repositori HTTPS. Wizard kemudian meminta jalur subdirektori opsional, kredensyal opsional untuk repositori pribadi, dan nama pengguna opsional.

    Masukkan URL repositori Git

Konfirmasikan wizard, lalu jalankan agentcore deploy untuk menerapkan.

  • url(wajib) - URL HTTPS dari repositori Git.

  • path(opsional) - subdirektori dalam repo yang berisi keterampilan. Jika dihilangkan, root repositori digunakan.

  • auth.credentialArn(opsional) - ARN dari penyedia kredensi kunci API yang memegang token akses pribadi untuk repo pribadi.

  • auth.username(opsional) - git username, default ke. oauth2

Git fetch harus selesai dalam waktu 60 detik. Jika repositori memerlukan jalan keluar internet, pastikan VPC Anda memiliki gateway NAT (persyaratan yang sama dengan server MCP jarak jauh dan penarikan kontainer khusus).

Keterampilan Amazon S3

Ambil skill dari bucket S3 milik pelanggan. Menggunakan kredensyal peran eksekusi harness.

contoh
AWS CLI/boto3
response = client.invoke_harness( harnessArn=HARNESS_ARN, runtimeSessionId=SESSION_ID, skills=[ {"s3": {"uri": "s3://my-skills-bucket/skills/company-style/"}}, ], messages=[{"role": "user", "content": [{"text": "Draft a summary following our style guide."}]}], )
AgentCore CLI

Lampirkan keterampilan dari S3 denganagentcore add skill --s3:

agentcore add skill --harness my-harness \ --s3 s3://my-skills-bucket/skills/company-style/ agentcore deploy

Kebutuhan peran eksekusi s3:GetObject dan s3:ListBucket di ember. Lihat Kontrol keamanan dan akses.

Interactive

Di TUI, tambahkan skill S3 ke harness melalui add → Harness wizard. Lanjutkan ke pengaturan Advanced, aktifkan Skills with Space, dan pilih S3 sebagai sumbernya (lihat tab Git Interactive untuk langkah-langkah bersama tersebut).

  1. Masukkan URI S3 dari direktori keterampilan.

    Masukkan URI S3 untuk keterampilan

Konfirmasikan wizard, lalu jalankan agentcore deploy untuk menerapkan.

  • uri(wajib) - URI S3 menunjuk ke direktori keterampilan (misalnya,s3://bucket/prefix/).

  • Peran eksekusi harus memiliki s3:GetObject dan s3:ListBucket izin di bucket. Lihat Kontrol keamanan dan akses.

  • Setiap keterampilan S3 harus 1 GB atau lebih kecil.

  • Sumber S3 bekerja dengan titik akhir VPC S3 (tidak diperlukan gateway NAT).

Keterampilan jalur sistem file

Referensikan keterampilan yang sudah ada di sistem file harness - dimasukkan ke dalam gambar wadah atau diinstal pada sesi mulai melalui. InvokeAgentRuntimeCommand

contoh
AWS CLI/boto3
response = client.invoke_harness( harnessArn=HARNESS_ARN, runtimeSessionId=SESSION_ID, skills=[{"path": ".agents/skills/xlsx"}], messages=[{"role": "user", "content": [{"text": "Find errors in the Excel files."}]}], )

Panggang ke dalam gambar wadah

Sertakan direktori keterampilan dalam gambar kustom Anda:

COPY skills/xlsx .agents/skills/xlsx

Instal saat sesi dimulai

Gunakan InvokeAgentRuntimeCommand sebelum pemanggilan agen pertama:

agentcore invoke --exec --harness my-agent --session-id "$SESSION" \ "git clone --depth 1 https://github.com/anthropics/skills /tmp/skills && cp -r /tmp/skills/skills/xlsx .agents/skills/xlsx"

Gabungkan berbagai sumber keterampilan

Keempat jenis sumber dapat hidup berdampingan dalam satu muatan:

response = client.invoke_harness( harnessArn=HARNESS_ARN, runtimeSessionId=SESSION_ID, skills=[ {"awsSkills": {"paths": ["core-skills/aws-cdk"]}}, {"git": {"url": "https://github.com/anthropics/skills", "path": "skills/docx"}}, {"s3": {"uri": "s3://my-bucket/skills/company-style/"}}, {"path": ".agents/skills/xlsx"}, ], messages=[{"role": "user", "content": [{"text": "Help me with this project."}]}], )

Penanganan kesalahan

Semua kegagalan pengambilan gagal dalam pemanggilan dengan kesalahan deskriptif. Keterampilan tidak pernah dilewati secara diam-diam.

Kegagalan Pesan kesalahan

Akses S3 ditolak

Failed to fetch skill: AccessDeniedException. Ensure execution role has s3:GetObject permission.

Objek S3 tidak ditemukan

Skill source not found: s3://…​

Klon Git gagal (jaringan)

Failed to clone skill: could not resolve host

Git auth ditolak

Failed to clone skill: authentication failed

Jalur Git tidak ditemukan di repo

Skill path 'x' not found in repository

Batas waktu Git (60-an)

Failed to clone skill: operation timed out after 60s

Keterampilan melebihi batas 1 GB

Skill exceeds 1GB size limit

AWS jalur keterampilan tidak cocok dengan apa pun

AWS skill path 'x' matched no skills

Jalur traversal () ..

Invalid AWS skill path: must be a relative path without '..'

AWS bundel keterampilan hilang

AWS Skills are not available in this runtime (missing directory: /opt/amazon/skills)