IA e información

Prueba lo que una expresión regular de IA debe rechazar

Define la regla para los nombres de archivo y los resultados esperados antes de usar el patrón generado.

Una IA propone un patrón para buscar nombres de archivos PDF. Acepta el primer ejemplo y parece listo. Pero ¿acepta también una copia que termina en .pdf.bak o un nombre con otra letra donde debería estar el punto? Un único acierto no responde a esas preguntas.

Escribe la regla antes del patrón

Para este ejercicio, acepta exactamente el prefijo invoice_, tres dígitos del 0 al 9 y .pdf, con las minúsculas indicadas. Debe coincidir el nombre completo, sin la ruta de una carpeta. Son los requisitos del ejemplo, no una norma para todos los PDF.

Indica al asistente qué herramienta ejecutará la expresión. En Python, re.search busca una coincidencia en alguna parte de la cadena; re.fullmatch exige que coincida toda. El punto también tiene un significado especial si no se trata como literal. Otras herramientas pueden usar sintaxis y opciones distintas.

Decide estos resultados antes de probar:

  • invoice_007.pdf: aceptar.
  • invoice_07.pdf: rechazar; solo hay dos dígitos.
  • xinvoice_007.pdf: rechazar; sobra un prefijo.
  • invoice_007Xpdf: rechazar; falta el punto literal.
  • invoice_007.pdf.bak: rechazar; sobra texto al final.
  • Invoice_007.PDF: rechazar según esta regla que distingue mayúsculas.

Separa la selección de los cambios

Ejecuta el patrón sobre cadenas de ejemplo y compara cada resultado con la lista. Pide una explicación de las discrepancias y repite todos los casos después de corregirlo, no solo el que fallaba. NIST describe cómo las respuestas generadas pueden apartarse de lo pedido con aparente seguridad; una explicación convincente no sustituye a la prueba.

Solo cuando la selección sea correcta, plantea renombrar o mover archivos. Primero genera una lista de cambios propuestos, revísala y conserva una copia recuperable. Acertar con el patrón no comprueba si dos archivos acabarían con el mismo nombre ni si realmente querías modificar esos archivos.

Fuentes y lecturas

  1. NIST AI 600-1 — Generative Artificial Intelligence Profile, section 2.2
  2. Python documentation — re: Regular expression operations

Las fuentes respaldan las explicaciones técnicas. Los ejemplos y las comprobaciones propuestas son orientación editorial.