para realizar implementaciones rápidas. Sin embargo, ahora que la codificación se ha convertido en una mercancía, uno de los principales obstáculos que veo es la transferencia de conocimiento entre el cerebro humano y el agente codificador.
Si una idea se presenta correctamente al agente codificador, es extremadamente eficaz para implementar la solución, probarla y garantizar la implementación correcta.
Sin embargo, en muchos casos, hay muchos detalles y es muy difícil garantizar que se incluyan todos los detalles cuando se le solicita al agente codificador.
Aquí es donde entra en juego la alineación y, en este artículo, analizaré cómo garantizar de manera efectiva que sus intenciones estén alineadas con sus agentes de codificación y presentaré algunas técnicas que puede utilizar para lograrlo.
¿Por qué alinearse con agentes codificadores?
En primer lugar, siempre quiero analizar por qué debería interesarse por un tema específico. En este caso, es por eso que deberías alinearte con agentes de codificación como Claude Code.
Los agentes codificadores son increíblemente buenos implementando cosas si se les da una especificación muy específica y bien descrita.
Sin embargo, crear esta especificación bien descrita es más difícil de lo que piensas. En primer lugar, tienes que describir exactamente lo que quieres implementar, donde tengas una idea en tu cabeza de lo que quieres hacer. Sin embargo, siempre hay muchos matices que son difíciles de cubrir de esta manera al describirlo al codificador.
Es posible que olvide mencionar algunas partes de lo que se debe implementar. Es posible que no esté consciente de una decisión que debe tomar con respecto a la implementación. Puede que haya ambigüedades en su explicación.
Estos puntos suelen ser cosas que no notas de antemano porque, por supuesto, como humano, no puedes tener un contexto perfecto de lo que quieres implementar, que, en muchos casos, es algo que estás implementando porque otra persona te ha dicho lo que necesitas, por ejemplo, un cliente o un gerente de producto.
En segundo lugar, no tienes el contexto completo porque no eres plenamente consciente de todo lo que hay en el código base, especialmente ahora que una gran cantidad de código está escrito por IA. Es difícil tener una visión general completa de todo de antemano y, por lo tanto, se pierde el contexto perfecto.
Esta es la razón por la que la alineación de los agentes de codificación es tan difícil, y en este artículo, cubriré cómo alinearse con sus agentes de codificación de manera efectiva para que sus agentes de codificación funcionen de manera óptima y sean mejores en las implementaciones que usted les pide que hagan.
Cómo alinearse con sus agentes de codificación
En esta sección, cubriré técnicas específicas que utilizo para alinearme con mi agente de codificación, y también una mentalidad sobre cómo me alineo con mis agentes de codificación.
Cada sección incluirá una idea, mentalidad o técnica específica que puede implementar en su propio trabajo como programador para alinearse efectivamente con sus agentes de codificación.
Los agentes siempre van a la solución predeterminada.
El primer concepto que quiero cubrir es que los agentes codificadores siempre recurren a la solución predeterminada cada vez que intentan implementar algo.
Lo que quiero decir con esto es que el agente de codificación normalmente observará implementaciones anteriores de algo similar en su repositorio, lo replicará y lo volverá a hacer.
Esto significa que si su repositorio de código está mal organizado y le pide al agente de codificación que implemente una nueva función, es probable que el agente de codificación continúe con el patrón deficiente anterior y coloque la nueva función de una manera subóptima.
Déjame darte un ejemplo específico:
Naturalmente, muchas bases de código tienen muchas convocatorias de LLM. En una base de código ideal, tienes un servicio, que es básicamente un único archivo o carpeta llamado servicio LLM, donde tienes todas tus llamadas de LLM. Tienes funciones con opciones que deciden cómo se realiza la llamada LLM. Por ejemplo, decidir qué LLM usar, si usar salida estructurada o no, tokens de salida máxima, etc.
Sin embargo, una base de código mal organizada no tendrá esto como un solo archivo, sino que definirá los proveedores de llamadas del LLM en muchos archivos diferentes, y cada archivo contendrá una llamada separada al LLM.
A esto se le llama mala separación de preocupaciones.
Ahora, si está en una base de código bien organizada y solicita implementar otra llamada de LLM, el LLM utilizará de manera predeterminada la solución natural, que es, por supuesto, usar el archivo de servicio LLM compartido común, lo cual es excelente.
Sin embargo, si está trabajando en una base de código mal organizada, donde las llamadas de LLM se realizan por separado en muchos archivos diferentes, es probable que el agente continúe con este comportamiento y realice otra nueva llamada de LLM por separado, empeorando aún más el patrón de mala separación de preocupaciones.
El punto que estoy tratando de señalar aquí es que el agente de codificación simplemente seguirá el patrón natural en su código base, ya sea un buen patrón o un mal patrón. Por eso es tan importante, si desea alinearse eficazmente con su agente de codificación, asegurarse de que su código base tenga buenos patrones en todo momento y que refactorice su código de forma regular.
Si desea obtener más información sobre cómo refactorizar su código, puede leer mi artículo de TDS sobre el siguiente tema:
Cómo refactorizar código con Claude Code
Lo mejor de la refactorización ahora es que simplemente puedes pedirle a los agentes de codificación que lo hagan por ti.
Uso activo del modo plan.
Una técnica importante para alinearse con sus agentes de codificación es utilizar activamente el modo de plan siempre que interactúe con ellos. El modo de planificación es excelente porque le ayuda a identificar ambigüedades entre la implementación que está imaginando y explicando al LLM y el código base actual. Es posible que haya olvidado que si realiza un cambio en el código base, esto afectará otras partes del código base en las que no pensó y debe tomar una decisión sobre si seguir adelante con el cambio o cambiar los detalles de implementación.
No debe esperar tener un conocimiento completo del código base de antemano, simplemente porque los códigos base ahora los escriben principalmente agentes codificadores y es imposible tener una descripción general completa del código base.
Sin embargo, realmente no necesita una descripción general completa del código base porque simplemente puede preguntarle a su LLM sobre el código base en sí. Dígalo para que le ayude a identificar ambigüedades en la implementación que desea y cómo eso podría contradecir el código base actual.
En resumen, siempre que desee implementar una nueva función, debe utilizar el modo de plan con su agente. Deberías pasar mucho tiempo en modo de planificación, hablando y hablando con el modelo sobre:
Qué está imaginando Qué problemas puede ver el LLM sobre lo que desea implementar Cómo puede resolver esos problemas
Proporcionar al agente codificador tanto contexto como sea posible.
Otra razón por la que a menudo veo una desalineación entre lo que un ingeniero quiere implementar y lo que un agente de codificación realmente implementa es que el ingeniero posee un contexto que no se ha proporcionado al LLM.
Imagine, por ejemplo, que se le pide que implemente una función para clasificar imágenes en una de 10 categorías. Quiere utilizar el último modelo de Claude Opus porque sabe que es el mejor modelo y, por supuesto, quiere utilizar el mejor modelo para lograr la mayor precisión posible.
Sin embargo, en una reunión que tuvo recientemente con su jefe, le dijo que no podemos utilizar el modelo Claude Opus porque tiene un coste prohibitivo y que necesitamos encontrar una solución que sea 10 veces más barata.
Luego, cuando el ingeniero le pide al agente de codificación que implemente la solución, el ingeniero simplemente le dice: “Oye, necesitamos implementar esta función en la que clasificamos las imágenes en una de estas 10 categorías. Por favor, arréglelo ahora mismo”.
El problema aquí, por supuesto, es que el ingeniero le ha dado al LLM o al agente codificador el contexto del problema a resolver y, por supuesto, es un problema que el agente codificador puede resolver fácilmente ahora. Sin embargo, el ingeniero se ha olvidado de proporcionar al LLM todo el contexto que necesita, y es que no puede utilizar la solución predeterminada, que sería utilizar los mejores y más recientes LLM, como Claude Opus. Tiene que encontrar una solución que sea al menos 10 veces más barata.
Esto es, por supuesto, un gran desajuste entre el agente codificador y el ingeniero. Lo que sucederá es que el agente codificador realizará la implementación. Una vez finalizada la implementación, usted, el ingeniero, probablemente descubrirá que la solución no es realmente posible debido a los costos. Hay que dedicar tiempo a encontrar otra solución, lo que esencialmente significa que se desperdicia todo el tiempo dedicado a implementar la primera solución.
Por supuesto, no es muy probable que el ejemplo que proporcioné aquí suceda, porque con suerte recordará informarle a su agente de codificación el contexto de minimizar costos. Sin embargo, sucede exactamente lo mismo todo el tiempo: te olvidas de contarle al LLM o al agente de codificación algún contexto. Comienza a implementar algo, y eso es básicamente incorrecto, y el ingeniero tiene que realizar otra implementación más.
Para evitar que esto suceda, debe brindarle al agente codificador el mayor contexto posible. Por ejemplo, debe darle acceso al agente codificador a:
Transcripciones de notas de reuniones Canales de Slack y mensajes directos Notas de Notion
Y todo lo demás que pueda ser conocimiento y contexto útil para el LLM o el agente codificador al realizar una implementación. Esto evita problemas en los que el agente codificador carece de contexto, lo que empeora la toma de decisiones.
Conclusión
En este artículo, hablé de cómo alinearse eficazmente con los agentes de codificación. Un problema muy común que veo con los ingenieros y agentes de codificación es que no están completamente alineados con lo que quieren implementar. El ingeniero tiene una imagen en mente de lo que quiere implementar y cómo se vería. Otro ingeniero podría tener otra imagen en mente y, por último, el agente codificador podría tener una tercera imagen de cómo se vería la implementación.
Por supuesto, esto es muy problemático y debe evitarse a toda costa. Por lo tanto, proporcioné algunas técnicas e ideas que usted debe recordar, pensar y utilizar activamente cada vez que interactúe con sus agentes de codificación para asegurarse de estar lo más alineado posible, lo que a su vez hace que la implementación y la codificación sean más efectivas.
👋 Ponte en contacto
👉 Mi libro electrónico y seminario web gratuitos:
🚀 10 veces su ingeniería con LLM (curso gratuito por correo electrónico de 3 días)
📚 Obtenga mi libro electrónico gratuito sobre Modelos de lenguaje de visión
💻 Mi seminario web sobre modelos de lenguaje de visión
👉 Encuéntrame en las redes sociales:
💌 Subpila
🐦X/Twitter