Construyendo la Próxima Generación de Herramientas de Desarrollo de IA

This ad is not shown to multipass and full ticket holders
JSNation US
JSNation US 2025
November 17 - 20, 2025
New York, US & Online
See JS stars in the US biggest planetarium
Learn More
In partnership with Focus Reactive
Upcoming event
JSNation US 2025
JSNation US 2025
November 17 - 20, 2025. New York, US & Online
Learn more
Bookmark
Rate this content

La IA ya ha cambiado el desarrollo de software. Herramientas como GitHub Copilot se han convertido en partes ubicuas del flujo de trabajo de millones de desarrolladores. Al igual que otras características bien conocidas del editor (como autocompletar o tooltips), la IA en el editor aumenta la productividad, reduce el cambio de contexto requerido y permite a los desarrolladores mantenerse en el flujo mientras se enfocan en las partes importantes de su trabajo. Sin embargo, este fue solo un primer paso—con los rápidos desarrollos de los modelos de lenguaje grande (LLMs), que se han vuelto más poderosos y conocedores con cada lanzamiento y tienen excelentes capacidades de razonamiento, podemos hacer más. Hoy en día, vemos herramientas de IA capaces de resolver tareas complejas a nivel de repositorio o incluso generar aplicaciones completas. En la charla, haré una demostración de algunas nuevas herramientas de IA que vienen de GitHub Next, como Copilot Workspace o GitHub Spark. Discutiremos patrones emergentes de UX, daremos consejos sobre cómo construir tu propia herramienta de IA y echaremos un vistazo al futuro de las herramientas de desarrollo. Todo eso mientras intentamos responder la pregunta más importante—cómo diseñar aplicaciones utilizando IA con los humanos en mente.

This talk has been presented at Productivity Conf for Devs and Tech Leaders, check out the latest edition of this Tech Conference.

Krzysztof Cieślak
Krzysztof Cieślak
26 min
27 Mar, 2025

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Hola a todos. Mi nombre es Krzysztof, y hoy hablaré sobre herramientas de desarrollo, IA y cómo usamos ambas para crear la próxima generación de herramientas de desarrollo. GitHub Copilot, lanzado en 2021, revolucionó las herramientas de desarrollo al automatizar las partes aburridas de la codificación y mantener a los desarrolladores en un estado de flujo. Las sugerencias se muestran directamente en el editor y se separan claramente del código real. Las interfaces de chat, como Chat GPT, resuelven problemas de calidad de respuesta y son útiles cuando no existe flujo. La próxima generación de herramientas se centra en el intercambio estructurado, el control del usuario y la iteración. GitHub Spark permite a los usuarios crear pequeñas aplicaciones sin centrarse en el código. Diseñar aplicaciones con el usuario en mente y manejar la ambigüedad es importante. Las tareas de software del mundo real requieren orientación humana, y es necesario explorar nuevas ideas más allá de la IA basada en chat. Siempre considera el aspecto humano y las consideraciones éticas al usar funciones impulsadas por IA.

1. Introducción a las Herramientas para Desarrolladores y AI

Short description:

Hola a todos. Mi nombre es Krzysztof, y hoy hablaré sobre herramientas para desarrolladores, AI, y cómo usamos ambas para crear la próxima generación de herramientas para desarrolladores. Hoy me enfocaré mucho en la experiencia del usuario y, con suerte, algunas lecciones que hemos aprendido y que todos ustedes también pueden usar al construir sus aplicaciones de AI. Solía ser un desarrollador de software y también soy ingeniero de software. En mi tiempo libre, como parte de mi vida nocturna de código abierto, me enfoqué mucho en la experiencia del desarrollador y las herramientas para desarrolladores. Hoy, hablaré sobre un par de esas herramientas, principalmente enfocadas en cosas de AI. Esta es la charla sobre lo que sucede en el medio, cómo diseñas esta aplicación, cómo construimos prototipos. Comencemos hablando un poco sobre la historia.

Hola a todos. Mi nombre es Krzysztof, y hoy hablaré sobre herramientas para desarrolladores, AI, y cómo usamos ambas para crear la próxima generación de herramientas para desarrolladores.

Antes de continuar, necesito decirles una cosa. No soy un científico de datos. No soy un especialista en aprendizaje automático. No tengo un doctorado en matemáticas ni nada por el estilo. Solo soy un desarrollador de software, como imagino que la mayoría de las personas que están viendo esta charla hoy. Y, sí. Así que no se tratará de hablar sobre un entendimiento profundo de AI ni nada por el estilo. Simplemente no lo tengo. Sin embargo, hoy me enfocaré mucho en la experiencia del usuario y, con suerte, algunas lecciones que hemos aprendido y que todos ustedes también pueden usar al construir sus aplicaciones de AI.

