Apa itu agen ReAct?

Penyusun

Dave Bergmann

Senior Staff Writer, AI Models

IBM Think

Apa itu Agen ReAct?

Agen ReAct adalah agen AI yang menggunakan kerangka kerja "penalaran dan tindakan" (ReAct) untuk menggabungkan penalaran rantai pemikiran (CoT) dengan penggunaan alat eksternal. Kerangka kerja ReAct meningkatkan kemampuan model bahasa besar (LLM) untuk menangani berbagai tugas kompleks dan pengambilan keputusan dalam alur kerja agen.

Pertama kali diperkenalkan oleh Yao dkk.  dalam makalah berjudul “ReACT: Synergizing Reasoning and Acting in Language Models” pada tahun 2023, ReAct secara umum dapat dipahami sebagai paradigma machine learning (ML) yang mengintegrasikan kemampuan penalaran dan pengambilan tindakan LLM.

Lebih khusus lagi, ReAct adalah kerangka kerja konseptual untuk membangun agen AI yang dapat berinteraksi dengan lingkungan mereka dengan cara yang terstruktur namun dapat beradaptasi, dengan menggunakan LLM sebagai "otak" agen untuk mengoordinasikan apa pun mulai dari generasi dengan dukungan pengambilan data hingga alur kerja multiagen yang rumit.

Berbeda dengan sistem kecerdasan buatan (AI) tradisional, agen ReAct tidak memisahkan proses pengambilan keputusan dari eksekusi tugas. Oleh karena itu, pengembangan paradigma ReAct merupakan langkah penting dalam evolusi AI generatif (gen AI) di luar sekadar chatbot percakapan dan menuju pemecahan masalah yang kompleks.

Agen ReAct dan pendekatan turunannya terus mendukung aplikasi AI yang dapat secara otonom merencanakan, mengeksekusi, dan beradaptasi dengan keadaan yang tidak terduga.

Berita teknologi terbaru, didukung oleh insight dari pakar

Tetap terinformasi tentang tren industri yang paling penting—dan menarik—tentang AI, otomatisasi, data, dan di luarnya dengan buletin Think. Lihat Pernyataan Privasi IBM®.

Terima kasih! Anda telah berlangganan.

Langganan Anda akan disediakan dalam bahasa Inggris. Anda akan menemukan tautan berhenti berlangganan di setiap buletin. Anda dapat mengelola langganan atau berhenti berlangganan di sini. Lihat Pernyataan Privasi IBM® kami untuk informasi lebih lanjut.

Bagaimana cara kerja agen ReAct?

Kerangka kerja ReAct terinspirasi dari cara manusia menggunakan bahasa alami secara intuitif—sering kali melalui monolog pikiran kita—dalam perencanaan langkah demi langkah dan pelaksanaan tugas-tugas yang kompleks.

Sebagai alternatif dari implementasi alur kerja berbasis aturan atau yang telah ditentukan sebelumnya, agen ReAct mengandalkan kemampuan analisis LLM-nya untuk secara dinamis menyesuaikan pendekatan mereka berdasarkan informasi baru atau hasil dari langkah-langkah sebelumnya.

Bayangkan Anda berkemas untuk perjalanan singkat. Anda mungkin memulai dengan mengidentifikasi pertimbangan utama (“Bagaimana cuaca di sana saat saya berada di sana?”), lalu secara aktif berkonsultasi dengan sumber eksternal (“Saya akan memeriksa ramalan cuaca lokal”).

Dengan menggunakan informasi baru tersebut (“Suhunya akan dingin”), Anda menentukan pertimbangan (“Baju hangat apa saja yang saya miliki?”) dan tindakan (“Saya akan memeriksa lemari saya”) selanjutnya. Setelah mengambil tindakan tersebut, Anda mungkin akan menemui kendala yang tidak terduga (“Semua baju hangat saya ada di gudang”) dan menyesuaikan langkah selanjutnya (“Baju apa saja yang dapat saya kenakan secara berlapis?”).

