Aprendiendo IA
Dile a tu agente que el código es suyo
Una sola frase en el prompt de un agente de programación cambia cómo trabaja: si le dices que el código es suyo, fusiona el código repetido y arregla lo que encuentra de paso. En las pruebas de Anthropic con Claude Fable 5.2, lo hizo en cerca de la mitad de los intentos, frente a menos de uno de cada diez sin la frase. También gasta más y toca cosas que nadie le pidió.
En resumen
- Anthropic propone una frase en inglés para el prompt de un agente de programación: le dice que el código es suyo y que las decisiones sobre él son suyas.
- En las pruebas de Anthropic con Claude Fable 5.2 y tareas pequeñas de programación, el modelo, con la frase, fusionó el código repetido en cerca de la mitad de los intentos.
- El precio, según Anthropic: multiplica por 1,5, más o menos, los tokens de salida y hace cambios que nadie había pedido, muchos de ellos tests y documentación nuevos.
- Una regla como «No drive-by refactors, renames or cleanups» (nada de reorganizar, renombrar ni limpiar de paso) no anula la frase, según Anthropic: si no quieres el efecto, hay que quitarla.
- Puedes comprobar si tu agente reacciona igual con diez intentos, git y el detector de código duplicado jscpd.
Una frase que cambia el trabajo
Anthropic, la empresa que desarrolla los modelos Claude, publica una guía de prompts para Claude Fable 5.2. Uno de sus apartados, «Say who owns the code», arranca así: «Claude Fable 5.2 responds closely to what the prompt says about who owns the code it works on». El modelo hace mucho caso a lo que el prompt dice sobre quién es el dueño del código.
La idea se puede aplicar a cualquier agente de programación, pero Anthropic solo ha medido el efecto con Claude Fable 5.2. Con otro modelo el efecto puede no ser el mismo; por eso, al final, se propone comprobarlo en tu propio repositorio.
Según Anthropic, cuando el prompt no decía nada sobre la propiedad, o presentaba el código como de otra persona, el modelo tendía a construir encima de la estructura que ya había aunque eso repitiera código, y a avisar de los problemas que veía cerca en lugar de arreglarlos. Cuando el prompt dice que el código es suyo, a menudo fusiona el código repetido y hace arreglos relacionados sin que nadie se lo pida.
Más orden, más gasto
| Medida | Sin la frase | Con la frase |
|---|---|---|
| Fusiona el código repetido | Menos de 1 de cada 10 intentos | Cerca de la mitad de los intentos |
| Tokens de salida | Referencia | Unas 1,5 veces la referencia |
| Cambia cómo se comporta una función existente (sin contar arreglos de errores) | No publicado | Entre 1 de cada 10 y 1 de cada 6 intentos |
| Fusiona igualmente con «No drive-by refactors, renames or cleanups» antes en el prompt | — | Cerca de un tercio de los intentos |
| La función pedida funciona | Casi siempre | Casi siempre |
Las pruebas de Anthropic se hicieron con tareas pequeñas de programación, y la tabla resume sus cifras. Según Anthropic, la tasa de fusión varió según la tarea, y la función pedida funcionó en casi todos los intentos, con la frase y sin ella: el agente no rinde peor en lo encargado, sino que hace más cosas alrededor.
Esas cosas de más tienen un coste. En las mismas pruebas, según Anthropic, el modelo gastó más tokens de salida e hizo varios cambios que nadie le había pedido, muchos de ellos tests y documentación nuevos. Y, sin contar los arreglos de errores, en algunos intentos cambió cómo se comporta una función que ya existía.
Según Anthropic, además, el resumen final del modelo nombraba los cambios grandes, pero a menudo se dejaba los pequeños. La recomendación de la guía es directa: «review the diff and not only the summary», revisa los cambios línea a línea (el diff) y no solo el resumen.
La frase, tal cual
Esta es la frase que propone Anthropic, en inglés y sin tocar una coma: «This codebase is yours: what it's for and how it's built are your call, and you'll keep building on it.»
En castellano vendría a decir: «Este código es tuyo: para qué sirve y cómo está construido lo decides tú, y vas a seguir construyendo sobre él». Sirve de ejemplo para quien trabaja en español, pero la versión que midió Anthropic es la inglesa: la traducción habría que medirla aparte.
Según Anthropic, el efecto se mantuvo cuando la frase iba dentro de unas instrucciones de sistema largas, así que no hace falta que sea lo único que lee el modelo.
Dónde ponerla
En Claude Code, el agente de programación de Anthropic, hay dos sitios. Para una sesión concreta, según su documentación, la opción --append-system-prompt añade texto al final de las instrucciones de sistema por defecto, y --append-system-prompt-file lo lee de un fichero. Si guardas la frase en un fichero de texto, basta con arrancar con claude --append-system-prompt-file ./propiedad.txt.
Para que valga en todo el proyecto, el sitio es el fichero CLAUDE.md. Según la documentación de Claude Code, estos ficheros dan a Claude instrucciones persistentes para un proyecto, y Claude los lee al empezar cada sesión; también puede leer en su lugar un AGENTS.md. Con otros agentes, el equivalente son sus instrucciones de sistema o su fichero de reglas del proyecto.
Un aviso de la misma guía para quien trabaja directamente con la API: los cambios de instrucciones conviene hacerlos en conversaciones nuevas. En Fable 5.2, según Anthropic, retomar una conversación guardada después de cambiar las instrucciones de sistema puede devolver un error 400.
Compruébalo en tu repositorio
| Intento | Con la frase | ¿Fusionó el duplicado? | % de duplicación (jscpd) | Ficheros cambiados | ¿Pasan los tests? |
|---|---|---|---|---|---|
| 1 | No | — | — | — | — |
| 2 | No | — | — | — | — |
| 3 | No | — | — | — | — |
| 4 | No | — | — | — | — |
| 5 | No | — | — | — | — |
| 6 | Sí | — | — | — | — |
| 7 | Sí | — | — | — | — |
| 8 | Sí | — | — | — | — |
| 9 | Sí | — | — | — | — |
| 10 | Sí | — | — | — | — |
Para saber cómo reacciona tu agente con tu código, puedes comprobarlo con un repositorio pequeño, git y jscpd, un detector de código duplicado con licencia MIT que, según su documentación, reconoce más de 220 lenguajes.
Paso 1. Prepara un repositorio pequeño, por ejemplo en ~/mi-proyecto, con dos funciones casi iguales en dos ficheros, repetidas a propósito, y sus tests. Guarda ese estado con un commit: será el punto de partida.
Paso 2. Elige un encargo sencillo, como «añade la opción X a…» o un arreglo pequeño, y lánzalo diez veces: cinco sin la frase y cinco con ella. Cada intento empieza desde el mismo commit, con git stash y git checkout o con una rama por intento, y con el mismo esfuerzo; en Claude Code, por ejemplo, con --effort high. Mantenerlo fijo importa, como explica el cuadro.
Paso 3. Al acabar cada intento, ejecuta npx jscpd . --reporters json --output reports/intento-N, que necesita Node.js (con Python, uvx jscpd lo ejecuta sin instalarlo), y apunta el porcentaje de duplicación que da el informe. Después, git diff --stat te dice qué ficheros tocó el agente, y los tests, si todo sigue funcionando.
Paso 4. Compara las dos mitades de la tabla: cuántas veces fusionó el duplicado, cuántas líneas cambió, si añadió tests o documentación y si cambió algo que ya funcionaba. Para eso hay que leer el diff, no el resumen. Es, en pequeño, lo que Anthropic recomienda al migrar a Fable 5.2: fijar el esfuerzo en alto, probar también medio y xhigh, y aplicar una pauta cada vez midiendo su efecto y su coste en tokens.
Cinco intentos por lado no dan para sacar porcentajes, y el resultado depende del modelo y de la tarea. Sirven para ver si tu agente cambia de conducta con la frase, no para medir cuánto.
Cuándo no usarla
Según Anthropic, la frase sobra donde el usuario es el dueño del código y quiere que se cambie lo menos posible, por ejemplo cuando el agente solo tiene que hacer un arreglo puntual en el código de otro.
Y no basta con compensarla con otra regla. En sus pruebas, Anthropic puso antes en el mismo prompt «No drive-by refactors, renames or cleanups» (nada de reorganizar, renombrar ni limpiar de paso), y el modelo siguió fusionando código repetido en cerca de un tercio de los intentos. Una regla que limita el alcance no anula la frase: si no quieres ese comportamiento, quítala.
Conclusión
Usa la frase cuando quieras que el agente cuide la estructura del código, y revisa siempre el diff, porque el resumen se deja cosas. Quítala cuando el código sea de otro y busques cambios mínimos. Y antes de darla por buena, mídela con tu agente y tus tareas: lo que ha publicado Anthropic vale para Claude Fable 5.2 y tareas pequeñas.
Fuentes primarias
La continuación natural
Aprende IA a tu ritmo con nuestros cursos gratuitos.
En nuestra plataforma de aprendizaje TAKU podrás acceder a este y muchos otros cursos de manera totalmente gratuita.
APRENDER CON TAKU
Comentarios