Mientras el director ejecutivo (CEO) de OpenAI, Sam Altman,se burla de las habilidades de escritura creativa de un próximo modelo de OpenAI, muchos desarrolladores e ingenieros de software están adoptando algo llamado "programación ambiental". La expresión tiene solo seis semanas, pero continúa generando debate en Reddit y en varios canales de Slack, incluso aquí en IBM.
En pocas palabras, la programación ambiental es un término que el cofundador de OpenAI y exdirector sénior de IA de Tesla,Andrej Karpathy, utilizó recientemente para describir lo buenos que se han vuelto los LLM en el razonamiento y la programación. (Piense: Soneto de Claude, o editor de código IA Cursor). Ahora, escribió en X, los desarrolladores pueden "ceder a las vibraciones, adoptar exponenciales y olvidar que el código existe". Como dijo Ars Technica: "En lugar de tratarse de control y precisión, la programación de vibraciones se trata de rendirse al flujo".
Joshua Noble, estratega técnico en IBM, dice que cree que la programación empezó como una broma. Pero la expresión se quedó, con la incubadora Y Combinator incluso creando un documento explicativo de 30 minutos titulado "Vibe programación Is the Future".
La programación Vibe podría ser el futuro, pero sigue siendo imperfecta hoy en día. “Creo que realmente es más como si te quedaste sin ideas, o si te sientes perezoso, solo deja que CoPilot lo haga por ti un poco y mira a dónde te lleva”, dice Noble. “Solo veo cosas, digo cosas, hago cosas y copio y pego cosas, y casi siempre funciona”.
Ash Minhas, gerente de contenido técnico de IBM, está de acuerdo: "La programación de Vibe es una cosa", dice. "Es como si pudieras inspirarte y convertirlo en algo". Para ilustrar su punto, Minhas dice que a él y a su hermano se les ocurrió una instrucción para crear una aplicación que ayude a los usuarios a encontrar su número FIRE (Independencia financiera, jubilación anticipada). "Si tienes habilidades técnicas, es fantástico", dice.
Ahora que la IA ha llegado a casi todos los aspectos de la economía, ¿podría alterar el trabajo de los desarrolladores y los ingenieros de software? La capacidad de usar LLM para codificar, depurar o probar podría mejorar muchas operaciones, dice Shalini Harkar, defensora principal de IA en IBM con sede en Bangalore.
"En estos días, los desarrolladores se centran más en resolver problemas complejos del mundo real que tienen un alto impacto en la vida real, diseñar diseños arquitectónicos eficientes, permitir estrategias de comercialización más rápidas y fomentar la innovación en lugar de tareas rutinarias", explica.
Michael (Max) Maximilien, ingeniero distinguido de IBM, sigue pidiendo a su equipo que ejecute pruebas manuales en el código. “Pero cada vez más, no es necesario escribir la prueba”, dice. “En realidad, puede simplemente escribir el código y luego pedirle al LLM que escriba la prueba por usted, y hace un trabajo decente la mayor parte del tiempo. Así que, de repente, ha mejorado significativamente su productividad”.
Además de este aumento de la eficiencia, la IA puede ayudar a los desarrolladores menos experimentados a perfeccionar sus habilidades y adquirir experiencia práctica a un ritmo mucho más rápido. “Puedes decir: 'Esto es lo que estoy tratando de hacer', y escribe la primera versión del código”, dice Maximilien. “[Luego] lo arreglas y sigues avanzando, ¿verdad? Esa es la aceleración”.
En esta etapa temprana, la programación vibe sigue siendo una especie de broma de desarrollador: una forma de arte reservada para los conocedores del código. Pero también puede ser una señal de que estamos listos para redefinir lo que significa la colaboración con la IA en el campo de la informática y la ingeniería de software.
Para algunos observadores, el futuro de la tecnología también podría incluir más conexiones entre humanos y máquinas. "El futuro de la programación priorizará la comprensión del lenguaje natural, los algoritmos conscientes de las emociones y el análisis de sentimientos en tiempo real, haciendo que las interacciones entre humanos y computadoras sean más intuitivas", dice Vrunda Gadesha, redactora de contenido técnico de IBM.
Y aunque los humanos siempre serán una parte integral del proceso, la IA simplemente facilita mucho la parte de programación. "La ingeniería de software desafiante siempre requerirá un ser humano en algún momento del proceso para analizar la optimización, o una lógica de negocio muy específica o casos extremos", dice Noble. “Pero cuando pensamos en programación, simplemente, 'Voy a programar una aplicación que haga esto', la cantidad de trabajo que puede hacer un modelo de lenguaje grande realmente aumenta. Y eso es bastante emocionante”.
watsonx.ai permite a los equipos de desarrollo de aplicaciones integrar perfectamente la IA en sus flujos de trabajo. Desde la creación de modelos hasta su despliegue, este completo kit de herramientas da soporte a todo el ciclo de vida de la IA.
Utilice una plataforma para el desarrollo de aplicaciones de mainframe, pruebas, demostración y entrenamiento en hardware x86.
Descubra la plataforma de desarrollo de aplicaciones móviles de IBM para diseñar, crear prototipos y comercializar aplicaciones de manera rápida y sencilla.