Building an Internal Coding Agent at Zup: Lessons and Open Questions
El artículo presenta CodeGen, un agente de codificación interno de Zup, y demuestra que las decisiones de ingeniería circundantes al modelo, como el diseño de herramientas, la seguridad y la supervisión humana, son más determinantes para la fiabilidad y adopción en producción que la calidad técnica del modelo o el ajuste de prompts.
Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo
Imagina que en Zup Innovation (una gran empresa de tecnología en Brasil) decidieron construir un asistente de programación inteligente, al que llamaron CodeGen. La idea era tener un "robot" que no solo sugiriera líneas de código, sino que pudiera leer archivos, escribirlos, ejecutar comandos en la computadora y arreglar errores por sí mismo.
Pero aquí está el problema: construir un prototipo que funciona en un laboratorio es muy diferente a tener un robot que trabaje de verdad en una oficina llena de gente.
Este artículo cuenta la historia de cómo aprendieron a convertir a CodeGen de un "juguete inteligente" a una herramienta confiable. Aquí te explico las lecciones clave usando analogías sencillas:
1. El problema: El "Genio" que no sabe usar las herramientas
Al principio, pensaron que si tenían un modelo de Inteligencia Artificial (IA) muy listo, todo iría bien. Pero se dieron cuenta de que la IA es como un genio muy inteligente pero un poco torpe:
- Si le pides que reescriba un libro entero de una vez, a veces olvida la mitad de las páginas o inventa cosas que no existen (alucinaciones).
- Si le das llaves para abrir cualquier puerta (comandos de terminal), podría borrar accidentalmente toda la casa (
rm -rf).
La lección: No basta con tener un cerebro brillante; necesitas darle herramientas seguras y fáciles de usar.
2. La solución: Diseñar herramientas "a prueba de errores"
En lugar de intentar convencer a la IA con mejores instrucciones (lo que llamamos "ingeniería de prompts"), cambiaron el diseño de las herramientas que la IA podía usar.
- El editor de texto (Edición dirigida): Imagina que quieres corregir un error en una novela. En lugar de pedirle a la IA que reescriba todo el libro (y arriesgarse a que olvide el final), le dijeron: "Solo busca esta frase exacta y cámbiala por esta otra".
- Analogía: Es como usar un corrector de texto que solo cambia una palabra, en lugar de reescribir todo el párrafo. Así, el robot no se pierde ni borra cosas importantes.
- La regla de "Leer antes de tocar": Antes de que la IA pueda editar un archivo, está obligada a leerlo primero.
- Analogía: Es como un carpintero que no puede empezar a cortar madera hasta que ha medido y visto el tablero. Esto evita que la IA intente arreglar cosas que ya no existen o que nunca existieron.
3. La seguridad: El "Cinturón de seguridad" y el "Jefe"
La parte más peligrosa es cuando el robot puede ejecutar comandos en la computadora (como instalar programas o borrar archivos).
- Múltiples capas de seguridad: No basta con poner una sola cerradura. Si bloqueas una puerta, el robot podría entrar por la ventana. Por eso, bloquearon comandos peligrosos de varias formas a la vez.
- Modo de aprobación (El "Jefe" humano): Al principio, el robot trabajaba en "modo aprobación". Cada vez que quería hacer algo (como guardar un archivo o ejecutar un comando), tenía que levantar la mano y decir: "Oye, ¿puedo hacer esto?".
- La magia: A medida que los desarrolladores veían que el robot no cometía errores, ganaban confianza y poco a poco le daban más libertad, pasando al "modo autónomo". Nadie les obligó a confiar; la confianza se ganó poco a poco.
4. La arquitectura: Construir la casa antes de comprar los muebles
Un error común es intentar usar herramientas complejas (marcos de trabajo o frameworks) desde el primer día.
- Lo que hicieron: Primero construyeron el sistema a mano, entendiendo cómo funcionaba cada tornillo. Solo después, cuando las herramientas comerciales maduraron y se parecieron a lo que ellos ya habían hecho, decidieron adoptarlas.
- Analogía: Es como aprender a cocinar primero sin un robot de cocina. Una vez que sabes cómo cortar y mezclar, cuando compras el robot, sabes exactamente qué botón apretar y si realmente te ayuda o no.
5. ¿Qué aprendieron? (Resumen en una frase)
El éxito de un agente de IA no depende de qué tan "inteligente" sea el cerebro del modelo, sino de qué tan bien estén diseñadas sus herramientas, cómo se leen sus instrucciones y cómo se le enseña a confiar en él poco a poco.
Preguntas que aún quedan en el aire
El equipo reconoce que aún tienen dudas, como:
- ¿Cómo diseñar las herramientas para que el robot nunca se confunda?
- ¿Cuándo debe el robot pensar por sí mismo y cuándo debe esperar órdenes?
- ¿Cómo recordamos lo que aprendimos ayer para usarlo hoy sin confundirnos?
En conclusión: CodeGen no es un robot mágico que lo hace todo perfecto. Es una herramienta bien diseñada, con frenos de emergencia, que aprendió a trabajar con humanos porque los humanos le dieron las herramientas correctas y el tiempo necesario para ganar su confianza.
¿Ahogado en artículos de tu campo?
Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.