Lewati ke konten utama
menjadi.dev
Chapter 36.2 AI Product Lanjutan

ReAct Pattern: Reasoning + Acting

Pola fundamental untuk AI agent — menggabungkan reasoning dan action dalam satu loop

Tujuan Pembelajaran

  • Memahami ReAct (Reasoning + Acting) pattern secara mendalam
  • Mampu mengimplementasikan ReAct loop dengan LLM dan tools
  • Mengerti bagaimana ReAct mengatasi hallucination dengan grounding ke tools

Analogi

Diagram

      ReAct = Metode Ilmiah:

1. Observation: Apa yang saya lihat?
2. Thought (Reasoning): Apa yang perlu saya ketahui?
3. Action: Saya akan cek X
4. Observation: Hasil cek X adalah Y
5. Thought: Berdasarkan Y, saya perlu cek Z
6. Action: Cek Z
7. Observation: Hasilnya adalah W
8. Thought: Dengan X=Y dan Z=W, jawabannya adalah...
9. Action: Berikan jawaban final

ReAct = terus-menerus bolak-balik antara mikir dan bertindak sampai goal tercapai.
    

ReAct seperti metode ilmiah — reasoning dulu, acting, observasi hasil, reasoning lagi. Loop sampai goal tercapai.

Penjelasan Konsep

ReAct (Reasoning + Acting) adalah pola fundamental untuk AI agents. Alih-alih langsung menjawab, agent bergantian antara berpikir (Thought), bertindak (Action), dan mengamati hasil (Observation) dalam loop.

Format ReAct prompt: “You run in a loop of Thought, Action, Observation. Use Thought to plan, Action to use a tool, and Observation to see the result. Repeat until you have the final answer. When you have the answer, use Action: Finish[answer].”

Contoh ReAct untuk pertanyaan “Berapa suhu di Jakarta?”: Thought: Saya perlu mencari suhu Jakarta saat ini. Action: Search[“suhu Jakarta hari ini”] Observation: [Hasil search: 32 derajat Celcius] Thought: Saya sudah menemukan jawabannya. Action: Finish[32 derajat Celcius]

Kenapa ReAct mengurangi hallucination: (1) Agent tidak mengarang — dia mencari informasi via tools. (2) Setiap klaim harus di-grounding ke observation. (3) Kalau tool gagal, agent bisa coba pendekatan lain. (4) Reasoning trace bisa diaudit — tahu persis kenapa agent mengambil keputusan.

Implementasi: LLM tidak secara native mendukung ReAct. Kamu harus mengimplementasikan loop sendiri: parse output LLM untuk mendeteksi “Action:” → eksekusi tool → format hasil sebagai “Observation:” → kirim kembali ke LLM → ulangi.

Inti yang Perlu Dipahami

Bagian ini berfokus pada memahami ReAct (Reasoning + Acting) pattern secara mendalam., mampu mengimplementasikan ReAct loop dengan LLM dan tools., dan mengerti bagaimana ReAct mengatasi hallucination dengan grounding ke tools. Jangan terburu-buru menghafal istilahnya. Lebih penting untuk memahami peran setiap konsep dan kapan konsep itu muncul dalam pekerjaan web development.

Saat membaca ReAct Pattern, gunakan tujuan belajar sebagai penanda arah. Kalau kamu sudah bisa menjelaskan tujuan itu dengan kata-katamu sendiri, berarti fondasinya mulai terbentuk.

Cara Membayangkannya

ReAct seperti metode ilmiah — reasoning dulu, acting, observasi hasil, reasoning lagi. Loop sampai goal tercapai. Analogi ini dipakai supaya konsep teknis tidak terasa melayang. Hubungkan setiap istilah dengan perannya: siapa yang meminta, siapa yang memproses, data apa yang berpindah, dan hasil apa yang diharapkan.

Kalau analoginya sudah terasa masuk akal, barulah lihat istilah teknisnya. Cara ini membuat materi lebih mudah dipahami daripada langsung menghafal definisi.

Konteks dalam Perjalanan Belajar

Setiap konsep di platform ini dipilih karena dipakai di industri. Fokus pada pemahaman, bukan hafalan.

Kamu sudah di bagian lanjutan. Mulai pikirkan bagaimana konsep ini dipakai di dunia kerja — bukan hanya untuk belajar, tapi untuk membangun produk nyata.

Gunakan pertanyaan reflektif dan prompt AI di akhir chapter sebagai latihan aktif. Membaca saja tidak cukup — kamu perlu menjelaskan ulang dengan kata-katamu sendiri.

Prompt AI

Implementasi ReAct agent dari scratch (tanpa framework). Tools: calculator, datetime, search dummy. Run dengan pertanyaan kompleks. Debug: di mana agent stuck? Kenapa?

Pertanyaan Reflektif

Coba jawab pertanyaan kompleks dengan ChatGPT biasa vs dengan ReAct pattern. Bandingkan akurasinya. Mana yang lebih bisa dipercaya?