ReAct Prompting (ID)

From Systems analysis Wiki
Jump to navigation Jump to search

ReAct (singkatan dari Reason + Act, dalam bahasa Inggris berarti «Berpikir dan Bertindak») — adalah paradigma perancangan prompt (prompting) untuk large language model (LLM), yang memungkinkan mereka menyelesaikan tugas-tugas kompleks melalui pergantian antara penalaran verbal (pikiran) dan tindakan yang berinteraksi dengan lingkungan eksternal[1]. Metode ini diusulkan pada tahun 2022 oleh para peneliti dari Google Research dan Universitas Princeton dan menjadi pendekatan fundamental dalam pengembangan agen cerdas.

Inovasi utama ReAct terletak pada penggabungan penalaran logis yang menjadi ciri khas teknik seperti Chain-of-Thought (CoT) dengan pelaksanaan tindakan eksternal, seperti pencarian informasi atau interaksi dengan antarmuka pemrograman aplikasi (API). Hal ini memungkinkan model untuk secara dinamis memperbaiki rencananya, memverifikasi fakta, dan mengatasi keterbatasan pengetahuannya sendiri yang sering kali sudah usang atau tidak lengkap[2].

Latar Belakang dan Sejarah Penciptaan

Sebelum munculnya ReAct, terdapat dua pendekatan utama yang terpisah untuk menggunakan LLM dalam menyelesaikan tugas-tugas kompleks:

  • Rantai Penalaran (Chain-of-Thought, CoT): Model menghasilkan penalaran logis langkah demi langkah untuk menyelesaikan suatu tugas, namun melakukannya dalam «kekosongan informasi», dengan hanya mengandalkan pengetahuan internalnya sendiri. Hal ini sering kali menyebabkan kesalahan faktual dan «halusinasi»[1].
  • Perencanaan Tindakan (Act-Only): Model menghasilkan urutan tindakan untuk berinteraksi dengan lingkungan eksternal (misalnya, dalam permainan teks), tetapi tanpa perencanaan tingkat tinggi yang eksplisit. Sistem seperti ini buruk dalam menangani kesalahan dan tidak dapat mengadaptasi strateginya ketika menghadapi keadaan tak terduga.

ReAct diciptakan untuk menggabungkan secara sinergis kekuatan dari kedua pendekatan tersebut. Metode ini memungkinkan model tidak hanya untuk bernalar, tetapi juga mendasarkan penalarannya pada fakta-fakta dari dunia eksternal, serta mengadaptasi tindakannya berdasarkan umpan balik yang diterima.

Mekanisme Kerja: Siklus «Pikiran — Tindakan — Observasi»

ReAct bekerja dalam kerangka siklus iteratif yang mencakup tiga komponen utama. Model secara berurutan menghasilkan trajektori yang terdiri dari langkah-langkah Thought, Action, dan Observation.

Contoh struktur prompt:

Pertanyaan: Ibu kota apakah kota tempat lahir penemu yang terkenal berkat arus bolak-balik?

Thought 1: Saya perlu mencari tahu siapa yang menemukan arus bolak-balik. Kemudian mencari tempat kelahirannya dan memeriksa apakah kota tersebut merupakan ibu kota.

Action 1: Search[penemu arus bolak-balik]

Observation 1: Arus bolak-balik (AC) dikembangkan dan dipopulerkan oleh Nikola Tesla.

Thought 2: Sekarang saya perlu mengetahui di mana Nikola Tesla lahir.

Action 2: Search[tempat lahir Nikola Tesla]

Observation 2: Nikola Tesla lahir di desa Smiljan, Kekaisaran Austria (sekarang Kroasia).

Thought 3: Smiljan bukan merupakan ibu kota. Dengan demikian, pertanyaan tersebut tidak memiliki jawaban yang jelas dalam formulasi seperti itu. Namun Tesla lama tinggal dan bekerja di Amerika Serikat. Mungkin yang dimaksud adalah ibu kota negara tempat ia melakukan penemuan-penemuan utamanya. Ini adalah pertanyaan yang lebih kompleks. Saya harus menyatakan fakta berdasarkan tempat kelahiran. Kota tempat ia lahir bukanlah ibu kota.

Final Answer: Penemu yang dikaitkan dengan arus bolak-balik, Nikola Tesla, lahir di Smiljan (Kroasia), yang bukan merupakan ibu kota.

Pikiran (Thought)

Model menghasilkan penalaran internal di mana ia menganalisis tugas, menguraikannya menjadi sub-tugas, membentuk atau memperbaiki rencana tindakan, dan mengevaluasi keadaan saat ini. Langkah ini tidak memengaruhi lingkungan eksternal, tetapi berfungsi untuk perencanaan internal.

Tindakan (Action)

Berdasarkan penalarannya, model melakukan tindakan eksternal dengan mengakses salah satu alat yang tersedia. Contoh tindakan:

  • Search [kueri] — untuk mencari informasi dalam basis pengetahuan (misalnya, Wikipedia).
  • Click [elemen] — untuk navigasi pada halaman web.
  • API_call [parameter] — untuk memanggil API eksternal.

Observasi (Observation)

Sistem atau alat eksternal menjalankan tindakan dan mengembalikan hasil (observasi). Ini bisa berupa fragmen teks, respons API, atau pesan kesalahan. Model menggunakan observasi ini untuk membentuk pikiran berikutnya, menutup siklus umpan balik[2].