Dengan cara yang sama, kerangka kerja ReAct menggunakan rekayasa prompt untuk menyusun aktivitas agen AI dalam pola formal pemikiran, tindakan, dan pengamatan secara bergantian:

  • Langkah penalaran CoT yang diverbalkan (pemikiran) membantu model mengurai tugas yang lebih besar menjadi beberapa subtugas yang lebih mudah dikelola.

  • Tindakan yang telah ditentukan sebelumnya memungkinkan model untuk menggunakan alat, melakukan panggilan antarmuka pemrograman aplikasi (API) , dan mengumpulkan lebih banyak informasi dari sumber eksternal (seperti mesin pencarian) atau basis pengetahuan (seperti docstore internal).

  • Setelah melakukan suatu tindakan, model kemudian mengevaluasi kembali kemajuannya dan menggunakan pengamatan tersebut untuk memberikan jawaban akhir atau menginformasikan pemikiran berikutnya. Pengamatan tersebut idealnya juga mempertimbangkan informasi sebelumnya, baik dari jendela konteks standar model terdahulu maupun dari komponen memori eksternal.

Karena kinerja agen ReAct sangat bergantung pada kemampuan LLM pusatnya untuk berpikir “secara verbal” dalam menangani tugas-tugas yang kompleks, agen ReAct akan sangat diuntungkan dengan adanya model berkemampuan tinggi yang memiliki penalaran canggih dan kemampuan mengikuti instruksi.

Untuk meminimalkan biaya dan latensi, kerangka kerja ReAct multiagen dapat mengandalkan model yang lebih besar dan berkinerja lebih baik untuk bertindak sebagai agen pusat, dengan proses penalaran atau tindakan yang mungkin mencakup pendelegasian subtugas ke lebih banyak agen yang dibangun dengan menggunakan model yang lebih kecil dan lebih efisien.

Siklus agen ReAct

Kerangka kerja ini secara inheren menciptakan siklus masukan di mana model memecahkan masalah dengan mengulangi proses pemikiran-tindakan-pengamatan yang disisipkan secara terus-menerus.

Setiap kali siklus ini selesai, yakni setiap kali agen telah melakukan suatu tindakan dan melakukan pengamatan berdasarkan hasil dari tindakan tersebut, agen kemudian harus memutuskan apakah akan mengulangi atau mengakhiri siklus tersebut.

Diagram jalur reaksi

Kapan dan bagaimana cara mengakhiri siklus penalaran merupakan pertimbangan penting dalam desain agen ReAct. Menetapkan jumlah maksimum iterasi siklus adalah cara sederhana untuk membatasi latensi, biaya, dan penggunaan token, serta menghindari kemungkinan siklus tanpa akhir.

Sebaliknya, siklus dapat diatur untuk berhenti ketika beberapa kondisi tertentu terpenuhi, misalnya ketika model mengidentifikasi jawaban akhir potensial yang melebihi ambang batas keyakinan tertentu.

Untuk mengimplementasikan siklus penalaran dan tindakan seperti ini, agen ReAct biasanya menggunakan beberapa varian prompt ReAct, baik dalam prompt sistem yang disediakan bagi LLM maupun dalam konteks kueri pengguna itu sendiri.

ReAct prompting

ReAct perintah adalah teknik perintah khusus yang dirancang untuk membimbing LLM agar mengikuti paradigma ReAct dalam siklus pemikiran, tindakan, dan pengamatan. Meskipun penggunaan eksplisit metode prompt konvensional ReAct tidak secara khusus diperlukan untuk membangun agen ReAct, sebagian besar agen berbasis ReAct mengimplementasikan atau setidaknya terinspirasi langsung darinya.

Pertama kali diuraikan dalam makalah awal seputar ReAct, fungsi utama ReAct prompting adalah menginstruksikan LLM untuk mengikuti siklus ReAct dan menetapkan alat mana yang dapat digunakan, yaitu tindakan apa yang dapat dilakukan, saat menangani kueri pengguna.

