Seri Soal Wawancara AI 6: Tiga Metodologi Inti AI Agent: ReAct, Plan-and-Solve, dan Reflection
Tiga Metodologi Inti AI Agent: ReAct, Plan-and-Solve, dan Reflection
AI Agent adalah entitas cerdas yang mampu secara mandiri merasakan lingkungan, membuat keputusan, dan menjalankan tindakan. Ada tiga metodologi inti: ReAct, Plan-and-Solve, dan Reflection. Berikut penjelasan masing-masing, dilengkapi dengan diagram alir dan contoh kode.
1. ReAct (Reasoning + Acting)
Ide Inti: Menjalin penalaran (Reasoning) dan tindakan (Acting) secara bergantian. Agent pada setiap langkah pertama-tama memikirkan keadaan saat ini dan rencana selanjutnya (penalaran), kemudian menjalankan suatu tindakan (seperti memanggil alat, mencari informasi), lalu melanjutkan penalaran berdasarkan hasil.
Diagram Alir:
[Keadaan Awal] → [Penalaran: Pikirkan Langkah Selanjutnya] → [Tindakan: Jalankan Aksi] → [Amati Hasil] → [Penalaran: Perbarui Rencana] → ... → [Jawaban Akhir]
Contoh Kode (Pseudo-code):
def react_agent(question):
context = []
while not solved:
# Penalaran: hasilkan langkah pemikiran
thought = llm.generate_thought(question, context)
# Tindakan: pilih aksi berdasarkan pemikiran
action = llm.choose_action(thought)
# Jalankan aksi, dapatkan observasi
observation = execute_action(action)
# Tambahkan pemikiran, aksi, observasi ke konteks
context.append((thought, action, observation))
return final_answer
Contoh:
- Pengguna bertanya: "Bagaimana cuaca di Beijing hari ini?"
- Agent bernalar: "Saya perlu memanggil API cuaca, memerlukan nama kota dan tanggal."
- Tindakan: panggil API cuaca (parameter: Beijing, hari ini)
- Observasi: kembali "Cerah, 25°C"
- Penalaran: "Informasi sudah didapat, bisa menjawab."
- Keluaran: "Beijing hari ini cerah, 25°C."
2. Plan-and-Solve
Ide Inti: Buat rencana lengkap terlebih dahulu (Plan), lalu jalankan secara bertahap (Solve). Fase perencanaan memecah tugas kompleks menjadi sub-langkah, fase eksekusi menyelesaikannya secara berurutan, mungkin menyesuaikan rencana berdasarkan hasil antara.
Diagram Alir:
[Tugas] → [Buat Rencana: Uraikan Sub-langkah] → [Jalankan Langkah 1] → [Jalankan Langkah 2] → ... → [Jalankan Langkah N] → [Jawaban Akhir]
Contoh Kode:
def plan_and_solve(task):
# Fase perencanaan
plan = llm.generate_plan(task) # misal: ["Cari materi", "Rapikan informasi", "Tulis laporan"]
context = {}
for step in plan:
# Jalankan setiap langkah
result = execute_step(step, context)
context[step] = result
# Sintesis hasil
final = llm.synthesize(context)
return final
Contoh:
- Tugas: "Tulis blog tentang AI Agent"
- Rencana:
1. Cari definisi AI Agent dan perkembangan terbaru
2. Baca dan rapikan poin-poin kunci
3. Buat kerangka blog
4. Isi konten
5. Koreksi dan publikasikan
- Eksekusi: selesaikan setiap langkah secara berurutan, akhirnya hasilkan blog.
3. Reflection
Ide Inti: Agent selama atau setelah eksekusi melakukan refleksi (Reflection) terhadap tindakannya sendiri, mengevaluasi hasil, dan memperbaiki tindakan selanjutnya. Biasanya mencakup kritik diri, koreksi kesalahan, atau optimalisasi strategi.
Diagram Alir:
[Tindakan] → [Amati Hasil] → [Refleksi: Evaluasi Keberhasilan] → [Jika Gagal: Sesuaikan Strategi] → [Tindakan Lagi] → ... → [Berhasil]
Contoh Kode:
def reflection_agent(task):
max_attempts = 3
for attempt in range(max_attempts):
action = llm.generate_action(task)
result = execute(action)
# Refleksi
reflection = llm.reflect(task, action, result)
if reflection['success']:
return result
else:
# Sesuaikan deskripsi tugas atau strategi berdasarkan refleksi
task = reflection['improved_task']
return None
Contoh:
- Tugas: "Hitung 1234 * 5678"
- Tindakan: hitung langsung, dapatkan hasil 7006652
- Refleksi: periksa proses perhitungan, temukan kesalahan carry
- Penyesuaian: hitung ulang, dapatkan hasil benar 7006652 (sebenarnya benar)
- Jika masih salah, terus refleksi hingga benar.
Ringkasan Perbandingan
| Metodologi | Karakteristik | Skenario Penggunaan |
|---|---|---|
| ReAct | Penalaran dan tindakan bergantian, penyesuaian dinamis | Tugas yang memerlukan interaksi informasi real-time (misal tanya jawab, pencarian) |
| Plan-and-Solve | Rencanakan dulu lalu eksekusi, dekomposisi terstruktur | Tugas kompleks multi-langkah (misal menulis, analisis data) |
| Reflection | Refleksi diri dan koreksi, iterasi optimalisasi | Tugas yang memerlukan akurasi tinggi (misal perhitungan matematika, pembuatan kode) |
Dalam aplikasi nyata, ketiganya sering digabungkan, misalnya menambahkan mekanisme refleksi ke dalam ReAct, atau refleksi setelah setiap langkah dalam Plan-and-Solve.
评论
暂无已展示的评论。
发表评论(匿名)