Các phương pháp hay nhất

Tác nhân trong Android Studio đóng vai trò là cộng sự lập trình, giúp đẩy nhanh quy trình phát triển bằng cách tạo mã, tóm tắt các chủ đề phức tạp, tìm tài nguyên cụ thể và nhiều việc khác. Giao tiếp hiệu quả là chìa khoá để khai thác toàn bộ tiềm năng của nhân viên hỗ trợ.

Hướng dẫn này trình bày các chiến lược thiết lập môi trường phát triển và viết câu lệnh để nhận được câu trả lời hữu ích và đáng tin cậy. Đối với nhiều chiến lược, chúng tôi đã cung cấp các câu lệnh mẫu cho nhiều trường hợp sử dụng. Để xem thêm các câu lệnh mẫu, hãy xem Thư viện câu lệnh.

Xác định cụ thể

Tác nhân hoạt động hiệu quả nhất khi có chỉ dẫn rõ ràng và cụ thể. Nếu bạn muốn sử dụng một số thư viện, API hoặc phương pháp nhất định, hãy đưa các thư viện, API hoặc phương pháp đó vào câu hỏi của bạn hoặc đưa vào tệp AGENTS.md gốc của dự án để duy trì các thư viện, API hoặc phương pháp đó trong các hoạt động tương tác. Hãy coi việc này như gửi báo cáo lỗi: bạn càng cung cấp nhiều thông tin thì vấn đề càng được giải quyết nhanh chóng và hiệu quả hơn.

Triển khai chức năng mới:

Làm cách nào để thêm tính năng hỗ trợ camera vào ứng dụng bằng CameraX? Hãy nhớ thêm mọi phần phụ thuộc và quyền mà tôi cần để sử dụng thư viện.
Làm cách nào để thêm tính năng hỗ trợ máy ảnh vào ứng dụng?

Tạo mã:

Viết một hàm tạm ngưng Kotlin sử dụng thư viện Coil để tải hình ảnh xuống từ một chuỗi URL nhất định.

Hàm phải được đặt tên là fetchImageAsBitmap. Hàm này sẽ lấy Context và URL String làm đối số và trả về Bitmap có thể rỗng. Nếu có bất kỳ lỗi mạng hoặc lỗi giải mã nào, hàm này sẽ phát hiện ngoại lệ, ghi lại ngoại lệ đó và trả về null.

Viết một hàm để tải hình ảnh xuống.

Giải thích một khái niệm:

Tôi đang xây dựng một ứng dụng trình phát nhạc và cần tiếp tục phát khi ứng dụng ở chế độ nền.

Tôi có những lựa chọn nào để duy trì hoạt động của ứng dụng trong khi người dùng đang làm việc khác trên thiết bị? Yêu cầu về cấp độ API và tác động đến thời lượng pin của từng phương pháp là gì?

Giải thích về Dịch vụ Android.

Mô tả cấu trúc của câu trả lời

Theo mặc định, tác nhân sẽ đưa ra câu trả lời ở định dạng đoạn văn, mang tính trò chuyện. Mặc dù điều này thường hữu ích cho việc giải thích, nhưng bạn có thể nhận được kết quả hiệu quả hơn và có thể sử dụng ngay bằng cách cho mô hình biết cách cấu trúc câu trả lời. Việc chỉ định định dạng đầu ra sẽ hướng dẫn mô hình sắp xếp thông tin theo cách rõ ràng, dễ đoán, giúp bạn tiết kiệm thời gian tự định dạng lại.

Nếu bạn muốn chèn mã do tác nhân tạo vào ứng dụng của mình và cần mã ở một định dạng nhất định để có thể sử dụng ngay, hãy đưa ra hướng dẫn rõ ràng cho tác nhân về cách tạo và định dạng mã.

Sắp xếp câu trả lời:

Tạo một thực thể Room cho hồ sơ người dùng. Tệp này phải chứa các trường id, userName, email và memberSince. Trường id phải được tạo tự động. Trường memberSince phải đại diện cho một dấu thời gian.

Tạo một thực thể Room cho hồ sơ người dùng.

Nếu bạn đang đặt một câu hỏi mở hơn, hãy yêu cầu câu hỏi đó đưa ra x lựa chọn.

Giới hạn câu trả lời:

Có những công cụ nào để tối ưu hoá hiệu suất của ứng dụng? Hãy cho tôi danh sách 3 lựa chọn hàng đầu.
Có những công cụ nào để tối ưu hoá hiệu suất của ứng dụng?

Chia nhỏ các yêu cầu phức tạp thành nhiều đầu việc nhỏ

Nếu cách tiếp cận của tác nhân không như bạn mong đợi, bạn nên hướng dẫn tác nhân thông qua một loạt câu lệnh nhỏ hơn, tuần tự thay vì yêu cầu mọi thứ cùng một lúc. Phương pháp này giúp bạn có thêm quyền kiểm soát và cho phép bạn xác minh từng bước trước khi chuyển sang bước tiếp theo.

