Pengantar Framework DSPy
Pelajari alasan DSPy menggantikan prompt yang ditulis manual dengan signature deklaratif.
Pengantar Framework DSPy adalah pelajaran AI Prompt Engineering gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar AI Prompt Engineering, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AI Prompt Engineering mencakup 4 pelajaran total.
Kerapuhan Prompt yang Ditulis Manual
Prompt yang dibuat secara manual mudah rapuh. Perubahan satu kata saja dapat mengubah perilaku model secara drastis, dan hal yang berhasil pada GPT-4 sering kali tidak berfungsi pada Claude atau Gemini.
Insinyur prompt menghabiskan waktu berjam-jam untuk menyesuaikan susunan kata, tetapi akhirnya mendapati bahwa perubahan tersebut tidak dapat digeneralisasikan ke berbagai kumpulan data atau versi model. Kerapuhan inilah masalah utama yang diselesaikan DSPy.
Apa Itu DSPy
DSPy (Declarative Self-improving Python) adalah kerangka kerja dari Stanford yang memperlakukan pembuatan prompt sebagai masalah kompilasi, bukan sebagai suatu keterampilan.
Alih-alih menulis: "Think step by step and answer the following question...", Anda menyatakan apa yang diinginkan (sebuah signature), lalu membiarkan DSPy menentukan cara membuat prompt untuk model agar mencapai hasil tersebut.
Menginstal DSPy
DSPy tersedia di PyPI. Instal DSPy dan konfigurasi backend model bahasa untuk memulai.
pip install dspy-ai
# Basic setup in Python
import dspy
# Configure the language model
lm = dspy.LM('openai/gpt-4o-mini', api_key='sk-...')
dspy.configure(lm=lm)
print('DSPy configured successfully')Gagasan Inti: Memisahkan Logika dari Pembuatan Prompt
Dalam pembuatan prompt tradisional, logika program dan teks prompt saling bercampur. Jika Anda ingin mengubah cara model melakukan penalaran, Anda harus menulis ulang string prompt.
DSPy memisahkan kedua hal ini: Anda menulis logika Python menggunakan modul, lalu DSPy secara otomatis membuat (dan mengoptimalkan) teks prompt yang sebenarnya selama tahap kompilasi.
Signature: Menyatakan Maksud
signature dalam DSPy adalah deklarasi bertipe untuk input dan output. Signature menyatakan apa yang dilakukan, bukan bagaimana melakukannya.
DSPy menggunakan signature untuk menyusun prompt yang sesuai saat kompilasi — Anda tidak perlu melakukan rekayasa prompt.
import dspy
# Declare: given a question, produce an answer
class SimpleQA(dspy.Signature):
"""Answer questions with short factual responses."""
question: str = dspy.InputField()
answer: str = dspy.OutputField(desc='A concise factual answer')
# DSPy turns this declaration into a real prompt automatically
print(SimpleQA.__doc__)Modul: Blok Penalaran yang Dapat Dirangkai
DSPy menyediakan modul yang menerapkan pola penalaran umum. Anda menggunakannya seperti lapisan PyTorch — rangkai modul tersebut menjadi program yang lebih besar.
dspy.Predict— prediksi langsungdspy.ChainOfThought— menambahkan langkah penalarandspy.ReAct— penalaran + penggunaan alat
import dspy
class SimpleQA(dspy.Signature):
"""Answer questions with short factual responses."""
question: str = dspy.InputField()
answer: str = dspy.OutputField()
# Three different module strategies for the same signature
predict_module = dspy.Predict(SimpleQA)
cot_module = dspy.ChainOfThought(SimpleQA)
# Call just like a function
result = predict_module(question='What is the capital of France?')
print(result.answer)Apa yang Dilakukan Kompilasi
Kompilasi adalah proses ketika DSPy mengoptimalkan prompt program Anda menggunakan kumpulan data pelatihan dan fungsi metrik.
Sebelum kompilasi: DSPy menggunakan prompt bawaan dasar. Setelah kompilasi: DSPy telah menemukan contoh few-shot, instruksi yang lebih baik, atau demonstrasi chain-of-thought yang memaksimalkan metrik Anda. Prompt yang telah dioptimalkan disimpan dan digunakan kembali saat inferensi.
Program DSPy Minimal
Berikut program DSPy minimal yang lengkap: sebuah signature, sebuah modul, dan sebuah pemanggilan. Tidak ada string prompt yang ditulis di mana pun.
import dspy
# 1. Configure LM
lm = dspy.LM('openai/gpt-4o-mini', api_key='sk-...')
dspy.configure(lm=lm)
# 2. Define signature
class Summarize(dspy.Signature):
"""Summarize text into one sentence."""
text: str = dspy.InputField()
summary: str = dspy.OutputField()
# 3. Create module
summarizer = dspy.Predict(Summarize)
# 4. Use it
result = summarizer(text='DSPy is a framework for programming language models.')
print(result.summary)DSPy vs Rekayasa Prompt Tradisional
Perbedaan filosofis utamanya:
- Tradisional: Anda menulis teks prompt → model menjalankannya → Anda menyesuaikan teks secara manual
- DSPy: Anda menulis logika Python → pengoptimal menemukan teks prompt terbaik → model menjalankan prompt yang telah dioptimalkan
DSPy memperlakukan prompt sebagai detail implementasi yang seharusnya ditangani oleh kompilator, seperti kompilator mengubah Python menjadi bytecode.
Kapan DSPy Layak Digunakan
DSPy sangat bermanfaat jika Anda memiliki:
- metrik yang jelas untuk dioptimalkan (akurasi, F1, penilaian pengguna)
- kumpulan data pelatihan yang berisi contoh (bahkan 20–50 contoh sudah memadai)
- pipeline dengan beberapa langkah penalaran yang saling berinteraksi
Untuk prompt sederhana yang hanya digunakan sekali, beban tambahan DSPy tidak sepadan. Namun, untuk pipeline LLM produksi dengan sasaran yang dapat diukur, DSPy dapat membawa perubahan besar.
Gambaran Umum Ekosistem DSPy
DSPy bukan sekadar pembungkus API — DSPy adalah ekosistem lengkap:
- Signature: Menyatakan I/O
- Modul: Strategi penalaran
- Pengoptimal: BootstrapFewShot, MIPRO, COPRO
- Evaluate: Perangkat evaluasi bawaan
- Assertion: Membatasi output secara deklaratif
Anda akan mempelajari setiap bagian ini dalam pelajaran-pelajaran berikutnya di kursus ini.
Pemeriksaan Pemahaman: Konsep Inti DSPy
Apa perbedaan utama DSPy dibandingkan dengan menulis prompt secara manual?
Ringkasan: Dasar-Dasar Kerangka Kerja DSPy
DSPy mengatasi kerapuhan prompt yang ditulis manual dengan memperlakukan pembuatan prompt sebagai masalah kompilasi. Anda menulis signature (deklarasi I/O bertipe) dan merangkainya dengan modul seperti Predict dan ChainOfThought. Selanjutnya, sebuah pengoptimal menemukan teks prompt terbaik secara otomatis menggunakan data pelatihan dan metrik Anda. Hasilnya adalah pipeline prompt yang portabel, dapat diuji, dan dapat ditingkatkan secara otomatis — tanpa rekayasa prompt manual.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Pengantar Framework DSPy” gratis?
Ya — teks lengkap “Pengantar Framework DSPy” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AI Prompt Engineering, upgrade ke CoddyKit PRO. Kursus AI Prompt Engineering mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Pengantar Framework DSPy”?
Pelajari alasan DSPy menggantikan prompt yang ditulis manual dengan signature deklaratif. Kamu berlatih AI Prompt Engineering dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai AI Prompt Engineering?
Tidak diperlukan pengalaman sebelumnya. AI Prompt Engineering di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Pengantar Framework DSPy” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran AI Prompt Engineering ini?
Ya. Setiap pelajaran AI Prompt Engineering menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Pengantar Framework DSPy
- Mendefinisikan Signature dan Modul
- Mengompilasi dan Mengoptimalkan Prompt
- Mengevaluasi Pipeline DSPy