Cómo ejecutar agentes de codificación de forma segura

ya que Claude Code y Codex me han brindado el mayor impulso de eficiencia que jamás haya experimentado mientras programaba, un impulso mucho mayor en comparación con obtener computadoras más potentes o aprender nuevos temas y técnicas.

Sin embargo, un caso común al ejecutar agentes de codificación en su computadora es:

¿Cuántos permisos debería otorgar a sus agentes de codificación? ¿Cómo los ejecutas de forma segura si les das muchos permisos?

En este artículo, cubriré cómo ejecuto mis agentes de codificación de forma segura en mi computadora, por qué ejecutar con el modo YOLO está completamente bien para la mayoría de las personas y por qué aprobar manualmente todos los permisos puede ser bastante peligroso en sí mismo debido a una falsa confianza.

Esta infografía destaca los contenidos principales de este artículo. Analizaré cómo ejecutar agentes de codificación de forma segura, por qué no es necesario realizar una revisión humana de todo el código, cómo evitar ejecutar acciones inseguras, cuántos permisos otorgar a sus agentes de codificación y cómo ejecutarlos de forma segura. Imagen de ChatGPT.

¿Por qué ejecutar agentes de codificación?

En primer lugar, debo explicar por qué debería ejecutar agentes de codificación en su computadora. Si estás trabajando con programación, debería explicarse por sí mismo. Usar agentes de codificación para programar en lugar de programar manualmente es mucho más eficiente. Ni siquiera se puede comparar con escribir el código usted mismo o incluso con completar pestañas. Ahora es muy posible que los agentes escriban todo el código por usted, dado lo poderosos que se han vuelto los últimos LLM, y es simplemente mucho más eficiente en la implementación del código de lo que los humanos pueden llegar a ser.

Sin embargo, normalmente se señalan algunos peligros de ejecutar agentes de codificación, normalmente mencionando los dos puntos siguientes:

Da miedo no mirar y verificar el código usted mismo o realizar una revisión humana. Los agentes pueden realizar acciones inseguras y debes asegurarte de que no hagan nada que no deban hacer.

En este artículo, explicaré por qué no estoy de acuerdo con estos dos puntos y cómo puede asegurarse de ejecutar agentes de codificación de forma segura en su computadora en su entorno.

Ejecutar agentes de codificación de forma segura

En esta sección, responderé los dos puntos planteados anteriormente, cubriendo cuántos permisos otorgar a sus agentes y cómo ejecutarlos de manera segura una vez que les proporcione los permisos que necesitan. Cubriré cada parte en una sección separada.

Por qué no es necesario revisar manualmente todo el código

En primer lugar, quiero responder la primera pregunta sobre cuántas personas piensan que todo el código debería revisarse manualmente. Estoy totalmente en desacuerdo con este argumento porque los agentes codificadores se han vuelto tan poderosos ahora que escriben mejor código, o al menos código igualmente bueno, que muchos humanos. Sí, es posible que el código no sea perfecto y cumpla con todas las reglas de formato o mejores prácticas. Sin embargo, el código que producen los agentes de codificación suele ser muy funcional y los agentes son extremadamente buenos para descubrir errores.

Yo diría que los agentes de codificación en muchos casos pueden producir mejor código que los humanos porque son capaces de absorber mucho más contexto alrededor del repositorio y así evitar muchos errores.

Si tiene un repositorio de código bien organizado con muchos detalles en sus archivos agentes.md y otros archivos de rebajas, y deja que otros agentes de codificación realicen revisiones de código en el código que usted produce, no creo que necesite revisar su código manualmente.

Por supuesto, hay casos en los que tocas código muy confidencial que sabes que puede provocar errores. En estos casos, naturalmente deberías realizar una revisión humana, pero para la mayor parte del código que generas, creo que ya no es necesaria una revisión humana.

Garantizar que los agentes no realicen acciones inseguras

El segundo punto mencionado anteriormente fue que los agentes pueden realizar acciones inseguras y es necesario asegurarse de que no hagan algo que no deberían hacer. Es cierto que si le otorga muchos permisos a su agente de codificación, obviamente puede realizar acciones inseguras. Por ejemplo, si les otorga amplios permisos de AWS, pueden, por supuesto, actualizar su infraestructura.

Sin embargo, en mi experiencia, tengo dos contraargumentos:

Los agentes codificadores muy, muy raramente cometen estos errores. Encuentro que Claude Code y Codex casi siempre me informan antes de tomar una decisión irreversible, o al menos una decisión que no es fácilmente reversible. No cometen simplemente errores graves que sean muy difíciles de revertir. Si un agente de codificación puede realizar una acción destructiva, como eliminar una base de datos de producción o equivalente, yo diría que el problema no está en el agente de codificación, sino en la forma en que estructura su código. Obviamente, una IA o un humano no deberían poder eliminar por completo una tabla de producción. Si es así, primero que nada les has dado permisos demasiado amplios. Técnicamente, un humano también podría cometer ese error. Y en segundo lugar, no has estructurado tu código lo suficientemente bien. Por ejemplo, si se elimina una tabla, debes asegurarte de tener una copia de seguridad.

