← 返回列表

Soalan Temuduga Siri AI 6: Tiga Metodologi Teras AI Agent: ReAct, Plan-and-Solve dan Reflection

Tiga Metodologi Teras AI Agent: ReAct, Plan-and-Solve dan Reflection

AI Agent ialah ejen pintar yang boleh melihat persekitaran secara autonomi, membuat keputusan dan melaksanakan tindakan. Terdapat tiga metodologi teras: ReAct, Plan-and-Solve dan Reflection. Berikut adalah penerangan masing-masing, disertakan dengan carta alir dan contoh kod.

1. ReAct (Reasoning + Acting)

Idea teras: Menyelingi penaakulan (Reasoning) dengan tindakan (Acting). Agent pada setiap langkah terlebih dahulu memikirkan keadaan semasa dan rancangan seterusnya (penaakulan), kemudian melaksanakan satu tindakan (seperti memanggil alat, mencari maklumat), dan seterusnya meneruskan penaakulan berdasarkan hasil.

Carta alir:

[Keadaan awal] → [Penaakulan: fikir langkah seterusnya] → [Tindakan: laksana tindakan] → [Perhatikan hasil] → [Penaakulan: kemas kini rancangan] → ... → [Jawapan akhir]

Contoh kod (pseudo-kod):

def react_agent(question):
    context = []
    while not solved:
        # Penaakulan: hasilkan langkah pemikiran
        thought = llm.generate_thought(question, context)
        # Tindakan: pilih tindakan berdasarkan pemikiran
        action = llm.choose_action(thought)
        # Laksana tindakan, dapatkan pemerhatian
        observation = execute_action(action)
        # Tambah pemikiran, tindakan, pemerhatian ke konteks
        context.append((thought, action, observation))
    return final_answer

Contoh:
- Pengguna bertanya: "Bagaimana cuaca di Beijing hari ini?"
- Agent menaakul: "Saya perlu query API cuaca, perlukan nama bandar dan tarikh."
- Tindakan: panggil API cuaca (parameter: Beijing, hari ini)
- Pemerhatian: kembali "Cerah, 25°C"
- Penaakulan: "Maklumat diperoleh, boleh jawab."
- Output: "Beijing hari ini cerah, 25°C."

2. Plan-and-Solve

Idea teras: Buat rancangan lengkap terlebih dahulu (Plan), kemudian laksana langkah demi langkah (Solve). Fasa perancangan memecahkan tugas kompleks kepada sub-langkah, fasa pelaksanaan menyelesaikan mengikut urutan, dan mungkin menyesuaikan rancangan berdasarkan hasil pertengahan.

Carta alir:

[Tugas] → [Buat rancangan: pecahkan sub-langkah] → [Laksana langkah 1] → [Laksana langkah 2] → ... → [Laksana langkah N] → [Jawapan akhir]

Contoh kod:

def plan_and_solve(task):
    # Fasa perancangan
    plan = llm.generate_plan(task)  # Contoh: ["Cari maklumat", "Susun maklumat", "Tulis laporan"]
    context = {}
    for step in plan:
        # Laksana 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"
- Rancangan:
1. Cari definisi AI Agent dan perkembangan terkini
2. Baca dan susun poin penting
3. Tulis rangka blog
4. Isi kandungan
5. Proofread dan terbit
- Pelaksanaan: selesaikan setiap langkah secara berurutan, akhirnya hasilkan blog.

3. Reflection

Idea teras: Agent semasa atau selepas pelaksanaan, merenung (Reflection) tentang tindakannya sendiri, menilai hasil dan memperbaiki tindakan seterusnya. Biasanya melibatkan kritikan diri, pembetulan kesilapan atau pengoptimuman strategi.

Carta alir:

[Tindakan] → [Perhatikan hasil] → [Renung: nilai sama ada berjaya] → [Jika gagal: laraskan strategi] → [Tindakan semula] → ... → [Berjaya]

Contoh kod:

def reflection_agent(task):
    max_attempts = 3
    for attempt in range(max_attempts):
        action = llm.generate_action(task)
        result = execute(action)
        # Renung
        reflection = llm.reflect(task, action, result)
        if reflection['success']:
            return result
        else:
            # Laraskan penerangan tugas atau strategi berdasarkan renungan
            task = reflection['improved_task']
    return None

Contoh:
- Tugas: "Kira 1234 * 5678"
- Tindakan: kira terus, dapat hasil 7006652
- Renung: semak proses kira, dapati ralat bawa
- Laraskan: kira semula, dapat hasil betul 7006652 (sebenarnya betul)
- Jika masih salah, terus renung sehingga betul.

Ringkasan Perbandingan

Metodologi Ciri Situasi Sesuai
ReAct Penaakulan dan tindakan berselang, pelarasan dinamik Tugas yang memerlukan interaksi maklumat masa nyata (seperti soal jawab, carian)
Plan-and-Solve Rancang dahulu kemudian laksana, pecahan berstruktur Tugas kompleks berbilang langkah (seperti penulisan, analisis data)
Reflection Renungan diri dan pembetulan, pengoptimuman lelaran Tugas yang memerlukan ketepatan tinggi (seperti pengiraan matematik, penjanaan kod)

Dalam aplikasi sebenar, ketiga-tiganya sering digabungkan, contohnya menambah mekanisme refleksi dalam ReAct, atau refleksi selepas setiap langkah dalam Plan-and-Solve.

评论

暂无已展示的评论。

发表评论(匿名)