AICodeBot adalah asisten pengkodean berbasis terminal yang dirancang untuk membuat kehidupan pengkodean Anda lebih mudah. Anggap saja sebagai versi AI Anda dari seorang pemrogram berpasangan. Lakukan peninjauan kode, buat pesan penerapan yang bermanfaat, debug masalah, dan bantu Anda mempertimbangkan pembuatan fitur baru. Anggota tim yang mempercepat laju pengembangan dan membantu Anda menulis kode yang lebih baik.
Kami telah merencanakan untuk membangun beberapa antarmuka berbeda untuk berinteraksi dengan AICodeBot. Untuk memulai, ini adalah alat baris perintah yang dapat Anda instal dan jalankan di terminal Anda, dan Tindakan GitHub untuk Tinjauan Kode.
Status: Proyek ini dibuat sebelum AI Coding Assistants menjadi keren. ? Dengan demikian, sebagian besar fungsinya telah direplikasi di berbagai IDE. Keunggulan AICodeBot adalah a) ada di terminal, bukan GUI, dan b) dapat digunakan dalam proses seperti tindakan GitHub.
Kami menggunakan AICodeBot untuk membangun AICodeBot, dan terus berkembang pesat.️ Kami mencari kontributor untuk membantu kami membangunnya. Lihat KONTRIBUSI untuk informasi lebih lanjut.
Tugas | Status |
---|---|
Menghasilkan pesan komit yang berkualitas | ✅ |
Memikirkan tugas sebagai programmer berpasangan | ✅ |
Coding dengan sejumlah kecil file | ✅ |
Men-debug | ✅ |
Melakukan tinjauan kode | ✅ |
Menjelaskan kode | ✅ |
Tes menulis | ✅ |
Integrasi dengan GitHub | ✅ |
Memodifikasi file lokal | Tahap awal |
Mencari jawaban di internet | Sedang Berlangsung |
Membaca dokumentasi perpustakaan | Tahap awal |
Coding dengan jumlah file yang banyak | Karena LM mendapatkan batas token yang lebih besar |
Menulis kode tingkat pengembang senior | Pada akhirnya |
Refaktor utama | Pada akhirnya |
Bangun seluruh aplikasi | Pada akhirnya |
Ganti Pengembang | Tidak |
aicodebot sidekick
Asisten pengkodean bertenaga AI Anda. Ini dirancang untuk membantu Anda dalam tugas pengkodean dengan memberikan saran dan solusi yang peka konteks. Bayangkan ChatGPT dengan kemampuan membaca repositori lokal untuk mengetahui konteksnya.
Secara default, ini akan meneruskan direktori file dari direktori kerja saat ini, dan Anda juga dapat meneruskan daftar file untuk digunakan sebagai konteks tugas yang sedang Anda kerjakan. Misalnya:
aicodebot sidekick file1.py file2.py
Dalam contoh ini, sahabat karib akan membaca konten file1.py dan file2.py dan menggunakannya untuk memberikan jawaban yang peka konteks.
Kiat profesional:
Fitur ini masih dalam tahap awal saat ini, namun sudah berguna. Kami akan menambahkan dukungan untuk alat yang dapat digunakan oleh sahabat karib, termasuk integrasi GitHub, menyerap pengetahuan domain spesifik repositori, menulis file lokal, dan banyak lagi. Untuk saat ini, ia hanya membaca file dan memberikan saran.
aicodebot commit
meningkatkan proses komit git. Ini akan menjalankan pra-komit bagi Anda untuk memeriksa sintaksis, dan kemudian menghasilkan pesan komit untuk Anda berdasarkan perubahan yang Anda buat. Dengan upaya yang sama seperti mengetik "perbaiki bug" untuk pesan komit, Anda akan mendapatkan pesan komit berkualitas tinggi yang menjelaskan perubahan secara menyeluruh.
aicodebot review
akan menjalankan tinjauan kode pada kode Anda dan menyarankan perbaikan. Secara default, ini akan melihat perubahan yang [tidak] dipentaskan, dan Anda juga dapat menyediakan hash penerapan tertentu untuk ditinjau. Tujuannya adalah untuk menyarankan cara membuat kode menjadi lebih baik, dan kami menemukan bahwa hal ini sering mengajarkan kita hal-hal baru tentang kode kita dan menjadikan kita pemrogram yang lebih baik. Ini adalah cara yang bagus untuk mendapatkan pandangan robot kedua pada kode Anda.
aicodebot debug $command
akan menjalankan $command dan menangkap keluaran log. Ini akan meneruskan pesan kesalahan, pelacakan tumpukan, keluaran perintah, dll. ke AI dan merespons dengan beberapa saran tentang cara memperbaikinya.
Untuk menginstal AICodeBot, jalankan:
pip install aicodebot
Dan kemudian, jalankan aicodebot configure
untuk memulai.
Usage: aicodebot [OPTIONS] COMMAND [ARGS]...
Options:
-V, --version Show the version and exit.
-h, --help Show this message and exit.
-d, --debug Enable langchain debug output
Commands:
alignment A message from AICodeBot about AI Alignment ❤ + ?.
commit Generate a commit message based on your changes.
configure Create or update the configuration file
debug Run a command and debug the output.
review Do a code review, with [un]staged changes, or a...
sidekick Coding help from your AI sidekick
AICodeBot mendukung beberapa Model Bahasa Besar, termasuk Claude 3.x dari Anthropic, dan GPT-3/4x OpenAI. Permintaan tarik untuk Gemini atau Ollama disambut baik, tetapi kami merasa keduanya berhasil.
Pertama kali Anda menjalankan AICodeBot, Anda akan diminta memasukkan kunci API Anda
Bagaimana dengan peninjauan kode otomatis pada setiap penerapan? Anda dapat menjalankan AICodeBot sebagai tindakan GitHub di repositori Anda. Lihat Tindakan GitHub AICodeBot untuk Tinjauan Kode. Ini akan melihat setiap permintaan komit dan tarik, dan kemudian:
aicodebot debug $command
pip install aicodebot
aicodebot alignment
. Teknologi itu sendiri tidak bermoral; itu hanya mengilhami nilai-nilai orang yang menciptakannya. Kami percaya bahwa AI harus dibangun dengan cara yang selaras dengan kemanusiaan, dan kami sedang membangun AICodeBot untuk membantu kami melakukan hal tersebut. Kami membangun dari ruang yang berpusat pada hati, dan berkontribusi pada titik temu yang sehat antara AI dan kemanusiaan.
aicodebot
adalah alat untuk pengembang, bukan pengganti mereka. Ini tidak akan menggantikan pekerjaan Anda, tetapi akan membuat pekerjaan Anda lebih mudah dan menyenangkan. Hal ini tidak akan mengambil alih dunia, namun akan membantu kita membangun dunia yang lebih baik. Lihat bagian Penyelarasan di bawah untuk informasi lebih lanjut.
Ini juga bukan alat "buat situs untuk saya dalam 5 menit" yang membutuhkan prompt yang dibangun dengan baik dan membuat perancah untuk Anda. Ada alat lain untuk itu. Ini bukan platform tanpa kode. Sebaliknya, AICodeBot dibuat untuk bekerja dengan basis kode yang ada dan tingkat git-commit. Ini dirancang untuk melipatgandakan efektivitas para insinyur yang cakap.
Untuk menentukan model yang berbeda, Anda dapat mengatur language_model
di file $HOME/.aicodebot.yaml
Anda. Misalnya:
openai_api_key : sk-*****
language_model : gpt-3.5-turbo
personality : Stewie
version : 1.3
Dalam model AI seperti GPT-4 OpenAI, "token" adalah sepotong teks, sependek karakter atau sepanjang kata. Total token dalam panggilan API, termasuk input dan output, memengaruhi biaya, waktu, dan apakah panggilan berfungsi berdasarkan batas maksimum.
Setiap model memiliki batas token maksimum. Misalnya, GPT-3.5 memiliki batas token sebesar 4096 token, dan GPT-4 memiliki batas token sebesar 8192 token. Jika percakapan melebihi batas ini, Anda harus memperkecil teks Anda hingga pas.
Saat menggunakan perintah seperti perintah Sidekick di AICodeBot, yang memungkinkan Anda meneruskan file untuk konteks, penting untuk mengelola token Anda secara efektif. Karena batasan token, tidak mungkin memuat seluruh basis kode Anda. Sebaliknya, Anda sebaiknya hanya memuat file tertentu yang relevan dengan tugas yang sedang Anda kerjakan. Hal ini memastikan bahwa model AI dapat memproses permintaan Anda secara efisien dan memberikan saran paling relevan untuk tugas Anda saat ini.
Apakah Anda memerlukan jendela konteks yang lebih besar untuk tugas Anda? Apakah Anda mengalami batas token dan menerima pesan seperti ini?
The context is too large (21414) for any of the models supported by your API key. ?
Ada beberapa hal yang dapat Anda lakukan:
Kami akan senang dengan bantuan Anda! Jika Anda tertarik untuk berkontribusi, berikut cara memulainya. Lihat KONTRIBUSI untuk lebih jelasnya.
Asumsikan Anda memiliki perubahan pada direktori kerja saat ini yang telah ditambahkan.
docker build -t aicodebot .
docker run -v ~ /.aicodebot.yaml:/home/user/.aicodebot.yaml -v .:/app aicodebot commit -y