Construyamos a K.I.T.T. Con JavaScript

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

En la serie de televisión Knight Rider, el concepto de un coche inteligente era pura ciencia ficción. Más de 40 años después, ahora tenemos las herramientas para hacerlo realidad, puramente en el navegador. Esta charla explora la combinación de técnicas de IA como RAG y llamadas a funciones con APIs avanzadas del navegador (por ejemplo, WebBluetooth) para crear un agente de IA basado en el navegador con personalidad, memoria y autonomía, impulsado por WebAssembly y WebGPU, ¡totalmente offline y preservando la privacidad!

This talk has been presented at JSNation 2025, check out the latest edition of this JavaScript Conference.

Nico Martin
Nico Martin
24 min
12 Jun, 2025

Comments

Sign in or register to post your comment.
Video Summary and Transcription
El ponente presenta un proyecto paralelo que involucra JavaScript y la recreación de un coche icónico en JS Nation. Nico, un desarrollador frontend, explica el concepto de KIT de Knight Rider y sus características humanas, enfatizando el uso de aprendizaje automático en su construcción. Usar Transformers.js implica definir tareas y modelos, con opciones como Whisper para transcribir voz a texto y Kokoro.js para la conversión de texto a audio. Agregar inteligencia a través de LLMs mejora las capacidades del pipeline. Modelos lo suficientemente pequeños para ejecutarse en el dispositivo, permitiendo el uso en el navegador utilizando la biblioteca LLM. Creación de motores y nuevas conversaciones, transmitiendo respuestas con tokens añadidos para mayor eficiencia. Implementación del proceso de razonamiento de Kit para la resolución de problemas y diversión en el aprendizaje y construcción usando LLMs.

1. Introduction to Side Project

Short description:

El orador presenta un proyecto paralelo que involucra JavaScript y la recreación de un coche icónico en JS Nation.

Bien. Así que, hola a todos. Es genial estar aquí en JS Nation y terminar el primer día con una charla sobre mi último proyecto paralelo donde intento recrear el que quizás sea el coche más icónico en la historia de la televisión en JavaScript. Pero antes de empezar, tengo una pequeña cosa. Sí, tengo muchas demostraciones en mis charlas y sí, se les permite aplaudir. Y les digo esto porque soy suizo y en Suiza realmente, realmente nos gusta obtener permiso antes de mostrar emociones. Y si no tienen ganas de aplaudir, pueden ir a yay.nico.de. Veo que ya está funcionando y pueden lanzar algunos fuegos artificiales en mi diapositiva. Construí esto para JS Nation. Nunca lo he probado antes, pero hey, ¿qué podría salir mal? Sí.

2. Exploring KIT and Machine Learning

Short description:

Nico, un desarrollador frontend, explica el concepto de KIT de Knight Rider y sus características humanas, enfatizando el uso de machine learning en su construcción.

Pero ¿quién soy yo? Mi nombre es Nico. Soy un desarrollador frontend o como aprendimos hoy, soy un frontend. Quiero decir, no puedo apagarlo. No puedo apagarlo si es demasiado. Sí. También soy parte del programa de Google Developer Experts en tecnologías web y también en machine learning e IA, lo que significa que intento cerrar la brecha entre la IA en el dispositivo y el navegador.

Y sí, comencemos con una pregunta muy simple. ¿Quién es KIT? Entonces, KIT es la abreviatura de Knight Industries 2000 y es este coche avanzado impulsado por IA de la serie de televisión de los años 80 Knight Rider. Toda la serie trata sobre Michael Knight que intenta resolver casos, lucha contra los malos y KIT que es esta supercomputadora, una IA sofisticada que lo ayuda. Así que tal vez también deberíamos replantear la pregunta, ¿qué es KIT? Y en los años 80 era bastante simple. KIT es solo una computadora muy avanzada haciendo cosas de computadora muy avanzadas. Simple.

Luego aprendimos sobre machine learning, sobre redes neuronales artificiales, así que tal vez KIT es solo una gran red neuronal artificial que aprende cambiando las conexiones entre esas neuronas. Pero ahora en la era de la IA, tengo una explicación más simple. Así que tal vez KIT es solo un agente de IA que conecta diferentes servicios con un proceso de toma de decisiones. Suena bien. Vamos a construirlo. Si quieres construirlo, primero necesitas profundizar en las características. ¿Cuáles son las características que hacen que KIT sea humano? En primer lugar, podemos hablar con él en lenguaje natural. Es inteligente, por lo que puede procesar información. Tiene personalidad, no es solo una máquina sin alma. Tiene una historia, así que Michael Knight y KIT, vivieron tantas aventuras, por lo que pueden hablar sobre toda esa historia. Y por último, pero no menos importante, tiene un cuerpo, por lo que tiene una forma física con la que podemos interactuar. Ahora, si quieres construir eso, y soy un ingeniero frontend, así que naturalmente quiero ver hasta dónde puedo llegar en el navegador. Si quieres construir eso, necesitamos mucho machine learning. Y como aprendimos hoy, en realidad podemos usar machine learning en el navegador. Y hay una biblioteca que uso bastante. Ya hemos oído hablar de eso y es Transformers.js.

3. Utilizing Transformers.js for Tasks

Short description:

Usar Transformers.js implica definir tareas y modelos, con opciones como Whisper para transcribir voz a texto y Kokoro.js para la conversión de texto a audio. Agregar inteligencia a través de LLMs, incluyendo modelos cerrados y abiertos, mejora las capacidades del pipeline.

Luego podemos definir una tarea y también el modelo que queremos usar. Y luego podemos básicamente pasar cualquier cosa a través de este pipe, lo ejecutará a través del modelo, y obtendremos la salida de vuelta. Así que el tipo de entrada y el tipo de salida dependen mucho del uso.

Ahora, ¿cómo podemos usar Transformers.js para resolver nuestro primer problema? Hay dos modelos que podemos usar. El primero es Whisper. Entonces Whisper nos permite transcribir cualquier palabra hablada en texto. Y por otro lado, puedes usar Kokoro. Y Kokoro.

js es solo una pequeña capa de abstracción sobre Transformers.js donde podemos pasar cualquier texto, definir una voz, y devolverá el blob de audio.

4. Enhancing Pipeline Intelligence with LLMs

Short description:

Agregar inteligencia a través de LLMs mejora las capacidades del pipeline. Los LLMs incluyen modelos cerrados como GPD 4, Cloud y Gemini, y modelos abiertos como Meta con Lama, Microsoft con Phi y Google con la serie Gemma.

Así que veamos cómo funciona eso. Tengo este pequeño pipeline aquí. Así que ahora puedo decir, por ejemplo, hola a todos, estoy ahora mismo en JS Nation, y es una conferencia increíble. Esperemos que esto funcione. Hola a todos, estoy ahora mismo en JS Nation, y es una conferencia increíble. ¿Escuchan los... gracias. ¿Escuchan los fuegos artificiales todo el tiempo? Bien, eso es molesto. No es así. Bien, eso funciona, pero en realidad no es muy inteligente.

Entonces, ¿cómo podemos agregar inteligencia a ese pipeline? Ahora, lo más cercano que tenemos a inteligencia son los LLMs. Así que tenemos grandes modelos de lenguaje, podemos agregar algo de texto, y generará algo de texto. Hay bastantes LLMs que podemos usar ahora mismo. Está toda la gama de GPD 4, Cloud y Gemini. Así que tenemos modelos cerrados que se ejecutan en algunas granjas de servidores que podemos usar a través de una API o usando su interfaz de texto. También hay modelos más pequeños como el Gemini Nano o GPD 4 o Mini que son lo suficientemente pequeños como para que podamos ejecutarlos en el dispositivo, pero todos están cerrados.

Así que no se nos permite usarlos de la manera que queremos. También hay otra gama de modelos. Y esos son modelos abiertos. Y abierto significa que los pesos entrenados y también la arquitectura son de código abierto. Así que se nos permite usarlos en nuestros propios sistemas. Está Meta con Lama, está Microsoft con Phi, está Google con la serie Gemma. Y también hay pequeños modelos abiertos como el Phi 3, Gemma 3, Quent 3. Y hay incluso modelos de código abierto. Así que está el pequeño LM 2, que es una acción o hasta donde sé el único modelo realmente de código abierto porque también los datos de entrenamiento son de código abierto que Hugging Face usó para entrenar ese modelo.

5. Customizing AI Outputs with System Prompts

Short description:

Modelos lo suficientemente pequeños para ejecutarse en el dispositivo, permitiendo el uso en el navegador utilizando la biblioteca LLM. Creación de motores y nuevas conversaciones, transmitiendo respuestas con tokens añadidos para mayor eficiencia. Utilización de la ingeniería de prompts para personalizar las salidas de IA con prompts y contextos precisos.

también los datos de entrenamiento son de código abierto que Hugging Face usó para entrenar ese modelo. Ahora con modelos que son lo suficientemente pequeños como para que podamos ejecutarlos en el dispositivo y también se nos permite usarlos en el dispositivo, también podemos ejecutarlos en el navegador. Hay una biblioteca que uso para eso llamada LLM. Con el LLM, básicamente podemos crear un motor, podemos luego crear una nueva conversación, donde pasamos un array de mensajes.

Y luego podemos esperar la respuesta completa, o podemos usar la transmisión, sus tokens se añaden a la respuesta a medida que se generan. Intentemos eso. Así que tenemos el mismo pipeline que antes. Pero tenemos este nuevo paso de procesamiento. Hola, mi nombre es Nico. Y estamos ahora mismo en JS Nation. Es una conferencia increíble y estamos en el escenario ahora mismo. Así que, ¿podrías presentarte rápidamente a la audiencia? Hola, es bueno estar aquí. Cara sonriente con ojos sonrientes. Nuestra nación es increíble. Espero conectarme con todos los asistentes increíbles.

Micrófono. Bien, eso funciona. Gracias. Pero al final, solo creamos otro chatbot aleatorio, porque ahora estamos hablando con algún Jemma LLM aleatorio de Google. Y quería hablar con Kit, el coche de Knight Rider. Entonces, ¿qué podríamos hacer al respecto? Lo más fácil para ajustar o personalizar la salida de un modelo de IA es usar la ingeniería de prompts. Y la ingeniería de prompts es el proceso de elaborar prompts de entrada precisos y efectivos para optimizar la salida de los modelos de IA.

¿Qué significa eso en nuestro caso? Así que aquí tengo el mismo pipeline que antes, pero ahora tengo un prompt de sistema diferente. Y en el prompt de sistema, le digo quién es. Así que es Kit de Knight Rider. Le doy contexto, está hablando con Nico. También tengo un resumen del tono de Kit. Y también tengo límites, porque todas esas sonrisas, asteriscos y todo eso, no funcionan bien en esa configuración. Así que intentemos lo mismo con un prompt de sistema diferente.

6. Leveraging Memories and Vector Databases

Short description:

Presentándose en una conferencia, explorando recuerdos con Kit y aprovechando una base de datos vectorial para referencias de escenas.

Es una conferencia increíble, y estamos en el escenario ahora mismo. ¿Podrías presentarte rápidamente a la audiencia? Por supuesto, Nico, vamos a refinar los datos de la presentación. ¿Debería optimizar la entrega para un máximo compromiso? Y como ves, es exactamente el mismo pipeline, exactamente el mismo modelo que antes. Pero se está comportando de manera muy, muy diferente.

Bien, hablemos de recuerdos. Porque a menudo, si interactuamos entre nosotros, hablamos de cosas que sucedieron en nuestro pasado. Y en el caso de Kit, hubo muchas, hubo temporadas serias, episodios llenos de recuerdos de cosas que vivieron. Y mi idea era, ¿cómo puedo hablar con Kit sobre esos recuerdos?

Y las próximas diapositivas me llevaron por un gran agujero de conejo, pero traté de mantenerlo lo más corto posible. Así que si alguna vez te encuentras en la misma situación, tal vez quieras ir a Reddit, habrá un subreddit de tu programa favorito. Y habrá alguien que tenga un enlace a un sitio web que tenga todos los guiones de ese programa.

7. Implementing Vector Search Functionality

Short description:

Escribiendo un script de Playwright para guiones, usando representación vectorial para similitud semántica e implementando llamadas de herramientas en el pipeline.

Luego necesitas escribir un pequeño script de Playwright que extraiga todos los guiones en texto plano. Luego descubrirás que esos guiones fueron escritos en tiempos anteriores a la World Wide Web. Así que necesitas escribir tu propio analizador que analice el guion en JSON estructurado.

Y ahora tienes tus 6,275 escenas en 432 actos y 84 episodios que puedes agregar a tu base de datos. Y en mi caso, estoy usando el IndexDB, que es una base de datos de documentos que vive en el navegador. Ahora, el otro problema que tengo es que tengo una pregunta sobre algo que sucedió en el pasado, y ahora quiero que mi LLM, Kit, robot, lo que sea, sepa a qué escena me refiero.

Y la solución a eso se llama una base de datos vectorial.

8. Optimizing Vector Search Integration

Short description:

Analizando IndexDB como una base de datos vectorial, usando miniLM L6v2 para similitud semántica, y empleando un resumidor LLM para una extracción eficiente de tramas e integración de la función de búsqueda vectorial.

El problema es que IndexDB no es per se una base de datos vectorial, porque en mi IndexDB, básicamente solo tengo toda la escena y algunos metadatos. Pero al final, cada base de datos es una base de datos vectorial si almacenas la cosa, el texto y su representación vectorial. Ahora, ¿qué es una representación vectorial? Básicamente es solo un número o un arreglo de números, y eso es generado por otro modelo de IA, y eso se llama o es la categoría de modelos de extracción de características.