Baik melalui instruksi eksplisit maupun penyertaan beberapa contoh few-shot examples, proses prompt ReAct harus:

  • Memerintahkan model untuk menggunakan penalaran rantai pemikiran: Minta model melakukan penalaran langkah demi langkah dan menggabungkan pemikiran dengan tindakan.

  • Menentukan tindakan: Tetapkan tindakan spesifik yang tersedia bagi model. Tindakan mungkin memerlukan pembuatan jenis pemikiran berikutnya atau sub-prompt tertentu, tetapi biasanya melibatkan penggunaan alat eksternal atau membuat API.

  • Memerintahkan model untuk melakukan pengamatan: Minta model untuk menganalisis kembali konteksnya setelah setiap langkah tindakan dan gunakan konteks yang telah diperbarui tersebut untuk menyediakan informasi bagi langkah penalaran berikutnya.

  • Membuat pengulangan: Instruksikan model untuk mengulangi langkah-langkah sebelumnya jika diperlukan. Anda dapat menetapkan kondisi spesifik untuk mengakhiri pengulangan tersebut, seperti jumlah maksimum pengulangan, atau menginstruksikan agen untuk menghentikan proses penalaran ketika merasa telah mencapai output akhir yang benar.

  • Membuat hasil akhir: Setiap kali kondisi akhir terpenuhi, berikan pengguna output akhir sebagai tanggapan atas pertanyaan awal mereka. Seperti banyak penggunaan LLM, sebagai model penalaran yang menggunakan penalaran rantai pemikiran sebelum menentukan output, agen ReAct sering diminta untuk melakukan proses penalaran mereka dalam "scratchpad".

Demonstrasi klasik dari proses prompt ReAct adalah prompt sistem untuk yang sudah dibuat sebelumnyaZERO_SHOT_REACT-DESCRIPTION Modul agenReAct di LangGraph Langchain. Modul ini dikenal sebagai “zero-shot” karena, dengan prompt sistem bawaan ini, LLM yang digunakan dengan modul tidak memerlukan contoh lanjutan untuk bertindak sebagai agen ReAct.

Answer the following questions as best you can. You have access to the following tools: 

Wikipedia: A wrapper around Wikipedia. Useful for when you need to answer general questions about people, places, companies, facts, historical events, or other subjects. Input should be a search query.
duckduckgo_search: A wrapper around DuckDuckGo Search. Useful for when you need to answer questions about current events. Input should be a search query.
Calculator: Useful for when you need to answer questions about math.

Use the following format:

Question: the input question you must answer
Thought: you should always think about what to do
Action: the action to take, should be one of [Wikipedia, duckduckgo_search, Calculator]
Action Input: the input to the action
Observation: the result of the action
... (this Thought/Action/Action Input/Observation can repeat N times)
Thought: I now know the final answer
Final Answer: the final answer to the original input question

Begin!

Question: {input}
Thought:{agent_scratchpad}
Agen AI

5 Jenis Agen AI: Fungsi Otonom & Aplikasi Dunia Nyata

Pelajari bagaimana AI berbasis tujuan dan berbasis utilitas beradaptasi dengan alur kerja dan lingkungan yang kompleks.

Manfaat agen ReAct

Pengenalan kerangka kerja ReAct merupakan langkah penting dalam kemajuan alur kerja agen berbasis LLM . Dari mendasarkan LLM pada informasi eksternal dunia nyata real-time melalui (RAG) hingga berkontribusi pada terobosan berikutnya—seperti Reflexion, yang mengarah pada model penalaran modern—ReAct telah membantu mengkatalisasi penggunaan LLM untuk tugas-tugas yang lebih dari sekadar pembuatan teks.

Kegunaan agen ReAct sebagian besar diperoleh dari beberapa kualitas mendasar pada kerangka kerja ReAct:

  • Kemampuan beradaptasi: Agen ReAct dapat dikonfigurasi untuk bekerja dengan berbagai alat eksternal dan antarmuka pemrograman aplikasi (API).  Meskipun menyempurnakan prompt ReAct yang relevan (menggunakan alat yang relevan) dapat meningkatkan kinerja, tidak ada konfigurasi model sebelumnya yang diperlukan untuk menjalankan pemanggilan alat .

  • Kemampuan beradaptasi: Kemampuan serbaguna ini, bersama dengan sifat dinamis dan situasional dalam menentukan alat atau API yang tepat untuk digunakan, memungkinkan agen ReAct untuk menggunakan proses penalaran mereka guna beradaptasi dengan tantangan baru. Terutama saat beroperasi dalam jendela konteks yang panjang atau didukung oleh memori eksternal, mereka dapat belajar dari kesalahan dan keberhasilan di masa lalu untuk mengatasi hambatan dan situasi yang tidak terduga. Hal ini membuat agen ReAct fleksibel dan tangguh.

  • Dapat dijelaskan: Proses penalaran verbal dari agen ReAct mudah diikuti, sehingga memudahkan debugging dan membuat agen relatif mudah dibangun dan dioptimalkan.

  • Akurasi: Seperti yang dinyatakan oleh makalah ReAct asli, penalaran rantai pemikiran (CoT) saja memiliki banyak manfaat bagi LLM, tetapi juga meningkatkan risiko halusinasi. Kombinasi CoT ReAct dengan koneksi eksternal ke sumber informasi secara signifikan mengurangi halusinasi, membuat agen ReACT lebih akurat dan dapat dipercaya.