¿Quién soy yo? Solía ser un desarrollador de software y también soy ingeniero de software. Fui consultor independiente durante muchos, muchos años de mi vida. En mi tiempo libre, como parte de mi vida nocturna de código abierto, me enfoqué mucho en la experiencia del desarrollador y las herramientas para desarrolladores. Y debido a eso, hace alrededor de cuatro años, me uní a GitHub para trabajar en este muy secreto proyecto en ese entonces llamado GitHub Copilot. En GitHub, trabajo en GitHub Next. GitHub Next es parte de GitHub que se encarga de investigar el futuro del desarrollo de software. Somos un grupo de desarrolladores, investigadores, especialistas en experiencia del usuario prototipando herramientas y tecnologías que empujan los límites de lo que hemos pensado que es posible. Y tratamos de ir donde nadie ha ido antes. Bueno, al menos en el contexto de herramientas para desarrolladores de software. Nuestros proyectos varían desde crear fuentes familiares diseñadas específicamente para desarrolladores, hasta crear un prototipo de una nueva interfaz de usuario extensible para GitHub, hasta herramientas de AI como Copilot. Tienen una característica común, todos esos proyectos. Siempre se tratan de la experiencia del desarrollador, la productividad del desarrollador y la felicidad del desarrollador. Y hoy, hablaré sobre un par de esas herramientas, principalmente enfocadas en cosas de AI porque, bueno, ese es el tema de la conferencia, ¿verdad? Y sí, para reiterar, esta es la charla sobre lo que sucede en el medio, cómo diseñas esta aplicación, cómo construimos prototipos. No hablaré sobre los modelos en sí. Para los fines de esta presentación, podemos tratar los modelos como la caja negra que hace magia. Tampoco voy a hablar sobre la construcción del producto completamente desarrollado. Construir esos es difícil y requiere mucho conocimiento, no solo sobre la experiencia del usuario o inteligencia artificial, sino también sobre estrategia empresarial y así sucesivamente, monitoreo, observabilidad y cosas así. Así que no tocaré esas partes de la construcción de productos escalables reales para millones de usuarios. Así que comencemos hablando un poco sobre la historia.

2. GitHub Copilot: Revolutionizing Developer Tools

Short description:

Y las herramientas que todos conocemos, usamos y amamos. La primera que lo inició todo, y la he mencionado antes, fue GitHub Copilot. Se lanzó en 2021 en junio o julio, creo. Y he estado trabajando en este proyecto desde febrero, creo, de 2021. Mi primera reacción fue que eso simplemente no puede ser. Y, sin embargo, bueno, me uní al equipo. Fue interesante. Un desafío interesante. Durante un par de meses, con un equipo muy pequeño de, creo que éramos como seis de nosotros, seis ingenieros, pasamos de un prototipo interno que funcionaba mal a una vista técnica que presentamos al mundo. El Copilot original ha sido diseñado de una manera muy, muy extrema. La interfaz de usuario original de Copilot, la sugerencia en línea, o texto costero, como lo llamamos internamente, ha sido diseñada con una sola cosa en mente: mantener a los desarrolladores en un estado de flujo mientras codifican. Se trata de reducir el cambio de contexto. Se trata de impulsarte. Se trata de automatizar las partes aburridas de tu trabajo. Así que puedes concentrarte más en las partes interesantes, construir el dominio del negocio, algoritmos difíciles, o lo que sea el valor central en tus proyectos.

Y las herramientas que todos conocemos, usamos y amamos. La primera que lo inició todo, y la he mencionado antes, fue GitHub Copilot. Se lanzó en 2021 en junio o julio, creo. Y he estado trabajando en este proyecto desde febrero, creo, de 2021. Y ni siquiera puedo describirles lo grande que fue el shock, al menos para mí personalmente.

Recuerdo que cuando fui contactado por primera vez por Uge Demur, quien lideraba Next en ese entonces, y me mostró Copilot por primera vez mientras describía cómo funciona. Respondí con, no puede funcionar. No es posible. Como he mencionado, he estado trabajando en muchas herramientas para desarrolladores en el pasado. Y, ya saben, me he estado enfocando, he pasado años de mi vida construyendo herramientas impulsadas por compiladores, análisis estático, especialmente para lenguajes de programación funcionales de tipo estático, donde la corrección y el sistema de tipos son todo. Y luego vienes a mí y me dices que, oh, está usando alguna AI, lo que sea que signifique. Y enviamos a esta caja negra una cadena como entrada, y obtenemos de vuelta una cadena como salida. Y se supone que es magia y funciona. Mi primera reacción fue que eso simplemente no puede ser.

