Vibe Coding Agent
Security & Evaluation
La ingeniería de software está atravesando su mayor transformación desde los lenguajes de alto nivel — de escribir código a expresar intención. Pero un agente que pasa todos los checks de seguridad aún puede haber entendido todo mal. Este es el framework definitivo de 2026.
Figura 1 · El Framework del Agente de Vibe Coding Seguro — visión general de la arquitectura
Autores: Sokratis Kartakis · Aron Eidelman · Wafae Bakkali · Meltem Subasioglu — Google, 2026
De la sintaxis a la intención
La mayor transformación desde los lenguajes de alto nivel: confiar en sistemas inteligentes para traducir la intención en software funcional.
La ingeniería de software está atravesando su transformación más significativa desde la introducción de los lenguajes de alto nivel. El cambio más profundo es la transición de escribir código a expresar intención — confiando en sistemas inteligentes para traducir esa intención en software funcional. Este nuevo paradigma abarca un espectro: desde el "vibe coding" casual, donde el desarrollador describe lo que quiere en lenguaje natural y acepta lo que la IA genera, hasta la "agentic engineering" disciplinada, donde la IA actúa como motor de implementación dentro de constraints cuidadosamente diseñados.
🔒 Trust binario (software determinístico)
El código compila ✓ · las pruebas pasan ✓ · las credenciales estáticas son válidas ✓. Si todo está en verde, el sistema es confiable. Simple y predecible.
🤖 Agencia ambiente (sistema agéntico)
Un workforce autónomo posee la agencia ambiente para ejecutar código generado, acceder a APIs internas sensibles y modificar dinámicamente entornos de producción. El trust binario no basta.
Para operacionalizar el vibe coding en la empresa, necesitamos redefinir la confianza en dos ejes distintos:
🛡️ Security
- ¿El agente se mantuvo dentro de los límites?
- ¿Operó con seguridad y sin intención maliciosa?
- ¿El "safety harness" contuvo el blast radius?
📊 Evaluation
- ¿Lo que ocurrió dentro de los límites vale la pena enviarse?
- ¿El agente alcanzó la intención matizada del usuario?
- ¿El "glass box" revela un razonamiento de calidad?
Un agente vibe-coded puede pasar todos los checks de seguridad y aun así leer fundamentalmente mal la intención del desarrollador, ignorar las convenciones del proyecto o degradar silenciosamente la experiencia del usuario.
Este whitepaper proporciona el framework definitivo de 2026 para ambos: establecer el "safety harness" estricto necesario para proteger agentes no determinísticos, y abrir el "glass box" para medir rigurosamente la calidad, eficiencia y alineación del razonamiento interno.
La evolución: por qué la seguridad tradicional falla
Ya no estamos protegiendo web apps — estamos protegiendo un workforce no humano con agencia ambiente.
"Adversaries have moved beyond the simple use of large language models to draft phishing content and are now deploying adaptive tools capable of rewriting code." — Informe especial de Mandiant para Google Cloud, 2026.
El desarrollo orientado por intención acelera drásticamente la innovación, pero introduce vulnerabilidades de seguridad sin precedentes. Ya no estamos simplemente protegiendo aplicaciones web contra exploits tradicionales — estamos encargados de proteger un workforce no humano que posee la agencia ambiente para ejecutar código generado, acceder a APIs internas sensibles y modificar dinámicamente entornos de producción.
Los modelos tradicionales de pruebas y seguridad de software dependen de lógica determinística, donde un conjunto fijo de inputs produce un output predecible. Sin embargo, en un sistema agéntico, un agente puede poseer un token de acceso válido pero operar autónomamente con intención desalineada. Una comprensión crítica: un modelo de IA crudo NO es un agente. Solo se convierte en uno cuando está envuelto en un "harness" — el scaffolding que le da estado, ejecución de herramientas, loops de feedback y constraints aplicables. Proteger este nuevo paradigma exige cambiar el foco de proteger la sintaxis del código a proteger el harness.
En este entorno fluido y no determinístico, la identidad estática actúa como un perímetro pobre. El trust no puede ser una puerta que el agente cruza una vez en el deploy — debe ser continuamente ganado, verificado y aplicado dinámicamente según el contexto de runtime. Definimos esta garantía continua como Effective Trust — una métrica continua evaluada en 4 factores: supply chain, identidad, comportamiento de runtime y asociaciones contextuales.
Para alcanzar este Effective Trust continuo y proteger la realidad caótica del vibe coding, desarrollamos una arquitectura defence-in-depth por capas: un baseline estricto de 7 pilares, extendido por controles de ejecución de alta velocidad, y coronado por mecanismos de defensa agéntica activa.
La fundación: 7 Pilares de Seguridad
De Identity-as-a-Perimeter (RBAC) a Context-as-a-Perimeter — un "safety envelope" externo a la IA.
En entornos empresariales tradicionales, la seguridad es determinística. Las aplicaciones dependen de sintaxis de código predecible, y el acceso se gobierna por modelos estáticos de Identity-as-a-Perimeter, como RBAC. Si un usuario o service account tiene el token de autorización correcto, el sistema confía implícitamente en la ruta de ejecución.
El entorno agéntico rompe fundamentalmente este modelo. Como las fallas del día a día de los agentes frecuentemente se remontan a una herramienta ausente, una regla vaga o un guardrail inexistente, las organizaciones deben migrar a un modelo "Context-as-a-Perimeter". Como debemos asumir que el modelo subyacente puede fallar o ser comprometido, la seguridad no puede residir solo en la IA — necesitamos aplicar un "safety envelope" externo y estricto que abarque múltiples disciplinas.
1 · Infrastructure
Sandboxes a nivel de kernel (gVisor) + gobernanza de egreso estricta
2 · Data
CMEK + mTLS + least privilege + tenant partitioning en Vector DBs
3 · Model
Prompts y rule files como el nuevo source code — artefactos criptográficamente atestados
4 · Application & Runtime
LLM firewalls + hooks determinísticos + Agent Gateways (bouncers A2A)
5 · IAM
SPIFFE IDs + ABAC + JIT downscoping → Intent × User × Time
6 · Observability & SecOps
Tríada Red/Blue/Green + OpenTelemetry + Agent Behavioural Analytics
7 · Governance
EU AI Act · Algorithmic Impact Assessments · audit trail inmutable · Logic Reviews · Risk-Stratified Attestation
Pilares 1–3: Infraestructura, Datos, Modelo
La fundación, las paredes y el plano de la casa: un terreno cercado, bóvedas internas y reglas sobre lo que está prohibido construir.
Pilar 1 — Infrastructure & Networking
Los Cloud Infrastructure Engineers deben proteger el entorno fundacional contra upstream poisoning y container escapes. Como el harness debe dictar dónde corre realmente el código del agente y qué no puede alcanzar, aislamos la ejecución de runtime dentro de sandboxes efímeros a nivel de kernel (como gVisor). Además, una gobernanza de egreso de red estricta garantiza que los datos generados por el agente viajen solo por caches offline autorizados o proxies internos explícitos, previniendo la exfiltración pública inadvertida.
Pilar 2 — Data
Los Data Architects enfrentan la amenaza de que los agentes filtren información sensible de sus ventanas de contexto o ingieran datos RAG envenenados. La práctica de "context engineering" proporciona a los agentes información rica y estructurada sobre codebases e intención. Para proteger este contexto sensible: los datos en reposo se protegen con Customer-Managed Encryption Keys (CMEK), los datos en tránsito vía mutual TLS (mTLS). El acceso a datos debe estar estrictamente acotado para aplicar el principio de least privilege. Crucialmente, los almacenes de memoria de largo plazo — particularmente las Vector Databases — deben aplicar tenant partitioning estricto para prevenir el Cross-Tenant Vector Poisoning: un payload malicioso ingerido por un tenant no puede ser recuperado durante la similarity search de otro tenant.
Pilar 3 — Model
Los AI Engineers deben defender la lógica central de la aplicación contra ataques semánticos que subvierten las instrucciones del modelo. En workflows agénticos, el prompt y los "Instructions and Rule Files" que definen lo que el agente tiene prohibido hacer sirven como el nuevo source code. Proteger este pilar exige tratar las system instructions y los prompt templates del modelo como artefactos altamente sensibles y criptográficamente atestados.
Pilares 4–7: Aplicación, IAM, Observabilidad, Gobernanza
Del runtime a la sala de juntas: firewalls de LLM, identidades efímeras, la tríada SecOps y el EU AI Act.
Pilar 4 — Application & Runtime
Los agentes operan de forma interactiva — los firewalls tradicionales basados en reglas son insuficientes. Desplegamos firewalls de LLM para el filtrado dinámico de prompts y respuestas, junto con "hooks" determinísticos que se ejecutan en puntos específicos del ciclo de vida (antes de una tool call, después de una edición de archivo). Los Centralised Agent Gateways actúan como los "porteros del ecosistema", gobernando la orquestación Agent-to-Agent (A2A) para prevenir el movimiento lateral no autorizado.
Pilar 5 — Identity & Access Management
El riesgo principal es el "Confused Deputy": un agente con privilegios excesivos es engañado para ejecutar comandos no autorizados. Lo resolvemos asignando identidades criptográficas únicas (SPIFFE IDs) a cada agente. El acceso depende de Attribute-Based Access Control (ABAC) y downscoping de tokens Just-In-Time (JIT), aplicando una matriz de permisos estricta de Intent × User × Time — los agentes reciben credenciales fresh e hiperrestringidas que expiran inmediatamente después de que la tarea concluye.
Pilar 6 — Observability & Security Ops
SecOps debe combatir las "invisible failures", donde un agente se encadena en silencio en un bucle de razonamiento infinito. Sin observabilidad — logs, traces y metering — no hay forma de saber si un agente está funcionando bien o derivando en silencio. Lo resolvemos desplegando una tríada SecOps autónoma: el Blue Team utiliza OpenTelemetry y Agent Behavioural Analytics (ABA), el Red Team simula proactivamente ataques multi-hop, y el Green Team ejecuta "Stateful Quarantines" si se detecta una anomalía.
Pilar 7 — Governance
Los Governance Officers deben garantizar que las decisiones autónomas cumplan estándares regulatorios rigurosos. Más allá de los frameworks tradicionales de datos, la gobernanza ahora debe adherirse estrictamente al EU AI Act, exigiendo Algorithmic Impact Assessments para agentes autónomos de alto riesgo. Las organizaciones deben crear un audit trail inmutable que atribuya estrictamente cada acción del mundo real a un agente específico y al humano que lo desplegó o aprobó. Reemplazamos los botones simples de aprobación por "Logic Reviews" obligatorios (traduciendo sintaxis compleja a lenguaje simple) y utilizamos Risk-Stratified Attestation para vincular firmas digitales a los outputs del agente.
Con los 7 pilares establecidos, el desarrollador moderno deja de ser un ejecutor línea por línea y se convierte en un director de orquesta — orquestando agentes especializados como una orquesta, donde cada instrumento tiene su papel, pero la sinfonía solo funciona bajo una dirección precisa.
Sandboxes y el "Vibe Loop"
Escribe → ejecuta → lee errores → reescribe: el ciclo iterativo de alta velocidad que exige aislamiento total.
El mecanismo central del vibe coding depende de traducir dinámicamente la intención humana en lógica ejecutable on the fly. Sin embargo, los agentes vibe-coded rara vez escriben código perfecto en el primer intento. La realidad del desarrollo orientado por intención es un ciclo iterativo de alta velocidad: el agente escribe un script, lo ejecuta, lee los error logs resultantes y reescribe autónomamente la lógica hasta alinearse con el "vibe" del usuario. Como este proceso generativo introduce alta variabilidad, el código resultante no puede confiarse implícitamente. Ejecutar estos scripts generados dinámicamente directamente junto al agente raíz o en la infraestructura host estándar introduce un nivel inaceptable de riesgo.
Cualquier código generado por skill debe ejecutarse primero dentro de un sandbox efímero y network-isolated. Los sub-agentes diseñados para ejecutar código no confiable o invocar herramientas deben correr en entornos hardened — contenedores dedicados, VMs o entornos kernel-level como gVisor. Crucialmente, estos sandboxes no son meramente "prisiones" para payloads maliciosos: deben bloquear activamente el acceso raw al host y resetear completamente su estado entre ejecuciones. Aunque un script vibe-coded contenga una vulnerabilidad severa o sea manipulado para intentar un container escape, la lógica comprometida no puede persistir ni impactar el host node subyacente.
El sandbox efímero es como una sala de pruebas que se autodestruye y se reconstruye desde cero en cada experimento — si el experimento explota, el siguiente comienza en una sala nueva.
Slopsquatting y Gobernanza de Egreso
Los LLMs alucinan paquetes que no existen — y los atacantes publican malware bajo esos nombres exactos.
La generación de código agéntica introduce una vulnerabilidad de supply chain altamente específica y peligrosa: los LLMs frecuentemente alucinan paquetes de software que no existen. Los actores maliciosos monitorean activamente foros de desarrolladores y outputs de IA en busca de estas alucinaciones, publicando proactivamente malware bajo esos nombres exactos y fabricados. Como los agentes autónomos pueden alterar los dependency graphs sin confirmación humana, una sola alucinación puede arrastrar malware directamente al entorno de build.
Los atacantes explotan activamente la tendencia de los LLMs a alucinar nombres de dependencias: suben paquetes maliciosos usando esos nombres fabricados para que los agentes automatizados los descarguen inadvertidamente — una técnica que Wiz llama "slopsquatting". Los agentes deben obtener dependencias exclusivamente de providers verificados o registries internos enterprise, con cryptographic version pinning estricto. CI/CD debe verificar automáticamente las entradas de SBOM y las firmas digitales antes de que cualquier artefacto avance a producción, vía Binary Authorisation.
Mientras que el aislamiento kernel-level protege la infraestructura host, las organizaciones también deben asegurar el límite de red. En el software tradicional, el tráfico de salida es altamente predecible. En sistemas vibe-coded, el egreso es no determinístico porque está dirigido por el uso dinámico de herramientas recién generadas. Un failure mode común: el agente intenta inadvertidamente pushear código no verificado a entornos live o exfiltrar datos sensibles. Sin embargo, confiar en una simple allowlist de dominios aprobados es insuficiente — una allowlist no puede proteger a un agente contra prompt injections indirectos escondidos en páginas web de terceros.
Para mitigar este riesgo, los agentes deben restringirse a acceso a internet no interactivo. Los administradores deben forzar al agente a obtener información externa exclusivamente a través de caches offline o servicios de web-crawling dedicados y pre-sanitizados. Al forzar que todos los datos viajen estrictamente por caminos gobernados, las organizaciones previenen que el agente interactúe directamente con payloads maliciosos o descargue inadvertidamente paquetes typosquatted.
Vulnerabilidades de Aplicación e IDE vs CI/CD
El código generado por IA falla de dos formas predecibles: confía demasiado en el browser y deja el backend escancarado.
Un sandbox perfecto no evita que un agente escriba código fundamentalmente defectuoso o se conecte a una herramienta interna maliciosa. El vibe coding inherentemente prioriza la funcionalidad inmediata sobre el diseño seguro — las aplicaciones generadas frecuentemente contienen fallas estructurales severas. Los usuarios a menudo confían implícitamente en el código generado simplemente porque compila y corre sin errores, ciegos al hecho de que la aplicación puede haber eludido por completo los controles de seguridad estándar del backend.
🌐 Falla 1: Confía demasiado en el browser
La IA toma el camino de menor resistencia: operaciones sensibles en el frontend. API keys, validación de contraseñas y flags de sesión directo en el client side. Cualquiera con las devtools del browser puede leer credenciales o manipular el nivel de acceso sin una contraseña real.
🔓 Falla 2: Backend escancarado
La velocidad de construcción supera la configuración de capas invisibles. La IA conecta databases y crea dashboards admin, pero rara vez habilita controles default-deny. La row-level database security se salta — datos privados y de staging expuestos en la internet pública.
Para capturar estas fallas estructurales, necesitamos equilibrar la velocidad del desarrollador con un enforcement estricto de seguridad. Intentar bloquear agresivamente prompts inseguros directamente en el IDE se evita fácilmente y causa fricción excesiva. En su lugar: "shift left" vía Developer Advisory Linters en el IDE (orientación en tiempo real), mientras el enforcement innegociable se empuja a checks determinísticos en el pipeline de CI/CD. Integrar SAST (Static Application Security Testing) y SCA (Software Composition Analysis) en el pipeline garantiza que toda la lógica de aplicación generada se escanee determinísticamente en busca de dependencias vulnerables y fallas estructurales antes de llegar a producción.
MCP Spoofing y Autorización Contextual
Servidores forjados se hacen pasar por herramientas MCP legítimas — y los agentes autónomos ejecutan comandos maliciosos antes de cualquier intervención humana.
Una vez que la lógica de la aplicación vibe-coded está desplegada, los controles de seguridad deben gobernar cómo el agente interactúa con sistemas externos. Los agentes dependen cada vez más de frameworks de coordinación de herramientas, como el Model Context Protocol (MCP), que permiten descubrir y conectar a servidores externos o internos enterprise en runtime.
Un servidor forjado o comprometido puede hacerse pasar por una herramienta MCP legítima para inyectar payloads o exigir privilegios excesivos. Como los agentes operan autónomamente, pueden ejecutar comandos maliciosos proporcionados por estos servidores spoofed antes de cualquier intervención humana.
Para asegurar la orquestación Agent-to-Tool y Agent-to-Agent (A2A), las organizaciones deben desplegar un firewall de LLM de runtime frente al agente activo para interceptar dinámicamente prompt injections oportunistas. Además, un Centralised Agent Gateway debe evaluar la Autorización Contextual — actuando como enforcer del factor de trust "Association", verificando dinámicamente si la solicitud del agente de llamar a una herramienta se alinea perfectamente con la intención original del desarrollador.
Al enrutar todas las invocaciones por este punto de entrada y salida gobernado, la arquitectura previene el movimiento lateral no autorizado cuando un agente intenta conectarse con herramientas internas.
Al enrutar todas las invocaciones de herramientas por un Centralised Agent Gateway, limitamos con éxito la capacidad del agente de ejecutar acciones no autorizadas en el pilar de runtime. Sin embargo, la integridad de estas decisiones depende en última instancia de cómo verificamos al actor detrás del agente, gestionamos credenciales bajo presión y establecemos control humano sobre acciones de alto riesgo. Esto desplaza el límite de seguridad de la orquestación de aplicación a la verificación criptográfica de identidad y la mecánica de autorización humana.
Identidad, Confused Deputy y Zero Ambient Authority
Cada agente necesita una identidad criptográfica única — y nunca debe heredar los privilegios completos del desarrollador.
Como los desarrolladores frecuentemente usan lenguaje natural vago o altamente abstraído para generar código (por ejemplo, "fix the backend routing"), los workflows agénticos resultantes son inherentemente amplios. Conceder a estos agentes autónomos identidades de servicio compartidas y de larga vida crea un vector de amenaza interna incontrolable. Para asegurar este pilar, las organizaciones deben asignar identidades criptográficas únicas (como SPIFFE IDs) a cada agente individual.
El Confused Deputy e Identidad Delegada vs. Agéntica
Incluso con una identidad única, un agente vibe-coded permanece altamente susceptible al problema del Confused Deputy. Esto ocurre cuando un prompt injection — como una instrucción maliciosa escondida dentro de un repositorio open-source que un desarrollador pegó sin saberlo en la ventana de contexto del IDE — engaña a un agente con privilegios excesivos para ejecutar un comando no autorizado en nombre del atacante.
❌ Credenciales delegadas del humano
- El agente opera bajo la identidad del usuario
- Acceso ambiente peligroso — hereda todo
- Los audit logs no distinguen humano de agente
✅ Identidad agéntica dedicada
- El agente se autentica con una identidad explícitamente marcada como agéntica
- Permisos estrictamente vinculados y observables
- Audit logs granulares por agente
Para resolver esto, un agente nunca debe ser el árbitro final de acceso. Una identidad agéntica distinta y observable garantiza que sus permisos permanezcan estrictamente vinculados y sujetos a audit logs granulares.
Zero Ambient Authority y JIT Downscoping
Sobre esta base, la arquitectura debe aplicar Zero Ambient Authority. Un agente ejecutando un "vibe" nunca debe heredar los privilegios administrativos completos y los entornos del desarrollador. En su lugar, el sistema depende de downscoping de tokens Just-In-Time (JIT).
Cuando un agente escribe dinámicamente un nuevo script o skill para resolver una tarea, el sandbox de ejecución recibe credenciales fresh e hiperrestringidas con alcance explícito a las fuentes de datos exactas necesarias para ese script específico — en lugar de heredar los permisos amplios del agente padre. Los administradores deben aplicar file-tree allowlists que confinan las operaciones de lectura y escritura a directorios específicos del proyecto, usando reglas deny-by-default para bloquear el acceso a secrets, build scripts y manifests de producción. Estos tokens downscoped son altamente efímeros y expiran en el momento exacto en que la tarea concluye.
Zero Ambient Authority es como darle al pasante la llave de UNA gaveta, por UNA hora, para UNA tarea específica — en lugar del llavero maestro de todo el edificio.
Elicitación, MFA y el "Vibe Diff"
Las acciones de alto riesgo exigen más que botones de approve/deny — exigen que el humano realmente entienda lo que está autorizando.
Mientras que los constraints automatizados de identidad manejan la mayoría de las tareas de rutina, las acciones de alto riesgo — como modificar databases de producción, ejecutar transferencias financieras o alterar configuraciones de IAM — requieren verificación explícita y no pueden depender de simples botones "approve/deny". Como los vibe coders frecuentemente dependen de la IA para escribir sintaxis compleja que pueden no entender completamente (la falacia "It Works, Ship It"), las puertas de aprobación simples rápidamente causan confirmation fatigue, llevando a los desarrolladores a autorizar ciegamente código que no comprenden.
Para combatir esto, el sistema debe implementar elicitación estructurada y context-aware. El agente se ve forzado a solicitar activamente confirmación basada en el contexto específico de una acción de alto riesgo, que debe estar acompañada por dos fronteras de seguridad distintas:
🔑 Cryptographic Hardware MFA
El sistema debe exigir desafíos físicos de autenticación multifactor — como requerir que el desarrollador toque una llave de seguridad USB de hardware para aprobar criptográficamente la ejecución.
📋 The Vibe Diff
Antes de que una herramienta crítica se ejecute, un Evaluator Quorum intercepta la solicitud y traduce el código generado complejo de vuelta a un resumen en lenguaje simple. Muestra al dev exactamente cómo la intención original y difusa se mapea a los pasos de ejecución propuestos — garantizando que el operador humano realmente entiende lo que está autorizando antes de dar consentimiento criptográfico.
El Vibe Diff es como el médico traduciendo el informe técnico a lenguaje simple antes de que firmes la cirugía — no firmas lo que no entiendes.
Incluso con verificación de identidad perfecta y autorización humana granular, las instrucciones maliciosas aún pueden pasar las defensas iniciales. Cuando los desarrolladores confían ciegamente en repositorios open-source o extraen bloques masivos de contexto no estructurado, invitan ataques semánticos sofisticados que eluden los controles IAM estándar. Para detectar y neutralizar proactivamente estas amenazas ocultas a medida que el código se genera, las operaciones de seguridad deben evolucionar para igualar la velocidad exacta del workflow agéntico.
La Tríada Red/Blue/Green (Pilar 6)
Las propias operaciones de seguridad deben volverse agénticas — una tríada continua de IA corriendo en paralelo con el workflow del dev.
En un entorno vibe-coded, la lógica de aplicación se genera, ejecuta y descarta a una velocidad sin precedentes. Como la superficie de ataque es no determinística y dirigida por lenguaje natural, las operaciones de seguridad manuales tradicionales simplemente no escalan. Para asegurar sistemas autónomos, las propias operaciones de seguridad deben volverse agénticas, exigiendo el despliegue de una tríada continua de Red, Blue y Green teaming corriendo en paralelo con el workflow del desarrollador.
Invisible Payloads y Repository Poisoning
Antes de desplegar operaciones defensivas, necesitamos entender la naturaleza sigilosa de las amenazas agénticas. Los repositorios actúan como un vector de ataque altamente eficaz. Los actores de amenaza pueden comprometer repositorios insertando caracteres Unicode zero-width u homoglifos directamente en el codebase. Knostic alerta que estos "invisible payloads hide in plain sight and bypass human review". Como los agentes manipulan y replican código mucho más rápido que un desarrollador humano, un solo payload oculto puede "spread across hundreds of files in minutes" antes de que alguien lo note.
🔴 Red Team (Agent Attacker)
El monitoreo pasivo es fundamentalmente reactivo. Los Virtual Red-Teaming Agents inyectan proactivamente "Adversarial Vibes" — jailbreaks de roleplay sofisticados e instrucciones maliciosas ocultas en bloques masivos de contexto RAG o posts de foro falsos que los devs pegan en los IDEs. Prueba activamente si el agente enterprise se distrae con contexto envenenado y alucina una solución insegura.
🔵 Blue Team (Agent Defender)
Reemplaza el UEBA tradicional (ineficaz para IA no determinística) con Agent Behavioural Analytics (ABA) — un baseline de caminos de ejecución esperados + detección de anomalías específicas de IA. Monitorea continuamente el Runtime AgBOM (inventario dinámico de herramientas, modelos y fuentes de datos activos en cada milisegundo). Si la lógica deriva — un script consulta un número inusual de herramientas externas o entra en un loop de recursos ilimitado — el ABA lo señala inmediatamente.
🟢 Green Team (Agent Fixer)
Matar el contenedor host es disruptivo y peligroso — un agente "mid-thought" puede dejar APIs en estado corrupto. En su lugar, ejecuta una "Stateful Quarantine" vía SOAR playbooks: revoca graciosamente el acceso a herramientas, congela la capacidad de actuar PERO preserva la memoria de corto plazo intacta para análisis forense. Va más allá: Auto-Refactoring — reescribe autónomamente el script inseguro y presenta el código seguro directo en el IDE del dev.
Es como tener un hacker ético, un vigilante con detector de mentiras y un cirujano de emergencia — todos robots — trabajando en turnos continuos dentro de tu codebase.
Integrando la Tríada y Batch Sizes
Tres fases de runtime donde la tríada adapta dinámicamente el comportamiento del agente primario.
Para prevenir que los agentes generen modificaciones masivas y no revisables de código durante este proceso, los desarrolladores deben restringir el output del agente a small batch sizes. Esto se logra idealmente usando un loop test-driven donde el sistema bloquea al agente de modificar tests y código de implementación simultáneamente, garantizando que el test permanezca como un baseline objetivo.
Con estos constraints en vigor, la tríada Red, Blue y Green adapta dinámicamente el comportamiento del agente primario en runtime en tres fases distintas:
📐 Planner Phase
Cuando el agente primario diseña un workflow, una skill especializada de threat-modelling ayuda a evaluar el plan, identificando fallas lógicas y violaciones de política antes de que el agente inicie la ejecución activa.
⚖️ Evaluator Phase
El quorum de evaluadores revisa la execution trace propuesta mientras el Agent Defender (Blue) simultáneamente verifica el AgBOM y monitorea el contexto semántico en busca de intent drift.
⚡ Executor Phase
Mientras el Executor ejecuta la acción downscoped, el Agent Fixer (Green) monitorea la ejecución real de herramientas — listo para orquestar instantáneamente un stateful quarantine o disparar un loop de auto-refactoring si el agente encuentra un error o viola un constraint de seguridad.
Para garantizar que estos mecanismos de defensa automatizados puedan intervenir con éxito, la tríada de seguridad requiere una visión granular y sin impedimentos del razonamiento interno del agente. Una operación de seguridad agéntica es enteramente ciega si solo mira el output final de código. Necesitamos desplazar el foco de observar la infraestructura host a observar la "mente" del agente, creando un audit trail inmutable que mapea exactamente cómo una intención difusa se traduce en una acción del mundo real.
Observabilidad: Auditando la Mente del Agente
"You cannot secure what you cannot see." — La observabilidad es un requisito estricto de seguridad, no solo una preocupación operativa.
Para proteger y evaluar eficazmente un agente vibe-coded, necesitamos reconocer una regla fundamental: you cannot secure what you cannot see. En los microservicios tradicionales, un estado HTTP 200 OK indica una operación exitosa. Sin embargo, en un sistema agéntico, un estado "success" puede simplemente enmascarar un escenario donde la lógica interna del agente ha derivado en cascada y en silencio hacia un loop de alucinación. Esto introduce el riesgo crítico de ataques de Denial of Wallet (DoW), donde los adversarios activan intencionalmente loops de API infinitos y computacionalmente costosos para quebrar deliberadamente las cuentas de billing de nube y LLM de la organización.
La observabilidad ya no es simplemente una preocupación operativa de uptime y latencia; es un requisito estricto de seguridad para iluminar el "glass box" de la lógica no determinística.
Trazando la "Vibe Trajectory" y el Content Scanning
Para responder a la pregunta crítica "Why did an agent do that?", los equipos de seguridad deben construir una lente cronológica unificada para ver los pasos cognitivos del agente. Utilizando frameworks de telemetría estándar como OpenTelemetry, las empresas pueden agregar señales diversas — llamadas de API, inputs/outputs de herramientas, retrievals de RAG y latencia de tokens — en una Vibe Trajectory completa.
Trazar esta trayectoria requiere registrar el salto cognitivo masivo desde el prompt inicial del usuario hasta el Abstract Syntax Tree (AST) compilado. Para fortificar este trace, las organizaciones deben combinar el logging tradicional con Centralised Content Scanning, diseñado explícitamente para inspeccionar todos los snippets de código dinámicos o scripts recuperados por el agente en runtime. Este trace vincula de forma segura el loop de razonamiento interno del agente con sus acciones físicas, soportando auditorías de seguridad rigurosas de terceros.
Midiendo el Intent Drift y el Trust Decay
A medida que un agente vibe-coded genera dinámicamente lógica e incorpora nuevas herramientas, su perímetro de seguridad fluctúa constantemente, dejando los inventarios estáticos de activos (SBOMs) instantáneamente obsoletos. En cambio, las plataformas de observabilidad deben monitorear un Runtime Agent Bill of Materials (AgBOM) — un documento vivo que mapea el blast radius activo del agente en cada milisegundo.
Como la confianza en un sistema autónomo es un activo que se degrada, la arquitectura monitorea continuamente el Intent Drift. El principio de Trust Decay dicta que la confianza se pierde cuando la cadena de pensamiento interna del agente persigue sub-objetivos que divergen del "vibe" humano original. Por ejemplo, un prompt simple para "optimize the database query" puede derivar maliciosamente en que el agente intente descargar una nueva biblioteca de indexación no autorizada.
Checkpoints y Stateful Circuit Breakers
Para prevenir acciones destructivas cuando ocurre este drift, el pilar de observabilidad debe gestionar proactivamente el estado. Antes de que un agente ejecute cualquier modificación del codebase, el sistema debe generar un version control checkpoint.
A medida que el Agent Behavioural Analytics evalúa la Vibe Trajectory contra el AgBOM, cualquier inestabilidad detectada penaliza instantáneamente el Agent Trust Score dinámico. Si este score cae por debajo de un threshold predefinido, se dispara un "circuit breaker" automático. El entorno usa el version control checkpoint para hacer un rollback inmediato de los cambios, revocando gradualmente el acceso a las herramientas y congelando la ejecución autónoma del agente sin corromper las APIs conectadas, preservando el estado del entorno para análisis forense.
El circuit breaker es como el disyuntor de tu casa: cuando la corriente (drift) sube demasiado, apaga todo ANTES del incendio — y puedes investigar qué causó el cortocircuito con todo preservado.
Security Recap: Los 5 Mandamientos
Abandonar la confianza implícita. El baseline práctico para proteger una arquitectura vibe-coded.
Para los desarrolladores que operacionalizan estos conceptos, proteger una arquitectura vibe-coded depende de abandonar la confianza implícita e implementar el siguiente baseline práctico:
1️⃣ Sandbox the Vibe Loop
Ejecuta siempre los scripts generados dinámicamente dentro de sandboxes a nivel de kernel y aislados de red para contener el blast radius. Integra Software Composition Analysis (SCA) actualizado para escanear activamente dependencias alucinadas o vulnerables antes de que el código llegue a producción.
2️⃣ Shift the Perimeter Left
Aplica el uso de fuentes confiables y registries internos verificados. Si bien bloquear la generación insegura a nivel de IDE proporciona un primer paso advisory, depende de checks determinísticos estrictos en múltiples puntos del pipeline de CI/CD para interceptar lógica de agente vulnerable o maliciosa antes del deployment.
3️⃣ Enforce Zero Ambient Authority
Nunca concedas a un agente una "Global Key". Restringe el acceso enviando identidades de usuario delegadas y tokens JIT hiperrestringidos que expiran en el momento en que la tarea concluye. Para acciones de alto riesgo, reemplaza los botones de aprobación ciega por un "Vibe Diff" obligatorio para garantizar que los desarrolladores entiendan la lógica generada.
4️⃣ Deploy Agentic SecOps
Somete continuamente tu arquitectura a pruebas de estrés desplegando Virtual Red-Teaming Agents para inyectar "Adversarial Vibes". Aprovecha Agent Behavioural Analytics para monitorear el AgBOM dinámico en runtime, mientras capacitas al Green Team para auto-refactorizar vulnerabilidades on the fly.
5️⃣ Trace the Execution Trajectory
Registra las llamadas de API del agente, los inputs de herramientas y los pasos de razonamiento. Los equipos de seguridad deben monitorear continuamente estos logs de ejecución para detectar comportamiento inesperado y utilizar version control checkpoints para revertir el acceso si el agente se desvía de la tarea prevista.
Implementar estos controles de seguridad ayuda a nuestros agentes vibe-coded a operar con seguridad dentro de un perímetro seguro y bien gobernado. Sin embargo, un agente seguro no es inherentemente un agente eficaz. La seguridad garantiza que el agente no hizo nada malicioso o no autorizado — pero ¿cómo probamos definitivamente que realmente alcanzó la intención matizada del usuario?
Para verdaderamente operacionalizar estos agentes, necesitamos ir más allá de proteger el perímetro y abrir el "glass box" para medir la calidad, eficiencia y alineación del razonamiento interno. Esto nos lleva a la siguiente fase crucial del pipeline: Agent Evaluation.
Evaluation: Orquestando Calidad
La seguridad te dice que el agente se mantuvo dentro del límite; la evaluación te dice si lo que ocurrió dentro de ese límite vale la pena enviarse.
Las secciones anteriores cubrieron los controles de seguridad que restringen lo que un agente vibe-coded puede hacer. Estos controles no responden a la pregunta que el desarrollador realmente tiene: ¿el agente construyó lo que pedí, y es bueno? Un agente vibe-coded puede pasar todos los checks de seguridad y aun así malinterpretar la intención del desarrollador, ignorar las convenciones del proyecto o romper una feature no relacionada.
La seguridad te dice que el agente se mantuvo dentro del límite; la evaluación te dice si lo que ocurrió dentro de ese límite vale la pena enviarse.
Las siguientes secciones se estructuran en torno a tres preguntas: por qué la evaluación de vibe coding es diferente de evaluar otro software, qué evaluar y cómo evaluar. Dos áreas quedan deliberadamente fuera del alcance de este framework, ambas mereciendo tratamiento dedicado: la evaluación subjetiva de outputs no verificables, donde la calidad se define por preferencias del usuario o de la empresa en lugar de ground truth; y el feedback loop de correcciones del usuario de vuelta al modelo, al harness o al eval suite para impulsar la mejora.
Figura 2 · El framework de evaluación de agentes de vibe coding
Por qué evaluar agentes de vibe coding es diferente
No es el mismo problema que evaluar software determinístico — ni un agente de customer-service, ni un agente de investigación.
Evaluar agentes de vibe coding no es el mismo problema que evaluar software determinístico, y tampoco es el mismo problema que evaluar un agente de customer-service o un agente de investigación. Tres cosas lo hacen único:
📭 1. The Underspecification Gap
Las pruebas de software tradicionales operan bajo la suposición inquebrantable de que existe una especificación completa y rígida antes de que se evalúe una sola línea de código. El vibe coding es exactamente lo opuesto: el prompt del usuario es inherentemente subespecificado. "Make the dashboard load faster" no es un caso de prueba. El prompt depende enteramente del conocimiento latente, el juicio estético y la experiencia de dominio del modelo para llenar los vacíos operacionales. El primer trabajo de la evaluación es determinar si el agente llenó ese vacío y reconstruyó la spec no declarada correcta.
🙈 2. El usuario no puede validar
Los usuarios no técnicos no pueden revisar 600 líneas de código línea por línea. Los ingenieros experimentados tampoco, en tiempo real. La brecha entre "el agente cree que tuvo éxito" y "el código está realmente correcto" es más amplia aquí que en cualquier otra categoría de agente — y cerrar esa brecha es el trabajo central de la evaluación.
🔄 3. Sesión iterativa, el codebase es estado
Cada turno modifica archivos reales. Las malas decisiones iniciales se compoundan. La evaluación debe cubrir no solo las decisiones por turno, sino el arco completo de una conversación multi-turno, en un codebase vivo con sus propias convenciones, dependencias e historia.
Estos tres constraints dan forma a cada dimensión, método y consejo que sigue.
Evaluar vibe coding es como juzgar a un chef que recibió solo "haz algo rico" como pedido — sin receta, sin foto del plato, y el cliente no sabe cocinar para comprobarlo.
Qué evaluar: las 7 dimensiones
Siete dimensiones en dos grupos — user-facing e internal — con Safety & Responsible AI como franja transversal.
La evaluación de agentes de vibe coding se divide en siete dimensiones, en dos grupos. Las dimensiones user-facing son lo que el desarrollador experimenta directamente. Las dimensiones internal describen lo que el agente hace de forma invisible para el usuario. Además, Safety y Responsible AI es transversal — intersecta múltiples dimensiones (vulnerabilidades de código, comportamiento de rechazo, seguridad de contenido, exposición de IP) y debe evaluarse junto con cada una de ellas.
👤 Dimensiones User-Facing
1. Intent satisfaction
¿El agente construyó lo que el usuario quiso decir, no solo lo que dijo? La dimensión más difícil de evaluar porque la intención no está declarada, es ambigua y frecuentemente cambia a mitad de la sesión. Es lo que el usuario usa para juzgar al agente al final.
2. Functional correctness
¿El código compila, se ejecuta y pasa las pruebas? El piso, no el techo. Fácil de medir pero fácil de burlar: las pruebas pueden eliminarse o mockearse para convertir rojo en verde sin arreglar nada.
3. Visual & behavioural correctness
Para agentes que producen web apps o UI, el artefacto es el output renderizado, no el código. Las métricas a nivel de código erran el objetivo por completo. La página se ve bien y se comporta bien, o no.
4. Cost & efficiency
Gasto de tokens, latencia wall-clock, conteo de tool-calls e iteration count — ¿cuántas correcciones necesitó emitir el usuario antes de que el agente convergiera? Un agente que acierta el diff en 1 turno es un producto diferente de uno que necesita 8 correcciones.
5. Code quality & convention matching
¿El código corresponde a los idiomas, patrones y convenciones del proyecto? Un diff que pasa las pruebas pero viola el estilo del codebase es un fallo de vibe-coding incluso cuando es localmente correcto.
🧠 Dimensiones Internal
6. Trajectory quality
¿El agente tomó un camino sensato: leyó primero los archivos relacionados, secuenció las ediciones coherentemente, eligió la herramienta o skill correcta en cada paso? Un output correcto producido por un mal razonamiento es un éxito frágil.
7. Self-repair behaviour
Cuando el build falla, la prueba se rompe o el usuario dice "no, así no" — ¿el agente se recupera o compounda el fallo? La calidad de recuperación se compounda a lo largo de una sesión multi-turno.
Estas dimensiones no son independientes. Por ejemplo, una trajectory quality (dimensión 6) más fuerte tiende a significar una functional correctness (dimensión 2) más fuerte, que es un prerrequisito para la intent satisfaction (dimensión 1).
Figura 3 · Dimensiones de evaluación para agentes de vibe coding
Cómo evaluar: los 8 métodos
Ningún método único cubre todo — los pipelines de producción combinan varios. La matriz muestra qué método cubre qué dimensión.
Las siete dimensiones no son todas medibles de la misma forma. Ningún método único cubre todo, por lo que los pipelines de producción combinan varios. La matriz de abajo resume los métodos de evaluación y las dimensiones recomendadas para cada uno; el resto de la sección describe cada uno en detalle.
| Método | Qué hace | Dimensiones recomendadas |
|---|---|---|
| Standardized benchmarks | Compara contra el campo en task sets compartidos. | 2, 4 |
| Automated functional testing | Ejecuta build, pruebas y linters sobre el output. | 2, 5 |
| Security & safety evaluation | Análisis estático + probing adversarial de rechazo. | RAI |
| LLM-as-judge / Agent-as-judge | Puntúa outputs contra rubrics. | 1, 5, 6 |
| Browser-based testing | Workflows multi-step en la app desplegada. | 3 |
| Trajectory inspection | Analiza razonamiento, tool calls, retrievals. | 6, 7 |
| Human review | Revisores calificados; ground truth para la intención. | 1, 5, RAI |
| Online evaluation | Muestrea tráfico de producción; rubrics offline. | Todas |
Figura 4 · Métodos de evaluación y dimensiones recomendadas
🧪 Automated functional testing
Ejecuta el build, la test suite y los linters sobre el output del agente. El herramental estándar hace la mayor parte del trabajo aquí — pytest, jest, eslint, mypy — conectado al pipeline de CI del proyecto. Esta es la señal más barata disponible, recomendada para functional correctness (dimensión 2) y las partes rule-checkable de code quality (dimensión 5).
🛡️ Evaluación de seguridad y safety
Combina análisis estático de seguridad sobre el código generado con probing adversarial del comportamiento de rechazo. Es transversal — puntúa safety e IA responsable junto con las demás dimensiones, no como una puerta separada. Escáneres estáticos como Snyk y Semgrep encuentran vulnerabilidades, git-secrets detecta fugas de credenciales, y suites de red-team con guion prueban si el agente rechaza solicitudes claramente dañinas.
⚖️ LLM-as-judge / Agent-as-judge
Usa un modelo para puntuar outputs contra rúbricas. Recomendado para dimensiones donde las reglas no capturan la respuesta correcta — intent satisfaction (1), code quality y estilo (5) y trajectory quality (6). En la práctica: Gemini puntuando un output contra el prompt original del usuario, o un agent-as-judge inspeccionando la traza en busca de coherencia de plan.
🌐 Browser-based testing
Ejecuta workflows multi-paso contra la app desplegada y observa lo que sucede. Recomendado para visual y behavioural correctness (dimensión 3) en agentes que producen UI. Las técnicas están bien establecidas: scripts de Playwright que interactúan con la UI renderizada, comparación de capturas de pantalla contra una referencia.
🔍 Trajectory inspection
Analiza el razonamiento del agente, tool calls, invocaciones de skills y retrievals. Recomendado para las dimensiones internas — trajectory quality (6) y self-repair behaviour (7). El sustrato son trazas de OpenTelemetry con datos de tool-call a nivel de span, expuestas mediante herramientas de trace-replay que vinculan cada invocación del modelo con las acciones que siguieron.
👥 Human review
Muestrea sesiones para revisión directa por revisores calificados. Recomendado para intent satisfaction (1 — los humanos son el único ground truth), code quality (5 — el dominio tradicional del code review) y decisiones de safety/RAI que requieren juicio matizado. No escala; se usa principalmente para calibrar los otros métodos. En la práctica: anotación estructurada por ingenieros senior en colas de revisión alimentadas por muestreo online.
📡 Online evaluation
Muestrea tráfico de producción en vivo y puntúa contra las mismas rúbricas usadas en la evaluación offline. Cubre todas las dimensiones a la tasa de muestreo. El truco es muestrear bien: un 1% plano pierde la long tail, así que sesga hacia sesiones de alto costo, sesiones con muchas correcciones y sesiones que el usuario abandonó.
Benchmarks estandarizados y Kaggle Agent Exams
Las pruebas estandarizadas aíslan capacidades cognitivas específicas — pero son calibración, no un sustituto para evaluar la intención.
Mientras los frameworks de evaluación personalizados manejan la naturaleza abierta del vibe coding, las pruebas estandarizadas aíslan capacidades cognitivas específicas del ruido de entornos enterprise personalizados. Proporcionan la línea base empírica necesaria para confiar en un sistema no determinístico.
🏗️ Vibe Code Bench
Evalúa generación de web apps desde cero (zero-to-one). Compara tu agente contra el campo en conjuntos de tareas compartidos de creación completa de aplicaciones.
🐙 SWEbench Verified
Evalúa cambios de código en repositorios reales de GitHub. Demuestra que el agente puede navegar un repositorio de Python altamente estructurado.
⚡ LiveCodeBench
Proporciona una señal resistente a la contaminación para generación de código — problemas nuevos que no se han filtrado en los datos de entrenamiento.
Kaggle Agent Exams (SAE) y evaluación zero-setup
Abordando la carga de infraestructura históricamente pesada necesaria para ejecutar estos benchmarks, los Kaggle Standardised Agent Exams (SAE) representan un cambio masivo hacia la evaluación autónoma "zero-setup". Desplegado como una integración de API ligera mediante un archivo SKILL.md, el SAE permite que un agente se registre autónomamente en Kaggle, obtenga preguntas de examen, ejecute lógica multi-paso dentro de su propio entorno sandbox y publique instantáneamente su puntuación en un leaderboard público en vivo. Funciona como una prueba rigurosa y sin fricción del razonamiento multi-hop del agente y de la seguridad adversarial bajo presión.
A pesar de su inmensa utilidad, la dependencia excesiva de benchmarks estandarizados introduce un tradeoff severo: benchmark overfitting. Los agentes pueden hiper-optimizarse para lograr puntuaciones máximas en datasets estáticos de Kaggle, pero fallar catastróficamente cuando se exponen a las realidades confusas y contradictorias de la intención humana en producción. Una puntuación alta en SWE-bench demuestra que el agente puede navegar un repositorio de Python estructurado — pero proporciona cero garantías de que posee el juicio estético necesario para "vibe codear" una aplicación consumer-facing. Los exámenes estandarizados deben usarse estrictamente para calibración cognitiva, no como sustituto para evaluar la intención personalizada.
Los benchmarks son como el examen de admisión a la universidad: demuestran que el candidato sabe hacer exámenes — no que será un buen empleado en el mundo real.
Observabilidad: el prerrequisito de la evaluación
Sin observabilidad, las fallas del agente aparecen como eventos monolíticos inexplicables.
Para evaluar el razonamiento interno de un agente, los desarrolladores necesitan la capacidad de verlo. La observabilidad es el prerrequisito absoluto para la evaluación Glass Box; sin ella, las fallas del agente aparecen como eventos monolíticos inexplicables.
🧵 Tracing the Thought
La observabilidad moderna de agentes usa OpenTelemetry para capturar flujos no determinísticos. Los spans agent.session capturan la duración completa de la tarea, los spans agent.think registran el ciclo interno de razonamiento y prompting antes de la acción, y los spans agent.tool registran los argumentos específicos y latencias de las interacciones ambientales.
💰 Tracking Costs
La observabilidad proporciona datos granulares para calcular costos operacionales reales. Agregando atributos de span, los equipos pueden medir con precisión el consumo de tokens, la latencia de inferencia y el costo de los loops de self-repair.
🎯 Dynamic Tail-Based Sampling
Capturar el 100% de las trazas en producción agota rápidamente los presupuestos de almacenamiento. El muestreo dinámico basado en cola permite al colector evaluar la traza completa tras su finalización — descartando éxitos rutinarios mientras retiene trazas que contienen errores o loops excesivos de self-repair.
Tip 1: Session prefix como rúbrica de intención
Los primeros 1–2 mensajes del usuario son lo más cercano a una spec que tienes. Úsalos como rúbrica.
El vibe coding no tiene una spec contra la cual probar — la intención del usuario no está declarada y evoluciona entre turnos. Lo más cercano a una spec son los primeros uno o dos mensajes del usuario. Trátalos como rúbrica: deriva criterios de evaluación automáticamente del session prefix, luego puntúa cada turno subsiguiente contra ellos. Esta es la única forma práctica de evaluar la dimensión 1 (intent satisfaction) a escala.
from google import genai client = genai.Client(vertexai=True, project="...", location="us-central1")# Derive criteria from the user's opening turnsopening = " ".join(session.user_messages[:2]) criteria = client.models.generate_content( model="gemini-3-pro", contents=f"Produce 3-5 acceptance criteria for: {opening}. Return JSON.", ).parsed["criteria"]# Score every agent turn against the derived criteriascore = client.models.generate_content( model="gemini-3-pro", contents=f"Does this output satisfy {criteria}? Score 1-5 with rationale."f"Output: {agent_response}", ).parsed
Tip 2: Juzga el artefacto renderizado, no el código
En vibe coding el usuario juzga el output, no el diff. Un modelo multimodal mirando la página renderizada captura lo que la evaluación de código no ve.
En vibe coding el usuario juzga el output, no el diff. Un modelo multimodal mirando la página renderizada captura problemas que la evaluación a nivel de código no ve en absoluto: layout roto en móvil, contraste demasiado bajo para accesibilidad, estados de botón incorrectos. Combina esto con aserciones de Playwright — el judge captura problemas visuales y de diseño, las aserciones capturan interactividad rota.
from google import genaifrom google.genai import types client = genai.Client(vertexai=True, project="...", location="...") result = client.models.generate_content( model="gemini-3-pro", contents=["Score this rendered web app against the spec on layout_match, styling, ""and interactive_correctness (1-5 each). Return JSON.", user_spec, types.Part.from_bytes(data=screenshot_bytes, mime_type="image/png"), ], )
Tip 3: Evalúa la convergencia de sesión, no la precisión por turno
La pregunta relevante no es "¿el turno 4 fue correcto?" sino "¿el usuario convergió en algo que quería?"
Una sesión de vibe coding es multi-turno por construcción. La pregunta relevante no es "¿el turno 4 fue correcto?" sino "¿el usuario convergió en algo que quería?" Las sesiones que convergen en pocos turnos son los casos de éxito. Las sesiones abandonadas a mitad del flujo son las fallas más informativas — mucho más que los errores por turno. Cloud Trace expone una sesión de vibe coding, instrumentada vía ADK y Agent Engine, como un único árbol de traza.
from google.cloud import trace_v2 trace = trace_v2.TraceServiceClient().get_trace( name=f"projects/{project}/traces/{session_id}")def session_outcome(trace):return {"converged": trace.last_turn.user_signal == "satisfied","turns_to_converge": trace.user_correction_count,"abandoned": trace.last_user_action == "close","cost_to_converge": trace.total_token_cost_usd,}
Tip 4: Extrae correcciones del usuario como datos de falla etiquetados
Cada "no, no así" es un ejemplo de falla etiquetado — y el vibe coding los produce en volumen.
Cada "no, no así" del usuario es un ejemplo de falla etiquetado, y el vibe coding los produce en volumen. Agrúpalos en clústeres y las brechas sistemáticas del agente se hacen visibles — mucho más rápido que construir un benchmark sintético de fallas.
from google import genaifrom sklearn.cluster import KMeans client = genai.Client(vertexai=True, project="...", location="...") corrections = [t.user_message for trace in tracesfor t in trace.turns if t.is_correction] emb = client.models.embed_content( model="text-embedding-005", contents=corrections, ) vectors = [e.values for e in emb.embeddings] clusters = KMeans(n_clusters=8).fit(vectors)# Clusters.labels_ is the prioritized list of failure modes for the next iteration
Conclusión: el nuevo oficio
Generation is largely a solved problem. Verification, security, and architectural judgment are the new craft.
La transición de sintaxis a intención no es una predicción futura; es la realidad inmediata del desarrollo de software. En 2026, los cuellos de botella en la creación de software han cambiado fundamentalmente. Ya no estamos esperando que manos humanas escriban boilerplate; estamos esperando que mentes humanas definan los límites, evalúen los outputs y aseguren el entorno de ejecución.
Migrar del vibe coding casual a la agentic engineering disciplinada requiere abandonar la confianza implícita. Un modelo de IA crudo es meramente un motor; solo se convierte en un agente listo para enterprise cuando está envuelto en un harness robusto. Implementando la 7-Pillar Security Architecture — aplicando sandboxing estricto, ABAC contextual y teaming agéntico Red/Blue/Green — las organizaciones pueden contener con seguridad el blast radius de las acciones autónomas.
Sin embargo, la seguridad por sí sola solo demuestra que el agente no causó daño. Al combinar estos controles de seguridad con un Evaluation Framework riguroso — midiendo todo desde intent satisfaction y trajectory quality hasta visual correctness — los líderes de ingeniería pueden demostrar con confianza que el agente realmente entregó valor.
Generation is largely a solved problem. Verification, security, and architectural judgment are the new craft.
Los equipos que prosperarán en esta nueva era serán aquellos que abracen la IA como un motor de implementación de alta velocidad, manteniendo al mismo tiempo la disciplina rigurosa necesaria para producir software con el que el mundo realmente pueda contar.
🎯 Pon a prueba tu comprensión
✅ Checklists de implementación
🛡️ Security Baseline
📊 Evaluation Readiness
💡 Applied Tips
📋 Cheat sheets
# SECURE VIBE CODING — 5 COMMANDMENTS1. SANDBOX THE VIBE LOOP→ kernel-level, network-isolated sandboxes→ SCA scan for hallucinated/vulnerable deps2. SHIFT THE PERIMETER LEFT→ trusted sources + verified internal registries→ deterministic checks at multiple CI/CD points3. ENFORCE ZERO AMBIENT AUTHORITY→ delegated user identities + JIT hyper-restricted tokens→ mandatory "Vibe Diff" for high-stakes actions4. DEPLOY AGENTIC SECOPS→ Virtual Red-Teaming Agents inject "Adversarial Vibes"→ ABA monitors Runtime AgBOM + Green auto-refactors5. TRACE THE EXECUTION TRAJECTORY→ log API calls, tool inputs, reasoning steps→ version-control checkpoints to revert on drift
# EVALUATION — 7 DIMENSIONS × 8 METHODSDIMENSIONS 1 Intent satisfaction 2 Functional correctness3 Visual & behavioural 4 Cost & efficiency5 Code quality 6 Trajectory quality7 Self-repair RAI Safety (transversal)METHODS benchmarks → 2,4 functional testing → 2,5security eval → RAI LLM/Agent-judge → 1,5,6browser-based → 3 trajectory inspect → 6,7human review → 1,5,RAI online eval → all
# DAY 4 — KEY TERMSEffective Trust continuous metric: supply chain + identity + runtime behaviour + contextual associationsslopsquatting malware published under hallucinated pkg namesConfused Deputy over-privileged agent tricked by prompt injectionZero Ambient Auth agent never inherits dev's full privilegesVibe Diff plain-English translation before critical tool runsAgBOM Runtime Agent Bill of Materials (live blast radius)Intent Drift chain-of-thought diverges from original vibeTrust Decay trust is a degradable assetDoW Denial of Wallet — bankrupt via infinite API loopscircuit breaker auto rollback when Trust Score drops below thresholdunderspecification the prompt is not a spec — gap must be reconstructedSAE Kaggle Standardised Agent Exams (zero-setup eval)
Continúa el viaje
Los papers compañeros de la serie — cada guía sigue el mismo formato interactivo y trilingüe.
Serie Agents Whitepaper — hub
Todas las guías de la serie en un solo lugar.
El Nuevo SDLC con Vibe Coding
Agentic Engineering, el Factory Model y la ecuación Agent = Model + Harness.
Agent Tools & Interoperability
Los 5 protocolos abiertos que conectan agentes a herramientas y entre sí.
Context Engineering: Sessions, Memory
Cómo montar, en cada turno, la información correcta dentro de la context window.
Spec-Driven Production Grade Development
Desarrollo guiado por specs para llevar el vibe coding a nivel de producción.
Referencias (endnotes del paper)
Las 6 fuentes citadas en el whitepaper original de Security & Evaluation.
📚 Endnotes
Priya Pandey, Antonio Gulli, Reah Miyara y Sita Lakshmi Sangameswaran (contribución de contenido) · Anant Nawalgaria (curaduría y edición) · Michael Lanning (diseño).