All Products
Search
Document Center

MaxCompute:Kemampuan pemrograman MaxFrame

Last Updated:Jun 26, 2026

Asisten pemrograman berbasis AI untuk pengembangan data terdistribusi

Ikhtisar

Kemampuan Pemrograman MaxFrame adalah asisten pemrograman AI untuk MaxFrame dari Alibaba Cloud. Fitur ini terintegrasi sebagai plugin cerdas pada asisten pemrograman AI utama, menyuntikkan sistem pengetahuan lengkap mengenai pemrosesan data terdistribusi MaxFrame ke dalam agen AI. Dengan demikian, agen AI dapat secara otomatis menghasilkan kode MaxFrame siap jalan berdasarkan deskripsi dalam bahasa alami.

Kemampuan Pemrograman MaxFrame mencakup seluruh alur kerja pengembangan MaxFrame—mulai dari manajemen Session, I/O data, pemilihan operator, hingga penulisan hasil—sehingga menurunkan hambatan masuk untuk pemrosesan data terdistribusi dan meningkatkan efisiensi pemrograman.

Arsitektur teknis

Kemampuan Pemrograman MaxFrame menggunakan arsitektur injeksi pengetahuan berlapis untuk membekali agen AI secara sistematis dengan sistem pengetahuan pengembangan yang lengkap:

┌───────────────────────────────────────────────────┐
│               AI Programming Assistant             │
│    (Claude Code / Cursor / Codex / Gemini CLI /   │
│        Tongyi Lingma / OpenCode / ...)             │
├───────────────────────────────────────────────────┤
│            MaxFrame Coding Skill                  │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐         │
│  │  Coding    │  │  Context   │  │  Operator  │         │
│  │ Skill Def. │  │   Guide    │  │ Selection  │         │
│  └──────────┘  └──────────┘  │    Agent   │         │
│  ┌──────────┐  ┌──────────┐  └──────────┘         │
│  │ Selection  │  │ API Docs   │  ┌──────────┐         │
│  │ Rule Engine│  │ 900+ Pages │  │  Operator  │         │
│  └──────────┘  └──────────┘  │ Validation │         │
│  ┌────────────────────────────────────────┐  │  Scripts   │         │
│  │         Production-Grade Code Examples      │  └──────────┘         │
│  └────────────────────────────────────────┘       │
├───────────────────────────────────────────────────┤
│               MaxFrame SDK                        │
│    DataFrame │ Tensor │ Learn │ UDF │ Session     │
├───────────────────────────────────────────────────┤
│            MaxCompute Distributed Engine          │
└───────────────────────────────────────────────────┘

Komponen

Deskripsi

Coding skill definition

Menentukan tanggung jawab inti, batas kemampuan, dan alur kerja skill tersebut.

Context guide

Dokumen referensi komprehensif lebih dari 1.700 baris yang mencakup semua fitur dari dasar hingga advanced.

Operator selection agent

Agen cerdas untuk penemuan, validasi, dan rekomendasi operator.

Selection rule engine

Strategi pemilihan berdasarkan prinsip seperti performance-first, batch-processing-first, dan compatibility-first.

API documentation library

Pustaka dokumentasi API MaxFrame lengkap lebih dari 900 halaman, tersedia untuk kueri real-time.

Operator validation scripts

Skrip yang dapat dieksekusi untuk memverifikasi keberadaan operator dan mengambil dokumentasi detailnya.

Production-grade code examples

10 templat kode lengkap siap produksi yang mencakup skenario umum.

Platform yang didukung

Kemampuan Pemrograman MaxFrame mendukung semua asisten pemrograman AI utama melalui metode instalasi terpadu:

Platform AI

Direktori instalasi

Claude Code

.claude/skills/

Cursor

.cursor/rules/

Codex

.codex/skills/

OpenCode

.opencode/skills/

Gemini CLI

.gemini/skills/

Tongyi Lingma / Qoder

.aone_copilot/skills/ atau .qoder/skills/