En mi caso, estoy usando el viejo miniLM L6v2, que está entrenado para la similitud semántica. Así que lo que hace es que puedo pasar cualquier texto al extractor, y al final devolverá un arreglo de números. El otro problema que tengo es que teóricamente podría poner todo el episodio o toda la escena en un solo embedding, pero eso no es muy bueno para la búsqueda vectorial porque el embedding estará muy diluido. Así que la solución que se me ocurrió es que estaba usando un pequeño resumidor LLM, y eso significa que tengo este modelo de lenguaje grande donde primero doy el texto completo, toda la escena, como entrada.

Luego averiguo cuántas tramas espero en esa escena. Luego tengo un breve prompt del sistema. Tengo un prompt de usuario donde le digo al LLM, oye, encuentra las líneas argumentales principales, un máximo de tramas máximas en esa escena. Luego también soy muy estricto con el formato de salida, por lo que debería devolver solo un arreglo de cadenas y un arreglo de resúmenes.

9. Integrating Vector Search Function

Short description:

Creación de función de búsqueda vectorial con resúmenes y embeddings, utilizando el concepto de tool calling para la ejecución de funciones y procesamiento de resultados.

Funcionó. Me tomó un par de días. También se colgó un par de veces, pero pude hacerlo en mi MacBook. Al final, terminé teniendo algo como esto. Ahora tengo un arreglo de resúmenes para cada escena y un arreglo de embeddings para esos resúmenes. Eso también me permitió crear esta función de búsqueda vectorial, donde tengo la pregunta, la consulta como entrada.

Luego crearé el embedding vectorial de esa consulta. Luego pasaré por el index DB, y calcularé la similitud de coseno entre la consulta y el resumen. Luego devolveré las cuatro escenas con la mayor similitud entre el resumen y la consulta. El otro problema es que ahora de alguna manera necesito llamar a esta función de búsqueda vectorial en mi pipeline.

La solución a eso es un concepto llamado tool calling. El concepto detrás de tool calling es que un LLM no puede ejecutar una función, pero la aplicación a su alrededor sí puede. El LLM puede detectar cuándo se debe llamar a una función. Luego puede generar una salida estructurada, podría ser texto, XML, JSON, o lo que sea. La aplicación puede entonces ejecutar la función, devolver la salida al LLM, y el LLM puede entonces trabajar con esa salida.

10. Utilizing System Prompts for Tool Calling

Short description:

Creación de función de tool calling con system prompts y consultas de usuario para la ejecución de funciones y procesamiento de respuestas.

Existen bibliotecas para hacer eso, pero quería ver hasta dónde puedo llegar solo con texto básico de entrada y salida. Creé esta pequeña función de tool calling donde tengo un system prompt muy grande. En el system prompt, le digo al LLM, si quieres llamar a una función, puedes usar este fragmento XML llamado function call con el nombre de la función con la consulta. Luego tengo algunas instrucciones, algunos ejemplos, y básicamente solo tengo la consulta del usuario como la pregunta.

Así que, veamos cómo funciona eso. Vamos a kit.niko.dev. Luego podemos activarlo. Ahí vamos. Y luego podemos preguntar algo básico. Así que, cada vez que presiono la barra espaciadora, escuchará. Buenos días, Kit, ¿cómo estás? Buenos días, Niko. Estoy bien, gracias. ¿Cómo puedo asistirte hoy? Así que, esa es una entrada bastante básica. Pero intentemos algo más especial. Por ejemplo, preguntemos, escucha, ¿recuerdas la conexión entre Sonny y el intercambio de gas venenoso mortal y sucedió algo trágico en ese entonces?

Necesito buscar el episodio para proporcionarte la información correcta. Recuerdo que ocurrió un incidente trágico durante un intercambio de gas venenoso entre Sonny y Fidel. Un bote se descargó accidentalmente, matando a un transeúnte llamado Laurie. Ese evento dejó a Michael profundamente afectado. Bien. Así que, lo que ves aquí es... Gracias. Así que, lo que ves aquí es que tengo un system prompt muy grande. En el system prompt, tengo todas las herramientas.

11. Integrating KidStone Tool and Car Control

Short description:

Exploración de la integración de herramientas con KidStone, comunicación API para el control del coche vía Bluetooth, utilizando placa de microcontrolador para el control de velocidad del coche.

