2 puntos por GN⁺ 2024-08-26 | 1 comentarios | Compartir por WhatsApp
  • En una situación en la que el calendario de clases de piano jazz se entregó solo como imagen JPG, Claude 3.5 Sonnet redujo el trabajo repetitivo de leer las fechas marcadas y pasarlas al calendario
  • Las 13 fechas marcadas en verde se extrajeron como clases quincenales los viernes, del 13 de septiembre de 2024 al 23 de mayo de 2025
  • Luego, en la misma conversación, generó incluso el texto de un archivo ICS con eventos Jazz Piano Lesson para cada fecha a las 2 p. m., Pacific Time
  • El archivo .ics generado se pudo guardar como texto e importar desde Import/export en Google Calendar, donde se agregó correctamente
  • ChatGPT también identificó las fechas, pero al principio propuso código en Python en lugar de un .ics, y solo generó el texto iCalendar después de pedirle directamente el contenido del archivo

De una imagen con horarios a un archivo de calendario

  • Un profesor de piano jazz envió el calendario de clases particulares de otoño/invierno como imagen JPG, con 13 fechas de clase marcadas con resaltador verde
  • En lugar de crear manualmente 13 citas en Google Calendar, se subió la imagen a Claude 3.5 Sonnet
  • La primera solicitud fue la siguiente
    • List the dates that are outlined in green
  • Las 13 fechas extraídas por Claude fueron las siguientes
    • Friday, 13-Sep-24
    • Friday, 27-Sep-24
    • Friday, 11-Oct-24
    • Friday, 8-Nov-24
    • Friday, 6-Dec-24
    • Friday, 20-Dec-24
    • Friday, 17-Jan-25
    • Friday, 31-Jan-25
    • Friday, 28-Feb-25
    • Friday, 14-Mar-25
    • Friday, 11-Apr-25
    • Friday, 25-Apr-25
    • Friday, 23-May-25
  • Estas fechas corresponden a un calendario de clases quincenales los viernes que comienza en la semana que incluye el martes 10 de septiembre de 2024

El archivo iCalendar creado por Claude

  • En la siguiente solicitud se pidió generar un archivo ICS con eventos Jazz Piano Lesson a las 2 p. m. Pacific Time en cada fecha
  • El texto iCalendar generado incluía BEGIN:VCALENDAR, VERSION:2.0, PRODID, CALSCALE:GREGORIAN y 13 bloques VEVENT
  • Cada evento incluía los siguientes campos
    • SUMMARY:Jazz Piano Lesson
    • DTSTART, DTEND: evento de 1 hora
    • DTSTAMP:20240824T000000Z
    • UID único por fecha
  • La hora se convirtió a notación Z de UTC, y los cambios de horario de Pacific Time se reflejaron en el archivo
  • El procedimiento de uso consistió en copiar el contenido generado, pegarlo en un nuevo archivo de texto, guardarlo con extensión .ics e importarlo en la app de calendario deseada
  • En Google Calendar, el archivo .ics se importó mediante el menú Import/export de la configuración, y las citas se agregaron correctamente
  • Al probar la misma entrada en ChatGPT, este identificó las fechas, pero al principio respondió que no podía generar un archivo .ics y proporcionó código en Python; luego, al pedirle “muéstrame solo el contenido del archivo .ics”, generó ese contenido

