La llegada de GitHub Copilot, un asistente de generación y autocompletado de código desarrollado por Microsoft y OpenAI en 2021, y su fuerte nivel de adopción entre la comunidad de desarrolladores empieza a permitir algunos estudios de sus efectos en su forma de trabajar y en su mercado de trabajo, y las conclusiones resultan, como mínimo, interesantes.
En muchos sentidos, GitHub Copilot ha dado lugar a un cierto nivel de automatización en el desarrollo de código, que permite que muchos desarrolladores multipliquen su productividad. Se calcula que hasta el 92% de los desarrolladores utilizan hoy en día alguna herramienta de inteligencia artificial para su trabajo, con Copilot como líder claro con un 54.8%, seguido de Tabnine (12.9%), AWS CodeWhisperer (5.1%) y otros, lo que implica no solo un porcentaje de adopción elevadísimo, sino además la evidencia de que, a pesar de ello, la categoría profesional de desarrollador no se ha resentido por ello ni parece haber experimentado un incremento significativo en su nivel de desempleo.
Por otr lado, el uso de este tipo de herramientas es claramente de asistencia, no de sustitución: autocompletado de líneas de código, el tediosísimo debugging y otras tareas pesadas y repetitivas que, al ser llevadas a cabo por el asistente, permiten al desarrollador centrarse en otras más interesantes y productivas. La herramienta mantiene la norma de todos los asistentes generativos: reduce el tiempo de creación, pero incrementa sensiblemente el tiempo de supervisión. Al estar entrenada con repositorios públicos y abiertos, la herramienta sugiere en muchas ocasiones código desactualizado o con problemas de seguridad, lo que obliga a mantener la atención y a no aceptar ciegamente sus propuestas.
Según una encuesta, los desarrolladores aceptan las propuestas de Copilot en torno a un 27% del tiempo, pero incluso cuando genera basura, es más cómodo aceptarlo y corregirlo manualmente que tener que escribirlo todo desde cero. Según algunos desarrolladores, este tipo de herramientas se encuentran aún en la fase de «ayuda a la conducción», ni mucho menos en la de «piloto automático», pero eso implica que les permite incrementar el tiempo que pasan sin tener que salir de su zona de concentración para salir a buscar algún detalle específico, o que sea especialmente bueno a la hora de corregir errores básicos y sencillos.
¿Es posible utilizar la experiencia de los desarrolladores como una forma de predecir el efecto de este mismo tipo de herramientas en otros colectivos? Considerando que su progresión es relativamente lenta y que, en sus primeras fases, se trata claramente de asistentes que distan mucho de ofrecer una automatización completa o una sustitución, parece que la idea de personas que pueden liberarse de las partes más tediosas o más mecánicas de su trabajo y dedicar ese tiempo a otras tareas de más valor añadido puede ser un horizonte más razonable que la ideas más simplista de «ahora tengo algoritmos que hacen a las personas más productivas y por tanto puedo prescindir de un cierto porcentaje de ellas», pero es muy posible que eso pueda depender del tipo de trabajador que hablemos, sobre todo teniendo en cuenta que el colectivo de desarrolladores está sujeto, en general, a porcentajes muy bajos de desempleo y a la posibilidad de moverse en un mercado de trabajo muy activo.
En cualquier caso, es interesante ver cómo uno de los primeros colectivos de trabajadores que aceptaron el uso de algoritmos generativos como una parte normal de su trabajo está viendo sus hábitos, su operativa y su mercado de trabajo afectado por ello. Ya veremos con el tiempo si esa experiencia puede de manera realista extenderse a otros trabajadores.
This article is also available in English on my Medium page, «For the moment, AI is helping developers, not replacing them«
Si nos atenemos a la evolución de la IA en otros ámbitos como la música ( Udio ya compone sinfonías completas de música clásica de una calidad increíble. algo que yo no habría previsto en menos de diez años) o las imágenes ,hay que dar por hecho que mas temprano que tarde habrá una IA , seguramente formada con agentes de IA especializados, que será mejor que el mejor programador humano, y que no necesitará humanos para supervisar su resultado, ya que se podrá diseñar con agentes de IA que permitirá a la IA supervisarse a si misma.
En un año hablamos.
La supervisión de una IA utilizando a otra no es una buena idea. Está comprobado que si alimentas una IA con contenido creado por otra se corrompe su funcionalidad, llegando a resultados incorrectos.
Voy a ir más allá de un año. IA + cualquier tecnología…por ejemplo la robótica. Asistentes inteligentes que limpian, planchan, hacen la compra, te hacen la cama y vaya usted a saber qué más…resultado: un ser humano despojado de toda su humanidad…el diablo cuando no tiene nada que hacer, mata moscas con el rabo.
Veo de una lógica aplastante adoptar una herramienta que eleva tu productividad, seas programador o cocinero. Es lo que se ha venido haciendo desde que el Homo Sapiens se paseó por la Tierra.
Evidentemente, si los mismos «currantes» hacen mas «curro», o sobran «currantes», o se precisaba mas «curro», o se reduce el número de horas que trabajan cada uno de los «currantes».
Nada nuevo bajo el Sol.
Veréis, la adopción de copilot es marginal, y es normal, porque no es una herramienta especializada en su concepción, ni lo pretende, es solo un asistente, como Alexa o Google Assistant.
Si conoces los entresijos de las herramientas especializadas, te das cuenta de lo limitados que resultan los asistentes cuando se trata de desarrollo y no sólo clipping de código de Stack overflow. Igual que con la conducción autónoma, pasado el hype, todavía está en mantillas.
Lo de la «abolición del trabajo» y la renta universal tiene que ver con la concepción religiosa del trabajo como maldición bíblica, que han adoptado los singularitanos. Sí, los mismos que se hacen transfusiones de sangre y creen en la parusia de la IA.
Podría ser un nuevo populismo en unos años, prometiendo que solo trabajarán los obligados a una mili laboral obligatoria. Los medios de producción al servicio de las clases populares. Ni los Simpsom.
–
tiene que ver con la concepción religiosa del trabajo como maldición bíblica,,… Pues que quieres que te diga,… En ese punto opino igual que los «singularitanos». Pero que conste que es la primera vez que oigo hablar de esa secta. Habla que estudiar si mi opinión sobre otros temas coincide con ellos.
Por cierto, también estoy a favor sobre un modesto RBU, (incondicionado y universal), pues he visto los estragos que produce dar hoy ayudas «condicionadas» a los pobres. Los encierra en el «ghetto de la limosna», «No tengo trabajo y por ello me dan el REMI, no puedo trabajar (en blanco, pero si vender droga), porque cobro el REMI»
Tras haber vivido por media Europa, doy toda la razón a este comentario. Antes creía en un pago universal para todo el mundo, pero en el fondo solo sirve para crear subgrupos de maleantes borrachos y drogadictos. El trabajo no es sólo algo que no te gusta y haces para tener dinero, es un orden que pones en tu vida para estructurarla y ayudar a tener un objetivo en esta, aunque sea conseguir más dinero. Cuando se quita, mucha gente pierde la noción de vivir en sociedad (yendo limpios), de crecer como personas y sobretodo de aprovechar su vida más allá de con drogas recreacionales.
Respecto a la IA, antes me fascinaba cuando leía un artículo de un señor que consiguió mucho dinero haciendo una app con Chatgpt sin saber código. A día de hoy, si no sabes programar, estás herramientas no van a hacer nada por ti. Simplemente mejoran la producción en algunas areas de tu trabajo.
Lo que hay que aclarar sobre la encuesta realizada en Junio de 2023, que dice que el 92% de los desarrolladores usa asistentes, es que es un típico ejemplo de “9 de cada 10 dentistas recomiendan Colgate” es decir, el efecto de la Ley de los pequeños números; se toma una muestra muy pequeña y se crea una criba de preguntas que conducen a un resultado esperado.
Es lo que se conoce como una «Custom PR Survey» y se diseña a medida de los resultados que desean obtener, en una campaña de marketing.
En el caso de Colgate, donde el 90% de los encuestados recomendaban una marca en concreto, la metodología fue sencilla.
«Preguntaron si sería recomendable cepillarse los dientes para prevenir la caries. El 95% dijo sí. Podrían haber sido solo un grupo de 20 dentistas.
Luego les pusieron un listado de marcas de dentífricos, y les pidieron que seleccionaran 5 marcas que reconocían como efectivas para el cepillado. Podrían ser 6 marcas en total.»
En este caso, fueron 500 desarrolladores de compañías que ya usaban efectivamente esos asistentes.
Así que, de todos los que usan asistentes, la mayoría habría probado o recomendado Copilot, aunque solo hubiese hecho un uso ocasional.
Cuando vamos a la metodología de la encuesta, te encuentras con esto:
Es decir, la metodología utilizada no se hace pública, ni se puede acceder a ella, si no es para divulgar los resultados, dado que el propósito de la misma es obtener un impacto en el mercado y poner una marca por encima de otras.
Todos los resultados de Wakefield Research sitúan a las empresas que encargan la encuesta por encima del 80% o el 90% del mercado respecto a sus competidores.
GitHub’s custom PR survey conducted by Wakefield Research
–
… because there’s a conflict in every human heart between the rational and the irrational, between good and evil.
¿a quien quieres más a papá o a mamá?
Copilot una marca de Microsoft
Github una marca de Microsoft
» a survey conducted online by Wakefield Research on behalf of GitHub»
Vaya, el asesino es el mayordomo otra vez… MARKETING INTELIGENTE !!
La compra de Github por parte de Microsoft creo que es uno de los golpes mas audaces del sector IT.
Además del full access a todo el códico, nombres, lugares y móviles de la inmensa mayoría de programadores del mundo.
Que facil tiene que ser para MS localizar a ese increíble programador de Afghanistán que según nuestro CHATGPT tras analizar millones de repositorios lo califica de un excelente programador.
Hacerle una oferta con visado H1B para USA y llevártelo por cuatro perras tiene que ser tirao
Ahora le pertenece a Google, Motorola, Movistar y Lenovo porque saque una captura de pantalla a tu comentario, lo pasaré como prompt a Gemini así va al datset.
9 de cada 10 encuestas no tiene ninguna fiabilidad porque se hacen para demostrar la validez del dato que te has inventado. Es lo que MENESTRO llama una «Custom PR Survey».
La decima si es fiable, porque sale de las cocinas del CIS de Tezanos
(y luego que si es o no un Troll…) XDDD
Sabes que le estas contestando al mismo Menestro…??? :P
«Igual que con la conducción autónoma, pasado el hype, todavía está en mantillas.»
Si has visto vídeos de usuarios de Tesla con el autopilot un cuarto de hora por cualquier megaautopista de EEUU entrando en una ciudad con mil desvíos y llegando a su destino, sabrás que eso que dices no es cierto.
Si has visto vídeos de gente en San Francisco cogiendo un robotaxi en la calle (le dices en la app a dónde quieres ir, un taxi viene y para a tu lado, te subes, le das a ‘Start’, te lleva al destino, te bajas), verás que los robotaxi ya están funcionando en USA.
Copilot (ChatGPT en el capó) está con nosotros hace ya algún tiempo, y cuando le muestras tareas un poquito complejas se enrroca y sufre una parálisis evidente.
Lo último en el estado del arte es DEVIN que aún no lo he probado, es una obra de Cognition, un laboratorio de IA. Devin es una herramienta de IA generativa que se promociona como el primer «ingeniero de software de IA totalmente autónomo» del mundo. ¿¿??
Puede recibir indicaciones de texto simples, explicar sus planes para abordar el problema y crear un proyecto utilizando herramientas de software comunes. La compañía afirma que Devin tiene un rendimiento superior en el punto de referencia SWE-Bench y ha pasado entrevistas prácticas de ingeniería. Algunos desarrolladores han expresado su entusiasmo por Devin, afirmando que es impresionante y útil. A diferencia Copilot, no solo proporciona el resultado de un mensaje, sino que parece razonar a través de su toma de decisiones.
Una opinión sobre Devin
minuto 7 sobre GPT. (Copilot es una marca que tiene por debajo ChatGPT)… En fin.
PS: La crítica va sobre devin que parece bastante mejor que Copilot…, Con Copilot no merece la pena ni criticarlo
Toma… tu Devin… XDDD
Debunking Devin: «First AI Software Engineer» Upwork lie exposed!
Lo primero gracias por el seguimiento del problema de Devin o las IAs en general. Y es lo mismo que nos contaba Victor Robles en el enlace que propuse…
La historia según la veo es la siguiente, hay una IA que «hace cosas impresionantes en codificación» pero que no está abierta, y estamos hablando sobre lo que terceras personas o ellos mismos dicen.
PRIMER PUNTO
Asmumiendo que su benchmark no es ficticio, recurriendo al SWE-banco, un punto de referencia automatizado para sistemas de ingeniería de software que consiste en problemas de GitHub y solicitudes de extracción.
* Devin SOLAMENTE resuelve con éxito el 13,86%* de los problemas, superando con creces la línea de base no asistida más alta anterior del 1,96%.),
* El mejor modelo anterior solo resuelve el 4.80% de los problemas. (ChatGPT4 Copilot solamente el 1,74%)
Ese es el estado del arte actual. ¿Penoso? Da igual es el que tenemos. Por eso decí que GPT es MUY PERO MUY TORPE !!
SEGUNDO,
Los problemas que nos muestra en el video, internet of Bugs, no creo que los podamos llamar triviales para una IA, y de hecho el video promocional se asimila a ser tramposo. El original lo había visto pero sin tener acceso a la IA es casi imposible detectar los trucos…
Suscribo el siguiente discurso de Internet of Bugs al 100%:
Uso mucho la IA. Quiero que mejore. por favor decidle a la gente la verdad sobre ellas.
Si eres periodista, blogger, influencer, no repitas ni amplifiques ciegamente las cosas que la gente dice en internet sin hacer la debida diligencia, sin comprobar que son reales»
Y termino con lo que ponía arriba
La crítica va sobre devin que parece bastante mejor que Copilot…, Con Copilot no merece la pena ni criticarlo. Los que lo usamos, sabemos que es una escopeta de feria…
Sabes tan bien como yo, porque ambos hacemos lo mismo, que lo que digan… bah…
Lo que cuenta, es lo que tenemos entre manos (o en nuestras maquinas)
No, no tengo opcion a Devin (aun). No creo que me sorprenda mas que las demas… Pero lo que he visto en otros sitios, confirma lo que dice Internet of Bugs. Si es un bulo o un viral, lo veremos en breve. (Y Victor Robles, con todo el respeto, no lo considero un «pro»)
Veremos ahora Llama 3
https://analyticsindiamag.com/top-6-devin-alternatives-to-automate-your-coding-tasks/
hay clones…
Sigo diciendo, que, por el momento, no veo que la profesión “peligre”.
Después de experimentar con varios modelos, llego a dos conclusiones:
– Pierdo más tiempo “supervisando” sus resultados, que haciéndolo yo directamente.
– Aquellos que le echan flores a la IA porque según ellos, siempre acierta, no deben tener un nivel de exigencia demasiado alto en tanto a desarrollo (que nadie se me enfade, pero sí, hay informáticos y hay “informáticos”)
Tercera derivada:
– Todo lo que sea pedir pequeñas funciones, lo hace bien en un 80%. (pero hay que supervisar igual)
– Aun no se le puede pedir un desarrollo completo.
– Empiezas preguntando algo en el lenguaje “x” (C, Javascript, Perl, Rust…), y casi siempre llega un momento en que acaba dándote Python.
Yo no tiemblo aun con la IA. Se que llegara el día, porque llegara. En tanto ya estoy jubilado, me afectara bien poco.
Mi punto de vista,…
¿Que se le puede pedir a una IA actual?
Básicamente trozos de código para ahorrarte, el buscar en manuales o apuntes… el otro día por ejemplo necesitaba un trozo para crear una BD en Sqlite a partir de un DF de pandas. Pues en 10 segundos me proporcionó un esqueleto de código de 5 líneas super básico, solo con este prompt:
«Se puede crear de forma genérica una base de datos SQLite3 desde cero, tomando un dataframe de pandas?!»
y seguir con preguntas como:
«gracias por esta información. Me refería tener una función general no que sepamos previamente el número de columnas. Es decir igual que puedo salvar un DF en formato CSV o XLSX tener algo parecido para SQLITE3, una sentencia o función sin tener que preocuparnos en desarrollo de como son los datos que maneja»
Con los resultados haces tu pruebas, tus plantilla, y te ahorras un tiempo… y las tienes para otra vez, pero no le digo que me resuelva un caso en concreto, ya que no me conduce a nada, con los genéricos voy mucho más rápido.
Siempre hay que ir a la primera derivada !!!
Y muchas veces se inventa los parámetros de las funciones, se olvida de código importante… es como usar tabnine pero sin pasar por caja !! y mejor explicado.
Que si, que si… pero hay peros…:
(que nadie se me enfade, pero sí, hay informáticos y hay “informáticos”)
Un informatico (sin comillas) jamas haria esa pregunta, la ejecutaria… XDDDD
Si programas y no estás utilizando ya uno de estos asistentes, estás perdiendo el tiempo.
Tu productividad se multiplica literalmente. Evidentemente tienes que saber qué solicitarle y revisar lo que te propone, por eso creo que son ideales sobre todo para quienes ya saben programar.
Al nivel que funcionan ahora no veo riesgos para los programadores porque la demanda por software es prácticamente infinita (siempre hay nuevas aplicaciones que desarrollar o funcionalidades que implementar mientras los recursos lo permitan).
Son sencillamente herramientas que los programadores tienen que incorporar a su trabajo si quieren seguir siendo competitivos. En el futuro quién sabe.
No hace mucho, alguien en estas líneas (no recuerdo quien) hablando sobre las “facilidades” de la tecnología, hizo un símil del que me apropio:
“Los homínidos perdimos el rabo, porque ya no era necesario”.
Si haces la traslación: Los programadores dejaran de ser “creativos”, porque ya no hará falta…
Cuando pierdes la creatividad, dejas de ser programador…
ps.- a los picateclas la IA les parecera genial, seguro… :P
ps al ps.- no pretendo ser ofensivo… constato.
«Si programas y no estás utilizando ya uno de estos asistentes, estás perdiendo el tiempo.»
¿Tú eras el de las criptomonedas, no?
Nivelaco…
Para quien le interese (C3PO)
Llama 3 disponible en Download
– Un modelo de 8.000 millones de parámetros (8B)
– Otro de 70.000 millones de parámetros (70B).
Llama 3
Acabo de probar Meta-Llama-3-8B-Instruct.Q5_1 y lo acabo de borrar…
Tengo demasiado acumulado.
Hasta mediados de Mayo voy a ir muy de culo…… lo he puesto por si alguien se anima…
ps.- Sigo teniendo pendiente Grok, que lo tengo descargado pero no ejecutado.
Igual la versión que me he bajado estaba corrupta, empezaba a repetir palabras, mezclaba idiomas, en fin… que en unos días pruebo a ver si suben algo nuevo para LMStudio
Comparto tres casos de uso, buscando aportar al análisis.
Llevo más de 30 años viviendo de programar sistemas informáticos; es mi pasión y trabajo.
Entre otros, estos son tres casos donde me apoyo de IA:
(1) Transformaciones. Uso un Chat IA para transformar textos que no se pueden transformar con simple reemplazo de cadenas. Por ejemplo transformar una estructura JSON a un diccionario Python adaptando diferencias de nomenclatura. O transformar ese diccionario Python a sentencias SQL para crear una tabla. O transformar las columnas de esa tabla con sus tipos de datos hacia una lista de parámetros con tipo para una función en C#. Hacer las transformaciones manualmente es tardado, propenso a errores, y aburrido.
(2) Buscador. Sé lo que ando buscando y me apoyo en un Chat IA para que me indique dónde está. La diferencia en cómo lo usan los programadores más jóvenes es que ellos buscan la respuesta en el Chat IA. Yo busco la referencia y voy hacia ella. Eso me permite conocer la referencia, leerla, ver el contexto. Y así aprendo. Tiene valor la respuesta concreta a lo que busco, pero tiene mucho mayor valor el conocer lo que hay alrededor. Eso me da conocimientoy me permite crecer. Es como buscar solo la traducción de una palabra extranjera contra leer la entrada de la palabra en un diccionario de la lengua extranjera. Además esto no me genera dependencia con la IA y los programadores jóvenes si que tienen ya una dependencia y además carecen del entendimiento del contexto. Solo pegan lo que les dan.
(3) Fragmentos. También uso Chat IA para obtener fragmentos concisos de código. Pero concisos. Nunca le pido que me genere aplicaciones completas o clases completas o componentes completos. No hay suficiente aprendizaje en eso. Yo llevo el control de mi código y si me atoro en algo es algo pequeño y necesito ayuda para eso y entiendo lo que necesito y entiendo lo que me propone y lo acepto aprendiendo. Aceptar códigos más amplios y completos va generando desconocimiento. Es como usar el código del programador de hace 1 año sin que te des el tiempo de analizarlo todo, entenderlo todo, y simplemente confiar.
En resumen, uso IA para tareas repetitivas y para aprender. Y veo una gran diferencia contra quienes solo pegan lo que les entrega. Y curiosamente, en cuanto a efectividad, muchos compañeros más jóvenes se pierden entre tantas variantes que obtienen de chatgpt, no entienden lo que hacen, son más tardados en entregar, y lo hacen con menor calidad.
Completamente de acuerdo con ese tipo de uso.
Que te ayude es una cosa. Delegar en ello, otra.
Yo también lo uso para obtener algoritmos relativamente sencillos. Hace unos días le pedí tanto a chatgpt como a Gémini que me hicieran una función de PHP que a partir de un listado de datos que venían asociados a una fecha de tipo mes/año me diese un resultado por trimestre. Chatgpt ni se acercó al resultado y Gémini me dio un resultado bastante acertado aunque lo tuve que modificar para que funcionase correctamente. Pero la base del algoritmo no tuve que pensarlo y ese me ahorró un tiempo.
Muy interesante. Yo no soy programador, pero tu explicación me ha recordado la diferencia de utiluzar un navegador GPS de forma “ciega” o el tratar de tener una idea del camino a seguir, utilizando el navegador como asistente.
No solo programación, también administración/economistas.
La semana pasada para la declaración de hacienda, tenemos la sorpresa que los Rewards de Staking Ethereum son dividendos, pero nos los pagan en ETH, no en EUR. Hay que calcular cada reward su valor en EUR, y nos los dan cada semana aproximadamente.
Solución, preguntar a chatGPT Dame un fichero CSV con las cotizaciones medias de ETH cada día del año 2023. Con ese fichero CSV cargo mi excel de Stacking rewards y refresco el viejo VLOOKUP de excel, ya tengo calculados todos los intereses devengados (Uno por semana).
Estimación de ahorro de tiempo. Calcular los 50 rewards al año verificando la cotización a mano me lleva un par de horas. Con Excel, que lo tengo anquilosado, lo hice en 20-30 min.
ChatGPT tendrá en los contables/admin/finacieros la misma utilidad/importancia que en los programadores.
Después que existieron robos o brazos mecanico que hace el trabajo del hombre, la mano obrera bajo y el desempleo subio. Un ejemplo claro es un monta carga, entes tenias que tener más personas para distribuir la carga… Ahora muchos programadores estan dando su conocimiento a este monstruo que mas adelante los va a desplazar… En realidad no sean un Einstein… Se que muchos creen que ese conocimiento lo obtuvieron ellos y no lo dio DIOS pero estamos equivocados porque viene de DIOS para su obra pero muchos lo mal gastamos. Y que no me venga con cuento ningún developer full stack, matemático, físico o filósofo con cosas huecas. Saludos.