Agen ReAct vs. panggilan fungsi

Paradigma lain yang menonjol untuk AI agen adalah panggilan fungsi, yang awalnya diperkenalkan oleh OpenAI pada Juni 2023 untuk melengkapi kemampuan agen pada model GPT-nya.



Paradigma pemanggilan fungsi memerlukan model fine-tuning untuk mengenali kapan situasi tertentu harus menghasilkan pemanggilan alat dan mengeluarkan objek JSON terstruktur yang berisi argumen yang diperlukan untuk memanggil fungsi-fungsi tersebut. Banyak solusi LLM eksklusif dan dari sumber terbuka, termasuk IBM® Granite, seri Llama dari Meta, Claude dari Anthropic, dan Google Gemini kini mendukung pemanggilan fungsi.

Apakah ReAct atau pemanggilan fungsi "lebih baik", umumnya akan bergantung pada sifat contoh penggunaan tertentu Anda. Dalam skenario yang melibatkan berbagai tugas yang relatif sederhana (atau setidaknya dapat diprediksi), pemanggilan fungsi dapat dieksekusi lebih cepat, menghemat token, dan lebih mudah diimplementasikan daripada agen ReAct.

Dalam keadaan seperti ini, jumlah token yang digunakan untuk siklus iterasi berulang agen ReAct pada penalaran CoT mungkin dipandang tidak efisien.

Kelemahan bawaannya adalah kurangnya kemampuan untuk menyesuaikan bagaimana dan kapan model memilih alat yang akan digunakan. Demikian juga, ketika agen menangani tugas yang membutuhkan penalaran kompleks, atau skenario yang dinamis atau tidak dapat diprediksi, kekakuan panggilan fungsi dapat membatasi kemampuan beradaptasi agen. Dalam situasi semacam ini, sering kali dibutuhkan kemampuan untuk melihat penalaran langkah demi langkah yang menyebabkan pemanggilan alat tertentu.

Memulai dengan agen ReAct

Agen ReAct dapat dirancang dan diimplementasikan dalam berbagai cara, baik dikodekan dari awal di Python atau dikembangkan dengan bantuan kerangka kerja sumber terbuka seperti BeeAI. Popularitas dan daya tahan paradigma ReAct telah menghasilkan literatur dan tutorial yang luas untuk agen ReAct di GitHub dan komunitas pengembang lainnya.

Sebagai alternatif untuk mengembangkan agen ReAct khusus, banyak kerangka kerja AI agen, termasuk BeeAI, LlamaIndex, dan LangGraph dari LangChain menawarkan modul agen ReAct yang telah dikonfigurasi sebelumnya untuk contoh penggunaan tertentu.

Solusi terkait
Pengembangan agen AI IBM 

Bantu pengembang untuk membangun, menerapkan, dan memantau agen AI dengan studio IBM watsonx.ai.

Jelajahi watsonx.ai
Agen AI dan asisten IBM

Ciptakan produktivitas inovatif dengan salah satu rangkaian kemampuan paling komprehensif di industri untuk membantu bisnis membangun, menyesuaikan, dan mengelola agen dan asisten AI. 

Jelajahi agen AI
IBM Granite

Raih penghematan biaya lebih dari 90% dengan model Granite yang lebih kecil dan terbuka, yang dirancang untuk efisiensi pengembang. Model yang sesuai dengan kebutuhan perusahaan ini memberikan kinerja luar biasa terhadap tolok ukur keamanan dan di berbagai tugas perusahaan, mulai dari keamanan siber hingga RAG.

Jelajahi Granite
Ambil langkah selanjutnya

Otomatisasi alur kerja yang kompleks dan ciptakan produktivitas inovatif dengan salah satu rangkaian kemampuan paling komprehensif di industri untuk membantu bisnis membangun, menyesuaikan, dan mengelola agen dan asisten AI. 

Jelajahi pengembangan agen watsonx.ai Temukan watsonx Orchestrate