Cómo revisar un correo de trabajo redactado por IA antes de enviarlo
Compara un correo de trabajo redactado por IA con la información original para revisar hechos, cifras, fechas, destinatarios, tono y promesas. Un ejemplo pequeño muestra qué debe comprobar una persona antes de enviar el mensaje.
Contenido revisado 2026.09.21Incluye código de ejemplo
Ver el índice
La traducción se ha realizado con IA. Comprueba el código, las unidades y los valores junto con el original. La revisión por hablantes nativos de cada idioma aún no se ha completado. English
Para quién esProfesionales que usan un asistente de chat con IA para redactar correos de trabajo y quieren aplicar una revisión repetible antes de enviarlos.
Preparación
Python 3.12
Un editor de texto y una terminal
01Por qué un correo redactado por IA necesita una revisión final
Un asistente de chat con IA puede convertir unas notas en un correo de trabajo bien redactado, pero que el texto suene natural no demuestra que los datos sean correctos. El borrador puede cambiar una cantidad, confundir dos fechas, dirigirse a la persona equivocada o transformar una solicitud en un compromiso firme.
El siguiente ejemplo es sintético. La idea es separar la redacción de la verificación: usa la IA para mejorar el texto y después compáralo tú mismo con la información original antes de enviarlo.
02Anota primero los datos confirmados
Supongamos que necesitas escribir a un proveedor ficticio para pedir unas piezas de muestra. Antes de pedir a la IA que redacte el correo, anota los datos que no deben cambiar.
Elemento
Dato original confirmado
Destinatario
Mina Park
Empresa
Example Parts
Cantidad de muestras
24 units
Precio unitario
$18.50
Total calculado
$444.00
Fecha de entrega solicitada
October 7, 2026
Fecha de revisión interna
October 9, 2026
Estado del compromiso
October 7 is requested, not confirmed
El cálculo es 24 × $18.50 = $444.00. October 7 es la fecha de entrega solicitada al proveedor, mientras que October 9 es la fecha de revisión interna. Las notas originales no autorizan ninguna promesa sobre el momento del pago, futuros pedidos, aprobaciones ni una entrega garantizada.
03Pide a la IA que no complete los huecos
Un buen prompt debe incluir los datos confirmados y dejar claro que la IA no debe inventar información que falte.
Una respuesta típica de una IA podría ser: 'Hello Mina Park, We would like to request 24 sample units from Example Parts at $18.50 per unit, for a total of $444.00. If possible, please arrange delivery by October 7, 2026, as our internal review is scheduled for October 9, 2026. Please let us know whether this delivery date is feasible. Best regards.' Es un borrador razonable, pero aún requiere verificación.
04Revisa hechos, cifras, fechas, destinatarios, tono y promesas
Hechos: compara nombres, empresas, descripciones de productos, nombres de proyectos y otras afirmaciones con la fuente original.
Cifras: vuelve a calcular cantidades, precios, totales, porcentajes, dimensiones y otros valores importantes de forma independiente.
Fechas: comprueba tanto la fecha como lo que representa. Una fecha solicitada no es lo mismo que una fecha confirmada.
Destinatarios: verifica el nombre, la organización, la dirección de correo real y si cada persona en CC o BCC necesita realmente recibir el mensaje.
Tono: elimina expresiones innecesariamente exigentes, ambiguas, demasiado informales o más seguras de lo que permiten los hechos.
Promesas: busca términos que puedan crear un compromiso no autorizado, como guarantee, definitely, confirmed, approved, will pay o will deliver.
En el ejemplo sintético, 24 units, $18.50, $444.00, October 7 y October 9 coinciden con los datos originales. Además, la frase 'if possible' y la petición de confirmar si la fecha es viable mantienen October 7 como una solicitud y no como una fecha ya confirmada.
05Usa Python para una primera comprobación repetible
El siguiente script, basado únicamente en la biblioteca estándar, lee draft_email.txt, comprueba si aparecen los datos esperados del ejemplo sintético, vuelve a calcular el total y busca varias expresiones de promesa potencialmente arriesgadas. Guarda el informe en outputs/email_check_report.txt. No modifica el borrador original y se detiene si la carpeta outputs ya existe.
python
from pathlib import Path
from decimal import Decimal
import sys
DRAFT_PATH = Path("draft_email.txt")
OUTPUT_DIR = Path("outputs")
REPORT_PATH = OUTPUT_DIR / "email_check_report.txt"
if not DRAFT_PATH.is_file():
sys.exit("Missing input file: draft_email.txt")
if OUTPUT_DIR.exists():
sys.exit("Stop: outputs folder already exists. Remove or rename it manually first.")
recipient = "Mina Park"
company = "Example Parts"
quantity = 24
unit_price = Decimal("18.50")
expected_total = Decimal(quantity) * unit_price
requested_date = "October 7, 2026"
review_date = "October 9, 2026"
required_text = {
"recipient": recipient,
"company": company,
"quantity": "24",
"unit price": "$18.50",
"total": f"${expected_total:.2f}",
"requested delivery date": requested_date,
"internal review date": review_date,
}
risky_phrases = [
"guarantee",
"guaranteed",
"definitely",
"delivery is confirmed",
"we confirm payment",
"we will place future orders",
]
draft = DRAFT_PATH.read_text(encoding="utf-8")
draft_lower = draft.lower()
lines = []
lines.append("AI EMAIL DRAFT CHECK")
lines.append("====================")
lines.append(f"Calculated total: {quantity} x ${unit_price:.2f} = ${expected_total:.2f}")
lines.append("")
lines.append("Required details:")
for label, value in required_text.items():
status = "PASS" if value.lower() in draft_lower else "CHECK"
lines.append(f"{status}: {label} -> {value}")
lines.append("")
lines.append("Risky promise phrases:")
found_risk = False
for phrase in risky_phrases:
if phrase in draft_lower:
found_risk = True
lines.append(f"CHECK: found phrase -> {phrase}")
if not found_risk:
lines.append("PASS: none of the listed phrases were found")
lines.append("")
lines.append("Manual checks still required:")
lines.append("- Verify the actual To, CC, and BCC addresses in the mail client.")
lines.append("- Confirm that October 7 is presented as requested, not guaranteed.")
lines.append("- Confirm tone and context against the original conversation.")
lines.append("- Check for commitments not covered by this phrase list.")
lines.append("- Verify attachments before sending.")
OUTPUT_DIR.mkdir()
REPORT_PATH.write_text("\n".join(lines) + "\n", encoding="utf-8")
print(f"Created: {REPORT_PATH}")
Guarda el borrador como draft_email.txt, el script como email_check.py y ejecuta python email_check.py. Un resultado PASS solo significa que se encontró el texto esperado o que no aparecieron las expresiones de riesgo incluidas en la lista. No significa que el correo esté aprobado ni que sea seguro enviarlo sin revisión.
06Errores habituales que conviene buscar
La cantidad cambia de 24 a 25 porque en otra parte de la conversación aparece el número 25.
El precio unitario es correcto, pero el total se copia o calcula mal.
October 9 se presenta como fecha límite del proveedor en lugar de como fecha de revisión interna.
Una solicitud para comprobar si October 7 es viable se convierte en una afirmación de que la entrega está confirmada para October 7.
La IA añade una fecha de pago, una aprobación, futuros volúmenes de compra u otro compromiso que no estaba en las notas originales.
El cuerpo menciona correctamente a Mina Park, pero el campo To contiene a otro contacto con un nombre parecido.
Las comprobaciones por palabras clave tienen límites claros. Un correo puede contener '$444.00' en un contexto incorrecto o crear un compromiso con una expresión que no figure en la lista de riesgo. La revisión automática sirve para detectar discrepancias simples, pero no sustituye una lectura final por una persona.
07Aplica una lista final antes de pulsar Enviar
Mantén abiertas las notas o registros originales junto al borrador.
Comprueba todos los nombres, empresas, productos, cantidades, importes y fechas.
Vuelve a calcular de forma independiente las operaciones importantes.
Confirma qué significa cada fecha, no solo si aparece en el texto.
Lee el mensaje específicamente para detectar promesas, aprobaciones, garantías y compromisos.
Comprueba los campos reales To, CC y BCC, además de los archivos adjuntos.
Lee la versión final una vez desde el punto de vista del destinatario.
Una división práctica de responsabilidades consiste en dejar que la IA ayude con la redacción, mientras que la persona verifica los hechos y decide qué compromisos está autorizada a asumir la organización. Los correos relacionados con contratos, obligaciones legales, información confidencial, decisiones reguladas, seguridad o consecuencias financieras importantes deben seguir el proceso formal de revisión y aprobación de la organización.
El script se ejecutó correctamente y creó outputs/email_check_report.txt.
El borrador corregido contiene Mina Park, Example Parts y ambas fechas completas (October 7, 2026 y October 9, 2026). Pasaron las siete comprobaciones de datos obligatorios y la comprobación de promesas arriesgadas.
No se detectó ninguna de las frases de promesa arriesgada incluidas en la lista.
El total calculado fue exactamente 24 x $18.50 = $444.00.
draft_email.txt permaneció idéntico byte por byte después de la ejecución.
Una segunda ejecución se detuvo porque outputs ya existía, por lo que el informe no se sobrescribió.
Verificación local del 2026-09-21 con Python 3.12.14: el ejemplo corregido pasó, al igual que la conservación de los originales y la protección contra sobrescritura.
Límites de la verificación
El script no puede verificar los campos reales To, CC y BCC, los archivos adjuntos, la autoridad dentro de la organización, el tono ni los compromisos expresados mediante frases que no estén en su lista fija.
El entorno de Python emitió en stderr una advertencia no relacionada del calentamiento del entorno de hojas de cálculo; no afectó al script del artículo ni a sus resultados.
Fuentes de referencia
Las explicaciones y los ejemplos son de elaboración propia. Puedes consultar los comportamientos y conceptos relacionados en las siguientes fuentes oficiales.
Convierte “automatiza esto” en una descripción de tarea ejecutable. Adjunta una muestra sintética sin datos sensibles y un resultado esperado comprobado manualmente para completar una solicitud de script que totalice registros de trabajo por equipo.
Comprueba una función de agregación con cuatro filas que puedes calcular manualmente y 12 unit tests. Verifica no solo valores normales, sino también entrada vacía, cero, decimales y entrada no válida.
Compara un informe de IA con sus datos de origen, recalcula totales y porcentajes y usa una instrucción para detectar afirmaciones sin respaldo y causas exageradas antes de entregarlo.
Trata una expresión regular generada por IA como un borrador, no como una regla terminada. Crea una pequeña tabla de pruebas sintéticas, compara las coincidencias esperadas con las reales, corrige el patrón y guarda un informe de revisión antes de usarlo con datos reales.