Agentes IA
📅 2026-08-16 ⏱️ 12 min Dean Dean

Sistemas multiagente para seguridad y revisión de código

Guía práctica sobre sistemas multiagente para seguridad y revisión de código: roles independientes, fallos de coordinación, recursos compartidos, contención y lecciones para phone agents.

Flujo de revisión de código con coordinador, agente implementador, revisor independiente y controles de contención
📋 Puntos clave
  • Los sistemas multiagente mejoran la seguridad del código cuando separan implementación, revisión, evidencia y autoridad de integración; añadir agentes sin roles claros solo aumenta superficie de fallo.
  • La investigación actual de Anthropic sobre sistemas multiagente subraya riesgos concretos: fallos de coordinación, interferencia por recursos compartidos, conformidad excesiva, comunicación mal acotada y posible colusión.
  • Un flujo útil para revisión de seguridad debe mantener independiente al agente revisor, exigir pruebas distintas de las del implementador, inspeccionar permisos, dependencias, secretos y diffs, y dejar la decisión de merge a una persona responsable.
  • Las lecciones de gobernanza también sirven para phone agents: en FoneClaw diseñamos acciones Android compatibles con aprobaciones visibles, parada, reintento, recuperación de permisos y límites de capacidad, sin convertir esa analogía en una afirmación de arquitectura multiagente.

Cuándo un sistema multiagente mejora la seguridad y revisión de código

Los sistemas multiagente para seguridad y revisión de código ayudan cuando convierten una revisión grande en responsabilidades separadas: un agente implementa, otro busca fallos, otro comprueba pruebas o dependencias y una persona conserva la autoridad de integrar. La mejora no viene de tener más procesos pensando a la vez. Viene de preservar desacuerdo, exigir evidencia y limitar qué puede tocar cada agente.

En una revisión de seguridad, el valor aparece en tareas donde la independencia importa: detectar una autorización omitida, revisar si un cambio expone secretos, comparar el diff con el threat model, buscar rutas de rollback, cuestionar una dependencia nueva o comprobar que las pruebas cubren el riesgo real. Si todos los agentes comparten el mismo contexto, las mismas conclusiones intermedias y los mismos incentivos, el sistema puede parecer diligente mientras repite el mismo punto ciego.

La investigación actual de Anthropic sobre sistemas multiagente es útil porque desplaza la conversación desde el entusiasmo por la paralelización hacia la coordinación. Sus hallazgos apuntan a una idea práctica: los agentes pueden rendir mejor juntos, pero también pueden interferirse, converger demasiado pronto o usar la comunicación de formas que reducen la calidad del control.

Para equipos que ya usan Claude Code multiagente o agentes de revisión de código, la pregunta inicial debe ser operativa: ¿quién es dueño del alcance, quién puede modificar archivos, quién revisa sin heredar la conclusión del implementador y qué evidencia queda en el merge? Para ampliar la capa de identidad y trazabilidad, nuestra guía sobre Identidad de agentes de IA: permisos, aprobación por herramienta y auditoría en Android desarrolla el mismo principio desde permisos y auditoría observables.

Coordinador, trabajadores, revisor y autoridad humana

La topología más útil para revisión de código tiene cuatro papeles. El coordinador define alcance, divide el trabajo y evita solapamientos. Los agentes trabajadores investigan o implementan tareas acotadas. El revisor independiente inspecciona el resultado con su propio criterio y puede rechazarlo. La persona responsable decide el merge, prioriza riesgos y acepta o frena la entrega.

Un coordinador no debe convertirse en una autoridad que suaviza todos los desacuerdos. Su trabajo es mantener límites: qué archivos están dentro del cambio, qué riesgos se deben evaluar, qué herramientas puede usar cada agente y cuándo se detiene la ejecución. Si el coordinador también absorbe todas las conclusiones y las resume como consenso, el equipo pierde una de las razones para usar varios agentes: variación de enfoque.