Hasil Eksperimen dan Efektivitas

Para penulis ReAct menguji metode ini pada berbagai macam tugas, menunjukkan keunggulannya atas pendekatan CoT dan Act-Only.

Hasil ReAct dibandingkan dengan metode dasar pada benchmark utama[1]
Benchmark Tugas ReAct (keberhasilan/akurasi) Chain-of-Thought (keberhasilan/akurasi) Act-Only (keberhasilan/akurasi)
FEVER Verifikasi fakta 87.6% 82.8% 70.1%
HotpotQA Pertanyaan multi-langkah 31.8% 36.3% 17.0%
ALFWorld Permainan teks (perencanaan) 71% 10% 13%
WebShop Navigasi web 40% - 30.1%
  • Dalam tugas yang membutuhkan verifikasi fakta (FEVER), ReAct secara signifikan melampaui CoT, karena dapat memverifikasi informasi.
  • Dalam tugas perencanaan interaktif (ALFWorld, WebShop), ReAct menunjukkan keunggulan yang sangat besar, karena dapat beradaptasi dengan lingkungan yang berubah.
  • Dalam tugas penalaran murni (HotpotQA), CoT dapat menunjukkan hasil yang sebanding atau bahkan lebih baik. Namun pendekatan hibrida ReAct+CoT menunjukkan kinerja terbaik, mencapai 35% pada HotpotQA[1].

Kritik dan Keterbatasan

Meskipun efektif, ReAct memiliki sejumlah keterbatasan dan kerentanan.

  • «Kerapuhan» (Brittleness): Penelitian terkini menunjukkan bahwa keberhasilan ReAct mungkin tidak begitu banyak terkait dengan sinergi sejati antara penalaran dan tindakan, melainkan dengan kemiripan sintaksis antara contoh-contoh dalam prompt dan tugas saat ini. Model mungkin mengikuti pola `Thought-Action-Observation` tanpa sepenuhnya memahami semantik penalaran[3].
  • Biaya komputasi: Setiap siklus ReAct membutuhkan setidaknya satu pemanggilan LLM dan satu akses ke alat eksternal, yang menjadikannya lambat dan mahal dibandingkan dengan prompting standar.
  • Ketergantungan pada alat: Efektivitas agen sangat bergantung pada kualitas dan keandalan alat-alat yang tersedia. Respons yang tidak tepat atau penuh gangguan dari API dapat mengarahkan penalaran model ke jalur yang salah.

Signifikansi dan Perkembangan Lebih Lanjut

ReAct menjadi tonggak penting dalam perkembangan AI, menandai transisi dari sistem generatif ke sistem agentik. Metode ini meletakkan fondasi konseptual dan praktis bagi sebagian besar framework modern untuk pembuatan agen, seperti:

  • LangChain
  • LlamaIndex
  • AutoGen

Gagasan-gagasan ReAct menjadi titik awal bagi arsitektur penalaran yang lebih kompleks, seperti Reflexion (menambahkan siklus refleksi diri setelah kegagalan) dan Tree of Thoughts (ToT) (menjelajahi beberapa jalur penalaran secara paralel).

Pranala Luar

  • Halaman resmi proyek ReAct
  • Deskripsi ReAct dalam panduan Learn Prompting
  • Google Research (2022). ReAct: Synergizing Reasoning and Acting in Language Models (blog post). Google Research Blog.

Daftar Pustaka

  • Yao, S. et al. (2022). ReAct: Synergizing Reasoning and Acting in Language Models. arXiv:2210.03629.
  • Yao, S. et al. (2023). Tree of Thoughts: Deliberate Problem Solving with Large Language Models. arXiv:2305.10601.
  • Shinn, N. et al. (2023). Reflexion: Language Agents with Verbal Reinforcement Learning. arXiv:2303.11366.
  • Verma, V. et al. (2024). On the Brittle Foundations of ReAct Prompting for Agentic Large Language Models. arXiv:2405.13966.
  • Yao, S. et al. (2022). WebShop: Towards Scalable Real-World Web Interaction with Grounded Language Agents. arXiv:2207.01206.
  • Shridhar, M. et al. (2020). ALFWorld: Aligning Text and Embodied Environments for Interactive Learning. arXiv:2010.03768.
  • Qin, L. et al. (2023). AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Collaboration. arXiv:2308.08155.
  • Thorne, J. et al. (2018). FEVER: A Large-Scale Dataset for Fact Extraction and Verification. arXiv:1803.05355.
  • Yang, Z. et al. (2018). HotpotQA: A Dataset for Diverse, Explainable Multi-hop Question Answering. arXiv:1809.09600.

Catatan

  1. 1.0 1.1 1.2 1.3 Yao, S., Zhao, J., Yu, D., et al. (2022). «ReAct: Synergizing Reasoning and Acting in Language Models». arXiv preprint arXiv:2210.03629. [1]
  2. 2.0 2.1 «ReAct: Synergizing Reasoning and Acting in Language Models». Google Research Blog. [2]
  3. Verma, V., et al. (2024). «On the Brittle Foundations of ReAct Prompting for Agentic Large Language Models». arXiv preprint arXiv:2405.13966. [3]