Reflexiones sobre el futuro del desarrollo de software
Creatividad y capacidades de la IA
- Hay desacuerdo sobre si la IA es realmente “creativa” de forma significativa.
- Posición a favor: “Creatividad” = producir resultados interesantes o sorprendentes; los LLMs claramente hacen esto más que hace unos pocos años.
- Posición en contra: los modelos recombinan estadísticas sobre datos previos, carecen de razonamiento real o invención; la sorpresa también puede venir del azar.
- Algunos sostienen que los sistemas actuales ya pueden pedir más información o hacer preguntas de seguimiento, mientras que otros dicen que siguen fallando gravemente ante preguntas sin sentido o mal especificadas.
Cómo encaja la IA en el desarrollo de software
- Muchos ven a los LLMs como asistentes potentes: escribir código repetitivo, pruebas, refactors, glue code y documentación; reemplazar a Google para consultas rápidas y servir como un “patito de goma”.
- Existe un fuerte escepticismo sobre los “desarrolladores de IA” completos: los experimentos muestran que tienen dificultades con la integración no trivial, la depuración, los casos límite y la evolución de grandes codebases.
- El conocimiento de dominio, la arquitectura, el rendimiento y las decisiones de compensación se citan repetidamente como cosas que los LLMs actuales no pueden hacer de forma fiable.
- Algunos imaginan que los sistemas multiagente, el uso de herramientas, los métodos formales y mejores bucles de retroalimentación podrían ampliar significativamente las capacidades.
Impacto laboral y mercado de trabajo
- Hay posturas divididas:
- Optimista: como los IDEs y la nube, la IA aumenta la productividad, amplía dónde se usa el software y, en última instancia, incrementa la demanda de desarrolladores.
- Pesimista: el trabajo junior y el CRUD rutinario se automatizan primero; se contrata a menos personas, bajan los salarios, especialmente a medida que las grandes plataformas se consolidan.
- Varios informan enormes mejoras personales de productividad, lo que genera preocupaciones sobre menos nuevas contrataciones; otros dicen que los PRs generados por IA rara vez superan una revisión seria.
- Ansiedad de que los puestos restantes se conviertan en “prompting, integración y supervisión” de alto nivel, eliminando las partes divertidas de programar.
Calidad, mantenibilidad y corrección
- A muchos les preocupa que el código escrito por IA “funcione” a corto plazo pero sea frágil, incoherente o erosione la arquitectura, haciendo más difícil el mantenimiento y los refactors a largo plazo.
- A menudo se califica a las pruebas y demostraciones de LLM como de poco valor o engañosas; la corrección es difícil de juzgar y no puede solucionarse solo con RLHF.
- Contrapunto: gran parte del código humano ya es malo; algunas empresas pueden aceptar una calidad al nivel de la IA si es barata y rápida.
Responsabilidad, ética y regulación
- Las discusiones legales sobre responsabilidad del software y “safe harbor” sugieren que los humanos tendrán que revisar la salida de la IA en dominios de alto riesgo.
- Preocupación por usar AGI como un esclavo de facto; debates sobre cuándo la sentiencia de las máquinas o las mentes copiables merecerían derechos.
- Es posible que las empresas sigan impulsando la IA a pesar del riesgo, trasladando la culpa al “sistema” hasta que la regulación o las demandas se pongan al día.
Naturaleza cambiante del software y las UIs
- Algunos esperan que los agentes de IA reemplacen muchas apps y UIs a medida con interacciones en lenguaje natural, incluso reemplazando gran parte de la lógica de backend.
- Otros dudan de que dar instrucciones alguna vez sea más fácil o más fiable que escribir código para sistemas complejos y precisos.