Áp dụng câu lệnh tuần tự:

Câu lệnh 1: Mô hình dữ liệu
Trước tiên, hãy tạo một lớp dữ liệu Kotlin có tên là User. Lớp này phải có 3 thuộc tính: id (một Int), name (một String) và email (một String).

Câu hỏi 2: Tầng mạng
Bây giờ, hãy tạo một giao diện API Retrofit có tên là ApiService. Hàm này cần một suspend fun duy nhất có tên là getUsers() để trả về List<User>.

Câu lệnh 3: Quản lý trạng thái
Tiếp theo, hãy viết một UsersViewModel lấy ApiService làm phần phụ thuộc. UsersViewModel phải hiển thị một StateFlow của lớp UiState kín có thể đại diện cho các trạng thái Loading, Success(users: List) và Error(message: String). Tạo một hàm trong ViewModel để tìm nạp người dùng và cập nhật trạng thái. Viết mã kiểm thử đơn vị cho chức năng mới.

Câu lệnh 4: Lớp giao diện người dùng
Cuối cùng, hãy viết một hàm Jetpack Compose có tên là UserListScreen chấp nhận UiState làm tham số. Sử dụng câu lệnh when để hiển thị CircularProgressIndicator cho trạng thái đang tải, LazyColumn tên người dùng cho trạng thái thành công và phần tử Text có thông báo lỗi cho trạng thái lỗi. Thêm các bài kiểm thử để xác minh chức năng mới.

Tạo một màn hình Jetpack Compose để tìm nạp danh sách người dùng từ một API JSON và hiển thị danh sách đó. Ứng dụng này phải có một ViewModel sử dụng Retrofit và coroutine, một kho lưu trữ để xử lý logic dữ liệu, một lớp dữ liệu User và cần hiển thị trạng thái tải và trạng thái lỗi.

Quản lý bối cảnh

Một phần quan trọng khi làm việc với tác nhân là cung cấp bối cảnh phù hợp. Cung cấp các đoạn mã, nội dung tệp và thông tin về cấu trúc dự án có liên quan để nhận được câu trả lời hữu ích nhất. Bạn có thể phải lặp lại để đạt được sự cân bằng phù hợp: quá nhiều thông tin có thể khiến tác nhân đi chệch hướng, trong khi quá ít thông tin sẽ không cung cấp đủ bối cảnh để tác nhân trợ giúp. Sử dụng các tính năng có sẵn để cấp cho tác nhân quyền truy cập vào bối cảnh cần thiết:

  • Đính kèm hình ảnh để cung cấp hình ảnh về giao diện người dùng mà bạn đang hình dung hoặc cấu trúc ứng dụng mà bạn đang cố gắng tìm hiểu.
  • Đính kèm tệp để làm nổi bật các phần có liên quan trong toàn bộ mã nguồn.
  • Sử dụng tệp .aiexclude để tác nhân bỏ qua một số phần nhất định của toàn bộ mã nguồn.
  • Sử dụng tệp AGENTS.md để đưa ra hướng dẫn dành riêng cho dự án và chia sẻ hướng dẫn đó với nhóm của bạn. Khi sử dụng tệp AGENTS.md, hãy dùng tiêu đề và định dạng Markdown để hướng dẫn của bạn rõ ràng.
  • Khi sử dụng Chế độ tác nhân, hãy định cấu hình máy chủ MCP để mở rộng kiến thức và khả năng của tác nhân với môi trường bên ngoài.

Yêu cầu giải thích

Nếu bạn không hiểu câu trả lời của nhân viên hỗ trợ, hãy yêu cầu họ giải thích. Đây là một cách hay để tìm hiểu và xác minh rằng giải pháp được đề xuất phù hợp với trường hợp sử dụng của bạn. Nếu câu trả lời không như bạn mong đợi, thì có thể tác nhân đã trả lời sai và việc yêu cầu giải thích sẽ giúp tác nhân có cơ hội tự sửa lỗi.

Điều chỉnh chỉ dẫn của bạn

Tương tự như khi làm việc với đồng nghiệp, khi làm việc với tác nhân, đôi khi bạn cần trao đổi qua lại để làm rõ nhiệm vụ và kết quả mong đợi. Nếu phản hồi ban đầu của nhân viên hỗ trợ chưa đầy đủ, hãy phản hồi bằng ý kiến phản hồi và đề xuất về cách cải thiện. Nếu câu trả lời của Gemini cải thiện dựa trên đề xuất của bạn, hãy kết hợp đề xuất đó vào câu lệnh ban đầu bằng cách cập nhật mục nhập trong Thư viện câu lệnh hoặc cập nhật tệp AGENTS.md.