Copilot Workspace: Qué es, cómo funciona, por qué importa
En una charla reciente en el Unstructured Data Meetup, escuchamos a Idan Gazit, director sénior de investigación, y a Cole Bemis, ingeniero sénior de investigación en GitHub Next. Presentaron su Copilot Workspace, un nuevo entorno de desarrollo orientado a tareas construido sobre GitHub Copilot.
Este entorno de desarrollo mejora la forma en que utilizamos los modelos de IA generativa, ya que ahora podemos ir más allá de simples sugerencias de código hasta la implementación completa de funcionalidades. En las siguientes secciones, exploremos este Copilot Workspace y cómo puede ayudarnos a crear y mantener apps de IA.
Mira la repetición de la charla en YouTube.
¿Qué es GitHub Copilot Workspace?
GitHub Copilot Workspace es una herramienta diseñada para integrar la IA generativa directamente en el entorno de programación. Nos permite generar ideas, planificar, crear, probar y ejecutar código utilizando conversaciones y prompts en lenguaje natural. Está construido para ayudarnos a realizar tareas como corregir errores, implementar funcionalidades, etc.
GitHub Copilot Workspace está impulsado por un modelo generativo, lo que puede presentar algunos desafíos al interactuar con él, tal como ocurre con los modelos generativos. Un desafío común es lograr que el modelo entregue una respuesta, en este caso, una sugerencia, sin desviarse por completo.
El equipo de GitHub Next resolvió este desafío implementando puntos de dirección entre la tarea dada y el código sugerido. Permiten a los desarrolladores guiar el modelo indicándole cuándo malinterpreta nuestras solicitudes o pasa por alto algunos casos límite. Veamos el flujo que sigue Copilot Workspace.
De tarea a especificación, a plan, a código
Copilot Workspace comienza con la creación de tareas y avanza hacia la especificación, la planificación y la programación.
Fig 1- Flujo de trabajo de tarea a especificación, a plan, a código
Aquí tienes un desglose de cada paso:
Creación de tareas: El flujo de trabajo comienza con una tarea, que podría ser un issue de GitHub, una pull request, o una solicitud o idea general de funcionalidad. Este es el prompt inicial o tu objetivo.
Especificación: Copilot Workspace genera una especificación de alto nivel o un esquema de lo que debe lograrse a partir de la tarea. Aprovecha su comprensión de la base de código, los comentarios del issue y otros contextos para sugerir una especificación.
Planificación: Copilot Workspace luego transforma la especificación en un plan detallado. Este plan describe el proceso paso a paso requerido para implementar la solución, incluidos los cambios de código necesarios, pruebas y otras acciones. Luego se te presenta el plan para su validación.
Programación: Una vez que estás satisfecho con el plan, Copilot Workspace genera el código real para implementar la solución. Utiliza el plan como guía, aprovechando su comprensión de la base de código y los lenguajes de programación para escribir el código necesario.
Sin estos puntos de dirección, es como cerrar los ojos y esperar dar en el blanco. Cada paso del flujo de trabajo es editable y te permite recopilar o mejorar el contenido.
Una demo práctica que muestra cómo funciona Copilot Workspace
Veamos un ejemplo práctico para comprender mejor el flujo de trabajo de Copilot Workspace. Dado que Copilot está en la etapa de revisión técnica y no está disponible para todos, usaremos capturas de pantalla presentadas en su lanzamiento oficial.
Comencemos con un issue de GitHub. Esta es la tarea en la que queremos que Copilot Workspace trabaje con nosotros. En este caso, queremos añadir un jugador de IA a nuestro juego para que no siempre requiera dos personas. El jugador de IA debería bloquear con éxito al jugador humano el 95% de las veces, haciendo que el juego sea desafiante pero jugable. Una vez que hagas clic en Open in Workspace, se activará el flujo de trabajo.
Fig. 2: Problema con la opción de jugador de IA en GitHub
Una vez activado, Copilot Workspace toma el problema como la tarea y genera las especificaciones o un esquema. Examina la base de código actual y valida que no haya ningún jugador de IA. Luego propone las modificaciones que permitirían que el estado futuro del juego tenga un jugador de IA. Puedes hacer clic en la propuesta y editarla para que cumpla tus expectativas.
Fig. 3: Paso de especificación del flujo de trabajo de Copilot Workspace
Una vez que estés satisfecho con el esquema, Copilot Workspace genera el plan para implementarlo. El plan consiste en cambiar los archivos index.jsx y style.css para incorporar la nueva función de jugador de IA. Copilot Workspace enumera todos los cambios que realizará en cada archivo para implementar las especificaciones. Puedes editar el plan en esta etapa o añadir un elemento.
Fig. 4: Paso de planificación del flujo de trabajo de Copilot Workspace
Después de haber revisado el plan y estar satisfecho, implementar la solución planificada es el siguiente paso. Esto implica escribir el código sugerido en los archivos sugeridos. El Copilot Workspace muestra los archivos modificados. Puedes editar y modificar el código directamente en la vista.
Fig. 5: Paso de implementación del flujo de trabajo de Copilot Workspace
Una vez que estés conforme con el código, puedes abrir una vista previa en vivo para ver cómo se ve el juego. Dentro del entorno de Copilot Workspace, una terminal integrada te permite validar y probar tu código sin cambiar a una terminal o entorno aparte. Si estás satisfecho con la nueva función, en este caso, el jugador de IA, el siguiente paso es abrir una solicitud de extracción.
Fig. 6: Paso de creación de solicitud de extracción del flujo de trabajo de Copilot Workspace
Este paso te permite a ti o a tu equipo revisar los cambios realizados una última vez antes de fusionar el código. Este enfoque nos muestra que Copilot Workspace no reemplaza a los desarrolladores, sino que ayuda a complementarlos, ya que se necesita validación durante todo el proceso.
Optimización de la creación de RAG con GitHub Copilot Workplace y Milvus
GitHub Copilot Workspace mejora la productividad al permitir un flujo de trabajo de desarrollo de tarea a código mediante IA generativa. Este Copilot Workspace hace que crear aplicaciones complicadas sea mucho más fácil y eficiente.
Un gran ejemplo es Generación Aumentada por Recuperación (RAG). Es una técnica avanzada diseñada para abordar las alucinaciones de los modelos de lenguaje grandes (LLM) proporcionando a esos modelos conocimiento externo. RAG consta de dos componentes clave: un recuperador creado con bases de datos vectoriales como Milvus o Zilliz Cloud (el Milvus gestionado) y modelos de incrustación, y un LLM.
Crear aplicaciones RAG es complicado. Sin embargo, con Copilot Workspace, estas tareas se agilizan mucho más.
Veamos una tarea de RAG —hacer que una aplicación monolingüe sea multilingüe— y veamos cómo este entorno de trabajo puede ayudar.
Tienes código RAG en una aplicación que actualmente es monolingüe y funciona con la base de datos vectorial Milvus. Quieres que la aplicación admita varios idiomas utilizando un modelo de incrustación con soporte multilingüe de Milvus, como BGE-M3. Puedes indicar a Copilot Workspace que implemente esta función.
Implementación con Copilot Workspace
Así es como puedes utilizar Copilot Workspace para implementar esta función:
Creación de tareas: Comienzas creando un issue de GitHub para hacer que la app sea multilingüe. La tarea consiste en integrar el modelo multilingüe (BGE-M3) en el sistema RAG existente.
Especificación: Copilot Workspace analiza la tarea y genera una especificación de alto nivel. Identifica la necesidad de actualizar la canalización de procesamiento de datos para manejar varios idiomas y modificar el sistema RAG para utilizar BGE-M3 para soporte multilingüe.
Planificación: Luego, Workspace genera un plan detallado. Esto incluye pasos como:
Actualizar el proceso de ingesta de datos para incluir datos multilingües.
Modificar la configuración existente de Milvus para admitir BGE-M3.
Ajustar el sistema RAG para aprovechar las capacidades multilingües de BGE-M3.
Probar el sistema para garantizar que funcione en varios idiomas.
- Codificación: Con base en el plan validado, Copilot Workspace genera el código necesario:
Actualiza los scripts de ingesta de datos para preprocesar e indexar datos multilingües en Milvus.
Configura el código de Milvus para utilizar embeddings de BGE-M3 para búsquedas por similitud en varios idiomas.
Modifica el sistema RAG para consultar Milvus usando el modelo multilingüe y recuperar resultados relevantes.
Revisión y prueba: Revisas el código generado, realizas los ajustes necesarios y pruebas los cambios.
Pull Request y fusión: Una vez satisfecho, abres un pull request para revisar los cambios con tu equipo. Después de la validación final, los cambios se fusionan, lo que hace que la app sea multilingüe.
Conclusión
La presentación de Idan Gazit y Cole Bemis iluminó el potencial de GitHub Copilot Workspace. Este entorno de desarrollo representa un paso importante para optimizar el desarrollo de software complicado como RAG, mejorando la productividad al permitir un flujo de trabajo de desarrollo de tarea a código mediante IA generativa.
Recursos adicionales
Sigue leyendo

The Real Bottlenecks in Autonomous Driving — And How AI Infrastructure Can Solve Them
Autonomous driving faces a data bottleneck. Learn how AI-native vector databases like Zilliz solve scale, cost, and insight challenges across AV pipelines.

Optimizing Embedding Model Selection with TDA Clustering: A Strategic Guide for Vector Databases
Discover how Topological Data Analysis (TDA) reveals hidden embedding model weaknesses and helps optimize vector database performance.

Vector Databases vs. Hierarchical Databases
Use a vector database for AI-powered similarity search; use a hierarchical database for organizing data in parent-child relationships with efficient top-down access patterns.


