Praktik terbaik

Agen di Android Studio bertindak sebagai kolaborator coding Anda, mempercepat alur kerja pengembangan Anda dengan membuat kode, meringkas topik yang kompleks, menemukan resource tertentu, dan banyak lagi. Komunikasi yang efektif adalah kunci untuk mengoptimalkan potensi penuh agen.

Panduan ini menguraikan strategi untuk menyiapkan lingkungan pengembangan dan menulis perintah yang menghasilkan respons yang berguna dan andal. Untuk beberapa strategi, kami telah memberikan contoh perintah untuk berbagai kasus penggunaan. Untuk mengetahui contoh perintah lainnya, lihat Galeri perintah.

Harus spesifik

Agen akan memberikan performa terbaik dengan petunjuk yang jelas dan spesifik. Jika ada library, API, atau pendekatan tertentu yang ingin Anda gunakan, sertakan dalam pertanyaan Anda—atau sertakan dalam file AGENTS.md root project Anda untuk mempertahankannya di seluruh interaksi. Anggap saja seperti mengajukan laporan bug: makin banyak informasi yang Anda berikan, makin cepat dan efektif masalah dapat diselesaikan.

Mengimplementasikan fungsi baru:

Bagaimana cara menambahkan dukungan kamera ke aplikasi saya menggunakan CameraX? Pastikan untuk menyertakan dependensi dan izin yang saya perlukan untuk menggunakan library.
Bagaimana cara menambahkan dukungan kamera ke aplikasi saya?

Membuat kode:

Tulis fungsi penangguhan Kotlin yang menggunakan library Coil untuk mendownload gambar dari string URL tertentu.

Fungsi harus diberi nama fetchImageAsBitmap. Fungsi ini harus menggunakan Context dan URL String sebagai argumen dan menampilkan Bitmap yang dapat diubah ke null. Jika ada error jaringan atau decoding, fungsi ini harus menangkap pengecualian, mencatatnya ke dalam log, dan menampilkan null.

Tulis fungsi untuk mendownload gambar.

Menjelaskan konsep:

Saya sedang membuat aplikasi pemutar musik dan perlu melanjutkan pemutaran saat aplikasi berada di latar belakang.

Apa saja opsi saya untuk menjaga aplikasi tetap berjalan saat pengguna melakukan hal lain di perangkat? Apa saja persyaratan level API dan implikasi masa pakai baterai untuk setiap pendekatan?

Menjelaskan Layanan Android.

Menjelaskan struktur jawaban

Secara default, agen memberikan jawaban dalam format percakapan berbasis paragraf. Meskipun hal ini sering kali berguna untuk penjelasan, Anda bisa mendapatkan hasil yang lebih efektif dan langsung dapat digunakan dengan memberi tahu cara menyusun respons. Menentukan format output akan mengarahkan model untuk mengatur informasi dengan cara yang jelas dan dapat diprediksi, sehingga Anda tidak perlu memformat ulang sendiri.

Jika Anda ingin menyisipkan kode yang dihasilkan oleh agen ke dalam aplikasi dan memerlukan kode dalam format tertentu agar dapat langsung digunakan, berikan petunjuk yang jelas kepada agen tentang cara membuat dan memformat kode.

Menyusun respons:

Membuat entity Room untuk profil pengguna. Kolom ini harus berisi kolom id, userName, email, dan memberSince. Kolom id harus dibuat otomatis. Kolom memberSince harus mewakili stempel waktu.

Buat entity Room untuk profil pengguna.

Jika Anda mengajukan pertanyaan yang lebih terbuka, mintalah x jumlah opsi.

Membatasi respons:

Alat apa saja yang tersedia untuk pengoptimalan performa aplikasi? Berikan daftar tiga teratas.
Alat apa saja yang tersedia untuk pengoptimalan performa aplikasi?

Uraikan permintaan kompleks menjadi beberapa tugas yang lebih kecil

Jika pendekatan agen tidak sesuai harapan, sebaiknya pandu agen melalui serangkaian perintah yang lebih kecil dan berurutan, bukan meminta semuanya sekaligus. Pendekatan ini memberi Anda kontrol lebih besar dan memungkinkan Anda memverifikasi setiap langkah sebelum melanjutkan ke langkah berikutnya.

Menerapkan perintah berurutan:

Perintah 1: Model data
Pertama, buat class data Kotlin bernama User. Class tersebut harus memiliki tiga properti: id (Int), name (String), dan email (String).

Perintah 2: Lapisan jaringan
Sekarang, buat antarmuka Retrofit API bernama ApiService. Class ini memerlukan satu suspend fun bernama getUsers() yang menampilkan List<User>.

Prompt 3: Pengelolaan status
Selanjutnya, tulis UsersViewModel yang mengambil ApiService sebagai dependensi. UsersViewModel harus mengekspos StateFlow dari class UiState tertutup yang dapat merepresentasikan status Loading, Success(users: List), dan Error(message: String). Buat fungsi di ViewModel untuk mengambil pengguna dan memperbarui status. Menulis pengujian unit untuk fungsi baru.

Perintah 4: Lapisan UI
Terakhir, tulis fungsi Jetpack Compose bernama UserListScreen yang menerima UiState sebagai parameter. Gunakan pernyataan when untuk menampilkan CircularProgressIndicator untuk status pemuatan, LazyColumn nama pengguna untuk status berhasil, dan elemen Text dengan pesan error untuk status error. Tambahkan pengujian yang memverifikasi fungsi baru.

Buat layar Jetpack Compose yang mengambil daftar pengguna dari JSON API dan menampilkannya dalam daftar. Aplikasi ini harus memiliki ViewModel yang menggunakan Retrofit dan coroutine, repositori untuk menangani logika data, class data User, dan harus menampilkan status pemuatan dan status error.

Mengelola konteks

Bagian utama dari bekerja dengan agen adalah memberikan konteks yang tepat. Berikan cuplikan kode, konten file, dan informasi struktur project yang relevan untuk mendapatkan respons yang paling bermanfaat. Anda mungkin harus melakukan iterasi untuk menemukan keseimbangan yang tepat: terlalu banyak informasi dapat membuat agen tersesat, sedangkan terlalu sedikit tidak akan memberikan konteks yang cukup untuk membantu. Gunakan fitur yang tersedia untuk memberi agen akses ke konteks yang diperlukan:

  • Lampirkan gambar untuk memberikan visual UI yang Anda bayangkan atau arsitektur aplikasi yang ingin Anda pahami.
  • Lampirkan file untuk menandai bagian yang relevan dari codebase.
  • Gunakan file .aiexclude untuk membuat agen mengabaikan bagian tertentu dari codebase.
  • Gunakan file AGENTS.md untuk memberikan petunjuk khusus project dan membagikannya kepada tim Anda. Saat menggunakan file AGENTS.md, gunakan header dan pemformatan Markdown untuk memperjelas petunjuk Anda.
  • Saat menggunakan Mode Agen, konfigurasikan server MCP untuk memperluas pengetahuan dan kemampuan agen dengan lingkungan eksternal.

Meminta penjelasan

Jika Anda tidak memahami respons agen, mintalah penjelasan. Ini adalah cara yang bagus untuk mempelajari dan memverifikasi bahwa solusi yang diusulkan sesuai untuk kasus penggunaan Anda. Jika responsnya tidak sesuai dengan yang Anda harapkan, bisa jadi agen tersebut salah, dan meminta penjelasan akan memberikan kesempatan kepada agen untuk mengoreksi dirinya sendiri.

Melakukan iterasi pada petunjuk Anda

Sama seperti saat Anda bekerja dengan rekan kerja, bekerja dengan agen terkadang memerlukan komunikasi bolak-balik untuk mendapatkan kejelasan tentang tugas dan hasil yang diharapkan. Jika respons awal agen tidak memadai, respons dengan masukan dan saran untuk meningkatkan kualitasnya. Jika responsnya membaik berdasarkan saran Anda, sertakan saran tersebut dalam perintah asli dengan memperbarui entri di Prompt Library atau memperbarui file AGENTS.md Anda.