Creando un Programador en pareja IA para Desarrolladores Xojo

A continuación encontrarás traducido al castellano el artículo escrito por Garry Pettet y publicado originalmente en el Blog oficial de Xojo.

Si has probado ChatGPT, Claude o Gemini para que te ayude en tu código con Xojo entonces probablemente habrás experimentado algún tipo de frustración con la que muchos de nosotros coincidimos: La IA no conoce tu proyecto. Terminas copiando y pegando clases, explicando tu arquitectura y recibes una serie de nombres de framework o métodos con alucinaciones de todo tipo… y que no existent. Funciona, de algún modo, pero es ciertamente un proceso torpe.

Quería algo mejor. No un chatbot genérico que pretendiese conocer Xojo, sino una herramienta que realmente pudiese ver en lo que estaba trabajando. Esto es por lo que he creado Zotto (¡con Xojo!).

¿Qué es Zotto?

Zotto es una app multiplataforma para macOS y Windows que actúa como un programador en pareja de IA específico para desarrolladores Xojo. Se conecta directamente con el IDE de Xojo, lee el proyecto en el que estás trabajando y le proporciona a la IA un contexto real de tu código, clases, signaturas de los métodos, propiedades, etc. En esencia, toda la estructura del proyecto.

El problema que soluciona

El contexto es el problema de fondo que surge con el uso de herramientas de IA de propósito general cuando se desarrolla con Xojo. Cuando preguntas a Claude o ChatGPT sobre algo relacionado con tu proyecto, la IA no tiene idea del aspecto que tiene la estructura de tu código. Te conviertes en el intermediario, alimentándolo manualmente con fragmentos de código y esperando que tenga información suficiente como para que devuelva consejos o información útil.

Zotto se encarga de eliminar parte de dicha fricción. Cuando se conecta con el IDE, la IA puede explorar tu proyecto por sí mismo utilizando las herramientas incluidas:

  • ProjectOverview le proporciona la estructura de carpetas de alto nivel.
  • ListItems le permite profundizar en carpetas concretas.
  • GetSignatures muestra las signaturas de los métodos y propiedades sin volcar todo el código.
  • ReadCode extrae las implementaciones completas de los métodos cuando es necesario.
  • SearchCode realiza búsquedas con patrones al estilo grep sobre el código base.
  • SearchDocs le permite buscar y recuperar directamente documentación de Xojo.

Estas herramientas están diseñadas para que sean eficientes en el uso de tokens. En vez de volcar todo el proyecto en la ventana de contexto, la IA solicita sólo lo que necesita, y cuando lo necesita. Una llamada ProjectOverview puede utilizar entre 300-500 tokens. Una llamada GetSignature sobre una clase proporciona a la IA la superficie de la API sin los detalles de la implementación. Este enfoque por capas significa que incluso los proyectos de mayor tamaño funcionen bien sin los límites de contexto.

Sólo lectura, por diseño

Una decisión que tome en las etapas iniciales fue que Zotto fuese de sólo lectura. Puede leer tu código, analizarlo, sugerir cambios y generar fragmentos de código; pero no puede modificar los archivos de tu proyecto, crear nuevos elementos o ejecutar scripts del IDE.

Esto es así de forma intencionada. Creo que el código generado por la IA debería de ser revisado por un desarrollador antes de que se incluya en tu proyecto. Zotto te proporciona sugerencias que puedes copiar y pegar, y te permite decidir lo que quieres implementar. Permaneces con el control.

Proporciona tu propio modelo

Zotto no está ligado a un proveedor de IA concreto. Soporta Claude, OpenAI, Gemini, Ollama, LM Studio y cualquier otra API compatible con Open-AI (lo cual también cubre servicios como Grok y OpenRouter). Si estás preocupado por los aspectos relacionados con la privacidad o bien trabajando en código sensible, puedes ejecutarlo por completo offline con un modelo local mediante Ollama o LM Studio. Tu código nunca dejará tu equipo.

Esto también significa que no estarás pagando por el uso de IA realizado por Zotto; dado que usarás tus propias llaves API o modelos locales, de modo que tendrás un control completo de los costes.

Como funciona, en la práctica

  • Un flujo de trabajo típico funciona como sigue:
  • Abre tu proyecto en el IDE de Xojo.
  • Ejecuta Zotto; este detectará automáticamente el IDE.
  • Selecciona con cuál de los proyectos abiertos trabajará.
  • Inicia la conversación.

A partir de este punto puedes preguntar a la IA que revise una clase, sugiera como refactorizar un método, ayudarte a comprender mejor el código que no te resulte faimilar en un proyecto heredado, o bien hacer lluvia de ideas sobre un enfoque relacionado con una nueva característica. Dado que la IA puede explorar el proyecto, la conversación será más natural comparado con la danza de copiar y pegar cuando se utiliza un chatbot genérico.

Por ejemplo, puedes preguntar “What does the ProcessOrder method in OrderManager do?” En vez de tener que copiar y pegar el código, la IA de Zotto llamará a ReadCode para mirar en el método propiamente dicho, luego probablemente llamará a GetSignatures sobre la clase padre para comprender mejor el contexto, y te proporcionará una explicación detallada.

Ampliación con MCP

Para aquellos desarrolladores que quieran ir un paso más allá, Zotto soporta el Model Context Protocol (MCP – Protocolo de Modelo de Contexto). Esto te permite añadir servidores de herramientas personalizados para el acceso a sistemas de archivos, operaciones con Git, consultas a bases de datos, o cualquier otra operación a la que quieras que tenga acceso la IA durante una conversación. Es el mismo protocolo soportado por Claude Desktop y otras herramientas de IA. Esto significa que los servidores MCP existentes funcionarán sin más.

Creado para la Comunidad

Zotto existe porque lo necesitaba para mi propio desarrollo con Xojo. Dedicaba demasiado tiempo siendo el intermediario entre las herramientas de IA y mi código base. Una vez que tuve algo funcional, consideré que probablemente otros desarrolladores de Xojo también lo podrían encontrar útil.

Hay una versión gratuita que puedes probar y que incluye la integración completa con el IDE y todas las herramientas incluidas para una única conversación. La licencia completa es una compra única de £69 (no es suscripción). Puedes aprender más sobre Zotto y descargar la app desde zotto.app.

Si tienes comentarios o consultas, me encantaría continuar la conversación en el foro.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *