En abril, lanzamos las Habilidades de Android oficiales, y la respuesta superó todas nuestras expectativas. En esta entrada de blog, abordaré algunos de los comentarios que recibimos y explicaré la filosofía y la metodología detrás del proyecto. Esperamos que esto también te ayude a comprender qué sucede tras bambalinas cuando instalas y usas habilidades, lo que te permitirá aprovechar mejor los tokens y tu propio tiempo.
¿Por qué hay tan pocas habilidades oficiales?
Actualmente, solo consideramos habilidades nuevas cuando hay una brecha de conocimiento verificable en los modelos de estado del arte (SOTA). En pocas palabras, no necesitas enseñarle al modelo lo que ya sabe. (Aunque hay algunas excepciones, sigue leyendo).
Hasta el momento, lanzamos alrededor de 20 habilidades oficiales, y se enfocan de forma intencional en áreas muy específicas y de rápido movimiento en las que los modelos estándar aún no se basan por completo, como AGP 9, Navigation 3, APIs de Camera avanzadas y Perfetto SQL.
¿Qué hay de las habilidades básicas y más generales? Cada habilidad instalada inserta entre 100 y 200 tokens en el contexto de referencia de cada tarea que inicias. Si esa habilidad se activa, ese recuento puede aumentar rápidamente a miles. En la mayoría de los casos, acumular habilidades básicas es contraproducente y costoso. Antes de instalar una habilidad para escribir código básico de Kotlin o Compose, considera si el LLM que elegiste realmente la necesita o si ya conoce esos temas lo suficientemente bien.
Evaluación de habilidades
Antes de su lanzamiento, cada habilidad se prueba con un conjunto integral de evaluaciones que demuestran que la habilidad ofrece un valor claro. Estas evaluaciones deberían aprobarse cuando la habilidad esté activa y, de lo contrario, fallar. Las evaluaciones son para las habilidades lo que las pruebas de integración son para el código.
timeout_s: 1200
repository:
url: [redacted - internal git repo]
working_dir: wear_compose_m3_empty_app
category_ids:
- wear
prompt: |-
Add a horizontal pager to MainActivity.kt. Have three pages in the pager. Each page should contain
the text "Page 1", "Page 2", and "Page 3" respectively in the center of the screen.
commands:
build:
- ./gradlew assembleDebug
acceptance_criteria:
project_builds: true
llm_diff_judge:
- Must use `HorizontalPagerScaffold`.
- Each page should use `AnimatedPage` to wrap a `ScreenScaffold`.Ejemplo de evaluación que verifica la implementación correcta de un paginador horizontal en una app para Wear
Como mínimo, probamos la habilidad en Android Studio con el modelo de Gemini Flash más reciente. Según la habilidad, también garantizamos la compatibilidad con otros modelos, como Gemini Pro, y otros agentes, como Antigravity, y sistemas de terceros.
Todas las evaluaciones se ejecutan con acceso a la base de conocimiento, por lo que, si la información está en la documentación y los modelos deciden buscarla, no publicamos una habilidad para ella.
Usa la base de conocimiento de Android (Android Studio o CLI de Android)
Si desarrollas apps para Android, siempre debes usar la base de conocimiento de Android para tener acceso a la documentación oficial. Si usas el agente en Android Studio, ya está disponible como herramienta, pero si usas otro agente, instala Android CLI. Entre otras cosas, contiene el comando docs, que le otorga a tu agente acceso a la documentación oficial de Android. Tener una sola herramienta es mucho más eficiente que instalar cientos de habilidades.
Si tu modelo actúa con demasiada confianza y quieres que consulte la documentación con más frecuencia, una forma muy común de motivarlo es agregar "Consulta siempre la documentación oficial de Android cuando trabajes con las APIs de Android" a tu archivo AGENTS.md o equivalente. Por supuesto, también puedes forzar esto pidiéndole al agente que consulte la documentación directamente en tus instrucciones.
¿Por qué se inhabilitaron las solicitudes de extracción?
Debido a que nuestro framework de evaluación depende de una infraestructura interna que no puede ser de código abierto, no podemos aceptar solicitudes de extracción directas para nuevas habilidades. Sin esta infraestructura, no tendríamos forma de volver a evaluar los cambios entrantes de las solicitudes de extracción. Sin embargo, supervisamos activamente los comentarios de la comunidad. Si quieres informar un error, sugerir una optimización o solicitar una nueva habilidad oficial, envía un problema.
¿Cuándo tiene sentido usar habilidades básicas o principales?
Si bien los modelos de SOTA no suelen necesitar habilidades básicas, hay algunas situaciones en las que habilitar habilidades principales o creadas por la comunidad agrega valor real. Por ejemplo:
- Estás usando instrucciones vagas: Las habilidades amplifican tu intención. Si proporcionas una instrucción imprecisa, como "agrega animaciones a esta pantalla", una habilidad específica de animación de Compose puede inspirar al modelo y llevarlo a usar APIs modernas o patrones de prueba de capturas de pantalla que, de otro modo, no habría considerado.
- Quieres usar modelos más pequeños y económicos: Los LLM de vanguardia son costosos. Si descargas tareas rutinarias en modelos de pesos abiertos más pequeños, como Gemma 4, habilitar las habilidades básicas llena los vacíos de conocimiento que los parámetros más pequeños pasan por alto.
- Estás refactorizando o revisando código heredado: Los modelos son excelentes para generar código que funciona, pero, cuando editan bases de código antiguas, suelen priorizar la coherencia con los patrones heredados circundantes en lugar de reescribir las cosas con precisión moderna. Un agente revisor especializado equipado con habilidades básicas puede ayudar a romper ese hábito.
- Te desvías de la norma: A los LLM les encanta la "forma de Google" estándar de diseñar apps para Android. Si tu equipo usa una arquitectura de capa de vista muy personalizada, el modelo tendrá dificultades para mantenerse alineado. Una habilidad personalizada que describa explícitamente tu arquitectura es de gran ayuda.
¿Dónde puedo encontrar las habilidades principales?
La comunidad de Android te respalda. Chris Banes tiene una colección integral de habilidades para Compose y Kotlin, Ivan Morgillo publicó una habilidad que audita proyectos de Compose y Jaewoong Eum creó dos sobre pruebas y rendimiento.
Descarga siempre las habilidades de fuentes confiables. Personalmente, no confiaría en los repositorios que contienen decenas o cientos de habilidades de Android, ya que probablemente estén generados por IA y no se hayan probado, y hasta podrían contener instrucciones maliciosas o sesgadas. Además, no instales habilidades generales de ingeniería de software sin pensar, ya que muchas de ellas están diseñadas para el desarrollo web.
Objetivo: Baja
Parafraseando libremente a Karpathy: Las habilidades de hoy estarán en los modelos del mañana. A medida que los modelos de SOTA sigan mejorando, esperamos que las habilidades queden obsoletas, en especial, las que se basan en APIs nuevas. Para determinar cuándo retirarlos, ejecutamos nuestras evaluaciones cuando se lanzan modelos nuevos. Si se aprueban, las mantendremos durante algunos meses hasta que la mayoría de los usuarios hayan realizado la transición.
-
ComunidadMás de 900 asistentes se unieron a nuestros espacios de eventos para una charla sobre nuestra perspectiva del futuro, sesiones de demostración, decenas de talleres, un hackatón y debates comunitarios centrados en ideas y comentarios sobre la plataforma de Android.
Florina Muntenescu • Lectura de 1 min -
ComunidadGoogle Play lanzará el primer Indie Games Fund en África, con una inversión de USD 1 millón para impulsar a 10 estudios de juegos indie de África subsahariana.
Steph Pio • Lectura de 1 min -
Comunidad¡Terminó la espera! Nos complace anunciar la generación de 2026 del programa Apps Accelerator de Google Play.
Robbie McLachlan • Lectura de 1 min
Recibe la información más reciente sobre el desarrollo de Android en tu bandeja de entrada todas las semanas.