Topics

Claude × Desarrollo de aplicaciones por no ingenieros① - Crear, probar y ajustar. Un nuevo enfoque para "cultivar" tus aplicaciones

  • column

"Crear una aplicación usando IA" ya no es algo tan inusual en estos días.

Hasta hace poco, la IA era vista como un "asistente competente" que nos ayudaba a resumir textos o generar ideas. Sin embargo, recientemente se está transformando en un "socio confiable" que lidera el propio desarrollo.

Los miembros de nuestro equipo también han tenido más oportunidades de experimentar con IA, y esto nos inspiró a pensar "¿por qué no intentar crear algo nosotros también?". Así es como comenzó este desarrollo de aplicaciones.

Pensábamos "ya que vamos a hacerlo, que sea algo útil para el trabajo...", pero la primera idea que surgió no fue laboral, sino relacionada con un pasatiempo personal.

Últimamente me he aficionado a ver películas, veo varias cada semana, y había estado guardando todas mis planes de visualización y películas favoritas en la aplicación de notas del iPhone.

Sin embargo, la lista crecía muy rápido y había muchos títulos similares, así que "¿ya vi esta?" ocurría frecuentemente. Finalmente, el sistema de notas colapsó.

Entonces decidí "¿por qué no creo mi propia herramienta?", así que creé la "Lista de películas para ver" que les presento hoy.

Se puede crear una aplicación funcional incluso con instrucciones imprecisas

Cuando se habla de desarrollo con IA, tenemos la impresión de que "hay que escribir instrucciones muy detalladas, desglosando cada requisito específico".

Muchos de nosotros creemos que necesitamos organizar el trasfondo y las especificaciones, comunicar los requisitos sin dejar nada fuera, y solo entonces obtendremos algo que realmente funcione.

Por supuesto, si pudiéramos entregar el trasfondo y las especificaciones compiladas de manera completa, eso sería lo ideal. Sin embargo, lo que descubrimos en este ejercicio fue que el desarrollador comprendía nuestras intenciones e implementaba correctamente incluso con instrucciones bastante vagas.

Parte de ello se debe a que era una aplicación simple, pero el hecho es que obtuvimos una aplicación funcional con solo un prompt que contenía lo que queríamos hacer, sin más. El prompt inicial era así:

Quiero crear una lista de películas para ver.
Por ahora es un prototipo, así que me gustaría que todo se incluyera en un único archivo HTML que funcione al abrirlo en el navegador.
Las funcionalidades que deseo son: poder ingresar y registrar el título de la película y dónde se está transmitiendo (U-next, Prime Video, etc.), y mostrar una lista de las películas registradas.
Además, me gustaría poder marcar las películas como "vistas".

En el desarrollo tradicional sin IA, incluso para algo simple, se necesita "pensar en la UI", "seleccionar la tecnología a utilizar" y "codificar", lo que fácilmente consume varias horas. Claude, en cambio, comprendió lo que queríamos hacer en cuestión de minutos y completó sin esfuerzo desde la selección óptima de UI y herramientas hasta la implementación.

La velocidad fue tal que pasé de la admiración al asombro, incluso sintiendo un poco de inquietud.

Con una velocidad tan alta, nuestros deseos no dejaban de crecer. Una vez que tuvimos la base lista, simplemente continuamos lanzando todas las solicitudes que se nos ocurrían. Esos prompts tampoco eran pulidos, solo enumeraba los puntos problemáticos y decía "arreglá esto", algo tan desordenado que definitivamente habría molestado a un ingeniero humano.

Después de continuar con varios intercambios así de informales, la estructura principal de la lista de películas se completó sin mayor dificultad.
Incluyendo ajustes menores, el tiempo transcurrido hasta obtener la aplicación inicial fue de aproximadamente una hora.

Si se te ocurre, implementalo de inmediato. Desarrollar mientras sumas funcionalidades.

Unos días después de completar el marco, se organizó una sesión donde cada uno presentó la aplicación que había creado con IA, y tuvimos la oportunidad de ver los trabajos de otros miembros del equipo. Uno de ellos había creado una aplicación que integraba "Gemini Nano".

En ese instante pensé: «Espera, yo también uso Gemini cuando busco películas para ver. ¿Y si integro esto en la aplicación? Podría buscar películas basándome en mi lista de películas pendientes». Así que apenas llegué a casa, retomé el desarrollo.

Si fuera con una persona, sería un acto atrevido que me regañaría por expandir las especificaciones a mitad del desarrollo, pero lo sorprendente de la IA es que maneja estos cambios sin problemas. Claude implementó la función de búsqueda de películas en cuestión de minutos.

Así logré implementar la función de búsqueda, pero luego me preocupó la precisión.

Al principio usaba una especificación bastante vaga: solo basándome en el título y género de las películas registradas en mi lista de películas pendientes, pedía que me recomendara un cierto número de películas. Eso causaba un problema: aunque el género coincidía, la IA sugería películas que no se alineaban con mis preferencias. Intenté varios enfoques, como cambiar la especificación para que se basara en las obras marcadas como favoritas, pero los resultados no mejoraron.

