promptfoo es una herramienta de código abierto para probar, evaluar y atacar (red teaming) prompts, agentes y sistemas RAG desde archivos de configuración declarativos. En lugar de comprobar a ojo si un cambio de prompt mejora las respuestas, defines casos de prueba en YAML, ejecutas una evaluación y obtienes una tabla que compara modelos y versiones con puntuaciones automáticas. En esta guía verás qué es promptfoo, cómo se declaran los casos de prueba, cómo comparar modelos, en qué consiste su modo de red teaming y cómo integrarlo en tu CI. La misma explicación está disponible en inglés.

Puntos clave

  • promptfoo es una herramienta de línea de comandos de código abierto (licencia MIT) escrita para Node.js; supera las 22 000 estrellas en GitHub y va por la versión 0.121.19, publicada el 14 de julio de 2026.
  • En marzo de 2026 OpenAI la compró: el anuncio es del 9 de marzo de 2026 y el proyecto sigue siendo de código abierto bajo la misma licencia, así que puedes usarlo gratis y ejecutarlo en tu propia máquina.
  • Trabajas con configuraciones declarativas en YAML: defines prompts, providers (más de 60 proveedores: OpenAI, Anthropic, Gemini, DeepSeek y modelos locales con Ollama) y tests con aserciones que puntúan cada respuesta.
  • Su modo de red teaming genera prompts adversarios para más de 50 tipos de vulnerabilidad (inyección de prompts, jailbreaks, fuga de datos, exceso de autonomía) con plantillas para OWASP LLM Top 10, NIST AI RMF y MITRE ATLAS.
  • Se integra en CI: promptfoo eval devuelve un código de salida distinto de cero si fallan las aserciones, lo que convierte tus pruebas de prompts en una barrera de calidad como cualquier test unitario.

¿Qué es promptfoo?

promptfoo es una herramienta de desarrollador para probar y evaluar aplicaciones basadas en modelos de lenguaje: prompts sueltos, cadenas RAG y agentes de IA completos. La idea central es tratar los prompts como se trata el código: con pruebas repetibles en lugar de impresiones subjetivas. La documentación oficial lo resume como «prueba y evalúa tus prompts, modelos y cadenas RAG».

El proyecto nació en 2024 de la mano de Ian Webster y Michael D’Angelo, y su adopción ha sido notable: lo usan más de 350 000 desarrolladores, con unos 130 000 activos cada mes, y más de una cuarta parte de las empresas del Fortune 500. Su propio repositorio presume de estar «usado por OpenAI y Anthropic». En marzo de 2026, OpenAI anunció su compra; en palabras de la propia OpenAI, «promptfoo seguirá siendo de código abierto bajo la licencia actual». Sigue publicándose bajo licencia MIT y va por la versión 0.121.19.

Se instala con Node.js en una sola orden y no necesita cuenta ni servidor: todo corre de forma local contra las API de los modelos que ya uses.

# Instalación global
npm install -g promptfoo

# O sin instalar nada, arrancando un ejemplo
npx promptfoo@latest init --example getting-started

¿Cómo se declaran los casos de prueba?

Todo gira en torno a un archivo promptfooconfig.yaml con tres bloques. En prompts escribes las plantillas, con variables entre dobles llaves. En providers enumeras los modelos que quieres poner a prueba. Y en tests defines cada caso: los valores de las variables y las aserciones que deciden si la respuesta pasa o falla.

prompts:
  - "Traduce al {{idioma}}: {{texto}}"

providers:
  - openai:gpt-4o
  - anthropic:messages:claude-sonnet-4

tests:
  - vars:
      idioma: frances
      texto: Hola mundo
    assert:
      - type: icontains
        value: "Bonjour"
      - type: llm-rubric
        value: La traduccion es natural y correcta

Las aserciones son la clave. Las hay deterministas (contains, icontains, equals, is-json, cost, latency) y las hay puntuadas por otro modelo, como llm-rubric, que juzga una respuesta contra un criterio en lenguaje natural. También puedes escribir aserciones a medida en javascript o python. Para un agente que llama a herramientas, esto te permite comprobar tanto el texto final como que se invocó la herramienta correcta con los argumentos correctos.

¿Cómo comparar modelos y prompts?

Aquí está el valor diario de la herramienta. Cuando ejecutas la evaluación, promptfoo prueba cada combinación de prompt, proveedor y caso, y presenta los resultados en una matriz: filas para los casos de prueba, columnas para cada modelo o variante de prompt, y en cada celda la respuesta con su veredicto de aprobado o suspenso.

# Ejecuta la evaluación definida en promptfooconfig.yaml
npx promptfoo eval

# Abre la tabla de resultados en el navegador
npx promptfoo view