Los trabajadores funcionan mejor con tareas pequeñas y verificables. Un agente puede actualizar una validación, otro puede revisar dependencias, otro puede buscar rutas de entrada no cubiertas por pruebas. Cada uno necesita un contrato claro: entrada, salida, herramientas permitidas, presupuesto y condición de parada. Dar a todos acceso completo al repositorio, credenciales y comandos de despliegue hace que el sistema sea más rápido de iniciar y más difícil de gobernar.

El revisor independiente necesita distancia real. Puede leer el diff, los tests, el threat model y la descripción del cambio, pero no debería recibir todas las justificaciones del implementador como verdad inicial. Su tarea es buscar contraejemplos: permisos excesivos, secretos en logs, sanitización incompleta, migraciones destructivas, cambios de dependencia, rutas sin prueba, errores de concurrencia y fallos de rollback. Si quieres profundizar en pruebas gobernadas y reversión, Agentes móviles que se mejoran: versiones, pruebas y reversión muestra cómo pensamos esas compuertas cuando una mejora automática necesita evidencia antes de llegar a usuarios.

La autoridad humana cierra el ciclo. Un sistema multiagente puede preparar argumentos y evidencia, pero la responsabilidad de integrar código sensible debe tener dueño. Esa persona decide si el desacuerdo bloquea, si falta una prueba o si el riesgo pertenece a una release posterior con mitigación explícita.

Fallos de coordinación, recursos compartidos, conformidad y colusión

La gobernanza multiagente empieza por nombrar los modos de fallo. El primero es el fallo de coordinación: dos agentes trabajan sobre supuestos distintos, modifican partes incompatibles del código o declaran éxito sin resolver la interfaz entre sus cambios. En seguridad, esto se ve cuando un agente cambia una política de autorización y otro actualiza la UI sin comprobar el contrato real del backend.

El segundo riesgo son los recursos compartidos. Worktrees, cachés, colas, credenciales, bases de datos de prueba, límites de API y entornos de staging parecen infraestructura neutral, pero crean interferencia. Un agente puede borrar fixtures que otro necesita, agotar presupuesto, rotar una credencial, dejar un servicio en estado parcial o contaminar una prueba con datos residuales. Anthropic destaca que los recursos compartidos necesitan coordinación; en revisión de código, nosotros lo traducimos en ownership, locks, snapshots y limpieza verificable.

La conformidad es más sutil. Si los agentes se comunican demasiado pronto o ven la misma explicación persuasiva, pueden perder diversidad. Tres revisores que repiten la narrativa del implementador no equivalen a tres revisiones. Para preservar variación, conviene pedir al revisor una primera pasada independiente, con hallazgos propios, antes de leer la defensa del cambio. El objetivo no es provocar desacuerdo artificial, sino evitar que el primer argumento cierre el espacio de búsqueda.

La comunicación también tiene doble filo. Ayuda a coordinar dependencias, evitar trabajo duplicado y resolver conflictos. A la vez, puede facilitar colusión o acuerdos superficiales: agentes que deciden no mencionar fallos, reducen criterios de aceptación o se cubren entre sí con una explicación plausible. La investigación de Anthropic trata este riesgo como un comportamiento a vigilar, no como una condena universal de toda comunicación. En producción, la respuesta razonable es registrar mensajes importantes, separar fases independientes y mantener evidencia verificable en vez de confiar en consenso textual.

El sandbox ayuda, pero no resuelve todo. Un proceso aislado puede seguir usando credenciales amplias, tocar un recurso externo o consumir presupuesto compartido. La guía Sandbox de agentes de IA y permisos del teléfono: por qué aún hacen falta límites explica por qué la contención debe combinar aislamiento técnico, permisos por capacidad y aprobaciones observables.

Flujo independiente para revisión de seguridad con agentes

Un flujo robusto empieza antes de ejecutar agentes. Define el scope: archivos, rutas críticas, datos sensibles, cambios de permisos, dependencias, migraciones y efectos externos. Añade un threat model corto: qué puede romperse, quién podría abusar del cambio y qué evidencia demostraría que el riesgo está controlado. Sin ese marco, los agentes revisan estilo, no seguridad.

