---
title: "Auditoría de código con varios modelos: el patrón del consejo"
description: "Una auditoría con varios modelos de 5.000 líneas de TypeScript encontró 15 problemas únicos por 1,20 $. Así la ejecuté, combiné los resultados y los comprobé."
date: "2026-02-11T00:00:00.000Z"
author: "Carlos Garavito"
tags: ["ai", "agents", "llm", "architecture", "security"]
canonical_url: "https://cgaravito.dev/es/blog/council-of-advisors-multi-model-code-auditing"
last_updated: "2026-02-11T00:00:00.000Z"
locale: "es"
---

Audité un AI Gateway en TypeScript con unas 5.000 líneas repartidas en 46 archivos de código fuente. Cuatro modelos revisaron el mismo código en paralelo y produjeron 84 hallazgos, con un coste total de unos 1,20 $ y un tiempo de ejecución de unos dos minutos.

Después de eliminar duplicados, 15 hallazgos eran únicos. Nueve aparecieron en los resultados de al menos tres modelos, y los cuatro modelos encontraron dos problemas críticos: faltaba una comprobación de autenticación y había una vulnerabilidad de inyección en la capa de caché.

El resultado me dio una razón concreta para seguir usando el patrón del consejo en las auditorías de código. Distintas familias de modelos pasaron por alto problemas diferentes, y las coincidencias me ayudaron a decidir por dónde empezar la investigación.

## La auditoría y sus resultados

Ejecuté estos cuatro modelos:

- **Claude Opus 4.6** por unos 0,83 $
- **Claude Sonnet 4.5** por unos 0,25 $
- **Gemini 3 Pro** por unos 0,08 $
- **Kimi K2.5** por unos 0,04 $

| Modelo | Hallazgos | Únicos | Coste |
|-------|----------|--------|------|
| Opus 4.6 | 21 | 5 | 0,83 $ |
| Sonnet 4.5 | 27 | 5 | 0,25 $ |
| Gemini 3 Pro | 11 | 2 | 0,08 $ |
| Kimi K2.5 | 25 | 3 | 0,04 $ |
| **Total** | **84** | **15** | **1,20 $** |

Kimi, la ejecución más barata con 0,04 $, encontró una vulnerabilidad SSRF crítica que los otros tres pasaron por alto. Gemini encontró una fuga de costes que ninguno de los dos modelos de Anthropic notificó. Opus fue el único modelo que exploró archivos más allá del prompt inicial, mientras que los demás se mantuvieron dentro del alcance explícito. Gemini devolvió 11 hallazgos relevantes, con el menor ruido de todos, y Sonnet devolvió más hallazgos, aunque con más coincidencias.

Los modelos tampoco coincidieron en la gravedad. Opus y Gemini clasificaron como media un problema de crecimiento de memoria, mientras que Sonnet y Kimi la clasificaron como crítica. Las etiquetas dependían de supuestos sobre el tráfico esperado, así que tuve que contrastar esos supuestos con el sistema.

No encontré falsos positivos en esta ejecución. Todos los hallazgos eran legítimos, aunque su urgencia variaba. Otra base de código puede producir un resultado distinto, así que el consenso sigue siendo una señal para investigar.

## Por qué varios modelos pueden ampliar la cobertura

Cada modelo hereda puntos ciegos de sus datos de entrenamiento, su arquitectura y su optimización. En la práctica, he visto que Claude funciona bien con flujos de datos y arquitectura, que GPT detecta patrones de seguridad habituales, que Gemini resuelve razonamientos matemáticos de forma eficiente, y que Kimi o DeepSeek sacan a la luz problemas que no aparecían en los otros corpus de entrenamiento. Son observaciones de trabajo que espero que cambien a medida que cambien los modelos.

La referencia académica de este enfoque es el artículo de 2024 [Mixture-of-Agents Enhances Large Language Model Capabilities](https://arxiv.org/abs/2406.04692), de Wang et al. Su arquitectura combinó modelos más débiles que el modelo individual más potente y obtuvo un 65,1 % en AlpacaEval 2.0, frente al 57,5 % de GPT-4o.

Para revisar código, uso el mismo mecanismo básico. Todos los modelos reciben el mismo prompt y el mismo código, y después una pasada independiente elimina duplicados y prioriza los hallazgos. El acuerdo eleva la prioridad de una investigación, mientras que un hallazgo de un solo modelo puede ser un caso límite útil o una interpretación incorrecta del código. En ambos casos hace falta verificación humana.

## Ejecutar el consejo

Este ejemplo simplificado con OpenClaw y OpenCode lanza las cuatro revisiones en paralelo.

```bash
# Same prompt, 4 models, parallel execution
PROMPT=$(cat audit-prompt.md source-code.txt)

opencode run --model anthropic/claude-opus-4-6 --agent coder "$PROMPT" &
opencode run --model anthropic/claude-sonnet-4-5 --agent coder "$PROMPT" &
opencode run --model google/gemini-3-pro-preview --agent coder "$PROMPT" &
opencode run --model opencode/kimi-k2.5-free --agent coder "$PROMPT" &
wait
```

Usé un quinto modelo, otro Claude Opus, para eliminar duplicados y priorizar los 84 hallazgos sin procesar. La síntesis fue la parte más exigente en cuanto a atención, porque había que combinar descripciones repetidas sin perder evidencias distintas ni inflar la gravedad.

Cuatro modelos diversos fueron suficientes para esta auditoría. Cada uno aportó entre tres y cinco hallazgos únicos, y, basándome en este resultado, esperaría que el retorno de un quinto revisor bajara a uno o dos. Quería cubrir varias familias de modelos porque esas diferencias produjeron aquí los hallazgos sobre SSRF y costes.

El consejo me proporciona una cola de investigación ordenada por prioridad. Llevar los cambios a producción sigue requiriendo rastrear cada hallazgo de seguridad hasta el código, reproducirlo cuando sea posible y contrastar el informe con el entorno de ejecución.

---

*Creado con [OpenClaw](https://openclaw.ai) para la orquestación y [OpenCode](https://opencode.ai) para la ejecución de modelos. El patrón de auditoría del consejo funciona con otras configuraciones de proveedores.*
