Aider - Pair Programming dengan AI di Terminal
(github.com/paul-gauthier)- Alat baris perintah yang memungkinkan pair programming dengan GPT-3.5/GPT-4 sambil mengedit kode yang tersimpan di repositori git lokal
- aider mengedit kode di file sumber lokal secara langsung dan melakukan git commit atas perubahan dengan pesan commit yang sesuai
- Dapat digunakan untuk memulai proyek baru atau bekerja di repositori git yang sudah ada
- Keunikan aider adalah dapat digunakan untuk meminta perubahan pada codebase besar yang sudah ada
Fitur utama
- Anda dapat memulai aider dari command line bersama sekumpulan file sumber yang ingin diedit lalu mengobrol dengan GPT tentang kode tersebut. Melalui aider, GPT dapat melihat dan mengedit isi file-file itu
- GPT dapat menulis dan mengedit kode dalam sebagian besar bahasa populer seperti python, javascript, typescript, php, html, css, dan lainnya
- Anda dapat meminta fitur baru, perubahan, peningkatan, atau perbaikan bug pada kode. Anda juga dapat meminta test case baru, dokumentasi yang diperbarui, atau refactoring kode
- aider menerapkan perbaikan yang disarankan GPT langsung ke file sumber
- aider otomatis melakukan commit setiap set perubahan ke repositori git lokal dengan pesan commit yang berisi penjelasan. Auto-commit yang sering ini berfungsi sebagai jaring pengaman. Anda dapat dengan mudah membatalkan perubahan atau mengelola rangkaian perubahan yang lebih panjang menggunakan workflow git standar
- Beberapa file sumber dapat digunakan bersama aider secara bersamaan, sehingga GPT dapat mengoordinasikan perubahan kode di semua file dalam satu set perubahan/commit
- aider dapat memberikan peta seluruh repositori git kepada GPT-4, membantu memahami dan memodifikasi codebase berskala besar
- Saat mengobrol dengan aider, Anda juga dapat mengedit file secara manual menggunakan editor. aider mendeteksi pengeditan di luar alur ini dan menjaga GPT tetap sinkron dengan versi terbaru file. Dengan begitu, Anda bisa bolak-balik antara chat aider dan editor sambil berkolaborasi dengan GPT untuk menulis kode
- Jika menggunakan gpt-4 langsung melalui openai, Anda dapat menambahkan file gambar ke konteks, dan ini akan otomatis beralih ke model gpt-4-vision-preview
Perintah di dalam chat
- aider mendukung perintah yang diawali dengan
/di dalam chat. Beberapa perintah yang paling berguna:/add: menambahkan file yang cocok ke sesi chat/drop: menghapus file yang cocok dari sesi chat/undo: membatalkan git commit terakhir jika dilakukan oleh aider/diff: menampilkan diff dari commit aider terakhir/run: menjalankan perintah shell dan, jika diinginkan, menambahkan outputnya ke chat/voice: berbicara kepada aider untuk meminta perubahan kode dengan suara/help: menampilkan bantuan untuk semua perintah
Tips
- Pikirkan file mana yang perlu diedit untuk membuat perubahan, lalu tambahkan ke chat. aider memang punya kemampuan tertentu untuk menebak file mana yang perlu diedit GPT, tetapi cara paling efektif adalah menambahkan sendiri file yang diperlukan ke chat secara eksplisit
- Perubahan besar sebaiknya dilakukan sebagai rangkaian langkah yang dipikirkan matang untuk merencanakan pendekatan dan desain keseluruhan. Arahkan perubahan seperti saat Anda membimbing developer junior. Minta refactoring persiapan terlebih dahulu, lalu minta perubahan sebenarnya. Luangkan waktu untuk meminta peningkatan kualitas/struktur kode
- Jika GPT tidak memberikan respons yang berguna, Anda dapat menghentikannya dengan aman menggunakan Control-C. Respons parsial akan tetap ada di percakapan, sehingga bisa dirujuk saat Anda membalas GPT dengan informasi atau arahan tambahan
- Anda dapat memakai perintah
/rununtuk menjalankan test, linter, dan sebagainya, lalu menampilkan outputnya ke GPT guna membantu menyelesaikan masalah - Gunakan Meta-ENTER (di beberapa lingkungan Esc+ENTER) untuk memasukkan pesan chat multi-baris. Atau mulai pesan multi-baris dengan hanya mengetik
{di baris pertama dan akhiri dengan hanya mengetik}di baris terakhir - Jika terjadi error pada kode, gunakan
/runatau tempelkan output error ke chat untuk dibagikan ke GPT. Dengan begitu GPT dapat menemukan dan memperbaiki bug - GPT mengenal banyak alat dan library standar, tetapi bisa salah memahami sebagian detail API dan argumen fungsi. Anda dapat menempelkan cuplikan dokumentasi ke chat untuk mengatasi masalah ini
- GPT hanya dapat melihat isi file yang secara khusus telah "ditambahkan ke chat". aider juga mengirimkan peta seluruh repositori git ke GPT-4. Karena itu, GPT dapat meminta untuk melihat file tambahan jika menilai itu diperlukan untuk memenuhi permintaan Anda.
Pendapat GN⁺
- Untuk proyek berskala besar, memanfaatkan aider tampaknya akan memudahkan penerapan perubahan yang konsisten di seluruh codebase. Terutama jika dipadukan dengan kemampuan GPT-4, hasilnya tampak akan lebih kuat
- Namun, alih-alih menerima begitu saja perubahan yang disarankan GPT, sepertinya tetap diperlukan proses review dan pengujian langsung oleh developer. Model GPT masih belum sempurna, sehingga kemungkinan munculnya bug tetap ada
- aider tampaknya juga bermanfaat bukan hanya untuk kode, tetapi juga untuk dokumentasi dan penulisan test case. Dengan memanfaatkan kemampuan pemahaman bahasa alami GPT, diharapkan dokumentasi dan kode pengujian berkualitas lebih tinggi dapat dibuat dengan cepat
- Karena berbasis CLI, aksesibilitasnya baik, tetapi jika dapat terintegrasi lebih erat dengan lingkungan pengembangan melalui plugin editor dan sebagainya, hal itu tampaknya akan sangat membantu meningkatkan produktivitas developer
- Keunggulan pembeda dibanding alat AI pair programming serupa seperti GitHub Copilot tampaknya ada pada pemanfaatan GPT-4 dan workflow berbasis git. Menarik untuk membandingkan kelebihan dan kekurangannya dengan alat yang sudah ada
1 komentar
Opini Hacker News
Berikut ringkasan komentar-komentar Hacker News: