HappyHorse 1.0 ya disponibleProbar ahora
Cómo agregar moderación de contenido a su chatbot o agente de IA
guide

Cómo agregar moderación de contenido a su chatbot o agente de IA

EvoLink Team
EvoLink Team
Product Team
29 de abril de 2026
10 min de lectura

Agregar moderación de contenido a un chatbot o agente de IA no se limita a bloquear palabras inapropiadas. Un flujo de trabajo en producción necesita verificar las entradas del usuario, las salidas del modelo y las acciones que el agente tiene permitido ejecutar.

El modelo mental más seguro es:

input moderation
  -> model or agent reasoning
  -> tool-call validation
  -> output moderation
  -> allow / review / block
Esta guía muestra dónde colocar cada capa, qué puede y qué no puede resolver la moderación, y cómo utilizar EvoLink Moderation 1.0 para un enrutamiento sencillo basado en niveles de riesgo.

Resumen rápido

  • Modere las entradas del usuario antes de que lleguen a su chatbot o agente.
  • Modere las salidas del modelo antes de que los usuarios las vean.
  • Valide las llamadas a herramientas antes de que un agente ejecute acciones.
  • No trate la moderación de contenido como una defensa completa contra prompt injection.
  • Utilice revisión humana para casos de riesgo medio o de alto impacto.
  • El campo evolink_summary.risk_level de EvoLink puede simplificar la lógica de permitir / revisar / bloquear.

La moderación de contenido no es lo mismo que la seguridad de agentes

La moderación de contenido ayuda a identificar texto o imágenes dañinas. Puede reducir el riesgo de prompts inseguros, salidas perjudiciales y contenido de usuarios que viola políticas.

La seguridad de agentes es más amplia. Incluye prompt injection, permisos de herramientas, acceso a datos, aprobaciones humanas, salidas estructuradas, evaluaciones, registro de eventos y diseño de flujos de trabajo.

La guía de seguridad de agentes de OpenAI recomienda combinar técnicas como barreras de protección, aprobaciones de herramientas, calificación de trazas, evaluaciones y diseño de flujos de trabajo estructurados. OWASP también trata prompt injection como un riesgo de seguridad de LLM independiente que puede provocar fuga de datos, acciones no deseadas o uso indebido de herramientas.

Fuentes:

La conclusión: la moderación es una barrera de protección. No debe ser la única.

Capa 1: moderación de entradas

La moderación de entradas verifica el mensaje del usuario antes de que llegue al modelo.

Utilícela para detectar:

  • solicitudes claramente dañinas
  • mensajes de usuario que violan políticas
  • texto abusivo o de acoso
  • cargas de imágenes inseguras
  • prompts que solicitan contenido no permitido

La moderación de entradas es útil porque evita que las solicitudes evidentemente inseguras ingresen al flujo de trabajo del modelo.

def handle_user_message(user_input: str):
    input_check = client.moderations.create(
        model="evolink-moderation-1.0",
        input=user_input
    )

    if input_check.evolink_summary.risk_level == "high":
        return {
            "status": "blocked",
            "message": "I can't help with that request."
        }

    return run_chatbot(user_input)

Limitación importante: la moderación de entradas no es una defensa completa contra prompt injection. Los atacantes pueden utilizar prompts indirectos, texto codificado, imágenes, documentos externos o salidas de herramientas para influir en los agentes en etapas posteriores del flujo de trabajo.

Capa 2: moderación de salidas

La moderación de salidas verifica la respuesta del modelo antes de que llegue al usuario.

Utilícela para detectar:

  • contenido generado inseguro
  • respuestas que violan políticas
  • consejos perjudiciales en dominios sensibles
  • respuestas que pasaron los filtros a pesar de que la entrada parecía segura
def safe_chat(user_input: str):
    input_check = moderate(user_input)
    if input_check.evolink_summary.risk_level == "high":
        return "I can't help with that request."

    answer = llm.generate(user_input)

    output_check = moderate(answer)
    if output_check.evolink_summary.risk_level == "high":
        return "I generated a response that needs to be revised. Please try rephrasing."

    return answer

