¿Cómo se construye Cursor Composer? La ponencia principal de @srush_nlp, investigador de @cursor_ai, en la Cumbre Ray de @anyscalecompute se centró en la innovación tecnológica, los desafíos y las aplicaciones prácticas, haciendo hincapié en el papel del aprendizaje por refuerzo en la construcción de modelos de IA especializados. Características y motivaciones principales del compositor Rush comenzó explicando los aspectos más destacados del rendimiento de Composer: en las pruebas internas de Cursor, su rendimiento se acercó al de los modelos más avanzados, superando a los modelos lanzados en el verano de 2024, a los mejores modelos de código abierto e incluso a modelos considerados "rápidos". Además, superó a modelos inteligentes similares en eficiencia de generación de tokens en un factor de 4 y fue significativamente más rápido en el uso real del editor. Esto hace que Composer no solo sea "inteligente", sino que también se perciba como rápido, lo que permite a los usuarios mantener un flujo de pensamiento continuo en lugar de esperar respuestas prolongadas. La inspiración para Composer surgió de la popular función "Pestaña del cursor" de la aplicación Cursor. El equipo desarrolló entonces un prototipo de agente inteligente llamado "Cheetah", que los usuarios describieron como "tecnología alienígena". Partiendo de esto, el objetivo era crear una versión más inteligente sin sacrificar la eficiencia. Rush destaca que la inteligencia no se trata de alcanzar estándares generales, sino de abordar escenarios de programación reales, como gestionar grandes bases de código y cumplir con los estándares de estilo de codificación. Estos elementos son cruciales para el desarrollo de software cotidiano. Además, Composer prioriza una experiencia ágil y fluida: no solo genera tokens de forma eficiente, sino que también aprovecha las llamadas a herramientas en paralelo (como la búsqueda simultánea de código, la ejecución de comandos de terminal y la edición de archivos) para completar todo el proceso en segundos. Rush demostró esta experiencia en un vídeo de demostración: tras enviar una consulta, el agente ejecuta inmediatamente las herramientas de forma multihilo, generando rápidamente ediciones y resúmenes, lo que contrasta notablemente con las lentas iteraciones de los agentes tradicionales. Implementación técnica: La base de la presentación de Agent RL e infraestructura es el método de construcción Composer. Rush describe brevemente el mecanismo de funcionamiento del Cursor: las consultas del usuario se envían al servidor, el agente genera tokens y crea llamadas a herramientas en formato XML (como lectura de archivos, edición, búsqueda de código y ejecución de comandos). Estas herramientas se pueden ejecutar en serie o en paralelo, y el agente muestra los cambios en tiempo real en el IDE. Composer se entrena mediante aprendizaje por refuerzo (RL): partiendo de una consulta del usuario, simula múltiples "despliegues" (rutas), cada una intentando resolver el problema con una secuencia diferente de herramientas. Estas rutas se evalúan (por ejemplo, cuál es la más eficaz) y los parámetros del modelo se actualizan en consecuencia. Esto es análogo a ejecutar varias instancias de Cursor en paralelo para optimizar la mejor ruta. Rush habló de tres grandes desafíos: 1. Entrenamiento e inferencia: Se utiliza un modelo experto híbrido a gran escala (MoE) para el entrenamiento distribuido en miles de GPU. El equipo desarrolló un kernel personalizado para admitir el entrenamiento de baja precisión (MXFP8), logrando una aceleración de 3,5x (especialmente en chips Blackwell) sin necesidad de cuantización adicional. 2. Implementación compleja: Las tareas de codificación en el mundo real implican entre 100 000 y millones de tokens y cientos de llamadas a herramientas, lo que genera tiempos de ejecución desiguales. El framework Ray se utiliza para gestionar el equilibrio de carga y evitar problemas de «cola» (donde algunas rutas son demasiado lentas). 3. Consistencia: El entorno de entrenamiento debe simular el Cursor de producción, incluyendo respuestas idénticas de las herramientas. El equipo reutiliza la infraestructura de "agente en la nube" de Cursor, empleando microVMs para crear un entorno con estado que permite la modificación de archivos y la ejecución de comandos. Simultáneamente, se integra un modelo de incrustación personalizado para la búsqueda semántica, lo que ayuda al agente a localizar archivos de forma eficiente. Estas decisiones de infraestructura (como la integración de servidores de entrenamiento PyTorch, servidores de inferencia Ray y servidores de entorno de máquinas virtuales) son clave para el éxito, ya que garantizan una transición sin problemas entre el entrenamiento y la implementación real. Una semana después de su lanzamiento, Rush compartió los resultados iniciales, conclusiones y perspectivas futuras: con cada iteración de RL, el rendimiento del modelo mejoró progresivamente desde los niveles de código abierto hasta la versión final, demostrando la eficacia de la inversión computacional. El modelo aprendió a utilizar más herramientas paralelas, reduciendo la edición a ciegas y centrándose en la lectura y la búsqueda, lo que mejoró la precisión. Los comentarios de los usuarios fueron positivos, ya que consideraban que la combinación de velocidad e inteligencia había transformado sus hábitos de programación, pasando de «iniciar el agente y esperar» a «iterar rápidamente para resolver problemas». Las reflexiones de Rush incluyen: • El aprendizaje por refuerzo (RL) es particularmente adecuado para construir modelos específicos de dominio, en lugar de modelos lineales de aprendizaje (LLM) de propósito general. La IA ha transformado el proceso de I+D: los equipos están utilizando sus propios agentes de IA para construir paneles de control y sistemas backend, acelerando las iteraciones para equipos pequeños. • La infraestructura es el motor principal del aprendizaje por refuerzo, e implica una profunda integración de productos, escala y aprendizaje automático. Dirección del vídeo:
Cargando el detalle del hilo
Obteniendo los tweets originales de X para ofrecer una lectura limpia.
Esto suele tardar solo unos segundos.