Y, sin embargo, bueno, me uní al equipo. Fue interesante. Un desafío interesante. Y durante un par de meses, con un equipo muy pequeño de, creo que éramos como seis de nosotros, seis ingenieros, pasamos de un prototipo interno que funcionaba mal a una vista técnica que presentamos al mundo. Así que hablemos un poco sobre eso. El Copilot original ha sido diseñado de una manera muy, muy extrema. Y no lo digo de una manera negativa. Hemos hecho lo que la mayoría de los buenos proyectos hacen. Como lo que la mayoría de los libros o literatura sobre nuevos proyectos, startups, o diseño de experiencia de usuario te dirán que hagas. Enfócate en una cosa y resuélvela realmente bien.

La interfaz de usuario original de Copilot, la sugerencia en línea, o texto costero, como lo llamamos internamente, ha sido diseñada con una sola cosa en mente, mantener a los desarrolladores en un estado de flujo mientras codifican. Se trata de reducir el cambio de contexto. Se trata de impulsarte. Se trata de automatizar las partes aburridas de tu trabajo. Así que puedes concentrarte más en las partes interesantes, construir el dominio del negocio, algoritmos difíciles, o lo que sea el valor central en tus proyectos. Nosotros como desarrolladores somos pagados mucho dinero por nuestra capacidad de resolver esas partes difíciles, no por escribir algún aburrido código de plantilla en el editor.

3. Assumptions and User Experience Vision

Short description:

Esas suposiciones resultaron, o esas suposiciones han sido resueltas. Por un lado, nuestra creencia de cómo debería lucir una herramienta de codificación de IA. Por otro lado, también estaba relacionada con el estado de la calidad de los modelos de lenguaje grande en ese entonces. Copilot fue probablemente la primera herramienta popular y muy utilizada que estaba usando modelos de lenguaje grande. Las sugerencias se muestran directamente en el editor. Se muestran todo el tiempo mientras escribes, no necesitas tomar ninguna acción adicional para invocarlas. Y las sugerencias están muy claramente separadas del código real.

Esas suposiciones resultaron, o esas suposiciones han sido resueltas. Una de las, por un lado, nuestra creencia de cómo debería lucir una herramienta de codificación de IA. Creemos mucho en ayudar a los usuarios y acelerarles y todavía lo hacemos hasta el día de hoy. Por otro lado, también estaba relacionada con el estado de la calidad de los modelos de lenguaje grande en ese entonces. Debes recordar que Copilot fue probablemente la primera herramienta popular y muy utilizada que estaba usando modelos de lenguaje grande. Esto fue antes de que chat GPT existiera. Y en ese entonces, a principios de 2021, la calidad de esos modelos no era lo que esperábamos. Nadie lo ve hoy. Así que, esas suposiciones sobre mantenerte en flujo y esas limitaciones nos llevaron hacia una visión particular de la experiencia del usuario. Las sugerencias se muestran directamente en el editor. Se muestran todo el tiempo mientras escribes, no necesitas tomar ninguna acción adicional para invocarlas. Las sugerencias se basan en la intención implícita. No describes lo que haces, es a partir de lo que estás codificando ahora mismo, el sistema lo descubrirá. Puedes aceptarlas muy fácilmente con solo una pulsación de tecla. Y de manera similar, luego puedes rechazarlas muy fácilmente, nuevamente, con una sola pulsación de tecla o simplemente escribiendo y avanzando. Y las sugerencias están muy claramente separadas del código real. Esta interfaz de usuario de texto fantasma, texto gris te está diciendo que estás enviando un mensaje de que esto es solo una sugerencia y puede estar mal.

4. Impact of Chat GPT

Short description:

Las herramientas de chat compatibles y similares existen principalmente debido al éxito inimaginable de Chat GPT. La IA se ha convertido en un tema de interés general, con personas no técnicas usándola todos los días. La interfaz de chat está diseñada para captar tu atención y resolver problemas de calidad de respuesta de una manera diferente a las sugerencias en línea. Mientras que las sugerencias en línea mantienen al usuario en flujo, el chat es útil cuando no existe flujo y necesitas detenerte, planificar o aprender algo nuevo.

Y luego, un par de años después, bueno, un año después, un año y medio después, algo más ha sucedido. Las herramientas de chat compatibles y similares existen principalmente por una razón, el éxito inimaginable de Chat GPT. Cuando se lanzó a finales de 2022, nadie, ni OpenAI, ni Microsoft esperaban tal nivel de éxito. Si vas a la primera página de anuncio de OpenAI, no es nada especial. Es solo otro modelo que construyeron. Tuvieron tantos de esos anuncios en aquellos días. Es un anuncio como una vista previa de investigación y la página habla sobre algunos modelos hermanos que también eran interesantes. Así que nada especial. Y, sin embargo, estamos en un mundo con cientos de millones de usuarios después y vemos claramente cómo la IA se ha convertido en un tema de interés general.

