JANGAN BUANG-BUANG TOKEN! PI CODING AGENT vs OPENCODE dengan LLM lokal yang sama.

LLuigi Tech
Computing/SoftwareVideo & Computer GamesInternet Technology

Transcript

00:00:00Halo semuanya, ini adalah demo oleh agent versus open code dan kita akan menguji
00:00:09dua harness ini pada contoh ini. Ini adalah game yang saya buat kodenya di video
00:00:20sebelumnya, yang ini. Dan ya, di video ini saya ingin menguji cara memperbaiki game ini
00:00:29karena ada beberapa bug. Misalnya, seperti yang Anda lihat, penanda X memenangkan
00:00:38pertandingan tetapi selnya tidak disorot, jadi kita akan mencoba melakukan perbaikan yang sama
00:00:51dengan LLM lokal yaitu quen 3.6 3b, yang menurut saya adalah model terbaik
00:01:04yang bisa Anda jalankan di komputer Anda saat ini. Jadi mari kita coba dulu dengan PI, jadi
00:01:16ini adalah PI dan saya akan menjalankannya di dalam direktori ini di mana terdapat sumber
00:01:30dalam file terpisah, jadi saya punya index HTML, game.js, dan style.js, dan kita akan mencoba
00:01:42prompt yang sama di dalam kedua harness dan kita akan membandingkan hasilnya, dan saya juga
00:01:55akan menggunakan timer untuk melihat berapa lama waktu yang dibutuhkan. Jadi ini prompt-nya.
00:02:11Prompt-nya adalah buat kubus sel lebih terlihat dan tambahkan ruang di antaranya
00:02:19karena seperti yang Anda lihat di sini, kubusnya sangat berdekatan satu sama lain, lalu
00:02:28tugas kedua adalah perbaiki logika pemenang, penanda pemenang harus
00:02:37menjadi hijau, dan ini masalah lain karena Anda tidak melihat di mana
00:02:46pemain menang dengan penanda tersebut. Dan ya, ia mulai mengikuti prompt saya, dan ini
00:02:59adalah PI, jadi ia mulai menganalisis direktori saat ini dan di sini Anda bisa melihat
00:03:09konteks yang digunakan, tapi mungkin lebih menarik untuk melihat waktu yang dihabiskan untuk
00:03:20memperbaiki game tersebut. Dan ya, ia sedang bekerja, lalu kita akan melakukan tugas yang sama dengan
00:03:30open code dan saya akan me-reset repo untuk melakukan jenis pengujian yang sama. Jadi sekarang saya akan
00:03:41menjeda video sebentar dan sampai jumpa saat perbaikan game-nya selesai.
00:04:00Oke, selesai. Ia masih menulis laporan perubahannya dan kemudian kita akan menguji
00:04:20hasilnya. Oke, selesai. Mari kita jeda, 7 menit 44 detik dengan quen 3.6, jadi mari
00:04:38kita coba hasilnya. Jadi ini laporannya, ini adalah apa yang terjadi secara teknis di dalam
00:04:47kode dan seperti yang Anda lihat, ia membaca sebagian game.js beberapa kali di
00:04:58beberapa bagian dan ini juga sebuah diff, jadi seperti yang Anda lihat ia harus banyak mengedit
00:05:09file tersebut dan totalnya ada 9.4 K token yang dikirim dan diterima sekitar 2.8 K, jadi
00:05:23ini hasil dari penggunaan konteks. Jadi mari kita coba hasilnya, muat ulang, dan seperti yang
00:05:35Anda lihat sekarang kubus-kubus selnya lebih berjarak, lebih terpisah satu sama lain. Jadi
00:05:44mari kita coba gamenya. Saya akan mulai dengan sel tengah, oke, dan oke saya akan biarkan
00:06:00komputer menang, oke sempurna. Jadi sekarang komputer menang dan seperti yang Anda lihat, kubusnya lebih
00:06:11terpisah dan juga penanda pemenangnya disorot, jadi ini berhasil. Dan ini tadi dengan
00:06:20Pi coding agent, jadi sekarang kita akan melakukan tes yang sama dengan open code dan
00:06:30model yang sama dan kode yang sama, jadi saya akan me-reset kodenya. Oke, jadi sekarang perubahannya kembali ke
00:06:50versi yang ada bug-nya seperti ini. Dan sekarang kita akan mencoba prompt yang sama dengan open
00:07:00code, jadi untuk sel dan untuk logika kemenangannya, dan saya akan menggunakan model yang sama dengan
00:07:11Basico. Basico adalah agen kustom yang saya buat, dan mari mulai. Dan saya
00:07:27membuat agen Basico karena jauh lebih sederhana daripada agen coding bawaan,
00:07:36dan agen Basico itu seperti ini,
00:07:56hanya sebuah file markdown sederhana, jadi Anda adalah agen minimal Basico. Dan ya, saya
00:08:07tidak menentukan banyak hal di sini, hanya gunakan web fetch dengan alat mesin pencari
00:08:15yang tidak akan kita gunakan dalam kasus penggunaan ini. Jadi ini agen yang sangat sederhana hanya untuk
00:08:24menciptakan kembali kondisi serupa untuk open code dan kita sudah menggunakan
00:08:3412k konteks, jadi dimulai dengan index, game JS, dan ya, di sini juga kita akan
00:08:47mencoba hasil akhirnya setelah video dijeda. Ini masih berjalan dengan
00:08:58tidak banyak umpan balik di sini. Dan saya juga ingin mengatakan bahwa saya mencoba tes yang sama juga
00:09:07dengan Gemma 26b atau 4b tetapi tidak mampu melakukan pemanggilan alat pada
00:09:20seperti ini. Jadi Gemma mampu membuat ulang game tic-tac-toe 3D, tetapi kemudian
00:09:30ia tidak bisa melakukan pemanggilan alat untuk mengedit file-file ini. Jadi saya melakukan tes ini hanya
00:09:38dengan quen 3.6 karena menurut saya ini yang terbaik untuk skenario lokal seperti ini.
00:09:48Ya, menarik karena ia sedang mengisi to-do, jadi ada dua tugas: satu adalah
00:09:58membuat kubus sel lebih terlihat dan yang lainnya adalah memperbaiki logika, jadi ia akan memiliki
00:10:07sedikit overhead dibandingkan dengan agen PI. Tapi ya, agen PI mampu melakukan
00:10:17tugas semacam ini juga tanpa to-do di tengahnya. Tapi mungkin dalam situasi yang lebih
00:10:26rumit, bisa berguna untuk memiliki to-do. Namun ya, model LLM-lah
00:10:35yang membuat perbedaan lebih besar menurut saya, dan bukan harness-nya, tapi kita akan
00:10:44lihat.
00:10:56kamu
00:11:27oke hampir selesai, kedua to-do telah diselesaikan tetapi ia masih harus membaca dan
00:11:40kemudian menulis ke file.
00:11:52oke ia sedang menulis laporan. Saya berharap kemudian ia akan selesai dan kita sudah di menit
00:12:05ke-12, jadi ini lebih lama tapi oke sudah selesai, jadi jeda. Dan seperti yang Anda lihat,
00:12:15konteks yang digunakan sekitar 23 K dengan open code dan mungkin laporannya
00:12:26menghitung token dengan cara yang berbeda, tapi tampaknya PI menggunakan separuh token untuk
00:12:36memperbaiki masalah tersebut. Jadi ini laporan teknisnya, ia membuka game.js berkali-kali
00:12:46untuk melakukan perbaikan. Jadi mari kita coba gamenya untuk melihat apakah perbaikannya benar-benar
00:12:57berhasil. Muat ulang, dan tampaknya mirip dengan versi PI, sel tengah oke
00:13:19mari kita coba memenangkan permainan. Oke saya menang, dan seperti yang Anda lihat kita mendapatkan hasil yang sama
00:13:32dengan yang kita dapatkan dengan PI tetapi dengan lebih banyak token dan lebih banyak waktu yang dihabiskan untuk
00:13:43menyelesaikannya. Jadi dalam kasus penggunaan ini, open code yang biasanya memiliki banyak fitur
00:13:55seperti guardrail dan lebih banyak tweak prompt memberikan solusi yang sama seperti yang kita dapatkan dengan
00:14:06PI, tetapi dengan lebih sedikit waktu dan token. Jadi kesimpulannya menurut saya seperti yang
00:14:18saya katakan sebelumnya, LLM yang digunakan adalah bagian yang paling relevan dan penting.
00:14:28Harness itu berguna dan penting, tetapi yang lebih penting adalah kualitas data
00:14:36yang dimasukkan ke dalam konteks, dan dalam situasi ini dengan agen coding PI kita
00:14:47memiliki lebih sedikit overhead dan kita mendapat hasil yang bagus juga tanpa prompt yang sangat besar di
00:14:58LLM. Beri tahu saya di kolom komentar mana harness coding agent open source favorit Anda
00:15:06dan sampai jumpa di video lainnya, dah!

