MaxCompute CLI (maxc) adalah alat command-line yang dipanggil melalui Alibaba Cloud CLI sebagai aliyun maxc. Semua perintah menghasilkan output JSON terstruktur untuk otomatisasi skrip dan integrasi AI Agent.
Instalasi dan verifikasi
maxc didistribusikan melalui Alibaba Cloud CLI. Untuk menggunakan maxc, Anda harus menginstal atau memperbarui Alibaba Cloud CLI.
Sistem operasi yang didukung
Sistem operasi
Versi yang didukung
Arsitektur yang didukung
Linux
CentOS 8+, RHEL 8+, Ubuntu 16.04+, Debian 9+, dan distribusi utama lainnya. CentOS 7 telah mencapai EOL dan tidak direkomendasikan.
x86_64 (64-bit), ARM64
macOS
macOS 11 (Big Sur) atau lebih baru
Intel dan Apple silicon (Universal binary)
Windows
Windows 10 dan lebih baru (64-bit)
Hanya x86_64. Arsitektur 32-bit dan ARM64 tidak didukung.
Pilih tab sesuai sistem operasi Anda dan ikuti langkah-langkah instalasi. Beberapa metode tersedia—pilih salah satu.
Linux
Instal menggunakan skrip Bash (Direkomendasikan)
Opsi berikut didukung:
Instal versi terbaru
Jika Anda tidak menentukan versi, skrip secara otomatis menginstal versi terbaru.
/bin/bash -c "$(curl -fsSL https://aliyuncli.alicdn.com/install.sh)"Instal versi sebelumnya
Gunakan opsi
-Vuntuk menentukan versi yang akan diinstal. Untuk melihat versi sebelumnya yang tersedia, kunjungi halaman GitHub Releases./bin/bash -c "$(curl -fsSL https://aliyuncli.alicdn.com/install.sh)" -- -V 3.3.18
Instal dari paket TGZ (.tar.gz)
Unduh paket instalasi.
Unduh versi terbaru:
CatatanJalankan
uname -muntuk memeriksa arsitektur sistem Linux Anda. Jika output terminal adalaharm64atauaarch64, sistem Anda memiliki arsitektur ARM64. Output lainnya menunjukkan arsitektur AMD64.Untuk sistem AMD64:
curl https://aliyuncli.alicdn.com/aliyun-cli-linux-latest-amd64.tgz -o aliyun-cli-linux-latest.tgzUntuk sistem ARM64:
curl https://aliyuncli.alicdn.com/aliyun-cli-linux-latest-arm64.tgz -o aliyun-cli-linux-latest.tgz
Unduh versi sebelumnya: Kunjungi halaman GitHub Releases untuk mengunduh paket instalasi versi sebelumnya.
Format nama file untuk paket instalasi Linux adalah
aliyun-cli-linux-<version>-<architecture>.tgz. Ganti<version>dengan nomor versi target, seperti 3.3.18, dan<architecture>dengan `amd64` atau `arm64`.
Ekstrak paket instalasi untuk mendapatkan file yang dapat dieksekusi
aliyun.tar xzvf aliyun-cli-linux-latest.tgzPindahkan file yang dapat dieksekusi ke direktori
/usr/local/bin. Hal ini memungkinkan Anda menjalankan perintahaliyundari path mana pun.sudo mv ./aliyun /usr/local/bin/
macOS
Instal menggunakan Homebrew (Direkomendasikan)
CatatanSebelum melanjutkan, pastikan Anda telah menginstal dan mengonfigurasi Homebrew.
Instal versi terbaru Alibaba Cloud CLI:
brew install aliyun-cliInstal menggunakan antarmuka grafis (PKG)
Klik ganda paket untuk menginstal—tidak diperlukan alat command-line.
Unduh paket instalasi.
Unduh versi terbaru: Buka tautan unduhan https://aliyuncli.alicdn.com/aliyun-cli-latest.pkg di browser Anda untuk mengunduh paket instalasi terbaru.
Unduh versi sebelumnya: Kunjungi halaman GitHub Releases untuk melihat dan mengunduh paket instalasi versi sebelumnya.
Format nama file untuk paket instalasi macOS PKG (macOS Installer Package, .pkg) adalah
aliyun-cli-<version>.pkg.
Klik ganda paket instalasi yang telah diunduh dan ikuti petunjuk untuk menyelesaikan instalasi.
Instal menggunakan skrip Bash
Perintah instalasi sama dengan yang digunakan untuk Linux. Untuk informasi lebih lanjut tentang deskripsi parameter, lihat bagian "Instal menggunakan skrip Bash" untuk Linux.
Instal versi terbaru
/bin/bash -c "$(curl -fsSL https://aliyuncli.alicdn.com/install.sh)"Instal versi sebelumnya
/bin/bash -c "$(curl -fsSL https://aliyuncli.alicdn.com/install.sh)" -- -V 3.3.5
Instal dari paket TGZ (.tar.gz)
Unduh paket instalasi.
Unduh versi terbaru:
curl https://aliyuncli.alicdn.com/aliyun-cli-macosx-latest-universal.tgz -o aliyun-cli-macosx-latest-universal.tgzUnduh versi sebelumnya: Kunjungi halaman GitHub Releases untuk mengunduh paket instalasi versi sebelumnya.
Format nama file untuk paket instalasi macOS adalah
aliyun-cli-macosx-<version>-universal.tgz.
Ekstrak paket instalasi untuk mendapatkan file yang dapat dieksekusi
aliyun.tar xzvf aliyun-cli-macosx-latest-universal.tgzPindahkan file yang dapat dieksekusi ke direktori
/usr/local/bin. Hal ini memungkinkan Anda menjalankan perintahaliyundari path mana pun.sudo mv ./aliyun /usr/local/bin/
Windows
PentingAlibaba Cloud CLI hanya tersedia untuk sistem Windows AMD64. Tidak mendukung arsitektur 32-bit atau ARM64.
Instal menggunakan antarmuka pengguna grafis (GUI)
Unduh dan ekstrak paket instalasi
Unduh paket instalasi.
Unduh versi terbaru: Buka tautan unduhan https://aliyuncli.alicdn.com/aliyun-cli-windows-latest-amd64.zip di browser Anda untuk mengunduh paket instalasi terbaru.
Unduh versi sebelumnya: Kunjungi halaman GitHub Releases untuk mengunduh paket instalasi versi sebelumnya.
Format nama file untuk paket instalasi Windows adalah
aliyun-cli-windows-<version>-amd64.zip.
Ekstrak
aliyun.exedari paket instalasi ke direktori sepertiC:\AliyunCLI.CatatanFile ini harus dijalankan dari terminal command-line. Mengklik ganda file tidak akan berfungsi.
Ingat path instalasi ini. Anda akan membutuhkannya saat mengonfigurasi variabel lingkungan PATH.
Konfigurasi variabel lingkungan PATH
Tekan tombol
Windows+Suntuk membuka antarmuka pencarian, lalu masukkan kata kunci "environment variables".Pada hasil pencarian, klik Edit the environment variables for your account untuk membuka pengaturan Environment Variables.
Pada bagian User variables, pilih variabel lingkungan dengan kunci
Pathdan klik Edit.Pada jendela edit, klik New dan masukkan path direktori instalasi Alibaba Cloud CLI. Misalnya,
C:\ExampleDir. Ganti ini dengan path direktori instalasi aktual Anda.Klik OK pada semua kotak dialog yang terbuka untuk menyimpan perubahan.
Mulai ulang sesi terminal Anda agar perubahan diterapkan.
Instal menggunakan skrip PowerShell
Buat file skrip baru bernama
Install-CLI-Windows.ps1. Anda dapat menjalankanNew-Item Install-CLI-Windows.ps1di PowerShell untuk membuat file, atau buat dokumen teks baru di File Explorer dan ubah namanya.Salin kode berikut dan simpan ke file skrip.
Jalankan file skrip untuk menginstal Alibaba Cloud CLI seperti pada contoh berikut.
CatatanPath contoh skrip adalah
C:\Example\Install-CLI-Windows.ps1. Sebelum menjalankan perintah, ganti path skrip dengan lokasi aktual.Jika Anda tidak menentukan versi, skrip secara otomatis menginstal versi terbaru. Path instalasi default adalah
C:\Users\<USERNAME>\AppData\Local\AliyunCLI.powershell.exe -ExecutionPolicy Bypass -File C:\Example\Install-CLI-Windows.ps1Gunakan opsi
-Versiondan-InstallDiruntuk menentukan versi dan direktori instalasi. Untuk melihat versi sebelumnya yang tersedia, kunjungi halaman GitHub Releases.powershell.exe -ExecutionPolicy Bypass -File C:\Example\Install-CLI-Windows.ps1 -Version 3.3.15 -InstallDir "C:\ExampleDir\AliyunCLI"
Verifikasi instalasi
Jalankan perintah berikut untuk memverifikasi instalasi.
aliyun maxc --versionJika nomor versi muncul, instalasi berhasil. Jika terjadi kesalahan, periksa versi CLI. Untuk informasi lebih lanjut, lihat Instal atau perbarui Alibaba Cloud CLI.
Otentikasi
aliyun maxc menggunakan kembali sistem kredensial Alibaba Cloud CLI. Semua metode autentikasi yang dikonfigurasi dengan aliyun configure (kecuali OAuth) berfungsi langsung—maxc mewarisi kredensial dari profil saat ini.
# Konfigurasikan autentikasi menggunakan Alibaba Cloud CLI (jika belum dilakukan)
aliyun configure --mode AK
# Verifikasi bahwa maxc dapat mengakses MaxCompute
aliyun maxc auth whoami --jsonUntuk informasi lebih lanjut tentang metode autentikasi, lihat Konfigurasi dan kelola kredensial identitas.
Konfigurasi proyek MaxCompute
Saat pertama kali menggunakan maxc, Anda harus menentukan proyek dan titik akhir MaxCompute:
aliyun maxc auth login \
--endpoint http://service.cn-hangzhou.maxcompute.aliyun.com/apiJika Anda menghilangkan --project, pemilih proyek interaktif akan muncul. Untuk skenario continuous integration (CI), Anda harus secara eksplisit menentukan proyek:
aliyun maxc auth login \
--project my_project_dev \
--endpoint http://service.cn-hangzhou.maxcompute.aliyun.com/api \
--no-pickerKonfigurasi proyek MaxCompute disimpan di ~/.maxc/config.yaml.
Lihat dan verifikasi
# Lihat identitas dan proyek saat ini
aliyun maxc auth whoami --json
# Periksa izin untuk tabel tertentu
aliyun maxc auth can-i --table my_table --operation SELECT --jsonMemulai Cepat
# 1. Konfigurasikan proyek (otentikasi sudah diselesaikan dengan aliyun configure)
aliyun maxc auth login \
--endpoint http://service.cn-hangzhou.maxcompute.aliyun.com/api
# 2. Telusuri tabel
aliyun maxc meta list-tables --json
aliyun maxc meta describe my_table --json
# 3. Jalankan kueri
aliyun maxc query "SELECT * FROM my_table LIMIT 10" --json
# 4. Perkirakan biaya
aliyun maxc query cost "SELECT * FROM my_table" --json
# 5. Contoh data
aliyun maxc data sample my_table --rows 5 --jsonOpsi global
Opsi berikut dapat ditempatkan di mana saja dalam baris perintah dan berlaku untuk semua perintah:
Opsi | Deskripsi |
| Output dalam format JSON Envelope (setara dengan |
| Format output: json, table, csv, ndjson, markdown, atau brief |
| Menentukan path file konfigurasi |
| Proyek MaxCompute target (menimpa sementara pengaturan sesi) |
| Skema target (menimpa sementara pengaturan sesi) |
Gunakan --project dan --schema untuk mengakses sementara proyek atau skema lain tanpa mengubah konfigurasi sesi. Nama tabel juga mendukung format schema.table.
Referensi perintah
Kueri SQL (Query)
mode kueri
Tiga mode tersedia, dipilih berdasarkan kata kunci pertama:
aliyun maxc query <sql> # Jalankan kueri (default) aliyun maxc query cost <sql> # Perkirakan biaya aliyun maxc query explain <sql> # Lihat rencana eksekusiMode default bersifat read-only—pernyataan DDL dan DML diblokir di sisi klien. Gunakan
--forceuntuk melewati pembatasan ini.aliyun maxc query "SELECT * FROM my_table LIMIT 10" --jsonDeskripsi parameter
Parameter
Deskripsi
Nilai default
<sql>Teks SQL
—
--fileMembaca SQL dari file
—
--stdinMembaca SQL dari input standar
—
--max-rowsJumlah maksimum baris yang dikembalikan
100
--page-sizeUkuran halaman
—
--cursorKursor paginasi (nilai kembali dari pemanggilan terakhir)
—
--waitJumlah detik untuk menunggu sinkronisasi. Jika terjadi timeout, job_id dikembalikan.
10
--dry-runHanya menampilkan rencana kueri tanpa menjalankannya
—
--cost-checkMembatalkan kueri jika perkiraan biaya melebihi ambang batas (dalam CUs)
—
--outputMenulis hasil ke file
—
--output-formatFormat file output: table, json, csv, atau ndjson
—
--idempotency-keyKunci deduplikasi, digunakan untuk retry idempoten
—
--retry-onDaftar kode kesalahan yang dapat diulang, dipisahkan koma
—
--max-retriesJumlah maksimum percobaan ulang
0
--retry-backoffKebijakan backoff: fixed atau exponential
fixed
--forceMelewati mode read-only dan mengizinkan pernyataan DDL/DML
—
--waitperilaku--wait 10(Default): Melakukan polling secara sinkron selama 10 detik. Jika pekerjaan selesai, hasil dikembalikan. Jika terjadi timeout, job_id dikembalikan.--wait 0: Mengirimkan pekerjaan dan segera mengembalikan job_id.--wait 300: Menunggu maksimal 5 menit.
Setelah timeout, Anda dapat menggunakan
job wait <job_id>untuk melanjutkan menunggu.Contoh
# Jalankan dari file aliyun maxc query --file my_query.sql --json # Perlindungan biaya: Secara otomatis membatalkan jika perkiraan biaya melebihi 100 CUs aliyun maxc query "SELECT * FROM orders" --cost-check 100 --json # Paging aliyun maxc query "SELECT * FROM orders" --page-size 50 --json aliyun maxc query "SELECT * FROM orders" --page-size 50 --cursor <next_cursor> --json # Tulis hasil ke file CSV aliyun maxc query "SELECT * FROM orders LIMIT 1000" --output result.csv --output-format csv --json # Retry idempoten aliyun maxc query "INSERT INTO target SELECT * FROM source WHERE ds='20260601'" \ --force --idempotency-key "daily-etl-20260601" \ --retry-on "QUOTA_EXCEEDED" --max-retries 3 --retry-backoff exponential --json
Manajemen pekerjaan (Job)
Mengelola siklus hidup pekerjaan SQL asinkron.
job submit
Mengirimkan pekerjaan SQL dan segera mengembalikan job_id.
aliyun maxc job submit "SELECT * FROM large_table" --jsonParameter | Deskripsi | Nilai default |
| Teks SQL | — |
| Membaca SQL dari file | — |
| Membaca SQL dari input standar | — |
| Jumlah maksimum baris yang dikembalikan | 100 |
| Ambang batas biaya (dalam CUs) | — |
| Kunci deduplikasi | — |
| Mengizinkan pernyataan DDL/DML | — |
job status / wait / result / cancel / diagnose
aliyun maxc job status <job_id> --json # Memeriksa status
aliyun maxc job wait <job_id> --json # Menunggu hingga selesai dan mengembalikan hasil
aliyun maxc job result <job_id> --json # Mendapatkan hasil pekerjaan yang telah selesai
aliyun maxc job cancel <job_id> --json # Membatalkan pekerjaan yang sedang berjalan
aliyun maxc job diagnose <job_id> --json # Mendiagnosis penyebab kegagalanParameter tambahan untuk job wait
Parameter
Deskripsi
Nilai default
--timeoutTimeout dalam detik
300
--streamStreaming output progres dalam format NDJSON
—
Parameter tambahan untuk job result
Parameter
Deskripsi
Nilai default
--max-rowsJumlah maksimum baris yang dikembalikan
100
--cursorKursor paginasi
—
job list
aliyun maxc job list --json # Menampilkan pekerjaan terbaru (20 secara default)
aliyun maxc job list --limit 50 --json # Tentukan jumlah pekerjaanAlur lengkap untuk kueri asinkron
# 1. Kirim
JOB_ID=$(aliyun maxc query "SELECT * FROM large_table" --wait 0 --json \
| jq -r '.metadata.job_id')
# 2. Tunggu
aliyun maxc job wait "$JOB_ID" --timeout 600 --json
# 3. Dapatkan hasil (mendukung paging)
aliyun maxc job result "$JOB_ID" --max-rows 1000 --jsonPenelusuran metadata (Meta)
Operasi tabel
# Daftar tabel
aliyun maxc meta list-tables --json
# Lihat skema tabel (--full menampilkan daftar kolom lengkap; mode ringkasan adalah default)
aliyun maxc meta describe my_table --json
aliyun maxc meta describe my_table --full --json
# Cari tabel
aliyun maxc meta search "order" --json
# Cari kolom
aliyun maxc meta search-columns "user_id" --jsonlist-tables dan search mendukung paging dengan --limit dan --cursor. Secara default, search mengembalikan 20 item.
Operasi partisi
# Daftar partisi (maksimal 100 secara default)
aliyun maxc meta partitions my_table --json
aliyun maxc meta partitions my_table --limit 500 --json
# Lihat partisi terbaru
aliyun maxc meta latest-partition my_table --json
# Lihat kesegaran data
aliyun maxc meta freshness my_table --jsonProyek dan skema
# Daftar proyek yang dapat diakses
aliyun maxc meta list-projects --json
# Daftar skema dalam proyek
aliyun maxc meta list-schemas --jsonMetadata semantik
Menyediakan informasi semantik bisnis tentang tabel untuk AI Agent. Untuk informasi lebih lanjut, lihat Integrasi AI Agent.
# Tetapkan informasi semantik
aliyun maxc meta semantic set my_table \
--desc "Tabel detail pesanan" \
--use-cases "Analisis volume pesanan harian" "Hitung tingkat pembelian ulang pengguna" \
--json
# Dapatkan informasi semantik
aliyun maxc meta semantic get my_table --json
# Daftar tabel yang tidak memiliki informasi semantik
aliyun maxc meta semantic list-missing --jsonsemantic set juga mendukung --sample-questions, --column-semantics (JSON), --relations (JSON), dan --stats (JSON).
Operasi data (Data)
Contoh data
Mengambil sampel data dari tabel. Untuk tabel partisi, partisi terbaru dipilih secara default. View tidak didukung.
aliyun maxc data sample my_table --json
aliyun maxc data sample my_table --rows 20 --partition "ds=20260601" --columns "user_id,amount" --jsonParameter | Deskripsi | Nilai default |
| Nama tabel | — |
| Jumlah baris yang diambil sebagai sampel | 5 |
| Spesifikasi partisi | Terbaru dipilih secara otomatis |
| Kolom yang disertakan (dipisahkan koma) | Semua |
Profil data
Menganalisis statistik kolom seperti persentase null, jumlah nilai unik, dan nilai min/maks. Hasil bersifat heuristik, berdasarkan sampel 20 baris.
aliyun maxc data profile my_table --json
aliyun maxc data profile my_table --partition "ds=20260601" --jsonaliyun maxc data profile <table_name> --jsonUnggah data
Mengunggah file CSV atau TSV lokal ke tabel. Untuk tabel partisi, --partition wajib diisi. View dan tipe kompleks (array, map, struct) tidak didukung.
aliyun maxc data upload my_table --file data.csv --json
aliyun maxc data upload my_table --file data.csv --partition "ds=20260601" --overwrite --jsonParameter | Deskripsi | Nilai default |
| Nama tabel tujuan | — |
| Path file lokal (wajib) | — |
| Spesifikasi partisi (wajib untuk tabel partisi) | — |
| Menggunakan semantik INSERT OVERWRITE | — |
| Pemisah field |
|
| Menunjukkan bahwa baris pertama adalah data, bukan header | — |
| Penanda NULL |
|
| Jumlah baris yang diunggah per batch | 10000 |
Unduh data
Mengunduh data tabel ke file CSV atau TSV lokal. Untuk tabel partisi, --partition wajib diisi. View tidak didukung.
aliyun maxc data download my_table --output data.csv --json
aliyun maxc data download my_table --output data.csv --partition "ds=20260601" --limit 100000 --jsonParameter | Deskripsi | Nilai default |
| Nama tabel sumber | — |
| Path file output (wajib) | — |
| Spesifikasi partisi (wajib untuk tabel partisi) | — |
| Kolom yang disertakan (dipisahkan koma) | Semua |
| Jumlah maksimum baris yang diunduh | Tanpa Batas |
| Pemisah field |
|
| Tidak menulis baris header | — |
| Penanda output NULL | String kosong |
Manajemen sesi (Session)
Mengelola proyek dan skema default untuk sesi saat ini. Ini adalah operasi lokal yang tidak memerlukan koneksi backend.
# Tetapkan proyek default (tentukan minimal --project atau --schema)
aliyun maxc session set --project my_project_dev --json
# Tetapkan skema default
aliyun maxc session set --schema my_schema --json
# Lihat sesi saat ini
aliyun maxc session show --json
# Hapus pengaturan sesi
aliyun maxc session unset --jsonUntuk beralih sementara ke proyek lain tanpa mengubah konfigurasi sesi, gunakan parameter global --project:
aliyun maxc meta list-tables --project other_project --json
aliyun maxc query "SELECT * FROM t LIMIT 5" --project other_project --jsonFormat output
JSON Envelope
Menambahkan --json ke perintah apa pun menghasilkan JSON Envelope terpadu (v2.0):
{
"version": "2.0",
"command": "query",
"status": "success",
"data": { ... },
"metadata": { ... },
"error": null,
"agent_hints": null
}Field | Tipe | Deskripsi |
| string | Tetap pada |
| string | Perintah yang dijalankan, seperti |
| string |
|
| object | Data bisnis yang dikembalikan oleh perintah |
| object | Metadata eksekusi (seperti nama proyek, waktu yang dikonsumsi, dan job_id) |
| object/null | Detail kesalahan jika perintah gagal |
| object/null | Aksi berikutnya yang direkomendasikan untuk AI Agent |
Field data
Struktur field data bervariasi berdasarkan perintah:
Perintah | Kunci tingkat atas dalam data |
query / job wait / job result |
|
query cost / query explain |
|
meta list-tables |
|
meta describe |
|
meta search / meta search-columns |
|
meta partitions |
|
meta latest-partition |
|
meta freshness |
|
data sample |
|
data profile |
|
job list |
|
job status / job cancel |
|
job diagnose |
|
auth whoami |
|
auth login |
|
auth can-i |
|
field error
Jika perintah gagal, field error berisi field-field berikut:
{
"code": "TABLE_NOT_FOUND",
"message": "Tabel 'orders' tidak ada di proyek 'my_project'",
"suggestion": "Gunakan 'aliyun maxc meta search orders --json' untuk menemukan tabel serupa",
"recoverable": false
}Field | Deskripsi |
| Kode kesalahan (lihat tabel di bawah) |
| Deskripsi kesalahan |
| Perbaikan yang direkomendasikan (opsional) |
| Menunjukkan apakah operasi dapat diulang |
| ID instans ODPS (hanya untuk kesalahan kueri, opsional) |
| Tautan LogView (hanya untuk kesalahan kueri, opsional) |
| Konteks terstruktur (opsional) |
Kode kesalahan
Kode kesalahan | Deskripsi | Dapat Dicoba Ulang |
| Eksekusi gagal | Ya |
| Izin ditolak | Tidak |
| Kuota terlampaui | Ya |
| Kesalahan sintaksis atau eksekusi SQL | Tidak |
| Batas biaya terlampaui | Tidak |
| Sumber daya tidak ditemukan | Tidak |
| Tabel tidak ditemukan | Tidak |
| Skema tidak ditemukan | Tidak |
| Kolom tidak ditemukan | Tidak |
| Validasi input gagal | Tidak |
| Tidak dapat terhubung ke backend | Ya |
| Waktu tunggu polling pekerjaan habis | Ya |
| Operasi tulis diblokir oleh mode read-only | Tidak |
| Operasi tulis memerlukan | Ya |
| Penguraian CSV gagal | Tidak |
| Kesalahan internal | Tidak |
Format lainnya
Format | Deskripsi |
| Tabel yang mudah dibaca (default) |
| Format Markdown |
| Rangkuman satu baris |
| CSV (hanya baris data) |
| JSON yang dipisahkan baris baru, dengan satu record per baris |
Integrasi AI Agent
maxc dirancang khusus untuk integrasi AI Agent. Bagian berikut mencakup desain inti dan pola penggunaannya.
Protokol JSON terpadu
Output --json dari setiap perintah mengikuti protokol Envelope tetap. Agent mengurai field terstruktur untuk umpan balik yang andal dan dapat diprediksi.
status: Menunjukkan keberhasilan atau kegagalan.data: Data bisnis. Strukturnya tetap berdasarkan jenis perintah.error.code+error.suggestion: Kode kesalahan dan saran yang dapat dieksekusi untuk perbaikan.agent_hints.next_actions: Perintah berikutnya yang direkomendasikan oleh CLI. Ini adalah baris perintah lengkap dan dapat dieksekusi.agent_hints.warnings: Risiko yang perlu diperhatikan, seperti biaya tinggi atau pemilihan partisi otomatis.
Self-healing kesalahan
Setiap respons kesalahan mencakup field suggestion dan agent_hints.next_actions yang memberi tahu Agent perintah apa yang harus dijalankan selanjutnya:
Skenario kesalahan | Panduan yang diterima Agent |
Tabel tidak ditemukan | Menyarankan menjalankan |
Kolom tidak ditemukan | Menyarankan menjalankan |
Izin tidak mencukupi | Menyarankan beralih ke proyek |
Kesalahan sintaksis SQL | Menyarankan menjalankan |
Kuota terlampaui | Menyarankan menjalankan |
Waktu tunggu pekerjaan habis | Menyarankan menjalankan |
Agent membaca error.suggestion dan menjalankan kembali perintah yang disarankan untuk pulih secara otomatis—tidak diperlukan penanganan kesalahan yang dikodekan secara keras.
Keamanan read-only
maxc memblokir semua pernyataan DDL dan DML (CREATE, DROP, INSERT, UPDATE, DELETE) di sisi klien, mencegah modifikasi data yang tidak disengaja. Pemeriksaan lokal ini dijalankan sebelum SQL dikirim ke server, tanpa latensi dan tanpa biaya.
Operasi tulis memerlukan pengguna untuk secara eksplisit memberikan --force—Agent tidak boleh menambahkan ini sendiri. Unggahan data melalui data upload menggunakan saluran Tunnel API terpisah dan tidak tunduk pada pembatasan ini.
Kesadaran biaya
Sebelum Agent menjalankan kueri, ia dapat memperkirakan biaya menggunakan query cost atau menetapkan batas biaya menggunakan --cost-check:
# Perkirakan biaya
aliyun maxc query cost "SELECT * FROM large_table" --json
# Tetapkan ambang batas biaya
aliyun maxc query "SELECT * FROM large_table" --cost-check 100 --jsonMenanyakan tabel partisi tanpa filter partisi dapat memicu pemindaian tabel penuh dengan biaya tinggi. Agent harus menentukan rentang partisi dengan meta partitions atau meta latest-partition sebelum menjalankan kueri.
Arsitektur pengetahuan berlapis SKILL
SKILL adalah seperangkat dokumen panduan terstruktur yang diinstal pada platform Agent yang mengajarkan Agent cara menggunakan maxc untuk tugas data MaxCompute.
# Instalasi satu klik ke Claude Code
aliyun maxc agent skill install --json
# Instal di platform lain
aliyun maxc agent skill install cursor --json
aliyun maxc agent skill install windsurf --jsonSKILL menggunakan pemuatan berlapis untuk mengoptimalkan efisiensi jendela konteks LLM:
Lapisan | Konten | Waktu pemuatan |
Main file SKILL.md | Tabel pemetaan intent-to-command, prinsip inti, alur kerja, tabel keputusan | Dimuat otomatis saat tugas dipicu |
Dokumen referensi | Panduan dialek SQL, templat kueri, strategi partisi, manual pemulihan kesalahan, dll. | Dimuat sesuai permintaan (hanya saat Agent membutuhkannya) |
Kueri metadata sederhana hanya memerlukan file utama 270 baris. Pembuatan SQL kompleks atau pemulihan kesalahan memicu pemuatan dokumen referensi sesuai permintaan.
Platform Agent yang didukung:
Platform | Path instalasi |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Agent lainnya | Tentukan --dir untuk menginstal ke direktori apa pun |
Manajemen SKILL
# Lihat status instalasi di semua platform
aliyun maxc agent skill list --json
# Perbarui SKILL yang telah diinstal (setelah rilis versi baru)
aliyun maxc agent skill update --all --json
# Lihat perbedaan antara versi yang diinstal dan versi terbaru
aliyun maxc agent skill diff claude-code --json
# Uninstal
aliyun maxc agent skill uninstall cursor --jsonAlur kerja NL2SQL
SKILL memandu Agent untuk mengonversi pertanyaan bahasa alami menjadi kueri SQL menggunakan alur berikut:
Pertanyaan pengguna
↓
1. meta search / meta list-tables → Temukan tabel yang relevan
↓
2. meta describe → Pahami skema tabel dan makna kolom
↓
3. data sample → Lihat data aktual untuk mengonfirmasi format nilai kolom
↓
4. meta partitions / latest-partition → Tentukan rentang partisi
↓
5. query cost → Perkirakan biaya
↓
6. query → Jalankan kueri dan kembalikan hasilDokumen referensi SKILL mencakup panduan dialek SQL MaxCompute lebih dari 700 baris yang mencakup perbedaan fungsi, jebakan tipe, templat kueri, dan perbaikan kesalahan umum.
Metadata semantik
Perintah meta semantic melampirkan semantik bisnis ke tabel—deskripsi, kasus penggunaan, pertanyaan contoh, dan semantik kolom. Saat meta describe mengungkapkan semantik yang hilang, Agent dapat menghasilkan dan menyimpannya:
aliyun maxc meta semantic set my_table \
--description "Tabel log perilaku pengguna, mencatat event klik dan tampilan dalam aplikasi" \
--usage-scenario "Analisis perilaku pengguna, statistik konversi funnel" \
--sample-questions '["Berapa DAU dalam 7 hari terakhir?", "Apa tren tingkat konversi pendaftaran?"]' \
--jsonSesi Agent berikutnya membaca informasi ini, menciptakan siklus penggunaan, akumulasi, dan penggunaan ulang.
Konteks Agent
Agent dapat mengambil konteks saat ini secara lengkap sekaligus menggunakan agent context:
aliyun maxc agent context --jsonPerintah ini mengembalikan status autentikasi, proyek, skema, dan path konfigurasi saat ini, membantu Agent memutuskan apakah akan memandu pengguna melalui autentikasi atau pergantian proyek.