Strategi Penguraian Subpertanyaan
Untuk pertanyaan kompleks dengan banyak lompatan, pecah menjadi subpertanyaan, jawab masing-masing, lalu sintesis jawaban akhir.
Strategi Penguraian Subpertanyaan adalah pelajaran AI Agents gratis di CoddyKit. Ini adalah pelajaran 4 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 Agents, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus AI Agents mencakup 4 pelajaran total.
Saat Satu Lompatan Gagal
Beberapa pertanyaan memerlukan beberapa pencarian:
"Bandingkan pendapatan Apple pada 2022 dan Microsoft pada 2023."
Satu pencarian kemiripan tidak akan mengambil kedua fakta tersebut; Anda memerlukan DUA subkueri.
Dekomposisi Subpertanyaan
LlamaIndex SubQuestionQueryEngine memecah pertanyaan menjadi subpertanyaan, menjawab masing-masing, lalu menyintesisnya:
from llama_index.core.query_engine import SubQuestionQueryEngine
from llama_index.core.tools import QueryEngineTool, ToolMetadata
query_engine_tools = [
QueryEngineTool(
query_engine=apple_index.as_query_engine(),
metadata=ToolMetadata(name='apple', description='Financial data for Apple Inc.')
),
QueryEngineTool(
query_engine=msft_index.as_query_engine(),
metadata=ToolMetadata(name='microsoft', description='Financial data for Microsoft Corp.')
)
]
engine = SubQuestionQueryEngine.from_defaults(query_engine_tools=query_engine_tools)
response = engine.query('Compare 2022 revenue of Apple vs 2023 revenue of Microsoft')Cara Kerjanya
- LLM menganalisis pertanyaan
- LLM menghasilkan subpertanyaan dan menetapkan masing-masing kepada sebuah alat
- Setiap subpertanyaan dijalankan secara paralel
- LLM menyintesis jawaban akhir dari jawaban subpertanyaan
Visibilitas Subpertanyaan
Anda dapat melihat subpertanyaan yang dihasilkan mesin:
response = engine.query('Compare X and Y')
for sq in response.metadata.get('sub_qa', []):
print(sq.sub_q.sub_question, '->', sq.answer)Kapan Menggunakan Subpertanyaan
- Kueri perbandingan (X vs Y)
- Agregasi multisumber
- Pertanyaan dengan beberapa fakta berbeda
Kapan TIDAK Menggunakannya
- Tanya jawab sederhana — menambah latensi dan biaya
- Konteks satu dokumen
- Tugas yang tidak memperoleh manfaat dari dekomposisi
Perutean dengan LLM
Sub-Question Engine dipadukan dengan RouterQueryEngine untuk terlebih dahulu menentukan koleksi indeks mana yang perlu diakses:
from llama_index.core.query_engine import RouterQueryEngine
router = RouterQueryEngine.from_defaults(query_engine_tools=query_engine_tools)
# Routes 'apple revenue' to apple index, 'msft margins' to msft, etc.Subpertanyaan untuk Agen Pemrograman
Untuk agen yang menulis kode, subpertanyaan merupakan cara untuk merencanakan langkah-langkah:
"Bangun REST API" -> sub: rancang model, sub: tulis penangan CRUD, sub: tambahkan autentikasi.
Dampak Biaya
Subpertanyaan membuat N subkueri, bukan 1. Masing-masing memerlukan pemanggilan LLM + pengambilan. Sesuaikan anggaran Anda — biayanya 3–4 kali lebih besar daripada satu lompatan.
Dibandingkan dengan ReAct
Subpertanyaan adalah perencanaan di awal. ReAct (kursus berikutnya) dilakukan selangkah demi selangkah. Untuk kueri yang dekomposisinya sudah diketahui, subpertanyaan lebih cepat; untuk tugas eksploratif, ReAct lebih mudah beradaptasi.
Gabungan: ReAct + Alat Subpertanyaan
Yang paling fleksibel: agen ReAct dengan mesin subpertanyaan sebagai alat — setiap "pemanggilan alat" dapat melakukan dekomposisi menjadi banyak subkueri.
Mengevaluasi Kualitas Subpertanyaan
Lacak apakah LLM menghasilkan subpertanyaan yang masuk akal. Dekomposisi yang buruk sulit di-debug tanpa memeriksa jejak eksekusi.
Kasus Penggunaan Dekomposisi
Untuk jenis pertanyaan apa dekomposisi subpertanyaan paling berguna?
Ringkasan
Dekomposisi subpertanyaan mengubah satu kueri kompleks menjadi beberapa kueri sederhana — dengan biaya lebih tinggi, tetapi akurasi jauh lebih tinggi untuk pertanyaan perbandingan dan multisumber.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Strategi Penguraian Subpertanyaan” gratis?
Ya — teks lengkap “Strategi Penguraian Subpertanyaan” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus AI Agents, upgrade ke CoddyKit PRO. Kursus AI Agents mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Strategi Penguraian Subpertanyaan”?
Untuk pertanyaan kompleks dengan banyak lompatan, pecah menjadi subpertanyaan, jawab masing-masing, lalu sintesis jawaban akhir. Kamu berlatih AI Agents 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 Agents?
Tidak diperlukan pengalaman sebelumnya. AI Agents 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 4 dari 4.
Berapa lama pelajaran “Strategi Penguraian Subpertanyaan” 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 Agents ini?
Ya. Setiap pelajaran AI Agents 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
- Pemuat dan Pengurai Dokumen
- Hierarki Indeks: Vektor, Pohon, Kata Kunci
- Mesin Kueri dan Sintesis Respons
- Strategi Penguraian Subpertanyaan