Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Khusus
Apa itu AWS Ubah kustom?
AWS Transform custom menggunakan agentic AI untuk melakukan modernisasi skala besar perangkat lunak, kode, pustaka, dan kerangka kerja untuk mengurangi utang teknis. Ini menangani beragam skenario termasuk peningkatan versi bahasa, migrasi API dan layanan, peningkatan dan migrasi kerangka kerja, refactoring kode, dan transformasi khusus organisasi.
Melalui pembelajaran berkelanjutan, agen meningkatkan dari setiap eksekusi dan umpan balik pengembang, memberikan transformasi berkualitas tinggi dan berulang tanpa memerlukan keahlian otomatisasi khusus.
Kemampuan Kunci
AWS Transform custom menyediakan kemampuan berikut:
Definisi transformasi berbasis bahasa alami - Buat transformasi khusus menggunakan bahasa alami, dokumentasi, dan sampel kode
Eksekusi transformasi - Terapkan transformasi secara konsisten dan andal di beberapa basis kode
Pembelajaran berkelanjutan - Secara otomatis meningkatkan kualitas transformasi dari setiap eksekusi
AWS-transformasi terkelola - Gunakan transformasi yang siap digunakan dan diperiksa untuk skenario AWS umum
Pola Transformasi
AWS Transform custom mendukung beragam pola transformasi untuk memenuhi kebutuhan modernisasi Anda. Setiap pola memiliki karakteristik kompleksitas yang berbeda berdasarkan ruang lingkup dan sifat perubahan yang diperlukan.
| Pola | Deskripsi | Kompleksitas | Contoh |
|---|---|---|---|
| Migrasi API dan Layanan | Migrasi antara versi API atau layanan yang setara sambil mempertahankan fungsionalitas | Sedang | AWS SDK v1 → v2 (Jawa, Python,), Boto2 → Boto3, JUnit 4 → 5, JavaScript javax → jakarta |
| Upgrade Versi Bahasa | Memutakhirkan ke versi yang lebih baru dari bahasa pemrograman yang sama, mengadopsi fitur baru dan mengganti fungsionalitas yang tidak digunakan lagi | Low-Medium | Java 8 → 17, Python 3.9 → 3.13, 12 → 22, peningkatan versi Node.js TypeScript |
| Upgrade Kerangka | Memutakhirkan ke versi yang lebih baru dari kerangka kerja yang sama, mengatasi perubahan yang melanggar | Sedang | Spring Boot 2.x → 3.x, React 17 → 18, peningkatan sudut, peningkatan Django |
| Migrasi Kerangka Kerja | Bermigrasi ke kerangka kerja yang sama sekali berbeda yang melayani tujuan serupa | Tinggi | Angular → Bereaksi, Redux → Zustand, → Bereaksi Vue.js |
| Upgrade Perpustakaan dan Ketergantungan | Memutakhirkan pustaka pihak ketiga ke versi yang lebih baru sambil mempertahankan bahasa dan kerangka kerja yang sama | Low-Medium | Pandas 1.x → 2.x, NumPy peningkatan, peningkatan perpustakaan, peningkatan Lodash Hadoop/HBase/Hive |
| Refactoring Kode dan Modernisasi Pola | Memodernisasi pola kode dan mengadopsi praktik terbaik tanpa mengubah fungsionalitas eksternal | Low-Medium | Cetak → Kerangka kerja logging, penggabungan string → f-string, adopsi petunjuk tipe, instrumentasi observabilitas |
| Skrip dan File-by-File Terjemahan | Menerjemahkan skrip independen atau file konfigurasi di mana file sebagian besar mandiri | Low-Medium | AWS CDK → Terraform, Terraform →, Excel→notebook Python, CloudFormation Bash→ PowerShell |
| Migrasi Arsitektur | Migrasi antara arsitektur perangkat keras atau lingkungan runtime dengan perubahan kode minimal | Medium-High | x86 →AWS Graviton (ARM), On-premis → Lambda, server tradisional → kontainer |
| Language-to-Language Migrasi | Menerjemahkan basis kode dari satu bahasa pemrograman ke bahasa pemrograman lainnya | Sangat tinggi | Java→Python, →, C → Karat, Python JavaScript → Go TypeScript |
| Kustom dan Organization-Specific Transformasi | Persyaratan organisasi yang unik dan kebutuhan modernisasi khusus | Bervariasi | Migrasi pustaka internal khusus, standar pengkodean khusus organisasi, migrasi kerangka kerja berpemilik |
catatan
Untuk COBOL/mainframe bahasa, gunakan AWS Transform for Mainframe. Untuk upgrade .NET Framework ke .NET Core, pertimbangkan AWS Transform untuk Windows. Untuk migrasi VMware, pertimbangkan AWS Transform for VMware. AWS
Bagaimana AWS Mengubah Karya kustom
AWS Transform custom biasanya digunakan dalam proyek skala besar di mana beberapa basis kode atau modul diubah. Tim biasanya mengikuti alur kerja empat fase:
Tentukan Transformasi - Berikan petunjuk bahasa alami, dokumentasi, dan sampel kode kepada agen, yang menghasilkan definisi transformasi awal. Definisi ini dapat disempurnakan secara iteratif melalui obrolan atau pengeditan langsung. Fase ini dapat dilewati saat menggunakan transformasi AWS-managed.
Pilot atau Proof-of-Concept - Uji transformasi pada basis kode sampel dan perbaiki berdasarkan hasil. Fase validasi ini membantu memperkirakan biaya dan upaya transformasi penuh. Pembelajaran berkelanjutan meningkatkan kualitas selama fase ini.
Eksekusi Berskala - Siapkan eksekusi massal otomatis menggunakan CLI, dengan pengembang meninjau dan memvalidasi hasil. Pantau kemajuan menggunakan aplikasi web dan melacak transformasi di beberapa repositori.
Monitor dan Tinjau - Pembelajaran berkelanjutan secara otomatis meningkatkan kualitas transformasi. Tinjau pelajaran yang telah diambil dari proses sebelumnya untuk memastikan mereka memenuhi standar kualitas, dan arsipkan apa pun yang tidak berguna.
Memahami Konsep Kunci
Bagian ini menjelaskan konsep-konsep kunci untuk bekerja dengan AWS Transform custom.
Definisi Transformasi
Definisi transformasi berisi instruksi dan pengetahuan yang diperlukan untuk melakukan transformasi kode tertentu. Ini direpresentasikan sebagai keterampilan dan terdiri dari:
SKILL.md(wajib) - Instruksi dalam Penurunan Harga dengan frontmatter YAMAL (namedandescriptionbidang) yang berisi logika transformasi inti dan instruksi eksekusireferences/folder (opsional) - Dokumentasi dimuat sesuai kebutuhan selama eksekusi transformasiscripts/folder (opsional) - Skrip yang diunduh dan dijalankan transformasi selama eksekusi
AWS Transform CLI secara otomatis mengunduh definisi transformasi ke direktori saat ini bila diperlukan untuk eksekusi, inspeksi, atau modifikasi.
penting
Saat menerbitkan transformasi, direktori harus berisi hanya SKILL.md dan opsional references/ folder, scripts/ folder, atau keduanya. Tidak ada file atau subdirektori lain yang diizinkan.
catatan
CLI versi 2.0 dan yang lebih baru menggunakan format keterampilan. Definisi transformasi yang ada secara otomatis ditangani oleh CLI.
Kategori definisi transformasi
Definisi transformasi dapat memiliki kategori yang mengatakan bagaimana itu digunakan:
analysis— Membaca kode dan melaporkan temuan. Modernisasi berkelanjutan menjalankan definisi transformasi ini sebagai analisis khusus.remediation— Perubahan kode. Modernisasi berkelanjutan menggunakan definisi transformasi ini untuk memulihkan temuan.
Atur kategori dengan --category opsi atx custom def publish atauatx custom def save-draft:
atx custom def publish -n <transformation-name> --description "Description" --sd <directory> --category analysis atx custom def publish -n <transformation-name> --description "Description" --sd <directory> --category remediation atx custom def list # The Category column shows each transformation definition's category
AWS Transform menggunakan kategori untuk memutuskan di mana definisi transformasi dapat digunakan.
| Gunakan | Definisi transformasi yang diizinkan |
|---|---|
Analisis kustom (--type custom) |
Definisi transformasi Anda sendiri dengan analysis kategori |
Remediasi dengan --transformation-name |
Definisi transformasi Anda sendiri dengan remediation kategori, atau transformasi AWS terkelola |
Sebelum mengirimkan analisis kustom, jadwal, atau remediasi, AWS Transform memeriksa kategori definisi transformasi.
Untuk mengubah kategori definisi transformasi, publikasikan lagi dengan --category nilai yang berbeda. Jika Anda menerbitkan versi baru tanpa--category, versi baru menyimpan kategori versi sebelumnya.
Untuk cara menjalankan definisi analysis transformasi, lihatAnalisis kustom.
catatan
Kategori berbeda dari tag sumber daya. Untuk mengelola tag sumber daya, lihatPerintah Tag.
Tulis definisi transformasi untuk analisis
Untuk mendapatkan temuan yang berguna, tulis definisi transformasi sehingga menjelaskan apa yang harus dicari, bagaimana mengklasifikasikan setiap masalah, dan apa yang tidak boleh dilakukan. Kami merekomendasikan bagian berikut diSKILL.md.
| Bagian | Apa yang harus disertakan |
|---|---|
| Pengantar | Satu atau dua kalimat yang menyatakan apa yang ditemukan analisis. Nyatakan bahwa itu hanya-baca dan tidak boleh memodifikasi file apa pun. |
| Kriteria masuk | Ketika analisis berlaku, misalnya “Repositori berisi build.gradle file pom.xml atau.” |
| Lingkup | File dan direktori yang akan diperiksa, dan yang harus dilewati, seperti output build dan dependensi vendor. |
| Apa yang harus dilaporkan | Pola atau kondisi spesifik yang dihitung sebagai masalah. Mintalah satu temuan per masalah, dengan jalur file dan nomor baris. |
| Kategori | Seperangkat nilai kategori kecil dan tetap, dan masalah mana yang termasuk dalam masing-masing. |
| Kriteria keparahan | Apa yang membuat masalahhigh,medium, ataulow. |
| Kriteria keluar | Bagaimana agen mengetahui hal itu dilakukan: setiap file dalam lingkup diperiksa, setiap temuan memiliki file, kategori, dan tingkat keparahan, dan tidak ada file yang diubah. Juga nyatakan apa yang harus dilaporkan ketika tidak ada yang ditemukan. |
Contoh berikut menemukan proyek Java yang masih menargetkan versi Java lebih awal dari 17.
--- name: java-version-detector description: Report where a repository still targets a Java version earlier than 17, in build files, Dockerfiles, toolchain files, and CI workflows. Analysis only - no code is modified. --- # Java Version Detector Find where the repository targets a Java version earlier than Java 17. This is a read-only analysis: report findings, and do not modify any files. ## Entry Criteria The repository contains a Java build file (`pom.xml`, `build.gradle`, `build.gradle.kts`, or `gradle.properties`), or a file that selects a JDK (`.java-version`, `.tool-versions`, `.sdkmanrc`, a `Dockerfile`, or a file under `.github/workflows/`). ## Scope - Inspect build files, toolchain files, Dockerfiles, and CI workflow files. - Skip build output (`build/`, `target/`) and vendored dependencies. ## What to Report Report one finding for each place that selects a Java version earlier than 17: 1. A compile target, such as `maven.compiler.source`, `maven.compiler.release`, `java.version`, `sourceCompatibility`, or a Gradle toolchain `languageVersion`. 2. A Dockerfile base image that ships a JDK or JRE earlier than 17, such as `openjdk:8` or `amazoncorretto:11`. 3. A CI job or toolchain file that selects a JDK earlier than 17. For each finding, include the file path, the line number, and the version you found. ## Categories - `outdated-compile-target` - a build file compiles for an old Java version - `outdated-runtime-image` - a Dockerfile uses an old JDK or JRE image - `outdated-ci-jdk` - a CI workflow or toolchain file selects an old JDK ## Severity Criteria - **high** - the project compiles for Java 8 or earlier - **medium** - the project compiles for Java 9 through 16 - **low** - only the runtime image or CI uses an old JDK, and the compile target is 17 or later ## Exit Criteria 1. Every in-scope file has been inspected. 2. Every finding has a file path, line number, category, and severity from the lists above. 3. No file in the repository has been modified. 4. If nothing is found, state that the repository targets Java 17 or later.
Ketika definisi transformasi ini berjalan terhadap proyek yang pom.xml setnya<source>1.8</source>, itu menghasilkan temuan high tingkat keparahan dalam outdated-compile-target kategori, dengan AWS/java-version-upgrade sebagai perbaikannya.
Kiat untuk menulis definisi transformasi analisis
Tetap baca saja. Nyatakan secara eksplisit bahwa analisis tidak boleh memodifikasi file. Memperbaiki masalah adalah tugas remediasi.
Jadilah spesifik tentang apa yang dianggap sebagai masalah. Beri nama file, pengaturan, dan pola yang akan dicari. Instruksi yang tidak jelas menghasilkan temuan yang tidak konsisten.
Mintalah satu temuan per masalah. Setiap temuan harus menunjuk ke file dan baris tertentu sehingga dapat ditinjau dan diperbaiki secara individual.
Tentukan tingkat keparahan dan kategori dalam definisi transformasi. Agen menggunakan kriteria Anda untuk mengklasifikasikan setiap temuan.
Jaga agar ruang lingkup tetap fokus. Analisis kustom hanya melaporkan apa yang dijelaskan oleh definisi transformasinya. Untuk menemukan berbagai jenis masalah, tulis definisi transformasi terpisah atau gunakan tipe analisis bawaan.
Katakan apa yang harus dilakukan ketika tidak ada yang ditemukan. Repositori yang tidak memiliki masalah dengan benar menghasilkan nol temuan.
Sertakan instruksi temuan dalam definisi transformasi. Jika Anda meneruskan konfigurasi dengan
-gatau--configurationketika Anda menjalankan analisis, AWS Transform menggunakan konfigurasi Anda alih-alih instruksi defaultnya. Menyimpan bagian “Apa yang Harus Dilaporkan”SKILL.mdmembuat definisi transformasi menghasilkan temuan dengan cara apa pun.
Uji definisi transformasi pada repositori yang Anda tahu berisi masalah sebelum Anda mempublikasikannya. Simpan sebagai draf denganatx custom def save-draft, atau jalankan secara lokal dengan atx ct analysis run (lihatAnalisis kustom).
Registri Transformasi
Registri transformasi adalah repositori terpusat AWS akun Anda untuk menyimpan dan mengelola definisi transformasi. Transformasi dalam registri dapat berupa:
Terdaftar menggunakan
atx custom def listDieksekusi di beberapa basis kode
Dibagikan dengan pengguna lain di AWS akun Anda
Version-controlled
penting
Definisi transformasi bersifat spesifik akun. Jika Anda ingin menggunakan transformasi di AWS akun yang berbeda, Anda harus mempublikasikannya secara terpisah di akun itu.
Draf vs Transformasi yang Diterbitkan
AWS Transform custom mendukung dua status untuk transformasi dalam registri:
Transformasi draf adalah definisi transformasi yang sedang berlangsung atau belum teruji. Mereka disimpan sebagai versi tertentu dan dapat diambil, diperbarui, dan dieksekusi oleh pengguna yang mengacu pada versi tertentu. Draf berguna untuk pengembangan berulang, pengujian, dan penyempurnaan sebelum transformasi siap untuk dibagikan dengan tim Anda. Draf juga terkait dengan percakapan tertentu. Jika Anda me-restart CLI, Anda dapat menggunakan atx --conversation-id {id} untuk memulihkan yang sebelumnya.
Transformasi yang dipublikasikan tersedia di registri transformasi akun Anda untuk dieksekusi oleh pengguna lain dengan izin IAM yang diperlukan. Transformasi yang dipublikasikan dapat ditemukan menggunakanatx custom def list.
Alur kerja tipikal adalah:
Buat transformasi secara lokal
Simpan sebagai draf untuk pengujian (
atx custom def save-draft)Perbaiki dan validasi
Publikasikan untuk dibagikan dengan tim Anda (
atx custom def publish)
Anda juga dapat mempublikasikan transformasi secara langsung tanpa menyimpannya sebagai draf.
Referensi vs. Pelajaran
AWS Transform custom menggunakan dua jenis pengetahuan untuk meningkatkan kualitas transformasi:
Referensi adalah dokumentasi yang disediakan pengguna yang disimpan dalam references/ folder definisi transformasi. Referensi hanya mendukung file teks (total maksimum 10MB untuk semua file) dan biasanya berisi dokumentasi, spesifikasi API, panduan migrasi, dan contoh kode. Referensi dimuat sesuai kebutuhan selama eksekusi transformasi. Anda menambahkan referensi saat membuat atau memperbarui definisi transformasi dalam mode interaktif.
Pelajaran secara otomatis diekstraksi dari transformasi sebelumnya. Sistem pembelajaran berkelanjutan menghasilkannya dari lintasan eksekusi, umpan balik pengembang, dan perbaikan kode yang ditemuinya selama transformasi. Ini mengelompokkan pelajaran terkait ke dalam kategori sehingga Anda dapat meninjaunya bersama. Tidak seperti referensi, yang Anda berikan di muka, pelajaran terakumulasi dari waktu ke waktu saat Anda menjalankan transformasi di berbagai basis kode, dan sistem menerapkannya secara otomatis untuk meningkatkan proses masa depan. Anda meninjau dan mengelola pelajaran secara interaktif denganatx custom def learnings.
Perintah Build dan Validasi
Perintah build atau validasi adalah parameter opsional yang menentukan cara memvalidasi kode Anda selama proses transformasi. Perintah ini dijalankan di berbagai titik selama transformasi untuk memastikan integritas kode.
Memberikan perintah yang memvalidasi hasil dan mengembalikan masalah jika validasi gagal sangat penting untuk meningkatkan kualitas transformasi melalui pembelajaran berkelanjutan. Jika tidak diperlukan build atau validasi, hilangkan input Anda.
Untuk contoh dan panduan terperinci, lihat Perintah Membangun dan Validasi di bagian Alur Kerja.
Pembelajaran Terus Berkelanjutan
Pembelajaran berkelanjutan adalah sistem yang secara otomatis menangkap umpan balik dari setiap eksekusi transformasi dan meningkatkan kualitas transformasi dari waktu ke waktu. Sistem mengumpulkan informasi melalui:
Umpan balik eksplisit - Komentar dan perbaikan kode disediakan dalam mode interaktif
Pengamatan implisit - Masalah yang dihadapi agen saat mengubah dan men-debug kode
Sistem pembelajaran berkelanjutan memproses informasi ini untuk menciptakan pelajaran yang ditambahkan ke definisi transformasi untuk meningkatkan transformasi masa depan. Sistem menjalankan proses pembelajaran secara otomatis setelah transformasi selesai, tidak memerlukan masukan tambahan dari Anda.
penting
Pelajaran bersifat spesifik transformasi dan tidak dibagikan di berbagai transformasi atau akun pelanggan yang berbeda.
Mengelola Pelajaran
Sistem menghasilkan pelajaran secara otomatis, tetapi Anda tetap mengendalikan pelajaran mana yang berlaku untuk masa depan. atx custom def learningsPerintah membuka sesi terminal interaktif untuk meninjau dan mengkurasi pelajaran yang telah dikumpulkan oleh transformasi.
Dalam sesi ini, Anda dapat:
Jelajahi pelajaran yang dikelompokkan ke dalam kategori, dan lihat berapa banyak pelajaran aktif yang terkandung di setiap kategori.
Buka pelajaran untuk membaca detail lengkapnya, termasuk badan pelajaran, dampaknya, dan berapa banyak proses sebelumnya yang dikonsultasikan.
Arsipkan pelajaran untuk mencegah sistem menerapkannya ke future run, dan kembalikan nanti jika diperlukan.
Hapus pelajaran yang diarsipkan secara permanen yang tidak lagi berguna.
Untuk instruksi langkah demi langkah, lihat Pembelajaran Terus Berkelanjutan.
Client-Side Keterampilan
Client-side keterampilan adalah kemampuan tambahan yang memperluas agen selama eksekusi transformasi. Tidak seperti definisi transformasi yang menentukan transformasi apa yang harus dilakukan, keterampilan sisi klien menyediakan alat tambahan, skrip, dan instruksi yang dapat digunakan agen bersama kemampuan bawaannya selama transformasi apa pun.
Client-side keterampilan ditemukan dari direktori tingkat proyek dan tingkat pengguna. Tempatkan keterampilan di tingkat proyek ketika mereka menegakkan standar khusus untuk repositori, dan pada tingkat pengguna ketika mereka berlaku di semua proyek Anda. Project-level keterampilan hanya tersedia ketika jalur repositori kode disediakan. Untuk konfigurasi dan penggunaan terperinci, lihatClient-Side Keterampilan.
Pengantar perintah transformasi khusus
Berikut adalah beberapa perintah yang dapat Anda gunakan dengan transformasi khusus. Daftar lengkap perintah ada di referensi perintah AWS Transform custom transformations.
-
atx custom-
Menjalankan pengalaman interaktif transformasi kustom, memungkinkan pembuatan, penemuan, eksekusi, dan penyempurnaan transformasi.
-
Ini adalah perintah default untuk
atx. -
--trust-all-tools(-t) bersifat opsional dan secara implisit memungkinkan semua permintaan alat yang diminta oleh agen. Gunakan dengan hati-hati terutama di lingkungan produksi. Anda dapat mengonfigurasi kepercayaan alat untuk alat dan perintah tertentu menggunakan file pengaturan kepercayaan.
-
-
atx custom --help|atx custom -h-
Menampilkan menu bantuan.
-
Setiap perintah juga menyertakan menu bantuan, misalnya,
atx custom def exec --help.
-
-
atx --version|atx -v-
Menunjukkan versi.
-
Nomor versi berubah dengan setiap rilis.
-
-
atx custom def list-
Mencetak daftar transformasi yang tersedia di registri transformasi.
-
-
atx custom def exec-
Mengeksekusi transformasi
-
-
atx custom def learnings-
Membuka sesi interaktif untuk melihat dan mengelola pelajaran yang telah dipelajari transformasi dari proses sebelumnya
-
-
atx mcp-
Digunakan untuk mengelola konfigurasi server MCP
-