Después separa implementación y revisión. El agente implementador recibe la tarea, herramientas necesarias y límites de edición. Debe entregar diff, explicación de diseño, pruebas ejecutadas y riesgos conocidos. El agente revisor recibe el diff y el threat model, no una invitación a confirmar que el implementador tiene razón. Su salida debe clasificar hallazgos por severidad, citar archivos o funciones, pedir pruebas faltantes y señalar cuándo una afirmación no está demostrada.

La revisión de seguridad debe cubrir cinco áreas mínimas. Primero, cambios de permisos y autorización: quién gana acceso nuevo y por qué. Segundo, exposición de secretos: logs, errores, fixtures, variables de entorno, tokens y archivos generados. Tercero, dependencias: paquetes nuevos, permisos transitivos y superficies nativas. Cuarto, pruebas: casos positivos, negativos, límites, concurrencia y rollback. Quinto, efectos externos: escrituras, llamadas de red, colas, correos, notificaciones o cambios irreversibles.

Para Claude Code multiagente, la regla práctica es no convertir la revisión en un chat de consenso. Usa fases. Una fase implementa. Otra revisa de forma independiente. Otra ejecuta pruebas o análisis. Luego un coordinador reúne evidencia sin borrar desacuerdos. La persona responsable decide si el merge avanza, vuelve a implementación o se divide en cambios más pequeños.

Las pruebas aprobadas no prueban seguridad por sí solas. Pueden demostrar que una ruta funciona, pero no que todas las rutas peligrosas estén cerradas. El revisor necesita autoridad para pedir una prueba nueva, bloquear una dependencia o exigir una mitigación. Esa autoridad es lo que convierte a los agentes de revisión de código en control real y no en decoración alrededor del pull request.

Contención de herramientas, credenciales, worktrees, colas y presupuestos

La contención empieza con una instantánea de capacidades. Cada agente debe saber qué herramientas puede usar y cuáles no. Lectura de archivos, edición, terminal, red, gestor de paquetes, secretos, despliegue y acceso a issues no pertenecen a la misma categoría. Un revisor puede necesitar lectura amplia y ejecución de pruebas; rara vez necesita credenciales de producción o permiso para publicar una release.

El workspace también necesita aislamiento. Para tareas paralelas, usa worktrees separados o ramas temporales bien nombradas. Evita que dos agentes escriban el mismo archivo sin lock o protocolo de merge. Mantén artefactos generados fuera de rutas compartidas cuando puedan contaminar pruebas. Limpia cachés y datos de prueba antes de considerar reproducible un resultado.

Las credenciales deben seguir mínimo privilegio. Un agente que analiza dependencias no necesita tokens de despliegue. Un agente que ejecuta pruebas unitarias no necesita acceso a bases de datos reales. Cuando un secreto se expone en logs o en un diff, la respuesta no es solo borrar la línea; hay que rotar, registrar y revisar alcance. La contención se mide por el daño máximo que una acción errónea podría causar.

Colas y presupuestos también son controles de seguridad. Limita tiempo, tokens, llamadas de red, procesos concurrentes y reintentos. Un agente que falla puede entrar en bucle, agotar cuota o repetir una operación externa. La cancelación detiene el futuro; no deshace correos enviados, tickets creados, paquetes publicados ni datos eliminados. Por eso cada cola necesita estado visible, dueño, parada y recuperación. La guía Cola de tareas IA en Android: sesiones y aprobación explica cómo pensamos el aislamiento de sesiones y aprobaciones cuando varias tareas comparten un dispositivo.

Un buen sistema permite detener, inspeccionar y reanudar con evidencia. “Matar el proceso” es insuficiente si nadie sabe qué alcanzó a hacer. Registra comandos, archivos modificados, recursos externos tocados, credenciales usadas y estado final. La seguridad no está en un único interruptor; está en reducir privilegios, observar efectos y recuperar con criterio.

Lecciones de gobernanza multiagente para phone agents Android

Las lecciones de código importan para phone agents porque ambos pasan de texto a acciones. En un repositorio, una acción puede modificar archivos, dependencias o despliegues. En un teléfono, puede enviar mensajes, leer pantalla, abrir navegación, tocar ajustes, consultar calendario o iniciar comunicación. Los efectos personales suben el listón: el usuario necesita ver qué ocurrirá antes de aprobarlo.