Pensé que quizás solo con títulos y géneros había información insuficiente, así que decidí incluir la sinopsis de cada película como datos adicionales. Pero la idea de ingresar cada sinopsis manualmente me parecía demasiado tediosa... Después de pensarlo mucho, decidí recurrir nuevamente a la IA.

Actualicé el sistema para que las sinopsis se registren automáticamente basándose en los títulos ingresados en la lista. Para garantizar la precisión de las sinopsis, usé la API de Wikipedia para obtener información sobre los títulos registrados y luego le pedí a Claude que escribiera código para que la IA generara automáticamente las sinopsis basándose en esa información.

Honestamente, todavía hay imprecisiones, y estoy considerando actualizar la integración con la API de TMDB en el futuro. Aun así, he llegado a un nivel en el que puedo permitirme pequeños errores. Todo este proceso de ajuste fino me tomó aproximadamente 2 o 3 horas.

Por cierto, cuando intenté usar la aplicación en un dispositivo real después, resultó que no podía usar Gemini Nano, así que cambié a la API de Gemini. Aunque el nivel gratuito tiene límites en el número de solicitudes, puedo acceder a un modelo mejor que con Gemini Nano, lo que mejoró significativamente la precisión.

Un vistazo rápido a la aplicación resultante

Esta aplicación, que desarrollé agregando funcionalidades sobre la marcha y literalmente «criándola mientras la usaba», ha terminado con todas estas características.

【Lista de seguimiento】

  • Registro de títulos de películas, géneros, servicios de streaming y sinopsis
  • Generación automática de sinopsis utilizando diversas API
  • Alternancia de estado entre «no visto» y «visto»
  • Función de filtrado por género, favoritos, estado de visualización (no visto/visto)

【Búsqueda de películas】

  • Gemini sugiere películas recomendadas basándose en tu información de favoritos
  • Posibilidad de especificar género y número de recomendaciones
  • Agregar películas recomendadas a la lista de seguimiento con un solo toque
  • Las películas vistas también se pueden añadir a la lista con el estado de «visto»

Las tareas que antes estaban separadas —"buscar películas" y "registrar películas"— se han consolidado en una sola aplicación.
Antes tenía que explicar mis preferencias a la IA cada vez que hacía una búsqueda, pero ahora ese trabajo ha desaparecido y puedo encontrar películas que me gustan en cualquier momento.

La lista de espera, que era mi objetivo original, también permite filtrar por estado de visualización, favoritos y género, así que su gestión es incomparablemente más fácil que en los días de las notas.

Lo que me alegra especialmente es poder añadir con un toque películas que aparecen en los resultados de búsqueda pero que faltan en mi lista.
He dejado atrás el tedioso trabajo de escribir manualmente los títulos para registrarlos.

Conclusión

Puede que te hayas dado cuenta al llegar hasta aquí, pero en este desarrollo de aplicaciones no escribí ni una sola línea de código. Solo le comuniqué verbalmente a Claude "me gustaría esta funcionalidad", y él implementó todo.

Lo primero que pensé al hacerlo fue: "no necesitaba decidir la forma final desde el principio". Mientras lo usaba, me daba cuenta de "ah, también me gustaría esto" o "esto no es exactamente como imaginé", y se lo comunicaba a Claude en cada paso. Fue más una sensación de "educar" la aplicación que de "construirla".

Si hay alguien que duda por pensar que "tengo que escribir bien los prompts", simplemente intenta lanzar algo sin pulir. Si el resultado no es lo que imaginabas, solo tienes que ir ajustando poco a poco. No hay fracasos reales. Una vez que lo intentas, entiendes "ah, esto funciona mejor de lo que pensé".

Definitivamente, prueba con toda libertad.

Autor de este artículo

¡Director en ascenso desde la incorporación como recién graduado, actualmente en plena lucha! Aspirando a ser un talento versátil que domine todos los campos, desde el diseño hasta la gestión de publicidad. Mientras busco una dirección inteligente en el trabajo, en mi vida privada disfruto de la vida de reclusión en una fortaleza llamada hogar. Tengo una pasión por el anime.

Handa

Director Web / Incorporado en 2022

Ver artículos de este staff

Destacamos por nuestro equipo confiable y nuestra rápida capacidad de respuesta

En Liberogic, nuestro personal experimentado impulsa activamente los proyectos, lo que nos ha ganado una alta evaluación de nuestros clientes.
Nos aseguramos de asignar adecuadamente gerentes de proyecto y directores, manteniendo una ejecución fluida de todo el proyecto. Evitamos aumentos de costos innecesarios mediante asignación completa, distribuyendo recursos estratégicamente según las necesidades, y somos reconocidos por la rapidez en la comprensión de tareas, elaboración de presupuestos y entrega de cotizaciones.

* Tome en cuenta que nuestra empresa no participa activamente en labores de residencia tipo SES.

Puede utilizar prácticamente todas las herramientas principales de gestión de proyectos y chat como Slack, Teams, Redmine, Backlog, Asana, Jira, Notion, Google Workspace, Zoom, Webex, entre otras.

Consulte con nosotros sobre sus dudas relacionadas con la web.

Casos de Estudio