- Codebuff adalah alat CLI yang, ketika Anda memasukkan tugas dalam bahasa alami di terminal, membaca codebase lalu mengubah dan membuat file; setelah dipasang dengan
npm i -g codebuff, alat ini bisa langsung digunakan tanpa gerbang login - Alur input dipangkas menjadi satu langkah: pengguna cukup memasukkan tugas yang diinginkan, lalu proses penyelesaiannya dapat memanfaatkan eksekusi tes, type checker, hingga instalasi paket
- Di dalamnya, tree-sitter dipakai untuk mem-parsing simbol seperti nama fungsi dan kelas dari 11 bahasa guna membuat peta codebase, serta mengombinasikan caching prompt Claude Haiku 3.5 dengan panggilan Claude/OpenAI
- Agen memasukkan file terkait ke konteks, lalu menangani
edit_file, eksekusi perintah terminal, dan permintaan membaca file tambahan melalui pemanggilan alat berbentuk tag XML - Semua akun mendapat kredit hingga senilai $20, dan kredit lebih banyak tersedia lewat paket bulanan $99, tetapi pihaknya menyatakan harganya lebih mahal daripada produk pesaing karena konteks besar dan panggilan LLM yang mahal
Mengubah kode dengan bahasa alami di terminal
- Codebuff adalah alat CLI yang bekerja seperti “Cursor Composer di dalam terminal”
- Masukkan perubahan yang diinginkan dalam bahasa alami lalu tekan Enter; alat ini akan meninjau codebase dan mengubah file
- Dapat mengubah file sumber yang sudah ada maupun membuat file baru
- Dapat menjalankan tes, type checker, dan instalasi paket untuk menyelesaikan permintaan
- Instalasi dan mulai pakai dapat dilakukan dengan
npm i -g codebuff- Bisa langsung digunakan tanpa gerbang login
- Semua akun diberi kredit hingga senilai $20
- Video demo: YouTube
Dari eksperimen awal hingga menjadi produk
- Ide awal dimulai saat mencoba Sonnet 3.5 di sebuah hackathon
- Skrip pertama mengambil konteks codebase sekaligus, lalu tahap kedua menulis ulang file
- Proses 2 tahap ini masih tersisa di Codebuff saat ini
- Demo awal belum mampu menghasilkan kode yang berguna
- Saat meneruskan pengetahuan spesifik tiap codebase ke model, muncul ide knowledge.md
- Untuk membuat endpoint di server startup sebelumnya, perlu mengubah 3 file tertentu, tetapi model tidak mengetahui hal itu
- Ketika panduan codebase ditulis sebagai file Markdown seperti menjelaskan kepada karyawan baru dan dimasukkan ke system prompt Sonnet 3.5, kualitas kode meningkat drastis
- Codebuff hingga kini memakai file
knowledge.mdyang otomatis dibaca pada setiap permintaan
- Menjelang wawancara YC, bottleneck terbesar adalah kestabilan pengeditan file
- Berbagai strategi prompt dicoba untuk mengganti string pada file asli, tetapi tidak berjalan stabil
- Sehari sebelum wawancara, GPT-4o di-fine-tune agar mengubah sketsa perubahan dari Claude menjadi git patch
- Keesokan harinya berhasil, dan diterapkan ke produksi tepat sebelum wawancara YC
Peta codebase dan alur eksekusi agen
- Saat dijalankan, alat ini memindai file sumber di direktori saat ini dan subdirektorinya untuk membuat peta codebase
- tree-sitter mem-parsing nama fungsi, nama kelas, atau simbol setara dari 11 bahasa
- Informasi pohon file dan simbol digunakan bersama
- Permintaan dikirim ke Claude Haiku 3.5 untuk melakukan caching konteks codebase dan menurunkan latensi respons terhadap input pengguna
- Ketika pengguna mengirim pesan, Claude terlebih dahulu memilih file yang relevan
- File yang dipilih dimuat ke konteks, lalu agen merespons
- Pemanggilan alat ditulis dan di-parse sebagai tag XML
- Contohnya adalah tag perubahan file berbentuk
<edit_file path="src/app.ts">…</edit_file> - Tag lain juga dapat digunakan untuk menjalankan perintah terminal atau meminta pembacaan file tambahan
Konfigurasi server dan infrastruktur
- Server memiliki struktur yang meneruskan pesan ke Anthropic atau OpenAI, dan tidak menyimpan state
- Perpindahan data antara klien dan server menggunakan websocket
- Selama 3 bulan pertama, instalasi gratis dan permintaan dengan API key sendiri ditangani tanpa autentikasi atau database
- Setelah itu, komponen yang diperlukan untuk operasional produk ditambahkan
- Database Postgres + Drizzle
- Server Bun
- Hosting Render
- Autentikasi Auth.js
- Situs web NextJS
- Pembayaran Stripe
- Logging BetterStack
- Dasbor Retool
Harga, kasus penggunaan, SDK
- Harga terdiri dari kuota gratis terbatas dan paket berbayar bulanan $99
- Paket berbayar menyediakan kredit lebih banyak
- Pihaknya menyatakan harganya lebih mahal daripada produk pesaing karena konteks yang lebih besar dan panggilan LLM yang mahal
- Kasus penggunaan nyata mencakup pembuatan aplikasi Flutter, penulisan unit test, perubahan berulang, dan otomatisasi pekerjaan berulang
- Seorang pengguna membuat dua aplikasi Flutter secara paralel hingga menghasilkan tagihan $500, dan menyelesaikan aplikasi lewat percakapan panjang dengan Codebuff tanpa melihat langsung kode yang dihasilkan
- Beberapa pengguna membuat aplikasi nyata untuk tim atau pribadi selama akhir pekan
- Penggunaan umum yang sering dilakukan adalah menulis unit test, menjalankan loop perbaikan kode sampai tes lolos, menyiapkan alur OAuth, dan melakukan scaffolding API
- alpha SDK juga disediakan untuk pengguna yang ingin memakai Codebuff di sistem mereka sendiri
- Aplikasi dapat memanggil antarmuka bahasa alami yang sama dan menerima pengeditan kode
- Tautan pendaftaran early access: Form Retool
1 komentar
Komentar Hacker News
Selamat atas peluncuran Codebuff, tetapi terlihat sangat mirip dengan Aider. Aider bersifat open source, dan saat diminta menambahkan file, kita hanya perlu memberikan persetujuan. Aider juga bisa menjalankan perintah. Saya penasaran apa bedanya
Demo selalu hanya diterapkan pada proyek sederhana, dan contoh untuk proyek nyata yang kompleks masih kurang. Saya butuh bantuan untuk menyelesaikan bagian PR yang sulit. Banyak alat membantu untuk memulai, tetapi kurang memadai untuk memecahkan masalah
Saya tidak ingin membayar $20 untuk mengirim SSH key dan clipboard ke beberapa pihak ketiga. Saya ingin membeli perangkat lunak yang menyediakan dukungan shell inline tanpa network call. Ini adalah pendapat umum saya tentang produk semacam ini
Codebuff sebelumnya dikenal sebagai manicode, dan berguna untuk pekerjaan refactoring yang kompleks. Saya menggunakannya pada proyek Rust untuk memisahkan file ke direktori modul, dan alat ini bisa menjalankan pengujian serta memeriksa error kompilasi. Untuk pekerjaan ini, sekitar 100 kredit terpakai
Saya penasaran apakah kode dikirim melalui server. Sepertinya akan lebih baik jika diimplementasikan sebagai layanan lokal. Saya juga penasaran apakah LLM bisa menerima perintah yang dapat menyebabkan hilangnya file, dan bagaimana hal itu akan dicegah
Menjalankan perintah oleh LLM tanpa peninjauan manusia itu berisiko dan rentan terhadap masalah keamanan
Sudah ada AIDE, Continue, Cody, Aider, dan Cursor. Saya penasaran mengapa saya harus menggunakan alat ini
Saya sudah mencoba alat ini, dan ada hal-hal yang lebih baik dibanding CoPilot dan Cursor. Khususnya dibanding CoPilot, tidak terasa seperti sedang "bersaing" dengan editor. Ada kekhawatiran soal keamanan, dan saya penasaran bagaimana file sensitif ditangani
Saya penasaran apakah dari sisi kualitas kode alat ini lebih baik daripada Cursor. Saya menggunakan Cursor dan menghemat waktu untuk menyalin file. Saya masih tetap memakai antarmuka chatGPT/claude untuk coding
GPT-4o di-fine-tune untuk mengubah sketsa perubahan dari Claude menjadi git patch. Data pelatihannya dibuat larut malam, dan pekerjaan fine-tuning dijalankan saat sedang tidur. Saya penasaran dengan keseluruhan isi data pelatihan itu serta bagaimana sketsa perubahan dan git patch bekerja