Primero que nada, tengo KidStone y todo eso, y luego tengo una lista de todas las herramientas que puede usar. Ahora tengo mi pregunta, y luego genera este pequeño fragmento XML. Mi aplicación luego analizará la respuesta, descubrirá, oh, hay una función de búsqueda de episodios, necesito llamar a eso. Luego devolverá la salida de esa función como un nuevo mensaje en la conversación, y Kid puede usar eso para generar una respuesta con todo el contexto que necesita para realmente hacer eso.

Bien. Así que, eso funciona. Pero también quería que tuviera un cuerpo. Entonces, en la serie, Kid es un Pontiac Firebird, y los Pontiac Firebirds, comienzan alrededor de 20,000 francos. Aunque no lo creas, eso no está en mi presupuesto para proyectos secundarios, y además, no soy mecánico, así que no tenía idea de cómo lidiar con un coche real. Pero todavía soy un Kid de corazón, así que pude crear este pequeño Lego Kid. Ahora la pregunta es, ¿cómo puedo comunicarme con mi coche a través del navegador? Y eso, puedo hacerlo usando una API llamada Bluetooth, y esa es una API de navegador que me permite comunicarme con dispositivos de baja energía Bluetooth.

En el coche, básicamente tengo una pequeña placa de microcontrolador Arduino que está conectada a esta tira de LED, a las ruedas, y luego tengo dos baterías, una para las ruedas y otra para la placa de microcontrolador. Y en la placa, luego tengo un pequeño script en C++ que expone un servidor BLE con un servicio BLE con una característica BLE, y esa característica tiene dos bytes. Y un byte controla la velocidad de las ruedas en el lado izquierdo, y un byte controla la velocidad de las ruedas en el lado derecho. En mi aplicación, luego puedo conectarme al dispositivo, conectarme a la característica, cambiar el valor de esos bytes, lo que luego cambia la velocidad del coche.

12. Implementing Kit Reasoning and Fun

Short description:

Exploración de la implementación de Kit con proceso de razonamiento para la resolución de problemas y diversión en el aprendizaje y construcción usando LLMs.

Bien, me queda un minuto, así que veamos cómo funciona eso. Vamos a encenderlo. Ahora ves que está parpadeando, y puedo conectarme a eso. Ahí vamos. Hermoso. Y ahora puedo usar las teclas de flecha para controlarlo. Pero usar las teclas de flecha es bastante aburrido, y quería ver si podía implementar eso en mi flujo de trabajo de LLM. Así que vamos a comprobar eso. Hey Kit, creo que necesitamos salir de aquí. ¿Podrías ir a toda velocidad hacia adelante? Estoy acelerando a toda velocidad hacia adelante para sacarnos de aquí. De hecho, añadí un pequeño tiempo de espera, así que no quería que se fuera por el precipicio al final. Pero ese es un ejemplo muy simple, y podría haber logrado eso simplemente con reconocimiento de patrones básico donde estoy escuchando palabras como toda velocidad y adelante, pero quería tener un proceso de razonamiento real.

Así que lo que puedo hacer a continuación es, por ejemplo, decir, Hey Kit, tenemos un problema. Hay un bloqueo en la carretera frente a nosotros, y en el lado derecho, hay un gran río, así que tampoco podemos ir a la derecha. ¿Qué deberíamos hacer a continuación? Necesito navegar alrededor del bloqueo. Intentemos girar a la izquierda para encontrar una ruta alternativa. Bien. Como puedes ver, hay un proceso de razonamiento real donde intenta averiguar la mejor herramienta para resolver el problema.

Así que vamos a concluir. En realidad, pudimos crear Kit en puro JavaScript. Escucha y habla usando Jesper y Kokoro. Es inteligente usando el LLM Jemma2. Tiene personalidad usando solo ingeniería de prompts. Tenía una historia usando todas las escenas de la serie Knight Rider y agentic rack. Y finalmente tiene un cuerpo usando el Bluetooth y la llamada de herramientas. Así que ahora sabemos lo que hice, cómo lo hice, pero la verdadera pregunta es ¿por qué? ¿Por qué debería pasar horas tratando de recrear un coche de una serie que ni siquiera vi cuando era niño? Y la solución es bastante simple, simplemente porque es divertido. Es divertido aprender cosas. Es divertido construir cosas. Y ahora con LLMs, simplemente tenemos una herramienta más. Tenemos una herramienta más en nuestra caja de herramientas que podemos usar para construir cosas increíbles.

13. Challenges with Small Models and XML Usage

Short description:

Discusión sobre los desafíos con modelos pequeños y la necesidad de listas de parámetros de función para un uso eficiente de LLM.

herramienta más. Tenemos una herramienta más en nuestra caja de herramientas que podemos usar para construir cosas increíbles.