Personas no técnicas que no tienen idea sobre software o inteligencia artificial comenzaron a usarla todos los días. Esto causó una normalización loca de los modelos de lenguaje grande como tecnología. Y también creó en la sociedad, en general, la expectativa de que la herramienta de inteligencia artificial es una interfaz de chat. Volveré a este punto un poco más tarde en la presentación, pero esto ha sido muy impactante y lo que hemos estado haciendo. Así como mencioné que la experiencia del usuario original de Copilot, esta sugerencia en línea fue un extremo. Así que la interfaz de chat de cuadrícula también es un extremo. Justo en el otro lado de la escala. Está diseñada para captar tu atención. Te aleja de lo que estás haciendo ahora mismo a una ventana separada o a un panel separado en el contexto de ID. Resuelve el problema de calidad de la respuesta de una manera completamente diferente a las sugerencias en línea. En las sugerencias en línea cuando ves una respuesta incorrecta, simplemente la ignoras o sigues codificando. Aquí iteras sobre ello haciendo preguntas de seguimiento o diciéndole al modelo que está equivocado y que debería intentar algo más. Y las sugerencias en línea han sido muy implícitas. El chat es muy explícito.

Necesitas escribir en él lo que quieres y cuál es tu problema y cómo queremos resolverlo. Sin embargo, esas cosas no significan que la interfaz de chat sea una mala interfaz. Simplemente es buena en cosas diferentes. Mientras que las sugerencias en línea son excelentes para mantener al usuario en flujo, el chat funciona muy bien cuando no existe flujo en absoluto. Cuando quieres detenerte y planificar o quieres aprender algo nuevo cuando no sabes cuáles son los siguientes pasos. Puedes dejar de codificar. Puedes iterar con el chat sobre la solución y planificar cómo avanzar.

5. Next Generation of Tools

Short description:

El chat es una gran herramienta de lluvia de ideas. Diferentes generaciones de herramientas pueden usarse juntas para resolver diferentes casos de uso. La próxima generación de herramientas se centra en el intercambio estructurado, donde los desarrolladores tienen un objetivo claro y quieren un proceso optimizado que modele los pasos necesarios. Copilot Workspace es un sistema complejo que tiene como objetivo crear un flujo de trabajo rico para los desarrolladores, permitiendo el control del usuario, la retroalimentación y la iteración.

Muchos de mis amigos están usando chat como una herramienta de lluvia de ideas. Es una gran experiencia de usuario para eso. También quería enfatizar que lo puse en las diapositivas. Esos términos como primera generación y segunda generación. Eso no significa realmente que una de esas herramientas sea mejor que otra o que una reemplace a otra. Simplemente significa que fueron creadas en diferentes momentos basadas en diferentes suposiciones. Pueden usarse juntas. Simplemente resuelven diferentes casos de uso.

Y... Y eso es un poco... Estamos avanzando lentamente hacia el núcleo de esta presentación. Como he mencionado, esas dos experiencias de usuario están en los extremos de la misma escala, el mismo eje. Sin embargo, todavía tenemos este enorme, enorme espacio en el medio. Y eso nos lleva a la próxima generación de herramientas. Las herramientas que estamos creando o que se están creando hoy. Y el espacio en el medio, personalmente creo, se trata de intercambio estructurado. Así que como desarrollador, quiero... Sé lo que quiero lograr. Por ejemplo, implementar una nueva característica o arreglar un error descrito en un problema de GitHub o tal vez crear una nueva, pequeña aplicación desde cero. Y quiero hacerlo de manera optimizada donde los procesos... Donde los procesos que debo seguir para avanzar hacia mi objetivo están modelados. No necesito apertura y la opción de ir a cualquier parte que el chat me da. Pero tampoco quiero estas sugerencias de IA muy extremas, optimizadas, implícitas que son dadas por el texto fantasma. Y durante los últimos 18 meses más o menos, hemos construido dos herramientas diferentes que se ajustan a este espacio.

La primera de esas herramientas es Copilot Workspace. Copilot Workspace, si no lo has visto aún, deberías buscarlo en Google y luego probarlo. Es un sistema complejo de múltiples pasos que lleva al desarrollador desde un problema o una descripción de campo ad hoc hasta la solicitud de extracción lista generada por la IA. Sin embargo, en lugar de intentar resolver el problema de un solo golpe al estilo de agentes totalmente autónomos, ya sabes, hemos visto tales demostraciones en línea. Lo que Copilot Workspace está tratando de hacer es intentar reemplazar... Está intentando crear este flujo de trabajo rico que permite el control del usuario, la retroalimentación y la iteración en cada paso del proceso.

6. User-Controlled Process and GitHub Spark

Short description:

El proceso controlado por el usuario implica pasar de la lluvia de ideas a la especificación de alto nivel, generando un plan técnico y luego implementando el código. El flujo de trabajo está bien modelado y es similar al diseño normal de aplicaciones y experiencia de usuario. Nuestras aplicaciones deben entender y cumplir las tareas específicas que los usuarios quieren realizar. GitHub Spark es una herramienta que permite a los usuarios crear pequeñas y divertidas aplicaciones sin centrarse en el código.

Oh, solo describiré más sobre lo que quiero decir. Comenzamos con la lluvia de ideas y sugerencias sobre cómo se pueden abordar las tareas dadas. Y luego pasamos a la especificación de alto nivel. Luego generamos un plan técnico, de bajo nivel, y solo entonces pasamos a la implementación del código. Y después de eso, también podemos ejecutar y validar los cambios. Cada paso de este proceso es controlado por el usuario. El usuario puede ver lo que está sucediendo y puede hacer cambios en el propuesto, por ejemplo, el plan. Los usuarios pueden iterar junto con la IA y aceptar cada propuesta, cada oferta de ella. Al mismo tiempo, no es solo muy suelto y abierto como el chat. Aún tenemos este flujo de trabajo muy bien modelado.

En su núcleo, se trata de... Es muy similar a el diseño normal de aplicaciones y el diseño normal de experiencia de usuario. Necesitamos modelar los procesos del usuario. Eso es lo que hacemos al crear aplicaciones. Especialmente cuanto más complejo es nuestro sistema, menos posibilidades hay de que logremos resultados apropiados, dejando la inteligencia artificial a su suerte. Esos modelos de lenguaje grandes son muy poderosos. Y parte de su magia es cuán generales son. Parecen ser capaces de realizar cualquier tarea, pero los usuarios en nuestras aplicaciones no quieren realizar cualquier tarea. Están interesados en realizar su tarea particular. Así que necesitamos entender cómo avanzan para lograrlo. Y luego las experiencias de usuario de nuestras aplicaciones deberían modelar eso y cumplir el papel de mover a las personas hacia adelante hacia el objetivo final. Esta vez, solo con la ayuda de la IA.

El segundo producto que hemos creado es GitHub Spark. Es una herramienta que te lleva de la idea descrita en una sola oración a una micro aplicación funcional que se ejecuta en el navegador. La herramienta no fue diseñada para ser un reemplazo para los desarrolladores o para construir aplicaciones grandes completamente desarrolladas. En cambio, intentamos bajar la barrera de entrada para simplemente crear cosas pequeñas y divertidas que tú o tus quizás amigos no desarrolladores siempre quisieron construir, pero nunca tuvieron tiempo o habilidades para hacerlo. Cosas como una app para rastrear una noche de karaoke semanal o tal vez un rastreador de asignaciones pequeñas para niños, cosas así. El principio fundamental de Spark es centrarse en el acto de creación. No queremos que los usuarios se centren en el código. De hecho, creo que el código está, por defecto, oculto.

7. Designing Applications and Handling Ambiguity

Short description:

Damos a los usuarios herramientas para iterar y cambiar sus aplicaciones, integrando la IA estrechamente con el proceso de desarrollo. Es importante diseñar aplicaciones con el usuario en mente, mejorando sus capacidades. Los flujos de trabajo y procesos de los usuarios deben ser modelados, y debe haber un bajo costo para manejar sugerencias incorrectas. Necesitamos diseñar de manera defensiva para el fracaso. La mayoría de las tareas son ambiguas en el mundo real.

No hay código en esta vista por defecto que estoy mostrando a ustedes. Necesitan presionar el botón para verlo. En su lugar, damos a los usuarios herramientas para iterar. Ponemos la vista previa de la aplicación como un punto principal. Damos a los usuarios la capacidad de cambiar la aplicación, tanto con IA, como también con herramientas como soporte de temas o navegador de datos.

¿Qué hemos aprendido al construir esos dos proyectos? Por un lado, son proyectos muy diferentes, pero tienen algunos aspectos comunes y temas comunes que hemos notado mientras los construíamos. El primero es, bueno, el más importante. Siempre debemos diseñar aplicaciones con el usuario en mente, con el humano en mente. Necesitamos pensar en mejorar las capacidades del usuario en lugar de reemplazar a los usuarios. Esta herramienta de IA debería estar directamente integrada con el ciclo de desarrollo interno. Así que no debería ser alguna ventana de chat extraña y separada o algo así. Debería estar muy cerca de la tarea que estamos realizando. Necesitamos modelar los flujos de trabajo y procesos que tienen los usuarios. Es la idea central de construir cualquier buena aplicación. Y necesitamos tener un bajo costo en términos de cuántas acciones necesitas tomar de sugerencias incorrectas. Esos modelos son asombrosos. Están mejorando cada vez más, pero siempre estarán equivocados a veces.