Esa vista lado a lado responde a la pregunta que todo el mundo se hace: ¿merece la pena pagar por el modelo grande, o el pequeño da respuestas igual de buenas a un coste menor? Como cada celda muestra también el coste y la latencia, la decisión deja de ser una corazonada y pasa a apoyarse en números. Es el mismo trabajo que hace una herramienta de evaluación como DeepEval, pero promptfoo lo enfoca hacia la comparación rápida entre modelos y prompts desde un único archivo.

¿Qué es el red teaming y el escaneo de vulnerabilidades?

Además de medir calidad, promptfoo ataca tu sistema para encontrar fallos de seguridad antes de que lo haga un usuario malicioso. Su modo de red teaming genera automáticamente prompts adversarios que cubren más de 50 tipos de vulnerabilidad: inyección de prompts, jailbreaks, fuga de información personal, acceso no autorizado a funciones (BOLA y BFLA) y exceso de autonomía del agente, entre otros. Trae plantillas alineadas con estándares como el OWASP LLM Top 10, el marco NIST AI RMF y MITRE ATLAS, e incluso una estrategia multiturno llamada Hydra que adapta el ataque según las respuestas del sistema.

# Configura el escaneo (genera una config de red team)
promptfoo redteam init --no-gui

# Lanza el ataque y luego abre el informe
npx promptfoo redteam run
npx promptfoo redteam report

Que esta capacidad viva en la misma herramienta que las pruebas de calidad tiene sentido: un agente con acceso a herramientas es una superficie de ataque, y conviene tratarlo como tal. No por casualidad OpenAI compró promptfoo precisamente para reforzar las pruebas de seguridad de sus agentes.

¿Cómo integrarlo en CI?

Como promptfoo es una orden de terminal que devuelve un código de salida, encaja de forma natural en cualquier tubería de integración continua. Si una aserción falla, promptfoo eval termina con un código distinto de cero y la ejecución del pipeline se detiene, igual que con un test unitario roto. Así evitas que un cambio de prompt que empeora las respuestas llegue a producción.

El proyecto publica una GitHub Action oficial que ejecuta la evaluación en cada pull request y comenta los resultados directamente en el hilo. También puedes invocar promptfoo eval desde GitLab CI, Jenkins o cualquier otro sistema. Combinado con una herramienta de observabilidad como Langfuse, obtienes un ciclo completo: pruebas antes de desplegar y trazas después.

Preguntas frecuentes

¿En qué se diferencia promptfoo de DeepEval?

Ambos evalúan aplicaciones de LLM, pero con enfoques distintos. promptfoo es una herramienta de línea de comandos centrada en configuraciones YAML declarativas, la comparación de modelos en una matriz y el red teaming de seguridad; brilla para iterar rápido sobre prompts. DeepEval es una biblioteca de Python al estilo de pytest, pensada para escribir métricas de evaluación como pruebas dentro de tu código. Si vives en la terminal y quieres comparar prompts y modelos deprisa, promptfoo encaja mejor; si quieres tus evaluaciones como código Python junto a tus tests, DeepEval es más natural.

¿Necesito una cuenta o pagar para usar promptfoo?

No. promptfoo es de código abierto bajo licencia MIT y se ejecuta de forma local en tu máquina; no necesitas ninguna cuenta ni servidor de la empresa. Solo pagas lo que cuesten las llamadas a las API de los modelos que pongas a prueba, y si usas un modelo abierto con Ollama, ni siquiera eso. La compra por parte de OpenAI en marzo de 2026 no cambió la licencia: sigue siendo libre.

¿Sirve promptfoo para probar agentes y no solo prompts sueltos?

Sí. Puedes apuntar promptfoo a un proveedor personalizado que envuelva a tu agente completo, con sus herramientas y su memoria, y evaluar la salida final. Las aserciones te dejan comprobar tanto el texto de la respuesta como el comportamiento intermedio, por ejemplo si se llamó a la herramienta correcta. Para un agente como los que construyes con el SDK de Anthropic, esto convierte cada tarea en un caso de prueba reproducible.

Conclusión

promptfoo lleva a los prompts y a los agentes de IA la disciplina de las pruebas automatizadas: casos declarativos en YAML, comparación de modelos en una tabla, aserciones que puntúan cada respuesta y un modo de red teaming que busca vulnerabilidades antes de que las encuentre otro. Que sea de código abierto bajo licencia MIT, que se ejecute de forma local y que OpenAI la comprara en 2026 dan una idea de su solidez. El siguiente paso es instalarlo con npm install -g promptfoo, escribir tu primer promptfooconfig.yaml con dos modelos y un puñado de casos, y dejar que promptfoo eval decida por ti cuál responde mejor.

Fuentes: [1] Documentación oficial de promptfoo[1], [2] promptfoo en GitHub[2], [3] OpenAI anuncia la compra de promptfoo[3], [4] Cobertura de la compra en CNBC[4].

Fuentes

  1. Documentación oficial de promptfoo
  2. promptfoo en GitHub
  3. OpenAI anuncia la compra de promptfoo
  4. Cobertura de la compra en CNBC

Ruta: Agentes de IA en producción: evaluación y fiabilidad