Instalasi

  1. Unduh paket instalasi

    Paket instalasi skill: https://skills.alibabacloud.com/skills/alibabacloud-odps-maxframe-coding

  2. Ekstrak paket ke direktori skills asisten pemrograman AI Anda (menggunakan Claude Code sebagai contoh):

    unzip maxframe-coding-skill.zip -d your-project/.claude/skills/

  3. Verifikasi instalasi

    ls your-project/.claude/skills/maxframe-job-coding/

    Direktori tersebut harus berisi: SKILL.md, examples/, references/, scripts/

  4. Setelah instalasi, masukkan prompt berikut di asisten pemrograman AI Anda untuk menguji skill tersebut:

    Create a MaxFrame job that reads data from the user_behavior table, groups it by city to calculate GMV, and writes the results to the city_gmv_report table.

    AI akan secara otomatis melakukan langkah-langkah berikut:

    1. Mengonfirmasi sumber data dan tujuan output.

    2. Merekomendasikan kombinasi operator optimal, seperti groupby().agg().

    3. Menghasilkan kode yang dapat dijalankan dengan manajemen Session lengkap dan penanganan error.

Kemampuan inti

Rekomendasi operator

MaxFrame menyediakan sistem operator berlapis, termasuk operator standar yang kompatibel dengan pandas, operator ekstensi eksklusif MaxFrame .mf (seperti apply_chunk, map_reduce, flatmap, dan rebalance), serta kemampuan UDF/UDTF. Untuk setiap kebutuhan pemrosesan data, agen pemilihan operator bawaan secara otomatis memilih dan memvalidasi operator:

  • Rekomendasi berbasis tugas: Merekomendasikan kombinasi operator optimal berdasarkan deskripsi tugas dan menjelaskan alasannya.

  • Validasi keaslian API: Memvalidasi keberadaan operator secara real-time terhadap dokumentasi API lebih dari 900 halaman untuk mencegah API hasil halusinasi.

  • Solusi alternatif: Secara otomatis menyediakan alternatif, termasuk solusi fallback berbasis UDF, ketika operator utama memiliki keterbatasan.

Contoh:

User: "I need to calculate a rolling average for my time-series data."
AI:   "I recommend using DataFrame.rolling(). 
       If you need custom window logic, you can use .mf.apply_chunk() as a fallback solution."

Generasi kode end-to-end

Kemampuan Pemrograman mencakup seluruh siklus hidup pengembangan MaxFrame:

Session creation → Data reading → Operator selection → Data processing → Result writing → Session cleanup

Fitur ini menggunakan model interaksi tiga fase, confirm-then-execute, untuk memastikan kode yang dihasilkan sesuai persis dengan kebutuhan Anda:

Fase

Konten

Deskripsi

Fase 1

Konfirmasi kebutuhan dan data

Konfirmasi sumber data, tabel target, pemilihan kolom, dan detail lainnya.

Fase 2

Konfirmasi pemilihan operator

Menampilkan operator yang direkomendasikan dan solusi alternatif, lalu menunggu konfirmasi.

Fase 3

Generasi dan validasi kode

Menghasilkan kode lengkap yang dapat dijalankan berdasarkan informasi yang telah dikonfirmasi.

Semua kode yang dihasilkan memenuhi standar siap produksi:

  • Menggunakan pola try/finally untuk memastikan resource Session selalu dibersihkan.

  • Secara otomatis memanggil .execute() untuk memicu eksekusi lazy.

  • Mendeklarasikan tipe return UDF (dtypes) dengan benar.

  • Termasuk logika penanganan error yang kuat.

Pencegahan kesalahan umum

Kode MaxFrame yang dihasilkan oleh AI umum sering mengalami masalah berikut. Kemampuan Pemrograman mengatasi masing-masing masalah tersebut dengan basis pengetahuannya:

Kesalahan umum

Solusi

Memanggil API yang tidak ada

Validasi real-time terhadap pustaka dokumentasi lebih dari 900 halaman mencegah API hasil halusinasi.

Menghilangkan pemanggilan .execute()

Menegakkan model eksekusi lazy dengan menyertakan pemicu eksekusi di semua templat kode.

Gagal menghapus Session

Semua kode menggunakan pola try/finally untuk memastikan pelepasan resource.

Ketidaksesuaian tipe return UDF

Kode contoh menunjukkan cara yang benar untuk mendeklarasikan dtypes.

Pemilihan mesin eksekusi yang tidak tepat