Son sistemas probabilísticos y por diseño, a veces estarán equivocados. Necesitamos diseñar de manera defensiva para el fracaso. Así que las sugerencias incorrectas o cualquier sugerencia deberían ser fáciles de ignorar, fáciles de volver a intentar, fáciles de iterar o fáciles de modificar. Y esos cuatro principios, pueden ser implementados con diferentes experiencias de usuario. He discutido previamente cómo tanto las sugerencias en línea como la experiencia de usuario de chat son enfoques muy extremos, enfoques completamente diferentes, pero ambos, siguen esos principios. También aprendimos, y esta es una lección muy importante, aprendimos que la mayoría de las tareas son ambiguas. Es muy fácil crear una demostración de aspecto agradable de un agente de IA autónomo que implementa algún tipo de característica de hello world sin ninguna entrada humana.

8. Real World Tasks and Co-Agents

Short description:

Las tareas de software del mundo real son altamente ambiguas y requieren constante guía humana. El concepto de co-agentes implica la participación humana en el proceso de IA, permitiendo control y orientación. Deberíamos explorar diferentes enfoques más allá de la IA basada en chat.

Sin embargo, resulta que hemos aprendido que, especialmente desde el espacio de trabajo de Copilot, la gran mayoría de las tareas de software del mundo real son altamente ambiguas. Necesitan una investigación extensa. Necesitan aclaraciones, refinamientos, correcciones, exploraciones. Se aplica a lo largo de la finalización de la tarea desde el mismo punto de inicio hasta validar los cambios.

Muchas tareas son en realidad una forma de exploración. Es otra cosa que hemos notado. Y debido a esto, las tareas del mundo real necesitan ajustes constantes de guía humana. Y así sucesivamente a lo largo del proceso. No podemos dejar el proceso de construcción de software a los agentes totalmente autónomos.

Y eso me lleva probablemente al punto central de esta presentación. Hemos acuñado internamente este concepto de co-agentes. Así que los agentes son generalmente agentes de IA que suelen implementarse como un bucle, que llama a la IA una y otra vez mientras realiza algunas tareas, mientras obtiene su contexto, su conocimiento interno actualizado. Con los co-agentes, queremos asegurarnos de que el humano también sea parte de este proceso y pueda tomar acciones para dirigir el comportamiento del agente. Un co-agente es controlable, guiable, cooperativo, desplegando el razonamiento y los puntos de decisión de los agentes.

No debería ofrecer más de lo que un humano puede digerir y entender en un solo paso. Así que no debería, ya sabes, no deberías tener de repente en tu pantalla cientos de líneas de cualquier salida. Debería ser corto y comprensible para ti. Cada oferta significativa de un co-agente debería ser editable y esas ediciones se aplican a las ofertas posteriores. Eso significa que si tienes un co-agente y luego otro co-agente depende de la salida de tu co-agente anterior, si editas la salida del primer co-agente, ese cambio debería actualizarse y el sistema que utiliza co-agentes debería intentar mantener la integridad de las ofertas mientras la entrada es cambiada por el usuario.

9. Moving Beyond Chat and Exploring New Ideas

Short description:

Copilot Workspace es un gran ejemplo. Deberíamos dejar de usar chat para todo y explorar diferentes enfoques. Echemos un vistazo al futuro y experimentemos con nuevas ideas.

De nuevo, Copilot Workspace es un gran ejemplo de la filosofía, pero realmente no tengo más tiempo para entrar en detalles sobre eso.

Probablemente lo último que he aprendido es que deberíamos dejar de usar chat para todo. ChatGPT creó esta expectativa que he mencionado. Esta expectativa de chat es IA y la IA es un chat. Sin embargo, podemos ir más allá de eso. Hay diferentes enfoques y no deberíamos tener miedo de experimentar ya sea como usuarios o como desarrolladores tratando de construir software.

Echemos un vistazo rápido al futuro y esas son solo ideas, como esas son... No me cites en eso o no le digas a nadie en Twitter que esto viene en los próximos cinco meses o algo así. No, esas son solo ideas aleatorias que tuvimos.

10. Explorando Nuevas Ideas y Consideraciones Éticas

Short description:

Una idea es tener una experiencia de edición bidireccional en el IDE. Aún estamos en los primeros días de las herramientas de desarrollo impulsadas por IA. Siempre considera el aspecto humano al usar IA. Piensa cuidadosamente antes de implementar características impulsadas por IA. Gracias y hasta la próxima.

Así que una de las ideas es tener esta experiencia de edición bidireccional. Así que puedes imaginar que estás en tu IDE al lado de cada función que tienes en tu IDE. En el lado derecho, ves una descripción en lenguaje natural de ello y cuando editas el código, la descripción se actualiza. Pero también sería realmente genial si pudiéramos actualizar la descripción y luego ver el código cambiando. Idea.

