Inteligencia artificial
¿Acabarán los grandes modelos de lenguaje con la programación?

La semana pasada marcó un hito significativo para OpenAI, ya que lanzaron GPT-4 Turbo en su OpenAI DevDay. Una característica destacada de GPT-4 Turbo es su ventana de contexto expandida de 128,000, un salto sustancial desde los 8,000 de GPT-4. Esta mejora permite el procesamiento de texto 16 veces mayor que su predecesor, equivalente a alrededor de 300 páginas de texto.
Este avance se relaciona con otro desarrollo significativo: el impacto potencial en el panorama de las startups de SaaS.
OpenAI’s ChatGPT Enterprise, con sus características avanzadas, plantea un desafío a muchas startups de SaaS. Estas empresas, que han estado ofreciendo productos y servicios alrededor de ChatGPT o sus API, ahora enfrentan la competencia de una herramienta con capacidades de nivel empresarial. Las ofertas de ChatGPT Enterprise, como la verificación de dominio, SSO y análisis de uso, se superponen directamente con muchos servicios B2B existentes, lo que podría poner en peligro la supervivencia de estas startups.
En su discurso de apertura, el CEO de OpenAI, Sam Altman, reveló otro desarrollo importante: la extensión de la fecha de conocimiento de GPT-4 Turbo. A diferencia de GPT-4, que solo tenía información hasta 2021, GPT-4 Turbo se actualiza con conocimiento hasta abril de 2023, lo que marca un paso significativo hacia la relevancia y aplicabilidad de la IA.
ChatGPT Enterprise se destaca con características como seguridad y privacidad mejoradas, acceso de alta velocidad a GPT-4 y ventanas de contexto extendidas para entradas más largas. Sus capacidades de análisis de datos avanzadas, opciones de personalización y eliminación de límites de uso lo convierten en una opción superior a sus predecesores. Su capacidad para procesar entradas y archivos más largos, junto con el acceso ilimitado a herramientas de análisis de datos avanzadas como el intérprete de código, solidifica aún más su atractivo, especialmente entre las empresas que anteriormente eran reacias debido a preocupaciones de seguridad de datos.
La era de la creación manual de código está dando paso a sistemas impulsados por IA, entrenados en lugar de programados, lo que supone un cambio fundamental en el desarrollo de software.
Las tareas mundanas de la programación pueden pronto ser asumidas por la IA, reduciendo la necesidad de experiencia en codificación profunda. Herramientas como GitHub’s CoPilot y Replit’s Ghostwriter, que asisten en la codificación, son indicadores tempranos del papel creciente de la IA en la programación, lo que sugiere un futuro en el que la IA se extiende más allá de la asistencia para gestionar completamente el proceso de programación. Imagina el escenario común en el que un programador olvida la sintaxis para invertir una lista en un lenguaje determinado. En lugar de buscar en foros y artículos en línea, CoPilot ofrece asistencia inmediata, manteniendo al programador enfocado en el objetivo.
Transición de la programación de bajo código a la programación impulsada por IA
Las herramientas de bajo código y sin código simplificaron el proceso de programación, automatizando la creación de bloques de código básicos y liberando a los desarrolladores para que se concentren en los aspectos creativos de sus proyectos. Pero a medida que nos adentramos en esta nueva ola de IA, el panorama cambia aún más. La simplicidad de las interfaces de usuario y la capacidad de generar código a través de comandos sencillos como “Crea un sitio web para hacer X” está revolucionando el proceso.
La influencia de la IA en la programación ya es enorme. Al igual que los primeros científicos informáticos pasaron de centrarse en la ingeniería eléctrica a conceptos más abstractos, los programadores futuros pueden considerar la codificación detallada como obsoleta. Los avances rápidos en la IA no se limitan a la generación de texto/código. En áreas como la generación de imágenes, modelos de difusión como Runway ML, DALL-E 3, muestra mejoras masivas. Solo vea el tuit a continuación de Runway que muestra su última característica.
https://twitter.com/runwayml/status/1723033256067489937
La influencia de la IA en las industrias creativas está a punto de ser igualmente transformadora. Jeff Katzenberg, un titán de la industria cinematográfica y ex presidente de Walt Disney Studios, ha predicho que la IA reducirá significativamente el costo de producir películas animadas. Según un artículo reciente de Bloomberg Katzenberg prevé una reducción drástica del 90% en los costos. Esto puede incluir la automatización de tareas laboriosas como el entretenimiento en la animación tradicional, la renderización de escenas y incluso la asistencia en procesos creativos como el diseño de personajes y la creación de historias.
La rentabilidad de la IA en la codificación
Análisis de costos de emplear a un ingeniero de software:
- Compensación total: El salario promedio para un ingeniero de software, incluyendo beneficios adicionales en centros tecnológicos como Silicon Valley o Seattle, es de aproximadamente $312,000 al año.
Análisis de costos diarios:
- Días laborables por año: Considerando que hay aproximadamente 260 días laborables en un año, el costo diario de emplear a un ingeniero de software es de alrededor de $1,200.
- Salida de código: Asumiendo una estimación generosa de 100 líneas de código finalizadas, probadas, revisadas y aprobadas por día, esta salida diaria es la base para la comparación.
Análisis de costos de usar GPT-3 para la generación de código:
- Costo por token: El costo de usar GPT-3, en el momento del video, era de aproximadamente $0.02 por cada 1,000 tokens.
- Tokens por línea de código: En promedio, una línea de código puede estimarse que contiene alrededor de 10 tokens.
- Costo para 100 líneas de código: Por lo tanto, el costo para generar 100 líneas de código (o 1,000 tokens) usando GPT-3 sería de alrededor de $0.12.
Análisis comparativo:
- Costo por línea de código (humano vs. IA): Al comparar los costos, generar 100 líneas de código por día cuesta $1,200 cuando se hace por un ingeniero de software humano, en comparación con solo $0.12 usando GPT-3.
- Factor de costo: Esto representa una diferencia en el factor de costo de aproximadamente 10,000 veces, con la IA siendo sustancialmente más barata.
Este análisis apunta al potencial económico de la IA en el campo de la programación. El bajo costo del código generado por IA en comparación con el alto costo de los desarrolladores humanos sugiere un futuro en el que la IA podría convertirse en el método preferido para la generación de código, especialmente para tareas estándar o repetitivas. Este cambio podría llevar a importantes ahorros de costos para las empresas y una reevaluación del papel de los programadores humanos, centrándose potencialmente en tareas más complejas, creativas u de supervisión que la IA no puede manejar aún.
La versatilidad de ChatGPT se extiende a una variedad de contextos de programación, incluyendo interacciones complejas con frameworks de desarrollo web. Considera un escenario en el que un desarrollador está trabajando con React, una biblioteca de JavaScript popular para la creación de interfaces de usuario. Tradicionalmente, esta tarea involucraría sumergirse en la documentación extensa y ejemplos proporcionados por la comunidad, especialmente cuando se trata de componentes intrincados o gestión de estado.
Con ChatGPT, este proceso se simplifica. El desarrollador puede simplemente describir la funcionalidad que pretende implementar en React, y ChatGPT proporciona fragmentos de código relevantes y listos para usar. Esto podría abarcar desde configurar una estructura de componente básica hasta características más avanzadas como la gestión de estado con hooks o la integración con API externas. Al reducir el tiempo dedicado a la investigación y el ensayo y error, ChatGPT mejora la eficiencia y acelera el desarrollo de proyectos en contextos de desarrollo web.
Desafíos en la programación impulsada por IA
A medida que la IA continúa cambiando el panorama de la programación, es esencial reconocer las limitaciones y desafíos que conlleva depender únicamente de la IA para tareas de programación. Estos desafíos subrayan la necesidad de un enfoque equilibrado que aproveche las fortalezas de la IA mientras reconoce sus limitaciones.
- Calidad y mantenimiento del código: El código generado por la IA puede ser a veces verboso o ineficiente, lo que podría llevar a desafíos de mantenimiento. Si bien la IA puede escribir código funcional, garantizar que este código cumpla con las mejores prácticas para la legibilidad, la eficiencia y el mantenimiento sigue siendo una tarea dirigida por humanos.
- Depuración y manejo de errores: Los sistemas de IA pueden generar código rápidamente, pero no siempre sobresalen en la depuración o en la comprensión de errores sutiles en el código existente. Las sutilezas de la depuración, particularmente en sistemas grandes y complejos, a menudo requieren una comprensión y experiencia humanas.
- Dependencia de los datos de entrenamiento: La efectividad de la IA en la programación depende en gran medida de la calidad y amplitud de sus datos de entrenamiento. Si los datos de entrenamiento carecen de ejemplos de ciertos errores, patrones o escenarios, la capacidad de la IA para manejar estas situaciones se ve comprometida.
- Preocupaciones éticas y de seguridad: A medida que la IA asume un papel más prominente en la codificación, surgen preocupaciones éticas y de seguridad, especialmente en torno a la privacidad de los datos y el potencial de sesgos en el código generado por la IA. Garantizar el uso ético y abordar estos sesgos es crucial para el desarrollo responsable de herramientas de programación impulsadas por IA.
Equilibrar la IA y las habilidades de programación tradicionales
En los equipos de desarrollo de software del futuro, es posible que surja un modelo híbrido. Los gerentes de productos podrían traducir requisitos en directivas para generadores de código de IA. La supervisión humana podría seguir siendo necesaria para la garantía de calidad, pero el enfoque se desplazaría de la escritura y el mantenimiento del código a la verificación y ajuste fino de las salidas generadas por la IA. Este cambio sugiere una disminución en la importancia de los principios de codificación tradicionales como la modularidad y la abstracción, ya que el código generado por la IA no necesita adherirse a los estándares de mantenimiento centrados en humanos.
En esta nueva era, el papel de los ingenieros y científicos informáticos se transformará significativamente. Interactuarán con los LLM, proporcionando datos de entrenamiento y ejemplos para lograr tareas, desplazando el enfoque de la codificación intrincada al trabajo estratégico con modelos de IA.
La unidad básica de cálculo se desplazará de los procesadores tradicionales a modelos de LLM preentrenados masivos, lo que marca un alejamiento de los procesos predecibles y estáticos a agentes de IA dinámicos y adaptables.
El enfoque se está desplazando de la creación y comprensión de programas a la guía de los modelos de IA, redefiniendo los roles de los científicos informáticos y los ingenieros y cambiando nuestra interacción con la tecnología.
La necesidad continua de la perspicacia humana en el código generado por IA
El futuro de la programación es menos sobre la codificación y más sobre la dirección de la inteligencia que impulsará nuestro mundo tecnológico.
La creencia de que el procesamiento del lenguaje natural por la IA puede reemplazar completamente la precisión y la complejidad de las notaciones matemáticas formales y la programación tradicional es, en el mejor de los casos, prematura. El desplazamiento hacia la IA en la programación no elimina la necesidad del rigor y la precisión que solo las habilidades de programación y matemáticas formales pueden proporcionar.
Además, el desafío de probar el código generado por la IA para problemas que no se han resuelto antes sigue siendo significativo. Técnicas como las pruebas basadas en propiedades requieren una comprensión profunda de la programación, habilidades que la IA, en su estado actual, no puede replicar ni reemplazar.
En resumen, aunque la IA promete automatizar muchos aspectos de la programación, el elemento humano sigue siendo crucial, particularmente en áreas que requieren creatividad, resolución de problemas complejos y supervisión ética.