No creo que el argumento de que los agentes realizan acciones inseguras sea realmente cierto. Básicamente, los agentes de codificación no cometen estos errores irreversibles, y si es posible que se produzca un error irreversible y destructivo, como eliminar una base de datos de producción, entonces debe actualizar su infraestructura de código para asegurarse de que no sea posible.

¿Cuántos permisos darle a tus agentes?

Ahora, cubramos cuántos permisos debería otorgarles a sus agentes de codificación. Cada vez que ejecuto mis agentes, ejecuto Claude con –dangerfully-skip-permissions y Codex en modo YOLO. Esto significa que básicamente le pido que nunca me pida permiso al realizar una acción. La única excepción que tengo a esto es cuando ejecuto el comando rm, por ejemplo, eliminando recursivamente como se muestra a continuación:

rm-rf

Al ejecutar este comando, los agentes tienen que pedirme permiso porque sé que es una acción destructiva en mi computadora que no es reversible (es decir, no puedo recuperar archivos que se eliminan con este comando).

De lo contrario, soy muy liberal con los permisos que doy a mis agentes. Sin embargo, trato de limitarlo únicamente a los permisos relevantes. Por ejemplo, un agente de codificación no necesita acceso de administrador a AWS, pero el acceso de espectador o incluso de energía puede ser valioso para que el agente complete su trabajo.

En general, creo que tu regla debería ser:

Sea liberal con sus permisos. Asegúrese de que el agente codificador tenga todas las herramientas que necesita para realizar su trabajo de manera efectiva. Sin embargo, intente también limitar los permisos a lo que el agente realmente necesita y tenga cuidado con los permisos de nivel de administrador que pueden realizar acciones destructivas.

También quiero resaltar en esta sección que, por supuesto, la cantidad de permisos que otorga a sus agentes debe depender del dominio en el que está trabajando. Si está trabajando en un dominio de seguridad súper alta, como aplicaciones militares o de atención médica, definitivamente debe tener mucho más cuidado con el código que produce y las acciones que realizan sus agentes. Sin embargo, la mayoría de los programadores no trabajan en estos dominios, lo cual es cierto para mis puntos a lo largo de este artículo. Le insto a que piense en su caso de uso y en qué tan dañinos o no dañinos pueden ser los errores de los agentes de codificación.

Técnicas para ejecutar agentes de codificación de forma segura

En esta última sección, también quiero cubrir cómo ejecutar los agentes de codificación de forma segura, dado que les otorgaste muchos permisos, como cubrí en la última sección. Existen muchas técnicas que puede utilizar para ejecutar los agentes de codificación de forma segura.

Una es, por supuesto, no otorgarles permisos de nivel de administrador, como los que cubrí en la última sección, porque los permisos de nivel de administrador generalmente implican poder ejecutar comandos irreversibles, lo cual, en general, es algo que desea evitar. En pocas palabras, un agente codificador debería poder realizar cualquier acción que sea reversible, ya que esto le da la libertad de realizar tareas de manera efectiva. Con decisiones irreversibles hay que tener mucho cuidado.

Para garantizar que el código que producen mis agentes de codificación sea eficaz y disminuir la probabilidad de que el código contenga errores, normalmente utilizo otro agente de codificación para realizar una revisión del código. Luego hago que los agentes trabajen juntos de forma iterativa:

Crear código Realizar revisiones de código Iterar el código, dada la revisión del código Realizar otra revisión del código

y así sucesivamente hasta que tanto el revisor como los agentes codificadores implementadores estén contentos.

Otra técnica que vale la pena mencionar es que puedes implementar bloques en comandos específicos que sabes que son irreversibles. Este es, por ejemplo, el comando rm que mencioné anteriormente, que puede eliminar archivos en una computadora. Esta eliminación no termina en la papelera como si la borrara un humano. Simplemente es irrecuperable y es un comando con el que debes tener cuidado. Puede bloquear dichos comandos para que el agente de codificación tenga que pedirle permiso explícitamente antes de ejecutar dicho comando.

Conclusión

En este artículo, explico por qué debería ejecutar agentes de codificación y destaca cuánto más eficaz puede llegar a ser un programador. Continuando con eso, respondí algunas objeciones comunes al uso de agentes de codificación, como por qué no es necesario revisar manualmente todo el código y cómo evitar que los agentes realicen acciones inseguras. Además, brindé algunas ideas sobre cuántos permisos debe otorgar a sus agentes de codificación y cómo ejecutarlos de manera segura una vez que les otorga permisos liberales, como recomiendo a la mayoría de los programadores que no trabajan en dominios súper sensibles. Le insto a que experimente continuamente con agentes de codificación, ya que creo que son la mayor ganancia de productividad que puede obtener como programador en este momento. Debería continuar trabajando con ellos y descubrir por sí mismo cómo puede hacerlos más efectivos para sus aplicaciones y cómo ejecutarlos de forma segura. A lo largo de este artículo, he brindado algunos consejos y trucos sobre mis casos de uso, que puede intentar transferir a sus áreas de aplicación.

👋 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

🔗 LinkedIn

🐦X/Twitter