LABORATORIO
/review Avanzado

Patrones de Desarrollo Avanzado

Lección 06: Multi-Agente, CI/CD y Automatización

Puntos Clave
  • El patrón fan-out/fan-in permite lanzar sub-agentes en paralelo para investigar, refactorizar o testear múltiples módulos simultáneamente.
  • Claude Code en modo no interactivo (-p) se integra directamente en pipelines de CI/CD para automatizar revisiones y análisis de PRs.
  • El comando /review combinado con criterios personalizados en CLAUDE.md permite revisiones de código consistentes y enfocadas en seguridad.
  • Un CLAUDE.md compartido en el repositorio es el mecanismo central para alinear convenciones y transferir conocimiento entre miembros del equipo.

Esta lección cierra el curso con los patrones más avanzados de Claude Code: orquestación multi-agente, integración en pipelines de CI/CD, automatización de code review y flujos de trabajo en equipo. Son las técnicas que separan el uso casual del uso profesional a escala.

Orquestación Multi-Agente

Claude Code puede actuar como orquestador, delegando tareas a sub-agentes que trabajan en paralelo. Esto es posible gracias a la herramienta Agent (también llamada Task), que permite lanzar instancias independientes de Claude con contexto acotado.

El Patrón Fan-Out / Fan-In

El patrón consiste en descomponer una tarea compleja en sub-tareas independientes, ejecutarlas en paralelo y luego consolidar los resultados:

  • Fan-out: El agente principal identifica sub-tareas y lanza un sub-agente para cada una. Cada sub-agente tiene su propio contexto y no interfiere con los demás.
  • Fan-in: Los resultados de todos los sub-agentes se recogen y sintetizan en una respuesta unificada.

Cuándo usar sub-agentes vs trabajo secuencial

  • Sub-agentes: Investigar múltiples archivos independientes, refactorizar módulos sin dependencias entre sí, ejecutar análisis paralelos sobre distintas áreas del codebase.
  • Secuencial: Cuando cada paso depende del anterior, como un flujo de migración donde primero cambias el schema, luego los modelos, y luego los tests.
multi-agent orchestration
Tu: Analiza los 4 servicios principales de este microservicio
    y dame un informe de calidad de código de cada uno.

# Claude orquesta automáticamente sub-agentes

> [Agent] Spawning sub-agent for src/services/auth/
> [Agent] Spawning sub-agent for src/services/payments/
> [Agent] Spawning sub-agent for src/services/notifications/
> [Agent] Spawning sub-agent for src/services/inventory/

# Cada sub-agente trabaja en paralelo
> [Agent:auth] Reading 12 files, analyzing patterns...
> [Agent:payments] Reading 8 files, analyzing patterns...
> [Agent:notifications] Reading 6 files, analyzing patterns...
> [Agent:inventory] Reading 15 files, analyzing patterns...

# Fan-in: consolidación de resultados
> [Think] Consolidating 4 sub-agent reports...
> Report ready. auth: 8/10, payments: 7/10,
> notifications: 9/10, inventory: 5/10 (needs refactor).

Rendimiento Multi-Agente

Los sub-agentes consumen tokens de forma independiente. Un análisis de 4 servicios en paralelo puede costar 4x en tokens pero completarse en la mitad de tiempo comparado con un análisis secuencial.

Claude Code en CI/CD

El modo no interactivo de Claude Code, activado con el flag -p (print), permite integrarlo en cualquier pipeline de CI/CD. Claude recibe un prompt, ejecuta la tarea, y devuelve el resultado por stdout sin esperar input del usuario.

Casos de uso en CI/CD

  • Revisión automática de PRs: Claude analiza el diff y genera comentarios sobre calidad, seguridad y adherencia a convenciones.
  • Análisis de fallos en tests: Cuando un test falla, Claude analiza el error y sugiere la causa raíz.
  • Generación de changelogs: Claude lee los commits desde la última release y genera un changelog estructurado.
  • Detección de vulnerabilidades: Análisis de seguridad enfocado en el código nuevo introducido en el PR.
non-interactive mode
# Modo no interactivo: ejecutar y devolver resultado
$ claude -p "Analiza el diff del último commit y reporta problemas"

# Con modelo específico y límite de tokens
$ claude -p "Resume los cambios de este PR" \
  --model claude-sonnet-4-20250514 \
  --max-tokens 4096

