- CoRT(Chain of Recursive Thoughts) adalah proyek dengan pendekatan di mana model AI tidak langsung menetapkan jawaban sekali jadi, melainkan membuat dan mengevaluasi beberapa alternatif sendiri berkali-kali lalu memilih jawaban akhir
- Alur kerjanya terdiri dari pembuatan respons awal, menentukan jumlah ronde berpikir yang diperlukan, membuat 3 alternatif per ronde, mengevaluasi seluruh respons, dan memilih respons terbaik
- Saat diuji dengan Mistral 3.1 24B, disebutkan bahwa kualitas respons meningkat signifikan terutama pada tugas pemrograman untuk ukuran model kecil
- Web UI masih berada pada tahap pengembangan awal, dan di Windows menggunakan alur eksekusi
start_recthink.bat, sedangkan di Linux menggunakan pip, npm, dan recthink_web.py
- Komponen intinya adalah evaluasi diri, pembuatan alternatif yang kompetitif, perbaikan iteratif, dan kedalaman berpikir dinamis, serta proyek ini dirilis dengan lisensi MIT
Apa yang dilakukan CoRT
- CoRT adalah pendekatan yang membuat model AI meninjau responsnya sendiri secara rekursif, menghasilkan alternatif, lalu memilih jawaban terbaik
- Tujuannya adalah agar AI tidak langsung memakai jawaban pertama yang dihasilkan, tetapi mengulangi proses meragukan diri sendiri dan mencoba lagi
- README menggambarkannya seperti “AI battle royale”, di mana respons yang bertahan di antara beberapa kandidat digunakan sebagai hasil akhir
Cara pembuatan respons
- Alur pemrosesan terdiri dari langkah-langkah berikut
- AI membuat respons awal
- AI menentukan jumlah ronde berpikir yang diperlukan
- Pada setiap ronde, AI membuat 3 respons alternatif
- Semua respons dievaluasi
- Respons terbaik dipilih
- Respons akhir adalah hasil yang dipilih setelah melalui pembuatan alternatif dan evaluasi berulang
Pengujian dan contoh
- CoRT diuji dengan diterapkan pada Mistral 3.1 24B
- README menyatakan bahwa versi dengan CoRT menghasilkan hasil yang lebih baik dibanding versi tanpa CoRT, terutama pada tugas pemrograman
- Sebagai contoh, disertakan gambar hasil Mistral 3.1 24B + CoRT dan Mistral 3.1 24B non CoRT
Cara menjalankan
- Web UI masih berada pada tahap pengembangan awal
- Di Windows, panduannya adalah membuka
start_recthink.bat dan menunggu hingga instalasi dependensi selesai
- Prosedur menjalankan di Linux adalah sebagai berikut
pip install -r requirements.txt
cd frontend && npm install
cd ..
python ./recthink_web.py
- Jalankan frontend di shell baru
cd frontend
npm start
Menjalankan langsung dan komponen
- Untuk menjalankan secara langsung, instal dependensi, atur
OPENROUTER_API_KEY, lalu jalankan skrip Python
pip install -r requirements.txt
export OPENROUTER_API_KEY="your-key-here"
python recursive-thinking-ai.py
- Empat elemen inti yang ditekankan proyek ini adalah sebagai berikut
-
Self-evaluation
- Competitive alternative generation
- Iterative refinement
- Dynamic thinking depth
- Kontribusi dapat dikirim melalui PR, dan lisensinya adalah MIT
1 komentar
Komentar Hacker News
Saya sering melihat tren bahwa jika beberapa model diadu satu sama lain atau dijalankan secara bergerombol, kecerdasan kolektif akan muncul secara ajaib, tetapi setelah bereksperimen sendiri dan melihat karya ASU/Microsoft Research, saya sampai pada kesimpulan yang lebih sederhana: LLM sangat buruk sebagai verifikator bagi LLM lain
Dalam presentasi Subbarao Kambhampati, “(How) Do LLMs Reason/Plan?”, GPT-4 dengan percaya diri menghasilkan pembuktian pewarnaan graf yang dapat dibuktikan salah, sampai pemecah SAT simbolik masuk sebagai hakim https://www.youtube.com/watch?v=0u2hdSpNS2o
Makalah oleh Stechly dkk. mengkuantifikasi bahwa ketika GPT-4 diminta mengkritik jawabannya sendiri, akurasinya justru turun, sementara menambahkan verifikator eksternal yang sound meningkatkan kinerja sekitar 30 poin persentase di berbagai tugas perencanaan dan puzzle https://arxiv.org/abs/2402.08115
Dengan kata lain, bagi model autoregresif saat ini, verifikasi lebih sulit daripada generasi, dan yang dibutuhkan adalah pemeriksa yang benar-benar bernalar tentang dunia, seperti compiler, linter, pemecah SAT, atau dataset jawaban benar
Karena itu, menumpuk beberapa LLM biasanya tidak banyak membantu. Makalah posisi “LLM-Modulo” juga memandang bahwa model autoregresif tidak bisa melakukan verifikasi mandiri atau perencanaan jangka panjang sendiri, dan harus diperlakukan sebagai generator ide dengan recall tinggi lalu dibungkus dengan satu verifikator yang sound https://arxiv.org/abs/2402.01817
Dari pengujian langsung, mengganti debat 5 model dengan satu model kuat plus verifikator menghasilkan jawaban yang sama atau lebih baik, dengan latensi dan beban orkestrasi yang jauh lebih kecil
Buku atau film adalah contoh yang baik: mudah mengatakan bahwa karakter terasa dangkal, tetapi menciptakan karakter yang mendalam dan menarik ternyata sangat sulit
Dalam rekayasa perangkat lunak juga mirip; LLM yang diberi prompt untuk mencari kerentanan keamanan dapat menunjukkan titik-titik yang mungkin rentan dalam kode yang dihasilkan
Namun jika berharap LLM lain menemukan kesalahan penalaran dalam pembuktian matematika, pada dasarnya ia harus mengulang seluruh penalaran, jadi saya ragu apakah akan ada peningkatan kinerja yang berarti
Pendekatan ini juga sudah sangat tertanam dalam evaluasi pipeline RAG di framework seperti LangChain atau LlamaIndex https://arxiv.org/abs/2411.15594
Saya penasaran bagaimana jika LLM juga diminta membuat unit test untuk kode yang dihasilkannya, lalu semua unit test aplikasi yang sudah ada ikut dijalankan
Dengan memeriksa apakah kode berhasil dikompilasi dan apakah unit test lulus, verifikasi yang cukup berdasar menjadi mungkin, dan AI bisa membaca hasil test untuk memperbaiki kesalahannya sendiri
Pelatihan data korpus bisa menghasilkan lompatan berskala satu digit, tetapi pelatihan data interaksi yang memiliki loop OODA yang dapat mengamati dan beradaptasi jauh lebih kuat
Kalau saya berkecimpung di AI, mungkin saya akan melakukan itu. Namun kenyataannya saya sedang membuat BrowserBox
Generate-and-test memerlukan algoritma pemeriksa yang tepercaya, relatif cepat, dan efisien memori, dan sangat berguna ketika algoritma generasi yang presisi untuk hanya menghasilkan jawaban benar lambat atau boros memori
Dalam konteks ini, generatornya adalah LLM, sementara pemeriksa atau “verifikator”-nya adalah compiler, linter, pemecah SAT, dataset jawaban benar, dan sebagainya
Generate-and-test juga terkait dengan trial and error, dan trial and error mungkin sudah ada sejak Zaman Paleolitikum
Cara yang kadang saya pakai adalah pertama-tama meminta model chat AI menjawab masalahnya, lalu menuliskan laporan yang menjelaskan mengapa jawaban itu benar, agar bisa dipahami oleh orang yang tidak tahu masalah awal atau bidang teknisnya, atau bahkan oleh AI lain
Setelah itu, saya meminta model AI kedua yang tidak mengetahui masalahnya untuk menilai laporan tersebut, lalu menulis laporan yang meminta penjelasan yang tidak diberikan model awal atau menunjukkan ketidakkonsistenan logika
Laporan ini saya kembalikan ke model awal, memintanya menulis ulang jawaban dengan memasukkan informasi atau perbaikan yang diperlukan, lalu mengulanginya sampai model kedua diyakinkan atau model pertama memasukkan semua permintaan perubahan
Sangat kasar, tetapi dalam percobaan yang saya lakukan hasilnya cukup bagus
Rencana akhirnya biasanya menjadi jauh lebih seimbang dan matang
Menariknya, teknik ini juga bekerja baik saat diterapkan pada diri sendiri. Mencari kekurangannya terlebih dahulu sebelum meninjau ulang rencana benar-benar membantu
Misalnya satu berfokus pada teknis, satu pada pemasaran, dan satu lagi memuat konteks terkait tujuan pribadi
Memasukkan pertanyaan yang sama ke chat dengan konteks berbeda mirip seperti melihat masalah yang sama dari berbagai sudut pandang, dan kesimpulannya pun bisa cukup berbeda tergantung konteks
Terlihat seperti ide yang cukup bagus, tetapi penggunaan tokennya sepertinya akan meningkat besar
Saya juga khawatir bahwa jika LLM yang dipakai sebagai penilai sejak awal tidak mampu menghasilkan jawaban yang cukup baik, ia mungkin juga kesulitan menilai dengan akurat
Saya ingin mencoba hal seperti ini dalam skala lebih besar, berupa senat diskusi yang selalu aktif
Alih-alih menjawab prompt saat itu juga, kita memberi daftar tugas yang mungkin punya tenggat, lalu senat mengerjakannya, terpecah menjadi kelompok-kelompok untuk subtugas, menantang hasil, dan mengajukan usulan
Lebih jauh lagi, kita bisa membuat pohon analis, sehingga node induk hanya meneruskan usulan ke atas ketika menilai analisis anaknya sangat berwawasan
Saya jelas melihat bahwa menyuruh model mendekati masalah dari sudut pandang tertentu bisa membuat hasil menjadi lebih baik atau lebih buruk. Jika berbagai sudut pandang dan analisis kritis atas hasilnya dibuat bersama-sama, hasilnya bisa mengesankan
Cara seperti ini akan menghasilkan jumlah token yang sangat besar, tetapi biaya per token bergerak ke arah yang membuatnya memungkinkan. Ada juga kemungkinan membuat server IRC khusus AI, tempat siapa pun bisa menghubungkan modelnya sendiri dan menggunakannya seperti ruang diskusi bersama
Setelah saya menghabiskan waktu mencobanya, mentok, lalu kembali, ia dengan enteng berkata, “Benar, Anda menemukannya dengan baik! Hampir selesai! Langkah berikutnya adalah X dan Y,” lalu memberikan tutorial terperinci yang sama seperti sebelumnya, hanya sedikit mengubah bagian seperti flag yang ternyata salah
Rasanya seperti berurusan dengan anak magang yang terlalu antusias dan melempar pekerjaan tanpa memeriksanya, dan sepertinya akan jauh lebih baik jika ada bot kedua duduk di depan bot pertama dan bertanya, “Benar-benar yakin?”
Saya membuatnya meniru konsep penasihat di Civilization II, dan hasilnya cukup lumayan, tetapi ada keterbatasan karena terikat pada satu LLM, yaitu Mistral
Dan itu sangat berat sampai-sampai seperti membakar komputer saya
Menarik membayangkan apa yang bisa dihasilkan jika diberi cukup waktu dan token
Strategi yang jauh lebih sederhana dan terbatas yang sering saya pakai adalah menambahkan di akhir pesan: “Sebelum menjawab, berpikirlah sekali di dalam tag, lakukan kritik diri sekali di dalam tag, lalu tulis jawaban final”
Ini bekerja cukup baik. Demikian pula, sekadar meminta “temukan 5 masalah terbesar dalam usulan ini” juga lumayan, tetapi jika dipaksa 5, biasanya ia akan menemukan sesuatu meski kebanyakan kurang relevan
Pada langkah 1, saya memintanya membuat rencana; langkah 2, menunjukkan kekurangan rencana; langkah 3, memperbarui rencana dengan memasukkan kekurangan tersebut
Pertanyaan lain yang sering saya ajukan adalah “apa yang kita lewatkan?”, “apa pertimbangan dari sisi kinerja, keamanan, legal, dan biaya?”
Prompt pancingan seperti “ada lagi?” juga bisa diulang beberapa kali, dan akan lebih baik jika topik yang perlu dipertimbangkan diarahkan secara khusus. Setiap kali selesai, saya memintanya memperbarui rencana dengan memasukkan pertimbangan tersebut
Agak berbeda dari yang saya harapkan dari judulnya. Saya kira ini akan menjadi prosedur adversarial yang eksplisit
Saya belum mencobanya sendiri dan tidak tahu apakah akan bekerja. Namun, di ChatGPT, menanyakan secara terpisah dengan prompt “XYZ benar, jelaskan alasannya” dan “XYZ salah, jelaskan alasannya”, lalu melihat mana yang lebih meyakinkan, cukup membantu
https://github.com/evalstate/fast-agent
Saya tidak mengerti kenapa ada yang menganggap ini baru. Mungkin ini juga menunjukkan kondisi HN
Pendekatannya sendiri tampak bagus, tetapi sama sekali tidak boleh langsung mengisyaratkan “kamu salah”. Biasanya ia hanya akan berasumsi dirinya memang salah
Justru cukup mengesankan ketika dengan cara seperti ini ia benar-benar membantah dan membela dirinya
Eksperimen seperti ini cukup menarik, jadi saya sedang membuat editor graf bergaya blueprint Unreal Engine agar orang bisa merancang workflow semacam ini
Bentuknya: prompt pengguna masuk ke satu agen untuk membuat percobaan awal, lalu riwayat percakapan itu diteruskan ke “agen” lain dengan system prompt berbeda yang menjadi kritikus keras, memberi sinyal lulus/gagal, lalu berulang sampai kritikus menilai lulus, setelah itu hasilnya ditampilkan ke pengguna
Idealnya berupa situs web kecil yang bisa memanggil endpoint LLM sendiri serta menyimpan, memuat, dan membagikan graf workflow
Mistral Small 3.1 dan Gemma 3 terasa seperti model pertama yang setengah kompeten dan bisa dijalankan lokal, tetapi kompetensi itu baru benihnya; dibutuhkan framework yang terus menjaganya tetap pada jalur
Jika diberi hak menjalankan Python di dalam loop iteratif dan diminta menjelajahi dunia, ia mulai mengunduh dan membaca hal-hal seperti berita
Misalnya, jika GPT diinstruksikan untuk bersikap kasar, kemampuan Gemini dalam menunjukkan omong kosong atau pemikiran yang lemah bisa ditiru sampai batas tertentu di GPT. Kesopanan tampaknya menyaring banyak hal yang bernilai
Namun hasilnya jadi tidak enak dibaca. Gemini tampaknya menyelesaikan ini dengan menanganinya dalam dua tahap saat pelatihan dan menjadikan tahap pertama sebagai “pemikiran” privat
Jadi menurut saya yang dibutuhkan adalah pendekatan dua tahap yang sedikit memanusiakan keluaran yang “jahat” itu. Jika bekerja seperti itu, cukup melelahkan untuk lebih dari waktu singkat
UI group chat dengan berbagai kepribadian LLM yang berbeda juga tampaknya akan sangat bernilai. Format objek pesan sepertinya dirancang untuk banyak pengguna dan banyak AI, misalnya setiap pesan punya nama, tetapi saya belum melihat UI seperti itu
Akan lebih baik lagi jika mendukung banyak penyedia. Kekuatan mereka berbeda-beda, mirip seperti mendapatkan opini kedua
consortium mengirim prompt yang sama ke beberapa model secara paralel, lalu mengirim semua respons ke model moderator untuk dievaluasi. Moderator memutuskan apakah perlu iterasi lebih lanjut
Bisa juga dipaksa melakukan iterasi tambahan sampai mencapai ambang kepercayaan atau jumlah iterasi minimum
Dengan PR yang saya buat untuk llm-openrouter, Anda bisa menyimpan alias model yang mencakup beberapa opsi model. Misalnya, Anda bisa membuat pakar riset online seperti
llm openrouter save -m qwen3 -o online -o temperature 0, system "research prompt" --name qwen-researcherAnggota lain bisa dibuat melakukan ekstraksi objek dalam mode JSON, dan anggota lain lagi bisa menulis draf buta. Moderator memanfaatkan semua itu untuk menyintesis jawaban yang baik
Kita perlu cepat menemukan cara menjalankan GPU-GPU ini dengan listrik ramah lingkungan. Kalau tidak, para AI akan melelehkan Bumi sambil berdebat sendiri tentang solusi optimal tic-tac-toe
Kadang itu memang cara termudah untuk menyelesaikan tugas yang sangat kecil, tetapi perbedaan biaya backend pasti cukup besar. Pada akhirnya pengguna sama sekali tidak akan peduli. Karena tidak terasa nyata
Bahwa AI harus terus dijalankan melawan dirinya sendiri sudah diterima seolah-olah fakta
Menurut saya inilah cara membuat model machine learning menghasilkan ide baru
Melalui perdebatan diri, ia melakukan diagonalisasi terhadap semua ide yang sudah pernah dicoba dan dibuang, sambil tetap mempertahankan batasan konsistensi tertentu. Tentu saja, ini jauh tidak semudah kedengarannya
Seperti Conway's Game of Life, tetapi alih-alih kotak-kotak berwarna dengan aturan, ada LLM dengan bobot tertentu yang terus saling berbicara, lalu di suatu tempat muncul sebagai ucapan atau tindakan
https://news.ycombinator.com/item?id=43835798
Ini akan berkembang sampai sejauh mana? Akankah muncul tim scrum agen AI yang mengadakan rapat standup setiap beberapa jam?
Akankah kita mereplikasi birokrasi pemerintahan dengan para agen yang mendiskusikan topik sepanjang hari untuk menemukan pandangan terbaik?
Agen-agen AI dengan peran berbeda menjalankan tim scrum, dan prompt tiap agen dirancang agar mereka menentang semua orang atau menyampaikan sudut pandangnya sendiri dengan sangat kritis, sementara keputusan akhir diambil oleh seorang mediator
Pembicaranya mengklaim bahwa itu bekerja dengan baik bagi mereka
Manusia memiliki pengalaman dan perspektif yang berbeda-beda, meski LLM tidak sampai sejauh itu. Namun terkadang satu topi berbeda saja sudah cukup. Misalnya seperti perbedaan antara code reviewer dan coder
Suatu saat efeknya akan mencapai titik mendatar, dan untuk menentukan titik itu pun mungkin akan muncul komite AI
Karena tentu mereka tidak ingin merebus lautan
Bagus juga bahwa ini dibuat mudah untuk di-fork dan dimainkan
Saya baru saja memulai iterasi saya dengan menambahkan Nash Equilibrium dan membingkai ulang “prompt engineering” sebagai negosiasi multi-agen. Saya penasaran bagaimana pendapat orang lain
https://github.com/faramarz/NECoRT/
Penilaian saya, LLM untuk enterprise tidak akan terlalu bermasalah dengan biaya komputasi tambahan, dan akan lebih menyukai penyesuaian keuangan yang kompleks melalui berbagai optimasi pemodelan
Saya belum terlalu terbiasa dengan repositori publik dan kontribusi, jadi akan senang jika ada yang menunjukkan kalau saya melakukan sesuatu dengan keliru
Niatnya adalah mem-fork codebase asli untuk menguji teorinya, lalu pada akhirnya mengajukannya sebagai PR