Claude Code funciona bastante bien. Puede ingresar una serie de instrucciones y hacer que produzca código u otro resultado para usted. Sin embargo, hay algunas cosas que puedes hacer para aumentar enormemente el rendimiento de Claude Code, especialmente cuando se trata de programación.
En este artículo, hablaré sobre la técnica número uno que uso todos los días para hacer que mi Código Claude sea varias veces más efectivo: pruebas automatizadas/más efectivas.
A primera vista, esto puede parecer un tema aburrido, pero cuando aprende más sobre él, las pruebas, especialmente cuando están automatizadas o se hacen más efectivas, son una excelente manera de ahorrar mucho tiempo. Si puede hacer que el agente pruebe sus propias implementaciones, será mucho más eficaz a la hora de producir la solución que deseaba crear.
¿Por qué automatizar las pruebas?
La razón número uno por la que debería automatizar las pruebas es que simplemente lo hace mucho más efectivo. Si puede hacer que un agente pruebe sus propias implementaciones automáticamente, será mucho mejor a la hora de implementar la solución que describe en su mensaje. En última instancia, esto le permite ahorrar mucho tiempo porque no tiene que iterar con el agente varias veces para obtener la solución exacta que desea.
Además, otro punto importante es que ahora que los agentes codificadores se han vuelto tan eficaces a la hora de producir código, el verdadero cuello de botella de la programación se ha convertido en las pruebas. Debe probar que la implementación realmente funciona de acuerdo con lo que tiene en mente. Descubrí que paso la mayor parte de mi tiempo programando, probando diferentes soluciones y asegurándome de que todo funcione como se esperaba. Si puedes hacer que las pruebas sean más efectivas o completamente automatizadas, eso resolverá el mayor cuello de botella que tengo en la programación, lo que naturalmente me hará mucho más efectivo.
Creo que esto se aplica a muchas personas que utilizan activamente agentes de codificación para programar, y solo estoy compartiendo cómo automatizo y hago que mis pruebas sean más efectivas.
Cómo automatizar las pruebas
Hablaré de algunos aspectos con respecto a las pruebas. Primero, hablaré sobre la automatización de pruebas, que es cuando le das acceso a tu agente para ejecutar pruebas. Esto puede suceder de muchas maneras diferentes. Puede, por ejemplo, darle scripts de prueba para ejecutar, pruebas unitarias para ejecutar o pruebas de integración completas. A continuación, analizaré cómo hacer que las pruebas con humanos sean más efectivas. A veces no es posible que el agente codificador realice la prueba por sí solo. Quizás requiera contexto o permisos especiales. Tal vez sea una acción complicada dentro de una interfaz de usuario que no desea que realice el agente de codificación, o que el agente de codificación no puede realizar, etc.
Pruebas automáticas agentes
Estos son los tres pasos principales para las pruebas automáticas:
Asegúrese de que el agente tenga todos los permisos que necesita. Solicite al agente que configure pruebas y pruebe sus implementaciones. Asegúrese de que las pruebas siempre se ejecuten antes de las confirmaciones o fusiones, dependiendo de cuándo desee que se ejecuten. Asegúrese de que todo el código nuevo reciba pruebas actualizadas y, a veces, revise manualmente las pruebas para asegurarse de que funcionen y hagan lo que usted cree que hacen.
Comenzaré explicando cómo puede darle acceso al agente para ejecutar pruebas. El punto más importante que puede tener en cuenta aquí es que debe permitir que el agente ejecute pruebas. Esto se hace dándole suficiente acceso, por ejemplo, tal vez necesite acceso a AWS para acceder a los datos, o tal vez necesite acceso al navegador para navegar a través de la aplicación. Por lo tanto, el primer paso aquí es asegurarse de que el agente tenga todos los permisos que necesita.
En mi experiencia, puedes ejecutar Claude Code con Omitir permisos peligrosamente o el Modo automático, que se lanzó recientemente y funciona muy bien. Desafortunadamente, cuando uso otros agentes de codificación como Gemini o Chachipetee, no lo he hecho todavía porque tengo algunas experiencias en las que los agentes de codificación han realizado acciones no deseadas que no eran reversibles. Sin embargo, esto nunca sucedió cuando usé los modelos de Claude.
La segunda parte de las pruebas automatizadas es simplemente solicitar al agente que configure las pruebas. Por ejemplo, le pido a mi modelo que configure pruebas de integración. Las pruebas de integración son esencialmente solo una serie de llamadas API que garantizan que el flujo a través de la aplicación sea el esperado. Y con los agentes codificadores, esto funciona muy bien. Por ejemplo, tenga una llamada de LLM que conduzca a un proceso de análisis, etc. Puede hacer que el proceso sea determinista y asegurarse de que los resultados sean correctos en todo momento. Simplemente informar al agente que configure pruebas de integración funcionará muy bien; el modelo configurará las pruebas y de hecho funcionará mejor de inmediato.
También puede simplemente pedirle al modelo que cree scripts de prueba que prueben una implementación y decirle que debe ejecutar ese script de prueba para asegurarse de que todo funcione según lo previsto y no detenerse hasta que el script de prueba funcione correctamente. La última parte es muy importante porque a veces los modelos son un poco vagos y es necesario informarles explícitamente que no pueden detenerse antes de que la implementación sea exitosa. Esto, por supuesto, supone que la implementación es posible dados los permisos y acciones que le ha otorgado al agente codificador.
Continuando, también es importante que se asegure de que estas pruebas se ejecuten antes de que el código pase a producción. Puede ejecutar la prueba como ganchos previos a la confirmación, aunque esto a veces puede ralentizarlo porque las pruebas deben ejecutarse antes de cada confirmación, y si la prueba lleva algún tiempo, lo ralentizará. También puede hacer que se ejecuten cada vez que tenga un envío, un nuevo envío a una solicitud de extracción. Es decir, si se actualiza una solicitud de extracción, ejecute pruebas de integración. Estas pruebas también pueden ser parte de las acciones de GitHub, por ejemplo, para que se ejecuten automáticamente y no tengas que ejecutarlas en tu computadora. Sin embargo, en mi experiencia, suele ser bueno tener estas pruebas en tu computadora, ya que las hace más rápidas y puedes activarlas más fácilmente.
Por último, en la sección de pruebas automatizadas, quiero resaltar cómo debe asegurarse de actualizar constantemente sus pruebas dado el nuevo código que se produce. Por ejemplo, si produce un nuevo fragmento de código, asegúrese de agregarle nuevas pruebas. Y si elimina el código antiguo, asegúrese de eliminar las pruebas correspondientes. Es importante mantener las pruebas para que sean efectivas. Aunque este mantenimiento puede parecer un trabajo adicional por adelantado, en realidad le ahorrará tiempo a largo plazo porque no ejecuta pruebas innecesarias y se asegura de que todo su código se pruebe, lo que reduce la posibilidad de errores.
Además, recomiendo que a veces inspeccione manualmente las pruebas mirando literalmente la entrada y la salida y pidiéndole al agente que le muestre los resultados. Esta inspección manual de las pruebas a veces puede resultar muy eficaz para garantizar que la prueba funcione como se espera y facilita el descubrimiento de errores en la prueba.
Haga que las pruebas manuales sean más efectivas
El segundo punto sobre las pruebas que quiero cubrir es hacer que las pruebas manuales sean más efectivas. Cuando hablo de pruebas manuales, me refiero a pruebas que requieren que un humano las realice y que no puede realizar una IA. Desafortunadamente, usted debe realizar algunas pruebas y no puede simplemente subcontratarlas para que las realice una IA. Esto podría suceder por varias razones:
La tarea es demasiado complicada para que la IA la realice y usted debe realizarla usted mismo. La tarea incluye algo a lo que la IA no tiene acceso ni permiso. Por ejemplo, requiere acceso de administrador que no desea otorgar a su IA, o utiliza audio al que la IA no tiene acceso actualmente. La tarea es demasiado complicada para que la realice la IA y no confías en que la realice correctamente.
En estos casos, lo mejor que puedes hacer es hacer que las pruebas sean más efectivas para ti. Por supuesto, su primer instinto al producir pruebas siempre debe ser intentar automatizarlas completamente para que nunca tenga que tocarlas usted mismo y la IA siempre las ejecute automáticamente. Sin embargo, siendo realistas, también debes probarlo mucho tú mismo.
Mi truco número uno para hacer que las pruebas sean más efectivas es utilizar pruebas visuales. Por ejemplo, si hago que la IA resuelva muchas tareas por mí, primero le hago crear un informe HTML que consta de cada tarea y una casilla de verificación al lado de estas tareas para poder marcar cualquier tarea que esté lista para completarse. También le digo a la IA que me proporcione enlaces a las páginas que contienen el contenido que necesito probar y la descripción de exactamente cómo puedo probar que funciona. Esto simplifica mucho el proceso porque no tengo que recordar todo lo que necesito probar y cómo hacerlo. Pero se me presenta conscientemente en un informe. Puedes ver un ejemplo de esto a continuación:
Otro punto para facilitar las pruebas es que intento subcontratar tantas tareas como sea posible al agente de codificación. Por ejemplo, si necesito datos concretos para probar algo manualmente, no paso mucho tiempo buscándolos manualmente. Le pido al agente codificador que acceda a los recursos requeridos y me encuentre los datos automáticamente.
Conclusión
En este artículo, analicé cómo puede automatizar las pruebas con Claude Code para ser mucho más efectivo con Claude Code o cualquier otro agente de codificación que esté utilizando. Principalmente hablé de cómo se pueden automatizar las pruebas, que es el enfoque más preferible, o cómo se pueden hacer las pruebas manuales más efectivas. Cuando los agentes de codificación se han vuelto tan buenos como eran, especialmente después del lanzamiento de los últimos modelos Opus, creo que las pruebas se han convertido en el cuello de botella. Si bien anteriormente pasabas la mayor parte del tiempo escribiendo código manualmente, ya no pasas tanto tiempo escribiendo código manualmente y pasas mucho más tiempo probando las implementaciones reales. Por tanto, tiene sentido intentar optimizar el proceso de prueba para hacerlo más eficaz. Para maximizar su eficiencia como programador, definitivamente me concentraría en la parte de prueba y pensaría en cómo puede ser más efectivo allí. Las técnicas que presenté en este artículo son sólo algunos ejemplos de lo que hago personalmente para que las pruebas 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
Consulte también mi artículo sobre Cómo maximizar Claude Cowork.