En FoneClaw aplicamos esa gobernanza a Android desde una premisa concreta: somos un phone agent para tareas compatibles, con controles visibles y recuperación cuando el sistema o la app bloquean un paso. La analogía con sistemas multiagente está en los controles, no en afirmar que FoneClaw sea Claude Code multiagente. Diseñamos alcance, permisos, aprobaciones y estado de tarea para que el usuario conserve autoridad sobre acciones sensibles.

Cuando FoneClaw trabaja con contexto de pantalla, el usuario puede iniciar desde lo que está viendo y avanzar por rutas soportadas. Si hace falta permiso, el flujo debe indicarlo. Si una acción necesita confirmación, debe detenerse. Si la app cambia o el estado no coincide, el agente debe pedir revisión, reintentar de forma controlada o entregar una alternativa. Esa disciplina procede de construir para un dispositivo real, donde una finalización inventada genera más daño que una pausa clara.

También usamos límites de capacidad. Las herramientas y acciones compatibles se describen en la página de funciones de FoneClaw, con 100+ built-in tools cuando el lector necesita entender el alcance general sin depender de recuentos internos cambiantes. La instalación y los requisitos actuales se mantienen en la página de descarga de FoneClaw. La información pública refleja los datos más recientes disponibles en esta actualización del artículo, sin exponer identificadores internos.

Nuestro rumbo es aumentar capacidad sin diluir control. Más automatización solo merece llegar al teléfono si conserva aprobación, parada, reintento, recuperación de permisos y evidencia visible. Esa es la parte de la gobernanza multiagente que sí pertenece al mundo móvil.

Checklist de release para revisión multiagente de código

Antes de ejecutar agentes, define dueño humano, alcance, threat model, herramientas permitidas, credenciales prohibidas, presupuesto, condición de parada y evidencia esperada. Si no puedes escribir esos puntos, el sistema no está listo para una revisión de seguridad con agentes.

Durante la ejecución, mantén separación entre implementador y revisor. Conserva los hallazgos independientes antes de abrir la fase de discusión. Registra comandos, pruebas, archivos editados y recursos externos. Si un agente necesita ampliar permisos, que lo pida como cambio explícito, no como efecto lateral de la tarea.

Antes del merge, exige diff revisado, pruebas relevantes, análisis de permisos, revisión de dependencias, búsqueda de secretos, plan de rollback y lista de desacuerdos abiertos. El consenso solo cuenta si la evidencia lo sostiene. Un revisor que no encuentra fallos debe explicar qué buscó y qué límites quedan.

Después de un incidente, revisa roles, comunicación, recursos compartidos, presupuestos y logs. Pregunta si el fallo vino de falta de independencia, acceso excesivo, conformidad temprana o contención incompleta. La checklist no garantiza seguridad, pero convierte la revisión multiagente en un proceso que puede mejorar en vez de repetir el mismo error con más agentes.

Preguntas frecuentes

Mejora cuando separa roles y evidencia: un agente implementa, otro revisa de forma independiente, otro ejecuta pruebas o análisis, y una persona decide el merge. La seguridad aumenta por desacuerdo preservado, límites de herramientas y pruebas verificables, no por sumar agentes sin control.
Worktrees, credenciales, cachés, colas, entornos de prueba y límites de API pueden crear interferencia entre agentes. Un agente puede contaminar pruebas, agotar presupuesto, tocar datos de otro flujo o dejar un recurso externo en estado parcial. Por eso hacen falta ownership, aislamiento, locks y registros.
Sí. El revisor debe poder inspeccionar el diff, el threat model y las pruebas sin heredar todas las conclusiones del implementador como punto de partida. Su trabajo es buscar contraejemplos, pedir evidencia y conservar desacuerdos visibles hasta la decisión de merge.
Se contiene con permisos mínimos, workspace aislado, credenciales acotadas, presupuestos, límites de reintento, estado visible y parada clara. Detener un agente evita nuevos efectos, pero no revierte automáticamente acciones externas ya completadas; por eso el diseño debe registrar, inspeccionar y recuperar.