# Restringir herramientas (solo lectura, sin modificaciones)
$ claude -p "Revisa src/ buscando SQL injection" \
  --allowedTools "Read,Glob,Grep"

# Output en JSON para procesamiento automático
$ claude -p "Lista los archivos modificados con riesgo alto" \
  --output-format json
.github/workflows/claude-review.yml
name: Claude Code PR Review
on:
  pull_request:
    types: [opened, synchronize]

jobs:
  review:
    runs-on: ubuntu-latest
    permissions:
      contents: read
      pull-requests: write
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: Install Claude Code
        run: npm install -g @anthropic-ai/claude-code

      - name: Run Review
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
        run: |
          claude -p "Review the changes in this PR. \
            Focus on security, performance, and \
            adherence to project conventions. \
            Output as markdown." \
            --allowedTools "Read,Glob,Grep,Bash(git diff)" \
            --max-tokens 8192 > review.md

      - name: Post Comment
        uses: actions/github-script@v7
        with:
          script: |
            const fs = require('fs');
            const body = fs.readFileSync('review.md', 'utf8');
            github.rest.issues.createComment({
              owner: context.repo.owner,
              repo: context.repo.repo,
              issue_number: context.issue.number,
              body: body
            });

Code Review Automatizado

Claude Code incluye el comando /review que ejecuta una revisión de código estructurada sobre los cambios actuales. Pero su verdadero poder aparece cuando lo combinas con criterios personalizados definidos en CLAUDE.md.

El comando /review

Al ejecutar /review dentro de una sesión, Claude analiza los cambios uncommitted (o el diff que le indiques) y genera un informe con categorías como seguridad, rendimiento, legibilidad y adherencia a convenciones del proyecto.

Criterios personalizados en CLAUDE.md

Puedes definir reglas específicas que Claude debe verificar en cada revisión:

  • Reglas de seguridad: Verificar sanitización de inputs, uso correcto de autenticación, ausencia de secrets hardcodeados.
  • Convenciones de código: Nomenclatura de variables, estructura de archivos, patrones de error handling.
  • Reglas de negocio: Validaciones específicas del dominio, como "toda operación financiera debe tener log de auditoría".

Revisiones enfocadas en seguridad

Para proyectos con requisitos de seguridad estrictos, puedes configurar revisiones especializadas que busquen OWASP Top 10, inyecciones SQL, XSS, CSRF y exposición de datos sensibles. Estas revisiones complementan (no reemplazan) herramientas de SAST como Snyk o SonarQube.

🛡

Defense in Depth

La revisión automatizada con Claude Code es una capa más de defensa. Combínala con linters, SAST, tests de seguridad automatizados y revisión humana para una cobertura real.

Desarrollo en Equipo

El trabajo en equipo con Claude Code gira alrededor de un principio: el contexto compartido vive en el repositorio, no en sesiones individuales. Cada desarrollador tiene sus propias sesiones, pero las convenciones, reglas y memoria del proyecto son comunes.

CLAUDE.md como contrato de equipo

El CLAUDE.md del proyecto funciona como un contrato vivo entre los miembros del equipo. Define:

  • Stack y arquitectura: Tecnologías, estructura de directorios, patrones de diseño.
  • Convenciones de código: Nomenclatura, formato, manejo de errores, estilo de tests.
  • Comandos frecuentes: Build, test, deploy, lint y cualquier script custom.
  • Reglas de negocio: Decisiones arquitectónicas y sus razones, restricciones del dominio.

Knowledge sharing via memoria de proyecto

Cuando un desarrollador descubre un patrón, una decisión arquitectónica o un workaround importante, puede añadirlo al CLAUDE.md con /add-memory. Esto asegura que todos los miembros del equipo (y sus sesiones de Claude) tengan acceso a esa información en futuras interacciones.

Workflow Selector: Configuración Recomendada

Escenario: Un desarrollador individual trabajando en uno o varios proyectos.

Autenticación: Claude Pro (20 USD/mes) o API key personal para uso intensivo.

CLAUDE.md: Un archivo por proyecto con stack, convenciones y comandos. Usa ~/.claude/CLAUDE.md para preferencias globales como estilo de commits o idioma preferido.

Permisos: Modo default o auto-edit. Sin restricciones estrictas porque eres el único con acceso.

CI/CD: Opcional. Un workflow simple de review en PRs hacia main es suficiente.

