← 返回列表

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.

评论

暂无已展示的评论。

发表评论(匿名)