Potenciando el Asistente de Código Cody utilizando LLMs
1. Introducción a los Asistentes de Codificación
Hoy vamos a hablar sobre qué tipo de problemas de ML enfrentamos, los componentes del sistema y cómo evaluar y considerar el contexto. También discutiremos el stack, los problemas en el contexto, los modelos, la evaluación y los matices. Por último, resumiremos el estado actual de la IA en el código y exploraremos el futuro, además de tocar la automatización de tareas complejas.
Genial. Buenas tardes a todos. Gracias por volver. Gracias por quedarse. Es como una sala vacía. Esperemos que la gente participe.
Mi nombre es Rishabh. Esta introducción está desactualizada porque estaba trabajando en personalización, y ahora estoy trabajando en ML generativo. Soy el jefe de IA en SourceCraft.
Solo una rápida muestra de manos, ¿cuántos de ustedes conocen a Cody? ¿Algunos? Ok. Bien. ¿Cuántos de ustedes están usando algún asistente de codificación, incluyendo Copilot o Cody? Algunos. Bien, genial. Así que hoy vamos a hablar mucho sobre qué tipo de problemas de ML enfrentamos, a alto nivel, cuáles son los diferentes componentes del sistema y cómo evaluamos esto, cómo pensamos en el contexto alrededor de esto, en esencia.
Un poco de contexto. Crecí en India. Estaba haciendo mi doctorado en búsqueda y recomendaciones. Estaba en Spotify investigando sobre recomendaciones de música, toma de decisiones multiobjetivo y recientemente estoy trabajando en ML de código. Así que vengo de un fondo de aprendizaje automático y lo aplico a las recomendaciones de medios y ahora al dominio de la codificación.
Hoy vamos a hablar sobre cuatro temas principales. Cinco minutos cada uno, aproximadamente. Comenzaremos hablando sobre qué hacen en general los asistentes de codificación. Esto es similar a lo que hacen Cody, Copilot y otros, pero mencionaré uno o dos matices sobre estos problemas. Pasaremos la mayor parte del tiempo hablando sobre cómo se ve el stack, qué problemas hay en el contexto, qué problemas hay en los modelos, qué problemas hay en la evaluación y cuáles son los matices allí. Hacia el final de los últimos cinco a ocho minutos, resumiré hacia dónde vamos ¿Cómo se ve el nivel de IA en el código? ¿Dónde estamos ahora, qué creemos que podría venir en el futuro y luego mi tema favorito, la automatización de tareas complejas, y compartir algunas ideas al respecto.
Genial. Si comenzamos con Cody, entonces Cody es un asistente de codificación. Vive en tu navegador, en tu IDE. Así que si estás usando VSCode, JetBrains, Eclipse, cualquiera de estos IDE con los que estés trabajando, es un tipo de asistente de codificación que te ayuda a ser un desarrollador más productivo. Y especialmente lo que eso significa es que tenemos características como autocompletar que dice que si estás escribiendo código, podemos ayudarte a escribir código más rápido.
2. Asistentes de Codificación: Casos de Uso y Áreas Problemáticas
Puedes codificar más rápido utilizando LLMs mediante el uso de completado, chat, generación de pruebas unitarias, explicación de código, detección de malos olores en el código, seguridad y detección de vulnerabilidades, y comandos personalizados. Estos son los casos de uso por los que la gente está utilizando actualmente Coddy. Discutiremos los problemas superpuestos y las tres áreas principales: contexto, modelos y evaluación.
Así que puedes code más rápido utilizando LLMs. Un ejemplo aquí sería que, oye, estoy escribiendo code, pero lo estoy haciendo en un repositorio grande. Así que hay un contexto sobre lo que estoy tratando de hacer. Y no se trata solo de este archivo, hay algún otro contexto en alguna otra parte del repositorio o tal vez en algunos otros repositorios también. Comienzas a escribir el completado correcto. Sugerir eso. Y cuando estás sugiriendo, puedes hacer un completado de una sola línea o un completado de varias líneas también. Y luego las latencias y todo tipo de factores entran en juego allí. Así es como se ve el completado.
También puedes chatear sobre repositorios, sobre tu code. Imagina que eres un nuevo desarrollador en un equipo y quieres entender de qué se trata esta base de código. Entonces entrarás y dirás, oye, cuéntame sobre esto. O si quiero hacer esto, simplemente chatea sobre tu base de código, básicamente. También puedes comenzar a ver la generación de unit test. Y el problema sería que selecciono un fragmento de code y luego puedo ir a Coddy y decir, ¿puedes generar una unit test para esto, por favor? También puedes ver la explicación del code. Y puedes decir simplemente ponerse al día. Similar al chat, pero más centrado en la explicación. También puedes ver los malos olores en el code. Así que los malos olores en el code son formas de encontrar cómo puedo optimizar un poco más este code. También puedes extenderlo a la security y detección de vulnerabilidades y muchas otras cosas. Y la lista continúa. También puedes crear comandos personalizados, lo que significa que si hay algo que haces diez veces al día, es mejor crear un comando personalizado y dejar que Coddy lo haga por ti. Estos son los casos de uso por los que la gente está utilizando actualmente Coddy. Ahora la pregunta es qué se necesita para construir esto. ¿Y de qué estamos hablando? Y parte de esto, el 70% de esto se superpone no solo con el asistente de codificación, sino también con cualquier co-piloto que veas en el mundo. Incluso si es un co-piloto de ventas, un co-piloto de marketing, un analista de riesgos, todas estas personas intentando desarrollar estos agentes para ayudar a algunos desarrolladores en la industria. La mayoría de estos problemas también son bastante comunes allí. Así que vamos a hablar de tres problemas aquí. El contexto, los modelos y la evaluación. Y todos estos son muy importantes. Y no es la primera vez que los vemos.
Available in other languages:
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
Workshops on related topic
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)
Después de esta sesión, tendrás una idea de qué son los LLMs y cómo se pueden utilizar prácticamente para mejorar tus propias aplicaciones.
Tabla de contenidos:- Demostración interactiva de la implementación de funciones básicas impulsadas por LLM en una aplicación de demostración- Discutir cómo decidir dónde aprovechar los LLMs en un producto- Lecciones aprendidas sobre la integración con OpenAI / descripción general de la API de OpenAI- Mejores prácticas para la ingeniería de indicaciones- Desafíos comunes específicos de React (gestión de estado :D / buenas prácticas de UX)
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
Comments