Así que eso fue todo de mi parte. Muchas gracias por su atención. La pregunta es, ¿añadiste alguna otra sanitización de entrada o mecanismos de seguridad que no hayas comentado ya? Sí. Sí.

La cosa es, con los modelos pequeños, si usas modelos grandes como Gemini o con un Claude o JetGPT, entonces toda la estructura, si le dices al LLM, oye, llama a esta función una vez y si tienes los resultados, entonces llámala de nuevo. Una cosa que a menudo sucede cuando tengo un modelo pequeño es que primero llamaría a la función, luego obtendría el resultado de vuelta y luego intentará llamar a la misma función de nuevo. No tengo idea de por qué, simplemente porque de alguna manera está en el contexto que tiene cosas que tiene que ejecutar esta función. Por lo tanto, tuve que tener una lista de funciones y los parámetros que ya llamé. Así que si es la misma función con los mismos parámetros, no la llames de nuevo y terminas al final. Ese es un problema interesante para eso. Sí. Encontré que es una cosa extraña pasar de los modelos grandes donde, y luego la llamada de función está integrada en eso. No tienes que tener tu propia cosa de XML para eso tampoco. Eso es cierto, sí. Y están construidos para hacer eso con, y luego retrocedemos a estos modelos pequeños y tienes mucho más trabajo que hacer. Sí. Pero tienes que hacer eso cuando estás en la web. Y también el formato, si debería usar JSON o XML o solo texto, fue muy- Tienes que preguntar sobre eso. Sí. La cosa es, lo intenté con JSON antes, pero si quieres forzar a un LLM a siempre producir la misma estructura JSON solo en un prompt del sistema, entonces eso funciona a veces en el primer prompt, pero ya en el segundo prompt, se olvidará de eso o producirá JSON inválido. Así que para mí, descubrí que era más fácil tener solo esos bloques XML.

14. Exploring LLMs and Enhancing Response Speed

Short description:

Discutiendo la importancia de entender el código escribiéndolo uno mismo y explorando formas de acelerar las respuestas en tareas de codificación.

Así que, por lo tanto, usé XML. Justo. Justo.

¿Cuánta ayuda de LLM tuviste para trabajar con los LLMs? Ninguna. ¿Ninguna? No. Admitámoslo, todos usan LLMs para obtener algunas nuevas ideas, para averiguar qué está mal. Así que, por supuesto, uso mucho los LLMs, pero no es código borrado. Lo escribí yo mismo. Creo que eso es importante. Y cuando estás aprendiendo algo, especialmente cuando quieres ir y hablar sobre ello frente a un grupo de personas, no puedes simplemente dejar que un LLM escriba todo el código por ti, porque entonces no sabes lo que hizo. Ese es todo el punto. Quería entender cómo funciona la llamada de funciones o la llamada de herramientas. Por eso me metí en toda la estructura XML y todo eso. Muy bien.

Tenemos la última pregunta aquí. Voy a intervenir. Si quisieras acelerar las respuestas, ¿cuáles serían los pasos? ¿Tienes más trabajo por hacer para lograr eso? Bueno, un problema es que ahora mismo tengo todos esos pasos, primero paso uno, paso dos, paso tres. Y si pudiera dividir la respuesta y comenzar a generar, tal vez después de la primera oración, ya podría comenzar a generar el texto a voz. Eso sería más rápido. O tal vez hablaría con Joshua, porque su ejemplo fue mucho más rápido que el mío. Así que necesito profundizar en su código y ver qué magia estaba usando. Y también tenía un MacBook más nuevo. Ese es un gran punto. El poder ayuda, ¿no? Sí. Sí. Justo. Muy bien. Bueno, con demostraciones increíbles y una manera fantástica de terminar aquí en la pista de residencia, demos a Nico otro gran aplauso. Gracias.

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