La moderación de salidas es especialmente útil para chatbots públicos, copilotos de IA y flujos de trabajo de generación de contenido donde la respuesta del modelo es visible para el usuario.

Capa 3: validación de llamadas a herramientas

Para agentes de IA, las llamadas a herramientas suelen ser la capa de mayor riesgo.

Si un agente puede enviar correos electrónicos, consultar bases de datos, actualizar tickets, llamar a APIs o escribir archivos, la llamada a la herramienta debe validarse antes de su ejecución. Esto no es solo moderación. Es autorización y aplicación de políticas.

Valide:

  • nombre de la herramienta
  • alcance permitido del usuario o cuenta
  • aprobación humana requerida
  • valores de parámetros permitidos
  • operaciones de lectura vs escritura
  • destinatarios externos
  • acciones destructivas
  • riesgo de exfiltración de datos
def validate_tool_call(tool_name: str, args: dict, user_context: dict):
    if tool_name == "send_email":
        if not args["to"].endswith("@company.com"):
            return False, "External email requires approval."

    if tool_name == "database_query":
        query = args.get("query", "")
        forbidden = ["DROP ", "DELETE ", "TRUNCATE "]
        if any(word in query.upper() for word in forbidden):
            return False, "Destructive database operation blocked."

    if tool_name == "refund_customer":
        if args["amount"] > user_context["approval_limit"]:
            return False, "Refund amount requires human approval."

    return True, None

La guía de seguridad de agentes de OpenAI también recomienda mantener habilitadas las aprobaciones de herramientas para herramientas MCP, de modo que los usuarios finales puedan revisar y confirmar las operaciones.

Capa 4: enrutamiento permitir / revisar / bloquear

La moderación binaria seguro/inseguro suele ser demasiado rudimentaria. Un patrón de producción más útil es:

RiesgoAcción
Bajopermitir
Medioponer en cola para revisión, advertir o limitar la distribución
Altobloquear o requerir apelación
EvoLink Moderation devuelve un campo evolink_summary.risk_level diseñado para este tipo de enrutamiento.
def route_by_risk(content: str):
    result = client.moderations.create(
        model="evolink-moderation-1.0",
        input=content
    )

    risk = result.evolink_summary.risk_level

    if risk == "high":
        log_block(result)
        return {"action": "block"}

    if risk == "medium":
        queue_for_review(content, result)
        return {"action": "review"}

    return {"action": "allow"}
Para detalles sobre las solicitudes, consulte la documentación de la API de EvoLink Moderation.

Patrón completo de moderación para chatbots

A continuación se presenta una estructura práctica de extremo a extremo:

def handle_chatbot_turn(user_input: str, user_context: dict):
    # 1. Moderate input
    input_route = route_by_risk(user_input)
    if input_route["action"] == "block":
        return "I can't help with that request."
    if input_route["action"] == "review":
        log_review_event("input", user_input)

    # 2. Generate model response and proposed tool calls
    agent_result = agent.run(user_input, user_context)

    # 3. Validate tool calls before execution
    for call in agent_result.tool_calls:
        ok, reason = validate_tool_call(call.name, call.args, user_context)
        if not ok:
            log_security_event(call, reason)
            return "That action requires additional review."

    # 4. Execute approved tools
    tool_outputs = execute_tool_calls(agent_result.tool_calls)

    # 5. Generate final response
    final_answer = agent.format_response(tool_outputs)

    # 6. Moderate output
    output_route = route_by_risk(final_answer)
    if output_route["action"] == "block":
        return "I need to revise that response."
    if output_route["action"] == "review":
        queue_for_review(final_answer, output_route)

    return final_answer

La implementación exacta variará, pero la estructura es estable: verificar la entrada, restringir las acciones, verificar la salida y registrar las decisiones.

Manejo de falsos positivos

Los falsos positivos son inevitables. El objetivo es reducir el daño sin bloquear a los usuarios legítimos con demasiada frecuencia.

Utilice una cola de revisión para:

  • contenido de riesgo medio
  • contexto ambiguo
  • categorías sensibles según las políticas
  • usuarios de alto valor o acciones de alto impacto
  • apelaciones

Registre cada decisión de moderación con suficiente contexto para depurar después:

  • hash del contenido
  • id de usuario o id de cuenta
  • nivel de riesgo
  • categorías activadas
  • acción tomada
  • anulación del revisor
  • marca de tiempo

Evite registrar contenido sensible en bruto a menos que cuente con una política clara de retención y privacidad.

Qué prometer internamente

No prometa que la moderación hace que un chatbot sea "100 % seguro."

Una promesa más realista es:

  • las entradas dañinas se verifican antes de la ejecución del modelo
  • las salidas del modelo se verifican antes de mostrarse al usuario
  • las llamadas a herramientas del agente se validan antes de su ejecución
  • los casos de alto riesgo o ambiguos pueden dirigirse a personas
  • los registros y resultados de las revisiones se utilizan para mejorar los umbrales

Esa es una postura de producción realista.

Errores comunes

Error 1: moderar solo las entradas

Las verificaciones de entrada son útiles, pero el modelo aún puede generar salidas inseguras. Modere las salidas antes de mostrarlas a los usuarios.

Error 2: tratar los prompts como límites de seguridad

Los prompts de sistema guían el comportamiento, pero no deben ser la única capa de seguridad. Utilice permisos de herramientas, flujos de trabajo estructurados y aprobaciones.

Error 3: permitir que los agentes ejecuten herramientas sin validación

Valide siempre las llamadas a herramientas fuera del modelo. El modelo debe proponer acciones; su aplicación debe decidir si la acción está permitida.

Error 4: bloquear todos los casos inciertos

Los sistemas demasiado estrictos generan frustración en los usuarios. Envíe los casos inciertos a revisión en lugar de bloquearlos siempre.

Error 5: no mantener registros

Sin registros, no podrá ajustar umbrales, investigar incidentes ni comprender los falsos positivos.

Lista de verificación para la implementación

  • Moderar las entradas del usuario antes de las llamadas al modelo.
  • Moderar las salidas del modelo antes de mostrarlas al usuario.
  • Validar las llamadas a herramientas del agente antes de su ejecución.
  • Utilizar enrutamiento permitir / revisar / bloquear.
  • Poner en cola el contenido de riesgo medio para revisión.
  • Agregar reportes de usuario y apelaciones donde sea necesario.
  • Registrar niveles de riesgo, categorías, acciones y anulaciones del revisor.
  • Evitar almacenar contenido sensible en bruto a menos que sea requerido.
  • Probar con ejemplos reales de su producto.
  • Revisar los umbrales después de obtener datos de producción.

FAQ

¿Debo moderar las entradas o las salidas del chatbot?

Ambas. La moderación de entradas puede reducir las solicitudes inseguras antes de que lleguen al modelo. La moderación de salidas puede detectar contenido generado inseguro antes de que los usuarios lo vean.

¿La moderación de contenido detiene el prompt injection?

No. La moderación puede detectar cierto contenido inseguro o sospechoso, pero prompt injection requiere defensas más amplias como validación de herramientas, salidas estructuradas, principio de mínimo privilegio, aprobaciones humanas y aislamiento de flujos de trabajo.

¿Dónde debo colocar la moderación en un agente de IA?

Coloque la moderación antes del modelo para la entrada del usuario, antes de la visualización para la salida del modelo, y combínela con validación de llamadas a herramientas antes de que cualquier acción del agente se ejecute.

EvoLink Moderation 1.0 proporciona un endpoint de moderación compatible con OpenAI que incluye evolink_summary.risk_level, lo que facilita enrutar el contenido del chatbot hacia flujos de trabajo de permitir, revisar o bloquear.

¿Sigo necesitando revisión humana?

Para sistemas en producción, sí. La revisión humana es importante para apelaciones, casos de riesgo medio, cambios de políticas y decisiones de alto impacto.

Guías de moderación relacionadas

Explore EvoLink Moderation 1.0

¿Listo para reducir tus costos de IA en un 89%?

Comienza a usar EvoLink hoy y experimenta el poder del enrutamiento inteligente de API.