Key Takeaway

Pi coding agent lebih efisien dalam penggunaan token dan waktu dibandingkan OpenCode saat menjalankan model Qwen 2.5 3B untuk perbaikan bug kode lokal.

Highlights

  • Qwen 2.5 3B merupakan model bahasa lokal terbaik untuk menjalankan tugas pemrograman pada perangkat keras pribadi saat ini.

  • Pi coding agent menyelesaikan perbaikan bug game Tic-Tac-Toe 3D dalam waktu 7 menit 44 detik menggunakan 12,2 ribu token.

  • OpenCode menghabiskan sekitar 23 ribu token untuk menyelesaikan tugas yang sama, hampir dua kali lipat konsumsi token Pi coding agent.

  • Gemma 2 9B dan 4B gagal melakukan pemanggilan alat (tool calling) untuk mengedit file dalam pengujian skenario pemrograman lokal.

  • Pi coding agent mengonsumsi 9,4 ribu token kiriman dan 2,8 ribu token terima untuk menghasilkan perbaikan kode yang valid.

  • Penggunaan harness OpenCode menghasilkan solusi fungsional yang identik namun membutuhkan waktu lebih lama dibandingkan Pi coding agent.

Timeline

Persiapan Pengujian Harness AI Lokal

  • Pengujian menggunakan model lokal Qwen 2.5 3B untuk membandingkan Pi coding agent dan OpenCode.
  • Struktur file target terdiri dari index.html, game.js, dan style.js untuk sebuah game Tic-Tac-Toe 3D.
  • Model lokal dipilih berdasarkan kemampuan eksekusi pada komputer pribadi tanpa ketergantungan API eksternal.