Secara otomatis merekomendasikan mesin berdasarkan prioritas: SQL Engine > DPE > SPE.

Menggunakan operator yang tidak efisien

Secara otomatis merekomendasikan DataFrame.mf.apply_chunk daripada Series.apply.

Templat skenario

Kemampuan Pemrograman mencakup 10 templat kode siap produksi yang mencakup skenario bisnis umum. Agen AI dapat merujuk templat ini untuk menghasilkan kode berkualitas tinggi:

Kategori skenario

File contoh

Kemampuan inti

inferensi model bahasa besar AI

ai_function_basic.py

Inferensi batch terdistribusi siap pakai dengan ManagedTextLLM.

Komputasi dipercepat GPU

gpu_unit_dpe_processing.py

Alokasi resource GPU dengan @with_running_options(gu=1).

Pemrosesan file OSS

fs_mount_example.py

Pembacaan file OSS terdistribusi dengan @with_fs_mount.

Pemasangan OSS multi-path

oss_multi_mount.py

Pemasangan simultan satu atau beberapa bucket OSS.

Pemrosesan batch berkelompok

groupby_batch_processing.py

Pemrosesan batch berkelompok efisien dengan groupby + apply_chunk.

Struktur data kompleks

complex_struct.py

Struktur bersarang dan pemrosesan kelompok kustom.

Penanganan tipe Arrow

complex_struct_arrow.py

Tipe PyArrow kompleks dan konversi JSON.

Menulis ke tabel eksternal DLF

dlf_table_write_basic.py

Konfigurasi dan penulisan data ke tabel eksternal DLF.

Menulis ke tabel kunci utama DLF

dlf_table_write_with_pk.py

Penanganan tabel dengan kunci utama dan tipe data biner.

Deduplikasi dokumen skala besar

minhash_lsh_document_similarity.py

Algoritma MinHash + LSH, mendukung paralelisme lebih dari 4.000 derajat.

Kasus penggunaan

Inferensi batch LLM

Kebutuhan: Melakukan Inferensi batch pada data teks dalam jumlah besar menggunakan model bahasa besar.

Kode Hasil Generasi:

Anda tidak perlu men-deploy model, mengelola resource GPU, atau menulis layanan Inferensi. ManagedTextLLM menyediakan beberapa model bawaan, seperti seri qwen2.5 dan DeepSeek-R1, yang dapat langsung digunakan.

import maxframe.dataframe as md
from odps import ODPS
from maxframe.learn.contrib.llm.models.managed import ManagedTextLLM
from maxframe.session import new_session
import os

o = ODPS(
    os.getenv('ALIBABA_CLOUD_ACCESS_KEY_ID'),
    os.getenv('ALIBABA_CLOUD_ACCESS_KEY_SECRET'),
    project='your-default-project',
    endpoint='your-end-point',
)

# Initialize a MaxFrame Session
session = new_session(o)

try:
  # Read the data for inference
  df = md.DataFrame({
    "query": ["What is the average distance between Earth and the Sun?", "What is the boiling point of water?"]
  })
  df.execute()


  # Perform inference using a managed large language model
  llm = ManagedTextLLM(name="qwen2.5-1.5b-instruct")
  messages = [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "{query}"},
  ]
  result = llm.generate(df, prompt_template=messages)
  result.execute()
finally:
  session.destroy()

Pemrosesan file OSS

Kebutuhan: Memasang file dari OSS ke setiap node pekerja terdistribusi untuk pembacaan dan pemrosesan paralel.

Kode Hasil Generasi:

Jalur OSS secara otomatis dipasang sebagai jalur sistem file lokal. Node pekerja terdistribusi membaca data secara paralel, sehingga throughput meningkat secara linear seiring bertambahnya jumlah node.

from maxframe.udf import with_fs_mount, with_running_options


@with_running_options(engine="dpe", cpu=2, memory=4)
@with_fs_mount(
  "oss://your-bucket/model-files/",
  "/mnt/model",
  storage_options={"role_arn": "acs:ram::xxx:role/xxx"}
)
def read_model_directory(row):
  import os
  files = os.listdir("/mnt/model")
  # Each worker reads independently, enabling automatic distributed parallelism.
  ...