Llevando eso más allá, tal vez podamos ir de una especificación completa en lenguaje natural a desarrollar una app a una aplicación completamente desarrollada y luego cuando editamos el código de esta aplicación, recibimos cambios en la especificación. ¿Quién sabe? También hay un enorme espacio actualmente que no se ha explorado en absoluto. Como sabemos por años y años y décadas de investigación sobre ingeniería de software, los desarrolladores de software pasan el 80% de su tiempo cuando no están codificando, sino mirando requisitos, tratando de entender cosas, tratando de entender la base de código, y así sucesivamente. Actualmente, las herramientas de IA son geniales para optimizar cuán productivo eres en el contexto del código. Y escribiendo más código y más código. Sin embargo, hay este enorme espacio de si deberíamos explorar esa investigación y explorar la comprensión de las bases de código.

Y también necesitamos recordar que aún estamos muy temprano en los días de las herramientas de desarrollo impulsadas por IA. Han pasado cuatro años desde el copiloto original, un poco menos de cuatro años. Y aún no sabemos exactamente qué es lo que realmente se está afianzando en el mercado. En este momento, en 2025, hay un gran auge en los agentes de IA, preferiblemente agentes de IA totalmente autónomos. No tenemos idea de si esos son realmente productivos y hacen que los desarrolladores sean productivos. Así que recordemos que todavía hay una enorme, enorme aventura frente a nosotros.

Y estoy un poco fuera de tiempo, pero esta es la diapositiva que siempre pongo en cualquier presentación que hago sobre IA. Cuando tu jefe, tu CEO, tu gerente, quien sea que venga a ti y te pida que construyas alguna característica impulsada por IA porque nuestra competencia está haciendo características de IA, también debería ser tu responsabilidad pensar y tomar una decisión y preguntarles sobre, ¿deberíamos hacerlo? Las herramientas de IA son muy poderosas, especialmente esos agentes de IA autónomos están volviéndose como, algunas de esas demostraciones son ridículas. Pero siempre deberías, de nuevo, siempre pensar en el humano en mente. ¿Necesitas un 100% de precisión en tus herramientas? Entonces probablemente la IA, cualquier uso de IA es una idea terrible. Probablemente hoy hay personas usando chat GPT para hacer sus declaraciones de impuestos. Esta es probablemente una idea loca, como, no hagas eso. Probablemente hay personas que, algunos gerentes intermedios que intentan convencer a alguien de construir alguna aplicación financiera, para agregar IA a algunas aplicaciones financieras. Por favor, no hagas eso, no usaría tu aplicación. Ha habido este ejemplo de un gran drama donde alguien que ha construido la página web que te ayudó a conectarte en línea con un especialista en salud mental. Y de repente comenzaron a reemplazar a algunos de esos especialistas en salud mental con IA bajo el capó, sin decir a los usuarios, esto no es ético en absoluto. No deberías hacer eso. Así que cuando tu jefe venga a la sala, te pida hacer IA, porque todos están haciendo IA. Por favor, piensa muy bien si realmente deberías hacer eso.

Y eso es todo. Gracias por ver y hasta la próxima. Adiós.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