Fokus utama adalah memperbaiki bug visual dan logika pada proyek game yang sudah ada. Bug tersebut mencakup sel yang tidak tersorot saat menang dan jarak antar kubus yang terlalu rapat. Qwen 2.5 3B diidentifikasi sebagai model paling kompeten untuk menangani tugas teknis dalam skala lokal.

Eksekusi dan Performa Pi Coding Agent

  • Instruksi mencakup perbaikan visual kubus dan perubahan warna indikator kemenangan menjadi hijau.
  • Proses perbaikan memakan waktu total 7 menit 44 detik dengan efisiensi konteks yang tinggi.
  • Hasil akhir menunjukkan pemisahan kubus yang lebih jelas dan logika kemenangan yang berfungsi sempurna.

Pi coding agent menganalisis direktori secara otomatis dan menerapkan perubahan melalui format diff. Total penggunaan token mencapai 12,2 ribu, yang terdiri dari 9,4 ribu token input dan 2,8 ribu token output. Kecepatan dan akurasi model dalam mengedit file game.js secara berulang memastikan bug visual dan fungsional teratasi sepenuhnya.

Komparasi dengan OpenCode dan Agen Basico

  • Agen Basico adalah agen minimalis kustom yang dibuat menggunakan file Markdown sederhana untuk mengurangi instruksi berlebih.
  • Gemma 2 versi 9B dan 4B terbukti tidak mampu melakukan eksekusi edit file meskipun bisa membuat struktur game dasar.
  • OpenCode memiliki fitur tambahan seperti guardrail dan tweak prompt yang menambah beban kerja sistem.

Penggunaan OpenCode menunjukkan proses yang lebih lambat karena adanya langkah pembuatan daftar tugas (to-do list) sebelum eksekusi. Meskipun fitur tambahan dimaksudkan untuk keamanan, hal ini menciptakan overhead yang signifikan pada model LLM. Pengujian pada model seri Gemma menunjukkan keterbatasan kemampuan tool calling dibandingkan seri Qwen.

Analisis Efisiensi dan Kesimpulan Akhir

  • OpenCode mengonsumsi 23 ribu token untuk tugas yang identik dengan hasil kerja Pi coding agent.
  • Kualitas model LLM jauh lebih krusial daripada jenis harness atau framework yang digunakan.
  • Pi coding agent menawarkan solusi lebih cepat dengan overhead instruksi yang lebih rendah.

Data menunjukkan bahwa OpenCode menghabiskan hampir dua kali lipat token dan waktu lebih lama untuk mencapai hasil yang sama. Perbedaan efisiensi ini berakar pada cara harness mengelola konteks dan prompt yang diberikan ke LLM. Kesimpulan menekankan bahwa dalam skenario lokal, minimalisir overhead prompt pada harness memberikan performa yang lebih optimal bagi pengembang.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video