Embracing WebGPU and WebXR With Three.js
JSNation 2024JSNation 2024
27 min
Embracing WebGPU and WebXR With Three.js
Top Content
The 3JS project has evolved into a community-driven effort with numerous contributors over the past 14 years. It started with 3D engine work in Flash and transitioned to using SVGs for rendering in HTML5 before adopting WebGL. The project showcases various projects and frameworks, including a no-code tool powered by 3.js. The team is working on a new render using WebGPU and developing a new shader language called TSL. The hope is that WebGPU will eventually replace WebGL, offering better control and performance.
Construyendo un Asistente AI Activado por Voz con Javascript
JSNation 2023JSNation 2023
21 min
Construyendo un Asistente AI Activado por Voz con Javascript
Top Content
This Talk discusses building a voice-activated AI assistant using web APIs and JavaScript. It covers using the Web Speech API for speech recognition and the speech synthesis API for text to speech. The speaker demonstrates how to communicate with the Open AI API and handle the response. The Talk also explores enabling speech recognition and addressing the user. The speaker concludes by mentioning the possibility of creating a product out of the project and using Tauri for native desktop-like experiences.
El Flujo de Trabajo del Desarrollador Asistido por IA: Construye Más Rápido e Inteligente Hoy
JSNation US 2024JSNation US 2024
31 min
El Flujo de Trabajo del Desarrollador Asistido por IA: Construye Más Rápido e Inteligente Hoy
Top Content
AI is transforming software engineering by using agents to help with coding. Agents can autonomously complete tasks and make decisions based on data. Collaborative AI and automation are opening new possibilities in code generation. Bolt is a powerful tool for troubleshooting, bug fixing, and authentication. Code generation tools like Copilot and Cursor provide support for selecting models and codebase awareness. Cline is a useful extension for website inspection and testing. Guidelines for coding with agents include defining requirements, choosing the right model, and frequent testing. Clear and concise instructions are crucial in AI-generated code. Experienced engineers are still necessary in understanding architecture and problem-solving. Energy consumption insights and sustainability are discussed in the Talk.
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.
El Ascenso del Ingeniero de IA
React Summit US 2023React Summit US 2023
30 min
El Ascenso del Ingeniero de IA
Top Content
The rise of AI engineers is driven by the demand for AI and the emergence of ML research and engineering organizations. Start-ups are leveraging AI through APIs, resulting in a time-to-market advantage. The future of AI engineering holds promising results, with a focus on AI UX and the role of AI agents. Equity in AI and the central problems of AI engineering require collective efforts to address. The day-to-day life of an AI engineer involves working on products or infrastructure and dealing with specialties and tools specific to the field.
Instala Nada: Interfaces de Usuario de Aplicaciones con APIs Nativas del Navegador
JSNation 2024JSNation 2024
31 min
Instala Nada: Interfaces de Usuario de Aplicaciones con APIs Nativas del Navegador
Top Content
This Talk introduces real demos using HTML, CSS, and JavaScript to showcase new or underutilized browser APIs, with ship scores provided for each API. The dialogue element allows for the creation of modals with minimal JavaScript and is supported by 96% of browsers. The web animations API is a simple and well-supported solution for creating animations, while the view transitions API offers easy animation workarounds without CSS. The scroll snap API allows for swipers without JavaScript, providing a smooth scrolling experience.

Workshops on related topic

