Video Summary and Transcription
Explicación del fallo en la charla de generative UI, explorando más allá de la visualización de texto con React. Llamada a la herramienta de generative UI de Vercel. Desafíos de demostración debido a CloudFlare, diferencias de GPT-5. Generación de artefactos interactivos, boletín de noticias de AI News y concepto de ChachiBT. Superpoder único de los desarrolladores: modificar la UI según las necesidades, desafíos en la generación de herramientas, concepto de programación en pareja para entender mejor la base de código, importancia de la participación humana en la codificación, control en la experiencia del desarrollador. Importancia del control en la experiencia del desarrollador, impacto negativo de la autonomía de la IA, ilusión de productividad en las aplicaciones de codificación Vibe. Combinación de la atención humana e IA, planificación interactiva para agentes de codificación, planificación colaborativa paralelizable. Limitaciones no interactivas, buena planificación interactiva, valor asíncrono de los análisis en profundidad. Aumento de la interrupción del flujo, fallo-muerte semi-asíncrono, enfoque en la comprensión basada en el código. Mapas de código jerárquicos para una mejor comprensión del código e ingeniería de prompts. Interacción entre humanos e IA en el control del código, mejorando la capacidad de codificación e invirtiendo en habilidades de codificación. Ilustrando la constante interacción humano-IA y el costo de sincronizarse con la IA para diferentes modalidades. Discusión sobre el costo de la sincronización multimodalidad con la IA, fomentando un enfoque equilibrado para aprovechar la IA en la productividad. Discusión sobre la importancia de interfaces amigables para el usuario y el potencial futuro de generative UI. Discusión sobre el futuro de la creación de paneles de control controlados por el usuario y el cambio de poder de los diseñadores a los usuarios en el desarrollo de generative UI. Discusión sobre la evolución de los frameworks de centrados en el desarrollador a centrados en el usuario para crear UIs personalizables y el concepto de software maleable acuñado por Jeffrey Lait. Impulso para la adopción en la industria del concepto de Codemap para mejorar la calidad y legibilidad del código, explorando su uso con WinSurf y potenciales nuevas herramientas de desarrollo habilitadas por un lenguaje compartido para interactuar con bases de código. Discusión sobre el impacto del tamaño del proyecto en la efectividad de la IA, enfatizando la importancia de descomponer problemas y utilizar mapas de código para una mejor gestión del código y comprensión del contexto. Discusión sobre la importancia de la guía de mapas de código y mantener los mapas de código actualizados en proyectos de rápido movimiento mediante la actualización y regeneración regular basada en los commits de git.
1. Challenges in Generative UI Talk
Explicación fallida de la charla sobre UI generativa, explorando más allá de la visualización de texto con React. Llamada a la herramienta de UI generativa de Vercel. Desafíos de demostración debido a CloudFlare, diferencias de GPT-5. Generación de artefactos interactivos, boletín de noticias de AI, y concepto de ChachiBT.
Hola a todos, están aquí esperando una charla sobre UI generativa. Esta no es esa charla, porque fracasé. Así que les daré un poco de razón de por qué fracasé. Una de las cosas que realmente me molesta sobre la UI generativa, y el potencial que todos ustedes, desarrolladores de React, tienen, es que pueden comenzar a tener más que solo texto. Todos estamos aquí para mostrar más que solo texto en un sitio web.
Una de las cosas que creo que fue realmente interesante que Vercel fue pionera es la llamada a la herramienta como UI generativa. Así que es como, ¿cómo está el clima en Nueva York? Parcialmente, creo que mi demostración falló porque CloudFlare está ejecutando el modelo 3.5 que iba a mostrarles. Pero aún puedo ejecutar esto en GPT-5, solo que será menos interesante. Y les mostraré un poco de las diferencias.
Así que aquí tienen algo interactivo y visualmente interesante. Chachi, Ruti, Aaklod, y ahora Jem y yo también tenemos varias formas de esta generación de artefactos y cosas de codificación en vivo. También he estado, durante el último año más o menos, ejecutando este pequeño boletín llamado AI News. Básicamente, solo recorre todos los discords de AI, Reddit, Twitters, y resume todas las noticias cada día. Así que es básicamente solo un boletín glorificado. Me preguntaba, ¿y si tengo mi propia pequeña cosa de ChachiBT?
2. Empowering Developers with Pair Programming
Superpoder único de los desarrolladores: modificar la UI según las necesidades, desafíos en la generación de herramientas, concepto de pair programming para entender mejor la base de código, importancia de la participación humana en la codificación, control en la experiencia del desarrollador.
Así que cada problema ahora tiene su propia pequeña interfaz donde puedo entrar, digamos, qué está pasando en el mundo modular. O si realmente me importa cursor, puedo saltar a cursor y ver qué está pasando. Y también hacer preguntas al respecto. ¿Cómo es Composer? Y puede simplemente ir directamente allí. Y creo que poder modificar tu interfaz de usuario para adaptarla a tus necesidades es una superpotencia única que solo los desarrolladores tienen.
Y siempre estoy interesado en democratizar eso. Hice... Básicamente, lo que terminas necesitando hacer es crear una llamada de herramienta que genere otras herramientas y luego las llame dinámicamente. Y esto es básicamente a lo que había llegado. Pero ahora mismo, está fallando por varias razones que realmente no puedo depurar.
El problema, creo, realmente proviene de la pila de extracciones. Y así, voy a llevarte al núcleo de esta charla, que es en realidad lo que he estado llamando pair programming, pero no de la manera que piensas. Y así la razón... Y así la misión que he estado luchando recientemente es simplemente tratar de que la gente entienda mejor su base de código. Mucha gente piensa en pair programming con AI como traer AI a tu flujo de trabajo, como tabular y asistirte como un copiloto o como un agente de terminal de código en la nube. Pero realmente, creo que esto es relativamente obvio.
Y la mayoría de la gente... Creo que la industria de codificación AI, algunas personas por ahí, van a resolver esto en un tiempo. Esa no es realmente la razón por la que estoy hablando hoy. Lo que realmente queremos es volver a poner a los humanos en el bucle. Y creo que este es el mismo problema que la gente tiene con los frameworks y la sobreabstracción. Pre-AI, como tenemos post-AI, tienes este problema con la conducción autónoma, ¿verdad? Creo que muchas de las personas de conducción autónoma quieren quitar el volante y solo quieren que te sientes en un autobús que te lleva a todas partes. Eso es bueno cuando estás en el camino feliz.
3. Challenges of AI Autonomy in Vibe Coding
Importancia del control en la experiencia del desarrollador, impacto negativo de la autonomía de AI, ilusión de productividad en las aplicaciones de codificación Vibe.
Eso es bueno cuando estás en el camino feliz. Pero creo que gran parte de la experiencia del desarrollador que trato de predicar también es poder tomar el control cuando estás en el camino infeliz. Y muchas de las herramientas que hacemos no permiten este tipo de toma de control. Y eso es realmente triste. Así que creo que una de las formas en que la gente habla de esto es la larga distancia de autonomía. Este es el gráfico de Meter, que es una organización sin fines de lucro que estudia agentes de codificación y la creciente autonomía de los agentes de AI. Con el tiempo, la gente se jacta cada vez más y mide la naturaleza larga y autónoma de estos agentes de codificación. Pero esto realmente solo está tratando de eliminar al humano del flujo de trabajo.
Así que Anthopic y Replit están muy emocionados con esto. Pero creo que la realidad es bastante diferente. Solo voy a seleccionar algunos de estos ejemplos. Porque puede que no te hayas encontrado con ellos, pero el volumen de evidencia es realmente abrumador. Así que, realmente no puedes explicar a tus usuarios cuando un servicio de codificación Vibe simplemente elimina tu base de datos de producción. Realmente no puedes explicar a tus usuarios cuando simplemente tienes trabajo de baja calidad. La broma es que ahora dos ingenieros pueden crear una deuda técnica de 50 ingenieros. Esto se ha vuelto tan malo que en realidad hay servicios enteros. Aquí hay una start-up que se especializa en arreglar tus aplicaciones codificadas por Vibe. Esto se llama Vibe Code Fixers. Está ahí porque se está creando mucho desorden.
Puedo seguir, pero realmente creo que hay esta ilusión de productividad que realmente quiero enfatizar. Mucha gente, cuando usa aplicaciones de codificación Vibe, yo incluido, cuando pensé que podría terminar esta función para esta conferencia, fue que sientes que hay un 20% extra de productividad. Pero creo que cuando Meter realmente hizo este estudio en un ensayo controlado aleatorio, en realidad vieron que la productividad observada era un 20% menor, no mayor. Creo que es una comparación realmente interesante. ¿Cómo es que te sientes tan improductivo y la gente informa y tuitea sobre su mayor productividad, pero cuando realmente los responsabilizas y los observas en un RCT, no se vuelven tan productivos? Es por la irregularidad de la AI. Este es un gráfico fantástico que obtuve de Forest Brazil. Tienes todas estas grandes victorias con solo simples indicaciones, pero luego deja mucho del vacío y tu comprensión del código generado se queda atrás porque no escribiste nada de ese código. Antes de la AI, tendrías este progreso constante, pero con la AI tienes todos estos saltos y avances hacia adelante. De vez en cuando, dependiendo de dónde estés y dónde hagas el punto de control, en realidad tienes disminuciones en el tipo de productividad que tienes. Así que creo que esa es la realidad y la diferencia entre todos los informes, todo el bombo versus la realidad.
4. Collaborative Interactive Planning in Coding
Combinación de atención humana y de AI, planificación interactiva para agentes de codificación, planificación colaborativa paralelizable.
La realización en la que he estado trabajando sobre los agentes de codificación es que la atención humana con la atención de AI es mejor que cualquiera de ellas por sí sola. Es una simple observación de la verdad de que la atención es todo lo que necesitas, pero creo que quieres combinar al humano y a la AI juntos. Quiero presentar tres ideas en esta charla y luego haremos una especie de preguntas y respuestas y hablaremos sobre todo en lo que hemos estado trabajando.
La primera idea es que quieres tener planificación interactiva. Siempre quieres leer el plan que el agente de codificación está ejecutando y luego poder modificar o discutir el plan ya sea antes de que esté funcionando o mientras está funcionando. Antes de que esté funcionando es básicamente lo que Kuro y los demás están innovando, que es el espectro y el desarrollo. Mientras está funcionando también, creo que siempre deberías estar vigilando el plan y monitoreándolo tal como monitoreas a un empleado. Has visto mucha planificación no interactiva, ¿verdad? Creo que es muy común que estos agentes de codificación simplemente bloqueen tu entrada y no te dejen responder hasta que hayan terminado con su primera etapa y te entreguen el control.
También has visto mala planificación interactiva. Hubo un intento, lo intentaste. Esto es investigación profunda. Cuando le haces una pregunta y te vas por 20 minutos y vuelves esperando que esté hecho, todavía está pausado y pidiéndote una pregunta. Así que creo que hay un tipo de término medio agradable entre no tener planificación interactiva y requerir interactividad que es una especie de interactividad no interruptiva. Esto es algo que creo que Devin, que es una empresa en la que estoy pasando mucho tiempo estos días, acertó desde el principio, planificación interactiva. Y básicamente creo que es muy difícil de demostrar en vivo porque no puedo hablar y escribir y esperar una respuesta de AI al mismo tiempo. Así que lo visualicé para ti, ¿verdad?
5. Exploración de la Colaboración Interactiva de Agentes
Limitaciones no interactivas, buena planificación interactiva, valor asíncrono de análisis en profundidad.
Así que aquí está lo no interactivo, ¿verdad? Cuando lo escribes en tu agente de codificación, se bloquea. Estás tratando de, estás como, oh, no, eso no es exactamente lo que quise decir cuando lo escribí. Pero no se te permite decir nada. En el mejor de los casos, puede poner en cola tus mensajes antes de completar su respuesta y luego puedes realmente comenzar a responder de nuevo. Así que eso es no interactivo. La mala interactividad es cuando en realidad no, como que tienes que seguir monitoreándolo para que continúe cualquier acción.
Una buena planificación interactiva es una secuencia mucho más ajustada de ida y vuelta entre tú y la AI, pero creo que el agente interactivo ideal es tú y ellos trabajando colaborativamente en un plan que esté acordado y también sea paralelizable. Puedes ver mi pequeño intento de visualizar cómo puedes activar múltiples agentes para dividir en pequeñas tareas independientes y sub-agentes. Eso es algo que exploramos en algo que vamos a mencionar a continuación. Así que esa es la idea uno, planificación interactiva.
La idea dos es algo que llamamos el valor asíncrono de la profundidad. Esto es en realidad una abstracción de algunas de las consultas analíticas que realicé desde dentro de Windsurf. Puedes ver que hay una especie de corte arbitrario de la ventana de flujo de cinco segundos que es algo a lo que estoy manteniendo al equipo. Que es básicamente cuando el modelo comienza a funcionar de manera más y más autónoma, la distancia entre el final de la sesión, o el primer compromiso y el segundo compromiso, es mucho menor. Y en realidad eso comienza a romper el flujo. Así que en realidad comenzamos a medir esto. Aquí abajo. Y esto se relaciona con la investigación actual que se está realizando desde la investigación de interacción humano-computadora donde básicamente tu capacidad para esperar en las cosas está relacionada con la complejidad de la tarea. Así que aquí, por ejemplo, tareas complejas, las personas pueden esperar hasta 8 a 12 segundos porque lo consideran complejo. Pero si es solo escritura simple, esperan 50 milisegundos.
6. Enhancing Flow and Code Understanding
Aumento de la interrupción del flujo, muerte por fallo semi-asíncrono, enfoque en la comprensión basada en el código.
Así que nuestra estimación es que la probabilidad de romper el flujo aumenta geométricamente un 10% cada segundo que pasa mientras esperas una respuesta de un agente. Lo que significa que probablemente rompes el flujo si tienes una probabilidad cercana al 100% de romper el flujo si esperas más de 10 segundos. Así que esto es algo para lo que comenzamos a diseñar activamente. El perfil de SONET y los otros modelos más largos comenzaron a ser difíciles de usar. Notamos que disminuyó en productividad. Y nos preguntamos por qué es eso. Porque estas cosas son más agénticas, todavía son relativamente rápidas. ¿Por qué es que necesitamos cambiar ese perfil?
Llamamos a esto la muerte por fallo semi-asíncrono. Básicamente, a medida que llegas a la parte media del gráfico, no es suficiente delegar al agente de fondo, pero tampoco es divertido esperar, así que comienzas a cambiar de contexto mucho. Y así creo que muchos de los laboratorios de modelos se centran en el lado derecho del gráfico donde es extremadamente paralelo, extremadamente en segundo plano, y con una autonomía cada vez más larga. Hasta 10 horas y más. Creo que algo en lo que los laboratorios de agentes están tratando de centrarse ahora es en sincronizar al humano y la IA, como fusionar la mente con la máquina para centrarse en el trabajo profundo, centrarse en los problemas más difíciles. Así que la idea general es que si está comoditizado, si sabes que se ha hecho antes y sabes que el LLM va a poder lograrlo, obviamente lánzalo. Pero si no estás seguro o si no sabes lo que quieres, probablemente necesites sincronizar de ida y vuelta entre tú y la IA. Y probablemente ahí quieras tener la latencia más rápida posible.
Así que eso es algo en lo que realmente comenzamos a trabajar con esta próxima cosa. Creo que la última idea es la más interesante, es la idea general de mejorar la comprensión basada en el código. Esto es lo más reciente que he lanzado. Se llama mapas de código. Creo que el lema es mi parte favorita de esto. Básicamente, el principio de que deberías tratar de entender el código antes de vibrarlo. Realmente no me importa si usas un agente de codificación o no usas agentes de codificación, probablemente quieras entender lo que estás tratando de hacer. Porque si comienza a alejarse de ti, entonces comienzas a tener una base de código que no controlas. Así que lo que un mapa de código parece aproximadamente es esto. Parece una representación visual de los módulos y los flujos de tu código. Y puedes cambiar entre eso y una demostración jerárquica de una anotación de tu base de código. Y puedes hacer clic y sincronizar con eso. Probablemente podría mostrarte. No estoy seguro si puedo, en realidad.
7. Improving Code Maps for Efficient Engineering
Mapas de código jerárquicos para una mejor comprensión del código e ingeniería de prompts.
Sí, probablemente podría mostrártelo aquí. Este es un ejemplo de uno de los mapas de código jerárquicos. También puedo representarlo visualmente aquí. Pero la idea es que no tienes que leer el texto exacto, pero puedes entender el flujo del código desde, digamos, el front end al back end, o tu servicio para entrar a una base de datos o cualquier otra cosa. Y está bien anotado también.
Creo que la idea general, o el aprendizaje que tuve, fue que terminas haciendo mejores prompts también. Así que, ya sea que entre y diga, está bien, solo necesito editar esta parte de la base de código, puedo ir directamente a eso y editarlo manualmente. O puedo simplemente referirme a ello y decir actualiza esto a lo último, y simplemente lanzar eso en el chat de IA. Y básicamente se convierte en una ingeniería de prompts automática mucho mejor, pero sabes exactamente cada cosa que entró en esa base de código, porque puedes navegarla como un sistema de archivos a la izquierda.
Creo que realmente me gusta ese patrón y trato de recomendarlo. La idea general, sin embargo, es que cuanto más lejos estás del código, más descuidado terminas enviando. Este es mi intento de ilustrarlo. Me encantan las ilustraciones abstractas de esto. Antes de la codificación de IA, básicamente estabas en rojo. Estás a cargo de la intención del código, la lectura de la base de código, pensando en qué escribir, y escribiendo ese código. Muchos agentes de codificación comienzan a moverte hacia solo, está bien, lo tomaremos desde aquí. Solo danos un prompt, lo tomaremos desde aquí hasta el final.
8. Optimizing Code Control and Skill Investment
Interacción entre humanos e IA en el control del código, mejorando la capacidad de codificación e invirtiendo en habilidades de codificación.
Creo que la buena fusión mental de humano e IA que te permite mantenerte completamente al tanto de tu agente de codificación y controlarlo para que haga exactamente lo que pretendes hacer es esta agradable interacción, alternancia entre rojo, azul, rojo, azul, rojo, azul, de que tú deberías tomar un turno y yo debería tomar un turno, pero estamos en esta conversación, conversación constante sobre el código. Incluso si no usas un agente de codificación, aún puedes usar un agente de codificación para leer y no escribir. Cada línea de código puede ser escrita por humanos, pero puede acelerarse mucho.
Creo que mi gráfico favorito de esto, olvidé traerlo aquí, es esta comprensión o escalado de tu habilidad de codificación. Si Cloudflare solo cooperara, no puedo mostrar esto. Bien, Cloudflare no está cooperando, lo cual realmente está arruinando mis demostraciones hoy. Solo trata de entender que cuanto más sincronización tengas con tu código y agentes de codificación, mejor.
Creo que mi último consejo es algo que es relativamente controvertido, porque muchas personas están tratando de optimizar sus planes de $20 al mes para codificación. Probablemente deberías... Eres un ingeniero de software bastante bien pagado, y te importa tu oficio, y te importa ser parte del futuro al venir a masterclasses como esta. Probablemente deberías estar gastando mucho más que eso en este momento. Esto no es desde el punto de vista de que yo intente venderte algo. Elige lo que quieras, pero en realidad es súper barato.
9. Human-AI Interaction and Sync Cost
Ilustrando la constante interacción humano-IA y el costo de sincronización con IA para diferentes modalidades.
Permíteme hacer un pequeño ejercicio mental para ilustrarte. Estos números no cambiarán mientras los humanos sean reconociblemente humanos. Puedo estar razonablemente seguro, mientras los humanos sean más o menos los mismos dentro de mil años a partir de ahora, estos probablemente seguirán siendo los mismos. Nuestra tasa de escritura es de 40 palabras por minuto. Nuestra lectura es de aproximadamente 200. Hablar es 150, 180 si eres como yo. Escuchar 300. Básicamente, estos no cambian. Esta es la entrada y salida de los humanos hacia la IA.
Si haces los cálculos, si simplemente dejaras esto encendido, y si simplemente transcribieras todo y te tradujeras e introdujeras en la máquina 24 horas al día sin dormir, el costo para sincronizarte 24 horas al día en GPT-5, para texto, 150 veces 60 veces 24, 200,000 tokens. Cualquier cosa que escribas cabe, cualquier cosa que digas cabe en la ventana de contexto de una llamada API. Y eso cuesta 9 centavos para ingerir. Si es voz, es un poco más multidimensional, eso cuesta de $4 a $8. Si es visión, eso puede volverse realmente caro, puede costar hasta $200 al día.
Balanced Approach to AI Productivity
Discutiendo el costo de la sincronización multimodalidad con IA, fomentando un enfoque equilibrado para aprovechar la IA en la productividad.
Pero solo a un nivel muy básico, si sumas el nivel básico, el nivel mini de 9 centavos más $4 más $8, obtienes aproximadamente $12 al día de sincronización completa de multimodalidad si simplemente lo dejaras encendido todo el tiempo. Y traducir tu producción humana y tu intención en el código que escribes, creo que es una idea realmente interesante.
Las herramientas que tenemos no existen hoy, espero que existan para esta época el próximo año, y espero que hayas tenido un adelanto de eso. Lo dejaré ahí, tengo más cosas que hacer pero me voy a quedar sin tiempo muy pronto. Creo que la idea principal que espero que te lleves es que mucha gente te va a decir que deberías estar haciendo paraprogramación, deberías estar dando cosas a la IA.
Quiero que lo retires. Retira la IA del borde, del fondo de quitarle el trabajo a todos, hacia aumentar el tuyo propio y hacerte mucho más productivo. Y eso es algo que estoy muy a favor de hacer y creo que podemos hacer si simplemente nos permitimos gastar tokens como si fuera agua. Eso es todo. ¡Woo! Muchas gracias por la charla, gracias por estar aquí con nosotros. Sí. Es un placer. Fue realmente desafortunado que incluso mi sitio web no se estaba cargando, noté que Cloudflare es un patrocinador afuera, así que debería ir a hablar con ellos. Oh, es un día divertido cuando nos damos cuenta de cuánto del internet pasa por tan pocas compañías.
User-Centric Generative UI Future
Discutiendo la importancia de interfaces amigables para el usuario y el potencial futuro de la UI generativa.
Cuando tengo una demo que no sabía que dependía de Cloudflare, pienso, está bien, todo depende de Cloudflare. Estamos haciendo estas cosas en vivo. Siempre es una aventura. ¿Podemos dar un aplauso a todos los oradores y especialmente a Swigs que han estado lidiando con demos en vivo para nosotros todo este tiempo? ¡Woo! ¡Sí! Gracias. Demos en vivo. Es como invitar al caos a tu casa. Es genial.
Bien, tenemos algunas preguntas llegando. Y supongo que podemos empezar con las grandes, como ¿cuál crees que es el futuro definitivo de la UI generativa? Sí, creo que la gente debería estar creando las interfaces con las que están familiarizados. Y creo que muchos de nosotros estamos familiarizados con Excel o Google Sheets y escucho muchas de estas historias que son realmente impresionantes. No puedo recordar quién exactamente dijo esto en un podcast que estaba escuchando recientemente, pero decían, pasamos tanto tiempo creando este tablero personalizado, hermoso de Tailwind y Radix y todas las cosas hermosas y magníficas, solo para que exporten un CSV, lo vuelquen en Excel y luego hagan una hoja de cálculo propia.
Porque es suya. Porque la hicieron ellos. Entienden cada parte de ella. Y creo que eso es algo que básicamente, como industria, no hemos realmente matado la hoja de cálculo, ni tal vez deberíamos devolver esa libertad, poner esa libertad de nuevo en las manos de los usuarios. Definitivamente no veo suficiente de la comunidad de React haciendo esto. Cuando entro en, no sé, el tablero de una compañía de infraestructura de React sin nombre, y veo todas las líneas de opciones aquí y todas las líneas de opciones aquí, y no sé cuál hacer clic, desearía poder Command K, pero incluso el Command K realmente no me da exactamente lo que quiero.
Empowering Users in Generative UI
Discutiendo el futuro de la creación de tableros controlados por el usuario y el cambio de poder de los diseñadores a los usuarios en el desarrollo de UI generativa.
Desearía poder simplemente crear mi propio tablero dentro del tablero que ya me diste. Y creo que eso probablemente existe en nuestro futuro y nosotros, colectivamente en esta sala, probablemente podríamos hacer que eso suceda. Solo tenemos que decidir que vale la pena trabajar en ello. Mmm. Mmm. Algo en lo que todos debemos pensar. Y me encanta esta idea también de que todos podemos ser un poco, no tenemos que encajar en las cajas de las herramientas de otras personas, podemos crear las herramientas que necesitamos. Sí. Sí.
Creo que, para mí, la opinión controversial es que los diseñadores son demasiado poderosos. Deberíamos quitarles su poder y dárselo a nuestros usuarios. Porque los diseñadores dirán, oh, déjame decidir qué densidad de información debería haber en esta página. Déjame decidir qué tan ancho es esto. Déjame decidir los colores o incluso solo la disposición de la información. Bueno, en este punto, no. En realidad es muy, muy barato generar todo para cada usuario, almacenarlo y simplemente volver a mostrarlo cada vez. La gente tiene este falso argumento de que la UI generativa es poco confiable y la gente necesita tableros confiables. Bueno, sí. ¿Has oído hablar del almacenamiento en caché? No es tan difícil.
Me encanta esto. Creo que habrá mucho para continuar esta discusión en la sesión de preguntas y respuestas después de esta sesión. Pero mientras tanto, tenemos muchos votos a favor aquí para una pregunta sobre la demo de UI que esperabas mostrar y que la gente puede presumiblemente seguirte para saber más. Es básicamente una herramienta para crear herramientas. Creo que gran parte de nuestro proceso ahora mismo es que tenemos una aplicación y tiene un conjunto de herramientas que la gente puede llamar y eso es genial. Y cuando la gente tiene nuevas solicitudes de funciones, bueno, tiene que pasar por nosotros para hacer actualizaciones en la base de código para que luego los usuarios las usen. Pero, ¿por qué no simplemente eliminamos al desarrollador de la ecuación por completo? También hay un poco de agua en el podio. Lo siento. No, estás bien. Estás bien. No estoy en mi mejor momento de salud ahora mismo.
Evolution of User-Centric Frameworks
Discutiendo la evolución de los frameworks de centrados en el desarrollador a centrados en el usuario para crear UIs personalizables y el concepto de software maleable acuñado por Jeffrey Lait.
Oh, no. ¿Cuándo va a poder la IA arreglar eso? Es broma. Si escuchas a Mark Zuckerberg, dentro del siglo. Tengo un podcast con él que todavía me impresiona mucho. Bien. Entonces, sí, es una herramienta para crear herramientas. Así que la idea general es que el concepto de un framework evoluciona. Un framework hoy en día permite a los desarrolladores mejorar este tipo de prácticas recomendadas en un pequeño y acogedor riel para que no se desvíen y olviden cosas y también puedan construir un ecosistema. Pero creo que el framework para los usuarios finales se ve muy diferente.
Y creo que nosotros, como desarrolladores, deberíamos dejar de ser tan preciosos con nuestros trabajos y dejar que los usuarios finales creen las UIs que desean. Creo que eso es definitivamente, si la gente quiere aprender más sobre este concepto, no lo inventé yo. Jeffrey Lait lo acuñó como software maleable, software que puedes moldear para adaptarlo a ti. Y creo que eso es algo que la gente siempre ha querido hacer. Lo mejor que hemos logrado como industria son los interruptores de modo claro y oscuro. E incluso entonces, ni siquiera logramos hacerlo muy bien. Así que, sí, ha ido demasiado lento y necesitamos acelerarlo mucho más y ahora tenemos las herramientas.
Genial. Genial. Lo escucharon aquí primero, amigos. Dejen de ser tan preciosos con sus trabajos. No. No, pero es cierto. Creo que, sí, también tenemos esta especie de prerrogativa de asegurarnos de que estamos pensando en para quién es esta herramienta y no solo cómo será la vida de alguien que mantenga esta herramienta lo cual creo que todos sentimos profundamente en nuestros huesos. Genial. OK, tenemos algunas preguntas más específicas sobre algunas de las herramientas que acabamos de ver. Sí. Los plugins de Codemap que estabas usando. ¿Qué? ¿Puedes contarnos más sobre ellos? Entonces, Codemap es parte de WinSurf. Es el editor en el que trabajamos. Es parte de Cognition.
Industry Adoption of Codemap Concept
Impulsando la adopción del concepto de Codemap en la industria para mejorar la calidad y legibilidad del código, explorando su uso con WinSurf y potenciales nuevas herramientas de desarrollo habilitadas por un lenguaje compartido para interactuar con bases de código.
Creo que es una idea generalizable. Creo que parte de mi rol es simplemente extraer ideas que son generalmente buenas para toda la industria. Creo que Cursor y Cloud deberían absolutamente adoptarlo. De hecho, he estado presionando para que abramos el formato completo para que se convierta como el MCP del código. Porque esto es básicamente ingeniería de contexto automática para cualquier agente de codificación. Y creo que eso vale la pena y mejora mucho la calidad del código que se genera, pero también es legible por humanos, lo cual es una parte poco apreciada de la ingeniería de todo esto.
Sí. Bien. Entonces, supongo que hay una especie de pregunta de seguimiento en cierto sentido. Entonces, explorando el concepto de Codemaps, ¿es necesario usar WinSurf u otras formas? Ahora mismo, deberías usar WinSurf. También puedes simplemente desplazarte por estas cosas. Los Codemaps se pueden publicar en el sitio web. Así que incluso si no descargas WinSurf, puedes simplemente desplazarte por el sitio web. Mantente atento. Como, sí, aún no tengo la aprobación para abrir todo el código. Entendido. Bueno, tal vez con el entusiasmo del resto de nosotros detrás de ti. Sí. Es una prueba de concepto de como, bueno, está bien, si tuvieras un archivo .codemap hoy que pudieras generar y usar, ¿qué harías con él?
¿Verdad? Porque ya hicimos el mapeo. Creo que lo interesante son las nuevas herramientas de desarrollo que no existen hoy en día que serían habilitadas por un lenguaje común compartido de cómo interactuar con una base de código. Y así, básicamente, Cognition ha comenzado a mostrar un poco cómo piensa internamente y exponer eso de una manera legible por humanos. Y no estoy realmente seguro, como, sí, ¿qué tipo de nuevas herramientas de desarrollo ofrece eso? Estoy muy interesado en AI SRE. Creo que si básicamente vinculas un codemap a cualquier incidente de interrupción, probablemente tendrás como un libro de jugadas de resolución listo para ti cuando abras tu PagerDuty cosa. Y creo que eso es probablemente algo bueno para interrupciones como la de hoy. Supongo que habrá algunas charlas de seguimiento interesantes sobre eso. Fabuloso. Creo que el desafío para nosotros es que hemos hecho esto para un solo repositorio y como pequeño, como N, digamos N menor que cinco.
Code Maps and Project Complexity
Discutiendo el impacto del tamaño del proyecto en la efectividad de la IA, enfatizando la importancia de descomponer problemas y utilizar mapas de código para una mejor gestión del código y comprensión del contexto.
Hemos tenido solicitudes de codemaps para 10,000. Así que como un mapeo para toda la organización de empresas, todos los repos. Y no sé cómo se ve eso. Entendido. Entendido.
Bueno, supongo que eso nos lleva a la siguiente pregunta, que es una especie de, ya sabes, en primer lugar, ¿estás de acuerdo en que sin falta, la IA se vuelve menos y menos efectiva a medida que el tamaño de un proyecto crece o supongo que tal vez el área de superficie de un proyecto o el tamaño de la base de código, un paréntesis esto.
Entonces, la respuesta clásica que cada empresa de agentes de codificación te dará es descomponer las cosas en problemas más pequeños, lo cual es tan obvio. Es como apenas vale la pena mencionarlo, pero sí, debería hacerse si no lo has pensado al respecto. En realidad, la pregunta es como, sí, muy interesante porque siento que los mapas de código son como la solución, como tener simplemente mapeos jerárquicos recursivos de bases de código para que el LLM los recorra.
Y creo que entonces comienzas a gestionar tu código, tu contexto mucho mejor y dejas de como meter basura allí. Como ahora mismo el estado del arte es concatenar todo y simplemente meterlo allí y esperar que funcione. Y puedes hacer una especie de resumen recursivo a lo largo de este tipo de hilo de conversación. Eso no es tan bueno como básicamente producir una wiki, es lo que llamamos, como una wiki profunda de la base de código y entender simbólicamente qué conecta con qué. Y luego lo producimos como mapas de código, pero puedes hacer ese mismo enfoque para cualquiera de tus codificaciones también.
Code Map Guidance and Maintenance
Discutiendo la importancia de la guía de mapas de código y mantener los mapas de código actualizados en proyectos de rápido movimiento mediante la actualización y regeneración regular basada en commits de git.
Entendido. {{^}}Entendido. Así que como mapa de código, trazándolo todo, por así decirlo, no para usar el término técnico de code maps, sino y descomponiendo ese contexto en esos fragmentos más pequeños. ¿Sería esa tu guía? Sí. Creo que es lo que harías si te tomaras el tiempo para estudiar la base de código, pero tu ritmo de lectura está limitado por los tipos de constantes humanas que identifiqué allí. Y el ritmo de lectura de la IA es mucho más rápido. Y así que realmente puedes simplemente como lanzar dinero al problema. Es fantástico.
Genial. Muy bien. Creo que tenemos tiempo para una pregunta más aquí. Pero no olviden que habrá un lugar de preguntas y respuestas del orador en la sala de cristal fuera del planetario aquí. Sí. Y así que una última pregunta, supongo que dejaremos que la gente decida. Sí. Entonces, ¿qué tal en grandes y rápidos mono repos? ¿Cómo mantienes los mapas de código actualizados y en sincronía con lo que está sucediendo en el movimiento del proyecto? Ahora mismo, los mapas de código son instantáneas. Así que básicamente puedes pensar en ellos como simplemente vinculados a tu commit de git. Y así que cada vez que actualizas tu código, probablemente deberían ser invalidados y generados de nuevo.
Así que ahora mismo haces clic en el botón de actualizar. Así es como los mantienes actualizados. Realmente no hemos ideado uno mejor que ese, porque es como el más simple uno. Es un poco como la filosofía de React, como simplemente regenerar toda la UI y es consistente, ¿verdad? Como, bueno, sí, quiero decir, sería más eficiente hacer esto, pero como la consistencia realmente importa cuando estás tratando de mapear algo. Y si un concepto cambia debido a algún cambio menor, no lo sabemos de antemano, probablemente deberíamos simplemente re-ejecutar todo. Entendido. Entendido. Muy bien. Bueno, muchas gracias por estar aquí con nosotros y por esta sesión y discusión tan interesante. Así que si la gente tiene más preguntas o, ya sabes, para obtener todas estas preguntas que no tuvimos tiempo de responder. Y todos pueden encontrar a Swix en el lugar de preguntas y respuestas del orador después de esta charla.
Comments