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.
评论
暂无已展示的评论。
发表评论(匿名)