IA a demanda: IA sin servidor
DevOps.js Conf 2024DevOps.js Conf 2024
163 min
IA a demanda: IA sin servidor
Top Content
Featured WorkshopFree
Nathan Disidore
Nathan Disidore
En esta masterclass, discutimos los méritos de la arquitectura sin servidor y cómo se puede aplicar al espacio de la IA. Exploraremos opciones para construir aplicaciones RAG sin servidor para un enfoque más lambda-esque a la IA. A continuación, nos pondremos manos a la obra y construiremos una aplicación CRUD de muestra que te permite almacenar información y consultarla utilizando un LLM con Workers AI, Vectorize, D1 y Cloudflare Workers.
AI para Desarrolladores de React
React Advanced 2024React Advanced 2024
142 min
AI para Desarrolladores de React
Top Content
Featured Workshop
Eve Porcello
Eve Porcello
El conocimiento de las herramientas de AI es fundamental para preparar el futuro de las carreras de los desarrolladores de React, y la suite de herramientas de AI de Vercel es una vía de acceso accesible. En este curso, examinaremos más de cerca el Vercel AI SDK y cómo esto puede ayudar a los desarrolladores de React a construir interfaces de transmisión con JavaScript y Next.js. También incorporaremos APIs de terceros adicionales para construir y desplegar una aplicación de visualización de música.
Temas:- Creación de un Proyecto de React con Next.js- Elección de un LLM- Personalización de Interfaces de Transmisión- Construcción de Rutas- Creación y Generación de Componentes - Uso de Hooks (useChat, useCompletion, useActions, etc)
How to 9,2x Your Development Speed with Cline
JSNation 2025JSNation 2025
64 min
How to 9,2x Your Development Speed with Cline
Featured Workshop
Nik Pash
Nik Pash
La forma en que escribimos código está cambiando fundamentalmente. En lugar de quedar atrapado en bucles anidados y detalles de implementación, imagine enfocarse puramente en la arquitectura y la resolución creativa de problemas mientras su programador de pares de IA maneja la ejecución. En esta masterclass práctica, te mostraré cómo aprovechar Cline (un agente de codificación autónomo que recientemente alcanzó 1M de descargas en VS Code) para acelerar drásticamente tu flujo de trabajo de desarrollo a través de una práctica que llamamos "vibe coding" - donde los humanos se enfocan en el pensamiento de alto nivel y la IA maneja la implementación.Descubrirás:Los principios fundamentales del "vibe coding" y cómo se diferencia del desarrollo tradicionalCómo diseñar soluciones a un alto nivel y hacer que la IA las implemente con precisiónDemostración en vivo: Construcción de un sistema de almacenamiento en caché de grado de producción en Go que nos ahorró $500/semanaTécnicas para usar IA para entender bases de código complejas en minutos en lugar de horasMejores prácticas para solicitar a los agentes de IA que obtengan exactamente el código que deseasErrores comunes a evitar al trabajar con asistentes de codificación de IAEstrategias para usar IA para acelerar el aprendizaje y reducir la dependencia de ingenieros seniorCómo combinar efectivamente la creatividad humana con las capacidades de implementación de IAYa sea que seas un desarrollador junior que busca acelerar tu aprendizaje o un ingeniero senior que desea optimizar tu flujo de trabajo, saldrás de esta masterclass con experiencia práctica en desarrollo asistido por IA que puedes aplicar inmediatamente a tus proyectos. A través de demostraciones de codificación en vivo y ejercicios prácticos, aprenderás cómo aprovechar Cline para escribir mejor código más rápido mientras te enfocas en lo que importa: resolver problemas reales.
Building Full Stack Apps With Cursor
JSNation 2025JSNation 2025
46 min
Building Full Stack Apps With Cursor
Featured Workshop
Mike Mikula
Mike Mikula
En esta masterclass cubriré un proceso repetible sobre cómo iniciar aplicaciones full stack en Cursor. Espere comprender técnicas como el uso de GPT para crear requisitos de producto, esquemas de base de datos, hojas de ruta y usarlos en notas para generar listas de verificación que guíen el desarrollo de aplicaciones. Profundizaremos más en cómo solucionar alucinaciones/errores que ocurren, indicaciones útiles para hacer que su aplicación se vea y se sienta moderna, enfoques para conectar cada capa y más. Al final, ¡espere poder ejecutar su propia aplicación full stack generada por IA en su máquina!
Por favor, encuentre las preguntas frecuentes aquí
Webinar gratuito: Construyendo aplicaciones Full Stack con Cursor
Productivity Conf for Devs and Tech LeadersProductivity Conf for Devs and Tech Leaders
71 min
Webinar gratuito: Construyendo aplicaciones Full Stack con Cursor
Top Content
WorkshopFree
Mike Mikula
Mike Mikula
Para asistir al webinar, por favor regístrate aquí.En este webinar cubriré un proceso repetible sobre cómo iniciar aplicaciones Full Stack en Cursor. Espera entender técnicas como usar GPT para crear requisitos de producto, esquemas de base de datos, hojas de ruta y usar esos en notas para generar listas de verificación que guíen el desarrollo de la aplicación. Profundizaremos más en cómo corregir alucinaciones/errores que ocurren, indicaciones útiles para hacer que tu aplicación se vea y se sienta moderna, enfoques para conectar cada capa y más. Al final, ¡espera poder ejecutar tu propia aplicación Full Stack generada por IA en tu máquina!
Trabajando con OpenAI y la Ingeniería de Prompts para Desarrolladores de React
React Advanced 2023React Advanced 2023
98 min
Trabajando con OpenAI y la Ingeniería de Prompts para Desarrolladores de React
Top Content
Workshop
Richard Moss
Richard Moss
En esta masterclass daremos un recorrido por la IA aplicada desde la perspectiva de los desarrolladores de front end, enfocándonos en las mejores prácticas emergentes cuando se trata de trabajar con LLMs para construir grandes productos. Esta masterclass se basa en los aprendizajes obtenidos al trabajar con la API de OpenAI desde su debut en noviembre pasado para construir un MVP funcional que se convirtió en PowerModeAI (una herramienta de creación de ideas y presentaciones orientada al cliente).
En la masterclass habrá una mezcla de presentación y ejercicios prácticos para cubrir temas que incluyen:
- Fundamentos de GPT- Trampas de los LLMs- Mejores prácticas y técnicas de ingeniería de prompts- Uso efectivo del playground- Instalación y configuración del SDK de OpenAI- Enfoques para trabajar con la API y la gestión de prompts- Implementación de la API para construir una aplicación orientada al cliente potenciada por IA- Ajuste fino y embeddings- Mejores prácticas emergentes en LLMOps