1 comentarios

 
GN⁺ 2024-08-26
Opiniones de Hacker News
  • Cuando le pidas a Claude extraer listas o datos, siempre hay que volver a revisar el resultado.
    El 99.9% está bien, pero a veces 1 o 2 registros están mal, y como el resultado se ve convincente, es más fácil que se te pasen. En listas o tablas largas, los modelos de lenguaje grandes pueden equivocarse de formas muy sutiles; me ha pasado en carne propia. Confía, pero verifica.
    Si la respuesta se puede verificar mecánicamente, otra opción es pedirle al modelo de lenguaje grande que escriba un validador en Python que pueda ejecutar internamente. ChatGPT puede ejecutar código, y tengo entendido que Sonnet 3.5 también, aunque no lo he probado personalmente.

    • La tendencia de los modelos de lenguaje grandes a cometer errores por diferencia de 1 va a erosionar mucho la confianza en la “verdad”, y me asusta pensar que los próximos años serán bastante difíciles. En una escala de tiempo más larga, incluso parece posible el colapso del conocimiento objetivo.
      No es lo mismo que, al preguntar por el cumpleaños de George Washington, responda “May 20, 2020”, a que alucine con confianza “February 20, 1733”. A primera vista suena plausible. Presidents' Day es en febrero y parece estar relacionado con su cumpleaños, y el año también parece correcto, así que es fácil sentir que es suficiente.
      Pero está mal, y da miedo que los modelos de lenguaje grandes digan ese tipo de “hechos” con una actitud de plena seguridad. Se los hizo hablar así como modelos probabilísticos, y no había suficientes mecanismos para comprobar o verificar la información.
      “Confía, pero verifica” es paradójico y circular. Si tengo que comprobar en Wikipedia —a la que considero una fuente de verdad más alta— todos los datos que me dio ChatGPT, ¿por qué no empezar ahí desde el principio? Si tengo que crear un validador en Python para verificar la salida, ¿por qué no hacerlo desde el principio?
      Estos errores sutiles van a causar grandes problemas. Los errores por diferencia de 1 son muy difíciles de detectar, los datos se van contaminando lentamente y se desvían cada vez más hacia direcciones absurdas hasta que nos damos cuenta demasiado tarde. Si toda la basura que producen los modelos de lenguaje grandes fuera tan evidente como recomendar poner pegamento en la pizza, sería casi mejor; pero la realidad probablemente será más como veneno filtrándose poco a poco en un pozo, y cuando las salidas inexactas empiecen a entrar en partes importantes de la vida, puede volverse realmente problemático.
    • Con ese nivel de precisión, es mucho mejor que hacerlo solo.
      Si lo hiciera yo mismo, creo que ni siquiera llegaría al 99% de precisión. Si en este tipo de tarea de verdad hay 99.9% de precisión, lo aceptaría con gusto.
    • Si acierta el 99.9% y las clases de piano son cada 2 semanas, eso equivale a 1 error de agenda en 40 años. Con eso parece suficiente incluso sin verificar.
    • Probablemente sea mejor hacer que el modelo de lenguaje grande escriba un script.
      Por ejemplo, mientras probaba dos apps de podcasts, quería ver las diferencias entre los feeds a los que estaba suscrito. Al principio le pedí que comparara dos archivos OPML, pero el resultado fue incorrecto. Podría haber pasado 30 minutos afinando el prompt y verificando manualmente, pero en vez de eso le pedí que escribiera un script para comparar los dos archivos, y funcionó bien. En comparación con el proceso tedioso de revisar una salida compleja elemento por elemento, es relativamente fácil revisar un script y convencerse de que probablemente está bien.
    • Aparte del problema de tener que volver a revisar los resultados cuando le pides a Claude extraer listas y datos, también está el problema de que los modelos están ajustados para ser demasiado serviciales.
      Probé una tarea similar a la del artículo original con datos que no estaban en inglés, y no pude evitar que Claude tradujera “amablemente” parte de los datos al inglés. Si le decía “incluye la descripción de la imagen”, la traducía; si le decía “incluye la descripción de la imagen, pero no la traduzcas ni la resumas”, simplemente la omitía.
  • Hace 2 semanas tuve exactamente el mismo caso de uso: recibí un PDF de la escuela y estaba en un café solo con mi teléfono.
    Usé ChatGPT, y aunque es cierto lo que el artículo dice sobre que el intérprete de código no puede generar directamente archivos .ics, este problema en particular sí se podía resolver. En un teléfono Android hice lo siguiente: le pedí que extrajera todas las fechas, horas y notas útiles del PDF, que generara el contenido en formato de archivo .ics como salida de código, y luego usé el intérprete de código para poner ese contenido en un archivo y guardarlo con extensión .ics.
    Lo manejó bien hasta el final, y pude descargar el archivo en el teléfono, abrirlo con la app de gcal e importar todos los eventos.
    La afirmación de que el intérprete de código no puede “generar” archivos ICS se debe a que el entorno Python que se ejecuta no tiene una biblioteca específica para esa tarea. Un archivo ICS no es más que un archivo de texto con un formato específico, así que se puede crear sin problema.

    • Es interesante, aunque quizá ChatGPT se haya vuelto más reacio a generar salida ics. En mayo no hizo falta mucho esfuerzo: https://chatgpt.com/share/0848349d-4b0b-40f8-9d24-e9c4ffc065...
    • Ahora sería genial poder agregar una capa ICS a los mapas y publicar eventos ICS en ubicaciones GPS con conciencia temporal. Estoy subido al flujo de InstantDB, así que por un tiempo pienso atacar todos los problemas con eso.
    • Claude.ai simplemente me dio el texto, y solo tuve que guardarlo como un archivo my.ics. Me pregunto si ChatGPT también podría hacerlo así con un prompt distinto.
  • Hice algo parecido con ChatGPT-4o: le di un archivo txt con una lista de títulos de películas. Le pedí que devolviera la fecha de estreno de cada película y luego recibí un archivo iCal con todos los estrenos como eventos de aniversario recurrentes cada año, para poder ver mis películas favoritas en cada aniversario.
    También se lo hice a algunos amigos, y hasta ahora, con más de 100 títulos de películas en total, la tasa de éxito fue del 100%.

    • Creo que no funcionaría tan bien con buenos álbumes de música. Durante mucho tiempo los álbumes salían los martes, y quizá todavía sea así. Entonces todos quedarían concentrados en un solo día de la semana.
      Por eso recuerdo que el 11 de septiembre de 2001 fue martes. Era día de lanzamiento de álbumes, y ese día también salió un buen álbum.
    • Me pregunto si verificaste todas las fechas.
  • Lugares como escuelas o empleadores todavía distribuyen muchos calendarios en formato PDF.
    Dedican más tiempo al branding y al formato visual que a convertirlos en un formato que realmente pueda importarse a una app de calendario y usarse de forma práctica.
    Me pregunto si no sería posible un proceso de dos pasos que pueda generalizarse de forma más robusta. Primero, leer cualquier documento y armar una tabla con fechas, horas y zonas horarias, lugares, URL, notas y recurrencia; segundo, leer una tabla con más o menos esa estructura y generar un archivo o enlace de Google Calendar, iCal o ICS.
    También parecería posible afinar por separado modelos o agentes para que ejecuten muy bien cada paso.

    • Estás sobreestimando mucho la capacidad técnica de los grupos de padres y subestimando la utilidad de un PDF imprimible con las fechas clave.
  • Creo que aquí Siri fracasó. Incluso algo como “créame un evento que empiece el lunes y dure 90 días” siempre fue casi una apuesta.
    Siri tampoco podía hacer las cosas que yo no quería hacer manualmente. Entonces no es muy correcto llamarlo asistente.

  • Le pasé a GPT4-o una captura de pantalla con una lista de transacciones de banca en línea y obtuve una lista de transacciones para la declaración de impuestos de la empresa. La verifiqué a ojo y el resultado estaba bien.
    Antes de eso, un product manager me había enviado por captura una lista de IDs de empresas para activar un feature flag. En lugar de ingresarlos todos manualmente, hice que GPT4-o generara a partir de la captura una lista separada por comas, y también funcionó perfecto.

    • OpenAI debe estar feliz de recibir toda esa información confidencial ;)
  • Esto es impresionante. Al mismo tiempo, muestra muy bien un patrón de diseño que ojalá se difundiera más gracias a la IA: formatos de archivo interoperables y legibles por humanos. Cosas como los archivos .ICS.
    Me gustaría que más sitios web y apps priorizaran el soporte de estos formatos. No solo hace que sea más fácil usarlos con IA de por medio, sino que permite que más gente cree extensiones de forma creativa.
    Durante más o menos la última década hubo una tendencia a hacer los datos más cerrados en silos y a reducir la importancia de los propios archivos en nombre de la “simplicidad”; ojalá eso retroceda en cierta medida.

  • Uso ChatGPT seguido para crear entradas de calendario. Pudo generar enlaces de Google Calendar, archivos ICS y códigos QR.
    No sé qué fue lo que salió mal en el artículo original.

    • La última vez que probé con GPT-4-Turbo, al pedirle un archivo ICS se negó diciendo que no podía crear archivos. Pero si le pedía que lo codificara en formato iCal, lo imprimía en un bloque de código Markdown, y yo lo copiaba a Notepad y lo guardaba como ICS.
      Hoy también se le puede pedir que “use Python” para el objetivo. Entonces sí crea el archivo, pero como tiene que codificar el resultado como una cadena o un arreglo de Python, puede aumentar la probabilidad de errores.
  • Usar IA para invitaciones de calendario definitivamente encaja bien. Hice algo parecido aquí, y ical es más simple.
    https://hareeshganesan.com/2024/07/14/baby-calendar

  • Con gpt 4o estoy simplificando de forma similar la entrada de datos. Incluso ahora es bastante útil, aunque la gente todavía no está usando mucho los modelos grandes de lenguaje para trabajos estructurados.
    Pero me parece que va a cambiar porque es demasiado claramente útil. Cualquier tarea de ingresar datos en un formulario ya puede automatizarse, y de hecho se automatizará. Sobre todo si la información está en papel o en una forma imprimible: basta apuntar la cámara y hacer una revisión rápida.
    Extraer información de lugares como letreros o pósters puede ser sorprendentemente útil. La gente invierte mucho esfuerzo y dinero en comunicar visualmente mucha información que no existe en un formato digital de fácil acceso.

    • Al probarlo, la tasa de extracción de información con distintos formularios o documentos fue de alrededor del 90%. Los formularios complejos son especialmente difíciles.