El agente de Android Studio actúa como tu colaborador de programación, lo que acelera tu flujo de trabajo de desarrollo, ya que genera código, resume temas complejos, encuentra recursos específicos y mucho más. La comunicación eficaz es la clave para liberar todo el potencial del agente.
En esta guía, se describen estrategias para configurar tu entorno de desarrollo y escribir instrucciones que generen respuestas útiles y confiables. Para varias estrategias, proporcionamos instrucciones de ejemplo para diferentes casos de uso. Para ver más ejemplos de instrucciones, consulta la galería de instrucciones.
Sé específico
El agente funciona mejor con instrucciones claras y específicas. Si hay ciertas bibliotecas, APIs o enfoques que te gustaría usar, inclúyelos en tu pregunta o en el archivo AGENTS.md raíz de tu proyecto para que se conserven en todas las interacciones. Piensa en esto como si estuvieras enviando un informe de errores: cuanta más información proporciones, más rápido y eficazmente se podrá resolver el problema.
Implementación de una nueva funcionalidad:
Qué debes hacer
Qué no debe hacer
Generación de código:
Qué debes hacer
Escribe una función de suspensión de Kotlin que use la biblioteca de Coil para descargar una imagen desde una cadena de URL determinada.
La función debe llamarse fetchImageAsBitmap. Debe tomar un Context y una URL de String como argumentos y devolver un Bitmap que admita valores nulos. Si hay algún error de red o decodificación,
debe detectar la excepción, registrarla y devolver
null.
Qué no debe hacer
Explicar un concepto:
Qué debes hacer
Estoy creando una app de reproducción de música y necesito que la reproducción continúe cuando la app esté en segundo plano.
¿Qué opciones tengo para mantener mi app en ejecución mientras el usuario realiza otras acciones en el dispositivo? ¿Cuáles son los requisitos de nivel de API y las implicaciones de duración de la batería para cada enfoque?
Qué no debe hacer
Describe la estructura de la respuesta.
De forma predeterminada, el agente proporciona respuestas en un formato conversacional basado en párrafos. Si bien esto suele ser útil para las explicaciones, puedes obtener resultados más eficaces y de uso inmediato si le indicas cómo estructurar la respuesta. Especificar el formato de salida indica al modelo que organice la información de una manera clara y predecible, lo que te ahorra el tiempo de volver a darle formato.
Si quieres insertar código generado por el agente en tu app y necesitas el código en un formato determinado para poder usarlo de inmediato, dale al agente instrucciones claras sobre cómo generar y dar formato al código.
Estructura la respuesta:
Qué debes hacer
Crea una entidad de Room para un perfil de usuario. Debe contener
los campos id, userName, email y
memberSince. El campo id se debe generar de forma automática. El campo memberSince debe representar una
marca de tiempo.
Qué no debe hacer
Si haces una pregunta más abierta, pídela para una cantidad x de opciones.
Limita la respuesta:
Qué debes hacer
Qué no debe hacer
Divide las solicitudes complejas en tareas más simples.
Si el enfoque del agente no es el que esperas, puede ser útil guiarlo a través de una serie de instrucciones secuenciales más pequeñas, en lugar de pedirle todo a la vez. Este enfoque te brinda más control y te permite verificar cada paso antes de continuar con el siguiente.
Aplicación de instrucciones secuenciales:
Qué debes hacer
Instrucción 1: El modelo de datos
Primero, crea una clase de datos de Kotlin llamada User. Debe tener tres propiedades: id (un Int), name (una String) y email (una String).
Instrucción 2: La capa de red
Ahora, crea una interfaz de la API de Retrofit llamada ApiService. Necesita un solo suspend fun llamado getUsers() que devuelva un List<User>.
Instrucción 3: Administración del estado
A continuación, escribe un UsersViewModel que tome el ApiService como dependencia. El UsersViewModel debe exponer un StateFlow de una clase UiState sellada que pueda representar los estados Loading, Success(users: List y Error(message: String). Crea una función en el ViewModel para recuperar los usuarios y actualizar el estado. Escribe pruebas de unidades para
la nueva funcionalidad.
Instrucción 4: La capa de la IU
Por último, escribe una función de Jetpack Compose llamada UserListScreen que acepte UiState como parámetro. Usa una sentencia when para mostrar un elemento CircularProgressIndicator para el estado de carga, un elemento LazyColumn de nombres de usuario para el estado de éxito y un elemento Text con el mensaje de error para el estado de error. Agrega pruebas que verifiquen la nueva funcionalidad.
Qué no debe hacer
ViewModel que use Retrofit y corrutinas, un repositorio para controlar la lógica de datos, una clase de datos User y mostrar los estados de carga y error.Administrar el contexto
Una parte importante de trabajar con el agente es proporcionar el contexto adecuado. Proporciona fragmentos de código, contenido de archivos y estructura de proyectos pertinentes para obtener las respuestas más útiles. Es posible que debas iterar para lograr el equilibrio adecuado: demasiada información puede desviar al agente, mientras que muy poca no proporcionará suficiente contexto para que pueda ayudar. Usa las funciones disponibles para otorgarle al agente acceso al contexto necesario:
- Adjunta imágenes para proporcionar una imagen de la IU que imaginas o de la arquitectura de la app que intentas comprender.
- Adjunta archivos para destacar partes relevantes de la base de código.
- Usa archivos
.aiexcludepara que el agente ignore ciertas partes de la base de código. - Usa archivos AGENTS.md para dar instrucciones específicas del proyecto y compartirlas con tu equipo. Cuando uses archivos AGENTS.md, usa encabezados y formato de Markdown para que tus instrucciones sean claras.
- Cuando uses el modo agente, configura servidores de MCP para extender el conocimiento y las capacidades del agente con el entorno externo.
Solicita explicaciones
Si no comprendes la respuesta del agente, pídele una explicación. Esta es una excelente manera de aprender y verificar que la solución propuesta sea adecuada para tu caso de uso. Si la respuesta no fue la que esperabas, es posible que el agente esté equivocado y, si le pides una explicación, tendrá la oportunidad de corregirse.
Itera tus instrucciones
Al igual que cuando trabajas con un compañero de trabajo, trabajar con el agente a veces requiere un poco de comunicación de ida y vuelta para aclarar la tarea y el resultado esperado. Si la respuesta inicial del agente no es suficiente, respóndele con comentarios y sugerencias para mejorar. Si su respuesta mejora en función de tus sugerencias, incorpora esa sugerencia en la instrucción original actualizando la entrada en la Biblioteca de instrucciones o actualizando tus archivos AGENTS.md.