AI Assistant en los IDE de JetBrains

Read this post in other languages:

Actualización, 13 de julio: AI Assistant está disponible en versiones preliminares, pero no se incluye con las versiones estables de los IDE v.2023.2 de JetBrains. Se puede instalar como un complemento separado disponible para las versiones 2023.2.x. Tenga en cuenta que el acceso de AI Assistant actualmente puede estar limitado por una lista de espera.


Las compilaciones EAP de esta semana de todos los IDE y herramientas .NET basados en IntelliJ incluyen una nueva e importante funcionalidad: AI Assistant. Este artículo del blog se centra en nuestros IDE basados en IntelliJ, y próximamente publicaremos otro dedicado a las herramientas .NET.

La IA generativa y los grandes modelos lingüísticos están transformando rápidamente el panorama de las herramientas de desarrollo de software, y la decisión de integrar esta tecnología en nuestros productos era un paso lógico para nosotros. Nuestro enfoque para incorporar la funcionalidad de AI Assistant se centra en dos aspectos principales:

  • Integrar la asistencia mediante IA en los flujos de trabajo de los usuarios del IDE.
  • Crear una integración profunda entre las funcionalidades de la IA y la comprensión del código, algo que siempre ha sido un punto fuerte de los IDE de JetBrains.

El servicio JetBrains AI proporciona las funcionalidades de IA. El servicio le conecta de forma transparente, como usuario de un producto, a diferentes modelos de lenguaje de gran tamaño (LLM) y habilita funcionalidades específicas impulsadas por la IA dentro de muchos productos de JetBrains. En su lanzamiento, el servicio es compatible con OpenAI y alberga además una serie de modelos más pequeños creados por JetBrains. En el futuro, tenemos previsto ampliarlo a más proveedores, para ofrecer a nuestros usuarios acceso a las mejores opciones y modelos disponibles.

También tenemos previsto apoyar los modelos locales e in-situ. En el caso de los modelos locales, lo más probable es que el conjunto de funcionalidades admitidas sea limitado.

Funcionalidades de la IA

La compilación EAP actual ofrece una muestra de funcionalidades que indica la dirección hacia la que avanzamos:

Chat con IA

Utilice la ventana de herramientas AI Assistant para mantener una conversación con el LLM, formular preguntas o repetir una tarea. El IDE le proporcionará un contexto específico del proyecto, como los lenguajes y las tecnologías utilizados en su proyecto. Una vez que le satisfaga el resultado, utilice la función Insert Snippet at Caret para colocar el código generado por la IA en el editor, o simplemente cópielo.

Para preguntar a la IA sobre un fragmento de código concreto, selecciónelo en el editor e invoque una acción del menú AI Actions (disponible en el menú contextual del editor o mediante el acceso directo Alt+Intro ). La acción New chat using selection le permite proporcionar su propio mensaje o solicitud. Puede introducir mensajes de asistencia mediante IA estándar adicionales seleccionando Explain code, Suggest refactoring o Find potential problems, en función de sus necesidades.

Generación de documentación

Si necesita generar la documentación de una declaración utilizando un LLM, invoque el menú AI Actions y seleccione la acción Generate documentation. Actualmente se admite para Java, Kotlin y Python.

Para Java y Kotlin, la generación de documentación se sugiere cuando se utiliza el método estándar de generación de un stub de comentario de documento: escriba /**. El IDE generará la parte conocida estáticamente del comentario (como las etiquetas @param en Java), y la IA generará el texto propio de la documentación por usted.

Sugerencias de nombres

Cuando cambie el nombre de una declaración Java, Kotlin o Python, la IA le sugerirá opciones de nombre para la declaración, basándose en su contenido. Esta opción puede desactivarse en Settings | Tools | AI Assistant.

Generación de mensajes de confirmación

El cuadro de diálogo del mensaje de confirmación ahora tiene el botón Generate Commit Message with AI Assistant. Haga clic en él para enviar los diffs de sus cambios al LLM, que generará un mensaje de confirmación describiendo sus cambios.

Las funciones de AI Assistant pueden diferir entre productos. Para obtener más detalles sobre productos específicos, consulte estas publicaciones dedicadas: CLion, GoLand, IntelliJ, PhpStorm, PyCharm, ReSharper, Rider, RubyMine, WebStorm y Fleet.

Acceso a las funcionalidades de la IA

Para acceder a las funcionalidades de la IA, deberá iniciar sesión en el servicio JetBrains AI con su cuenta de JetBrains. Puede iniciar sesión desde la ventana de herramientas AI Assistant o desde Settings | Tools | AI Assistant.

Tenga en cuenta que es posible que el servicio JetBrains AI no esté disponible para todo el mundo de forma inmediata. Primero dejaremos entrar a un número concreto de usuarios y, una vez alcanzada la capacidad máxima, los usuarios restantes se añadirán a una lista de espera. En las próximas semanas invitaremos gradualmente a más personas a probar el producto.

Actualmente, el acceso al servicio de IA está restringido a los territorios en los que está disponible el servicio OpenAI. Puede consultar la lista completa de territorios aquí.

El servicio de IA es de uso gratuito durante el ciclo de EAP. Informaremos de los modelos de licencias y precios disponibles más adelante.

Cómo gestionamos el código y los datos

Cuando utiliza las funciones de IA, el IDE necesita enviar sus solicitudes y código al proveedor de LLM. Además de las solicitudes que usted escriba, el IDE puede enviar otra información, como fragmentos del código, tipos de archivos, marcos de trabajo utilizados y otros datos que puedan servir para dar contexto al LLM.

Además, las compilaciones EAP que incluyen la funcionalidad de AI Assistant realizan una recopilación opcional de datos detallados sobre el uso de las funcionalidades de IA, incluida la comunicación completa entre usted y el LLM (tanto texto como fragmentos de código). Estos datos son estrictamente confidenciales y JetBrains los utiliza únicamente para mejorar sus productos. Nunca se comparten con terceros, y no se utilizarán para entrenar ningún modelo de aprendizaje automático que genere código o texto, ni se revelará de ninguna forma a ningún otro usuario. La opción que controla la recopilación detallada de datos se encuentra en Tools | AI Assistant | Data Sharing | Send AI Assistant usage statistics.

Para obtener información más detallada sobre nuestras políticas de recopilación de datos, consulte nuestro sitio web.

Enviénos sus comentarios

En esta fase, es extremadamente importante para nosotros escuchar sus comentarios sobre las nuevas funcionalidades, como las historias de éxito, situaciones en las que la IA no hizo lo que usted esperaba o sugerencias de otros escenarios en los que la IA podría ayudarle. Envíenos sus ideas y sugerencias haciendo clic en Share feedback en la ventana de herramientas AI Assistant e infórmenos de los errores de AI Assistant en YouTrack. ¡Gracias!

Artículo original en inglés de:

 

Luiz Di Bella

Dmitry Jemerov

image description