Construí un agente de IA que solicita empleos por mí: adapta mi currículum a cada trabajo, llena los formularios y espera mi aprobación antes de enviar

2 months ago
La búsqueda de trabajo me estaba consumiendo horas al día, principalmente copiando y pegando la misma información en formularios ligeramente diferentes. Así que construí un agente que:
-
encuentra vacantes en varios portales de empleo
-
reescribe mi currículum para cada trabajo y genera un PDF nuevo
-
completa la solicitud real (Ashby, Greenhouse — menús desplegables, comboboxes, los campos de "¿por qué quieres trabajar aquí?")
-
se detiene antes de enviar para que yo revise cada solicitud — es un asistente, no una máquina de spam
Construido con Python + Playwright + un LLM que mapea los campos del formulario. La parte más difícil fue manejar lo diferente que cada ATS renderiza sus formularios.
Pregúntame cualquier cosa sobre la construcción — tengo curiosidad de si la gente aquí confiaría en que envíe de forma autónoma (yo no, todavía).



Tampoco dejaría que se envíe de forma autónoma, al menos no hasta que el sistema tenga barreras de seguridad aburridas en torno a los efectos secundarios.
El límite útil es: el agente puede preparar un paquete de solicitud, pero el envío es una acción privilegiada separada.
Algunas cosas que agregaría antes de confiarle más volumen:
mantener un recibo por solicitud: URL del trabajo, empresa, ID del rol, hash del currículum generado, respuestas utilizadas, marca de tiempo y si se envió
diferenciar el currículum/respuestas generados contra un perfil base para que las alucinaciones extrañas sean visibles antes de la revisión
hacer que cada escritura externa sea idempotente cuando sea posible: no reenviar el mismo par trabajo/empresa a menos que se permita explícitamente
bloquear campos que nunca deben inventarse: ciudadanía, autorización de trabajo, salario, estado de discapacidad/veterano, ubicación, disponibilidad
almacenar capturas de pantalla o instantáneas del DOM de la página de revisión final antes del envío, porque los formularios ATS son desordenados y a veces ocultan campos/estado requeridos
limitar y deduplicar agresivamente para que no se convierta en spam accidental
La parte de la que más desconfiaría no es llenar cuadros de texto. Es la interpretación de campos: menús desplegables como "autorizado para trabajar", "se requiere patrocinio", "dispuesto a reubicarse" o preguntas eliminatorias donde un mapeo incorrecto tiene consecuencias reales.
Por lo tanto, creo que su elección de "detenerse antes de enviar" es la forma correcta del producto. El siguiente paso interesante es probablemente una interfaz de revisión que muestre la procedencia de cada campo completado: fuente de mi perfil, inferido del currículum, generado a partir de la oferta de trabajo, o necesita entrada humana.