Code Review: Ejecuta /review manualmente antes de cada PR. Claude actúa como tu segundo par de ojos.

Mostrando: Solo Developer

Escenario: Equipo de 3-10 desarrolladores con repositorios compartidos.

Autenticación: Claude Team para límites compartidos, o API keys individuales con presupuesto por desarrollador.

CLAUDE.md: Archivo detallado en la raíz del repo, mantenido como parte del proceso de onboarding. Incluye ADRs (Architecture Decision Records) resumidos.

Permisos: Modo default en desarrollo. En CI/CD, solo herramientas de lectura (Read,Glob,Grep) para revisiones automáticas.

CI/CD: Review automatizado en cada PR. Análisis de tests fallidos. Generación de changelogs pre-release.

Code Review: Claude revisa primero (automático en CI), luego un humano revisa los comentarios de Claude junto con el código. Esto reduce el tiempo de revisión humana en un 40-60%.

Mostrando: Small Team

Escenario: Organización con múltiples equipos, políticas de seguridad estrictas y requisitos de compliance.

Autenticación: Claude Enterprise con SSO, audit logs y control centralizado de acceso.

CLAUDE.md: Jerarquía de archivos. Un CLAUDE.md corporativo global con políticas de seguridad, más archivos específicos por proyecto. Gestionados por el equipo de platform engineering.

Permisos: Estrictamente controlados. --allowedTools definido en la configuración de CI. Sin acceso a Bash en pipelines de producción. Sandboxing obligatorio.

CI/CD: Pipeline completo: review de seguridad (OWASP), compliance check, análisis de rendimiento, generación de documentación. Cada paso con modelo y presupuesto de tokens diferente.

Code Review: Triple capa: Claude automático en CI, revisión de pares humana obligatoria, y revisión de seguridad por equipo especializado en PRs críticos.

Mostrando: Enterprise
team-claude.md
# Ejemplo de CLAUDE.md para equipo

## Stack
- Next.js 15 + TypeScript + Prisma + Tailwind
- PostgreSQL 16, Redis 7, Docker Compose

## Convenciones
- Nombres de archivos: kebab-case
- Componentes React: PascalCase, un componente por archivo
- Tests: colocados junto al archivo (archivo.test.ts)
- Commits: Conventional Commits (feat:, fix:, chore:)

## Comandos
- npm run dev      # Desarrollo local
- npm run test     # Vitest
- npm run lint     # ESLint + Prettier
- npm run db:migrate # Prisma migrate

## Reglas
- NUNCA hardcodear secrets. Usar variables de entorno.
- Toda ruta API debe tener validación con Zod.
- No usar any en TypeScript. Definir tipos explícitamente.
- Toda operación de base de datos en una transacción.

Preguntas Frecuentes

Sobre patrones avanzados de Claude Code

No, y no debería. Claude Code complementa la revisión humana detectando patrones diferentes: inconsistencias de estilo, vulnerabilidades conocidas, adherencia a convenciones y errores comunes. Pero la revisión humana aporta contexto de negocio, experiencia de dominio y juicio arquitectónico que la IA no puede replicar. La combinación de ambas es más efectiva que cualquiera por separado.
Estrategia por capas: usa Haiku para checks rápidos como formato y linting (bajo coste), Sonnet para revisiones de código estándar, y reserva Opus para análisis arquitectónico complejo. Configura --max-tokens en cada paso del pipeline y establece presupuestos mensuales por proyecto. Un pipeline típico de review cuesta entre 0.05 y 0.30 USD por PR con Sonnet.
Sí, a través del repositorio. El CLAUDE.md del proyecto se commitea al repo y es leído por Claude al inicio de cada sesión de cualquier miembro del equipo. Esto comparte convenciones, reglas y conocimiento del proyecto. Lo que no se comparte es el estado de sesión individual: cada desarrollador tiene sus propias conversaciones con Claude. Usa /add-memory para persistir descubrimientos importantes al CLAUDE.md del proyecto.
Sí, con las precauciones adecuadas. Usa --allowedTools para restringir estrictamente los permisos (solo lectura para reviews). Ejecuta en contenedores aislados sin acceso a secrets de producción. Configura límites de tokens para evitar costes inesperados. Nunca le des acceso de escritura a ramas protegidas sin aprobación humana intermedia. Estas restricciones son estándar en cualquier herramienta de CI, no específicas de Claude Code.