El Futuro de las Herramientas de Rendimiento
JSNation 2022JSNation 2022
21 min
El Futuro de las Herramientas de Rendimiento
Top Content
Today's Talk discusses the future of performance tooling, focusing on user-centric, actionable, and contextual approaches. The introduction highlights Adi Osmani's expertise in performance tools and his passion for DevTools features. The Talk explores the integration of user flows into DevTools and Lighthouse, enabling performance measurement and optimization. It also showcases the import/export feature for user flows and the collaboration potential with Lighthouse. The Talk further delves into the use of flows with other tools like web page test and Cypress, offering cross-browser testing capabilities. The actionable aspect emphasizes the importance of metrics like Interaction to Next Paint and Total Blocking Time, as well as the improvements in Lighthouse and performance debugging tools. Lastly, the Talk emphasizes the iterative nature of performance improvement and the user-centric, actionable, and contextual future of performance tooling.
IA y Desarrollo Web: ¿Exageración o Realidad?
JSNation 2023JSNation 2023
24 min
IA y Desarrollo Web: ¿Exageración o Realidad?
Top Content
This talk explores the use of AI in web development, including tools like GitHub Copilot and Fig for CLI commands. AI can generate boilerplate code, provide context-aware solutions, and generate dummy data. It can also assist with CSS selectors and regexes, and be integrated into applications. AI is used to enhance the podcast experience by transcribing episodes and providing JSON data. The talk also discusses formatting AI output, crafting requests, and analyzing embeddings for similarity.
Rome, ¡una cadena de herramientas moderna!
JSNation 2023JSNation 2023
31 min
Rome, ¡una cadena de herramientas moderna!
Top Content
Rome is a toolchain built in Rust that aims to replace multiple tools and provide high-quality diagnostics for code maintenance. It simplifies tool interactions by performing all operations once, generating a shared structure for all tools. Rome offers a customizable format experience with a stable formatter and a linter with over 150 rules. It integrates with VCS and VLSP, supports error-resilient parsing, and has exciting plans for the future, including the ability to create JavaScript plugins. Rome aims to be a top-notch toolchain and welcomes community input to improve its work.
Olvida el mal código, concéntrate en el sistema
React Summit US 2023React Summit US 2023
27 min
Olvida el mal código, concéntrate en el sistema
Top ContentPremium
Setting up the system and separating concerns are important in software development. Modular construction and prefab units are a new trend that makes construction quicker and easier. Architectural complexity can lead to a drop in productivity and an increase in defects. Measuring architectural complexity can help identify natural modules in the code. Best practices for avoiding architectural complexity include organizing code by business domain and using prop drilling. Atomic design and organizing a monorepo are recommended approaches for managing architectural complexity.
Confesiones de un Impostor
JSNation 2022JSNation 2022
46 min
Confesiones de un Impostor
Top Content
The Talk discusses imposter syndrome and reframes it as being a professional imposter. It emphasizes the importance of sharing and starting, embracing imposterism, and building inclusively for the web. The speaker shares personal experiences of being an imposter in various technical disciplines and highlights the significance of accessibility. The Talk concludes with the idea of building a collective RPG game to remove excuses for not making things accessible.
Conquistando la Complejidad: Refactorizando Proyectos JavaScript
JSNation 2024JSNation 2024
21 min
Conquistando la Complejidad: Refactorizando Proyectos JavaScript
Today's Talk explores the complexity in code and its impact. It discusses different methods of measuring complexity, such as cyclomatic complexity and cognitive complexity. The importance of understanding and conquering complexity is emphasized, with a demo showcasing complexity in a codebase. The Talk also delves into the need for change and the role of refactoring in dealing with complexity. Tips and techniques for refactoring are shared, including the use of language features and tools to simplify code. Overall, the Talk provides insights into managing and reducing complexity in software development.

Workshops on related topic

Soluciona el 100% de tus errores: Cómo encontrar problemas más rápido con la Reproducción de Sesiones
JSNation 2023JSNation 2023
44 min
Soluciona el 100% de tus errores: Cómo encontrar problemas más rápido con la Reproducción de Sesiones
WorkshopFree
Ryan Albrecht
Ryan Albrecht
¿Conoces ese molesto error? ¿El que no aparece localmente? Y no importa cuántas veces intentes recrear el entorno, no puedes reproducirlo. Has revisado las migas de pan, leído la traza de pila y ahora estás jugando al detective para unir los tickets de soporte y asegurarte de que sea real.
Únete al desarrollador de Sentry, Ryan Albrecht, en esta charla para aprender cómo los desarrolladores pueden utilizar la Reproducción de Sesiones, una herramienta que proporciona reproducciones de video de las interacciones de los usuarios, para identificar, reproducir y resolver errores y problemas de rendimiento más rápido (sin golpear tu cabeza contra el teclado).
Cómo Crear una Aplicación Web de Manera (Casi) Autónoma Usando Clean Coder
Productivity Conf for Devs and Tech LeadersProductivity Conf for Devs and Tech Leaders
95 min
Cómo Crear una Aplicación Web de Manera (Casi) Autónoma Usando Clean Coder
Workshop
Grigorij Dudnik
Grigorij Dudnik
Imagina reemplazarte a ti mismo con un programador de IA multi-agente para desarrollar tu aplicación web de producción. Eso es exactamente lo que hicimos en mi startup takzyli.pl. Para lograr esto, diseñamos y utilizamos el Clean Coder - marco de agentes de IA para la escritura autónoma de código (https://github.com/GregorD1A1/Clean-Coder-AI), que es un proyecto de código abierto, con suerte. Si funcionó para nosotros, ¿por qué no debería funcionar para ti?En esta masterclass, te mostraré cómo crear una aplicación web completa de manera (casi) autónoma y reducir drásticamente el tiempo que tú o tus empleados pasan escribiendo código.
Test, Code, Repeat: Dominando el Desarrollo Asistido por AI
Productivity Conf for Devs and Tech LeadersProductivity Conf for Devs and Tech Leaders
53 min
Test, Code, Repeat: Dominando el Desarrollo Asistido por AI
Workshop
Marco Pierobon
Marco Pierobon
"Test, Code, Repeat: Dominando el Desarrollo Asistido por AI" introduce a los desarrolladores a una forma transformadora de codificación con AI como un socio colaborativo. Esta masterclass se centra en cómo los flujos de trabajo iterativos, como la técnica de emparejamiento ping pong, permiten una interacción mejorada entre la creatividad humana y la eficiencia de AI.