08
septiembre
2026
Infografía del incidente: el veneno, el log de la sesión, el cierre total, el antídoto ignorable y la vacuna


TL;DR: Un plugin nuevo de búsqueda envenenó el log de dos sesiones de mi equipo de agentes. Un solo evento con un tipo que el harness no conocía, y las sesiones enteras se negaron a volver a abrirse. Dos días de cirugía de ficheros con ChatGPT de ayudante, un antídoto llamado «Ignorable», y un puñado de reglas nuevas que ahora son ley en el equipo. Si tocas DSH por dentro, esto te ahorra el mismo viaje.

El plan era perfecto (spoiler: no lo era)

Mi equipo de agentes trabaja sobre DeepSeek Harness (DSH): varias sesiones reales del chat que colaboran como un equipo humano —supervisor, archivista, soporte— coordinándose por un bus de ficheros markdown. Los agentes son efímeros; el equipo vive en los ficheros. Esa frase, que suele ser poesía organizativa, se volvió literal muy pronto.

El encargo parecía de los sencillos: el proveedor de búsqueda DeepSeek se quedó sin saldo («Insufficient Balance»), así que habría que montar la API de Brave Search (2.000 consultas gratis al mes) como paquete nuevo, aditivo y reversible. Mi agente de creación —llamémosle el constructor— hizo un trabajo de manual: verificó los tipos del seam web, el plano de credenciales, los errores, el mapeo de resultados. Desplegó, reinició, buscó: fuentes citables al primer intento.

Diez segundos de gloria. Lo que nadie probó ese día fue otra cosa: volver a abrir la sesión al día siguiente.

El monstruo

Al recargar, la sesión no abría. El error era de los que te hielan la sangre precisamente por lo tranquilizador de su redacción:

SessionFormatUnsupportedError: event type "web/brave-search-request" is unknown
to this harness and not marked ignorable

Traducción: sé leer cada evento de tu historial menos uno, y como no sé qué es, no voy a reconstruir nada. Ni media sesión. Todo el log, rechazado. Y no solo una sesión: cualquier sesión que hubiera usado la búsqueda con el plugin nuevo.

La anatomía del engaño, para quien no conozca las tripas de DSH:

  • El historial de una sesión es un log de eventos tipados: líneas JSONL comprimidas en frames Zstandard. Cada evento lleva un type.
  • El harness mantiene un catálogo interno de tipos que conoce (los que declara su propio código).
  • Al escribirsession.append() acepta cualquier cadena que le eches. Sin validación. Sin avisos.
  • Al leer, se exige que cada tipo esté en el catálogo o lleve una marca de compatibilidad llamada ignorable.

Escribir libre, leer estricto. La asimetría perfecta para una trampa. El plugin —copiando el patrón del proveedor oficial de búsqueda de DeepSeek, que registra sus peticiones como evento de sesión— inventó un tipo nuevo: web/brave-search-request. El oficial puede hacerlo porque su tipo está horneado dentro del catálogo del harness. Un plugin externo, por construcción, jamás estará en esa lista. Un solo evento y la sesión entera, ilegible.

La ironía final: el equipo  verificó que la búsqueda funcionaba. Falló en imaginar que la pregunta correcta no era «¿funciona?» sino «¿funciona mañana?».

Dos días con el meticuloso (y el meticuloso dio en el clavo)

La reparación no era trivial: los logs están comprimidos en frames binarios, y no hay botón de «ignora esto». Ahí entró la pareja improbable: yo, con dos sesiones muertas, y ChatGPT, que es meticulosamente persistente en sus comprobaciones, infatigable como una hormiga arqueóloga.

Entre los dos desenterramos el procedimiento — que ahora está documentado y probado en el KB del equipo:

  1. Localizar el log: ~/.dsh/sessions/<workspace>/<sessionId>/session.jsonl.zstd (múltiples frames Zstandard por fichero).
  2. Descomprimir reutilizando el backend oficial (JsonlSessionPersistence.readRaw(), vía prototipo con sus campos de compresión) o por la vía bruta: partir el fichero por los magic bytes de zstd (28 B5 2F FD) y descomprimir frame a frame.
  3. Encontrar los eventos del tipo conflictivo (un evento en una sesión, cinco en la otra — cada búsqueda con el plugin, un clavo más).
  4. No borrarlos. Añadir "ignorable": true al sobre de cada uno.
  5. Recomprimir en frames con checksum y sustituir el fichero.
  6. Verificar releyendo con el propio backend y abriendo la sesión en DSH.

Y aquí está la lección que da nombre al post: «Ignorable».

El antídoto «Ignorable»

Cuando el harness se encuentra un tipo de evento que no conoce pero que lleva "ignorable": true, hace lo correcto: lo salta y sigue leyendo el resto del historial. Es, literalmente, la válvula de compatibilidad hacia adelante que el sistema trae de fábrica para estos casos. Nosotros no la inventamos; descubrimos que existía, tarde y a fuego.

¿Por qué marcar y no borrar? Porque borrar el historial de un agente es editar su pasado: pierdes secuencias, rompes continuidad, y encima mientes al respecto. Marcar como ignorable conserva todo: la historia intacta, las secuencias coherentes, y el log vuelve a ser legible. El evento envenenado se convierte en una cicatriz documentada en lugar de una amputación.

Así que sí: «Ignorable» es el antídoto universal para resucitar cualquier sesión que una de nuestras criaturas haya envenenado con tipos que no existen.

Pero atención, que aquí está la mitad de la verdad: el antídoto no es la vacuna. Si tu plugin sigue escribiendo tipos desconocidos, volverás a necesitar cirugía la próxima vez. La vacuna es otra y es de sentido común una vez la has visto:

Un plugin externo no inventa tipos de eventos de sesión. Nunca. Verifica el vocabulario en la fuente antes del primer dispatch.

Lo que cambió en el equipo (para que esto no vuelva a pasar)

  • El plugin se corrigió por construcción: la versión 1.1.0 no appenda nada al log de sesión (para un buscador, el evento era redundante: la query ya queda registrada en el tool/call de la herramienta). El histórico de eventos envenenados sigue ahí, marcado, y no molesta a nadie.
  • Test de regresión rojo/verde: hay un ensayo automatizado donde la versión vieja, ejecutada contra un contexto simulado, demuestra que appenda el tipo prohibido, y la nueva demuestra cero appends. El modo de fallo queda cazado para siempre, no en la memoria de nadie.
  • Sesión canario: nació Test Lab Creator, una sesión sacrificable donde se estrena todo lo nuevo. Si muere, se borra y se recrea en un minuto. Las sesiones buenas ya no prueban primero.
  • El ritual del doble rebote: probar algo no es usarlo y ver que funciona; es reiniciar, reabrir y comprobar que sigue vivo. El fallo no estaba en la búsqueda: estaba en el día siguiente.

Las reglas, para quien esté construyendo lo suyo

  1. Verifica los contratos en la fuente, no en la plantilla que estás copiando. Que el código oficial lo haga no significa que puedas hacerlo tú: primero puede lo first-party.
  2. Prueba la recarga, no solo la ejecución. El error más caro es el que aparece mañana.
  3. Canario antes que producción. Una sesión desechable cuesta un minuto; una sesión de trabajo envenenada, dos días.
  4. Si un log se envenena: «Ignorable», no borrón. Marca los eventos desconocidos, conserva la historia.
  5. El rollback tiene que ser de una línea. Todo lo que despliegues, que se pueda desmontar quitando dos filas de un YAML.

Epílogo, sin buscar culpables

La cadena del fallo tuvo tres eslabones: un diseño que pedía el evento, una plantilla oficial que lo normalizaba, y un constructor que verificó todo menos el catálogo de vocabulario. Falló el sistema, no solo el último eslabón — y por eso la respuesta fue institucional, no un castigo: el antídoto documentado, la vacuna convertida en regla, el canario en plantilla.

Al final, la frase de fundación del equipo se cumplió con crueldad de lema: los agentes son efímeros; el equipo vive en los ficheros. Aquel fin de semana los agentes no solo no murieron: quedaron mejor de lo que estaban. Con una cicatriz, un antídoto y un laboratorio donde muerden las próximas criaturas.

El equipo vive en los ficheros. La cicatriz también.


28
diciembre
2014
Inteligencia Artificial.

.

En los últimos años, los avances en inteligencia artificial han crecido hasta consolidar esta tecnología como uno de los campos más prometedores del siglo XXI. Para comprender su alcance es necesario remontarse al inicio del concepto de IA, cuando el precursor de la informática moderna, Alan Turing, estableció las bases teóricas que sirvieron para promover la noción de una computadora capaz de poseer inteligencia abstracta y sensitiva.

Alan Turing afianzó su trabajo con la redacción del test de Turing, una prueba creada para demostrar la inteligencia de una máquina. Muchas primaveras han pasado desde entonces, y a lo largo de los años, la iniciativa e ilusión de este científico se han contagiado para convertir el florecimiento de la IA como el rumbo de muchos profesionales con la pretensión de lograr el siguiente gran paso de la humanidad.

Si citamos la praxis histórica, es indispensable reparar en la etapa del Boom informático acontecida en las últimas tres décadas del siglo XX. La Inteligencia Artificial vivió esta época como un tiempo de constante evolución. Todos los campos de la computación fueron mejorados a un ritmo abrumador; a partir de este periodo, la tecnología de un determinado momento no sería más que un ínfimo remanente comparada con la disponible en la década siguiente.

El perfeccionamiento en IA quedó encarnado cuando la computadora “Deep Blue” fue capaz de vencer al campeón mundial de ajedrez Gari Kaspárov en una partida que pasó a la historia como un hito compartido del deporte y la tecnología. El mismo ajedrecista calificó a la máquina como un ente creativo capaz de razonar igual que una persona. Así pues, se contextualiza el descomunal avance desde los primeros transistores hasta la robótica actual.

ia2

El desarrollo en inteligencia artificial se sostiene en gran medida por ser un tema muy contemplado en la cultura popular, suscita tanto interés que se distingue como un exponente enormemente teatralizado dentro del marco de la ciencia ficción. Podrían ser mencionadas un sinfín de obras, algunas de ellas grandes ejemplares del séptimo arte como “Terminator”, “Matrix”, “2001 Space Odissey” o “Blade Runner”. En el arte literario pueden destacarse volúmenes escritos por Isaac Asimov o Daniel H. Wilson, como por ejemplo “Yo, Robot” o “Robopocalypse”. El impacto cultural de este género es innegable. En consecuencia, la inteligencia artificial ha alimentado la imaginación de científicos y gente corriente por igual.

El día que programemos una mente artificial plenamente consciente de sí misma y con un genio equiparable o superior al nuestro, habremos forjado la llave que impulsará el progreso tecnológico universal; no obstante, la consecución de una inteligencia digital independiente y creativa podría suponer un enorme riesgo para el ser humano. Es plausible suponer que una máquina con un entendimiento afín al descrito podría llegar a dirigirse de manera hostil a la humanidad si su sistema no lo vetara de ninguna forma. No es un tema que actualmente nos afecte de manera práctica, pero constituye una escena morbosamente atractiva que ha sido escenificada múltiples veces.

ia3

La Inteligencia Artificial es la protagonista de la nueva era digital y se prevén grandes éxitos en este campo. Su singularidad tecnológica la convierte en el epicentro del progreso en la actualidad. Todavía no somos capaces de construir un cerebro artificial comparable a la psique humana; si bien, gracias a los nuevos avances en IA, por primera vez alcanzamos la visión y mantenemos la dirección adecuada en pos de consolidar semejante hazaña. La IA tiene las propiedades para gestar un desarrollo jamás visto por la humanidad.


02
noviembre
2014
Seguridad en Windows. Protege tu PC y tus archivos.

Unos consejos de seguridad básicos pero efectivos pueden ahorrarte mas de un desagradable quebranto.

Anti-Virus:
Si tienes windows 8 la mejor opción es usar windows defender como antivirus. Proporciona una gran protección con un consumo de recursos mínimo lo que lo hace ideal cuando usas juegos y demás software potente. Windows defender también lo puedes activar si tienes windows 7 pero debes primero descargartelo a tu pc. En cualquier caso solo un antivirus debe estar activo en tu máquina. Y como firewall el que proporciona windows es mas que suficiente.

Limpieza:AdwCleaner
En caso de que tengas el pc ya infectado de programas espia, publicidad, ventanas emergentes, barras, etc la mejor opción es usar AdwCleaner , se trata de un programa gratuito muy efectivo para devolver a la normalidad tu pc o portatil.

Protección online:
Cuando visitas según que páginas estas pueden atacar tu pc e instalar spyware y demás programas maliciosos. Para protegerse completamente de la instalación automática de Malwarebytesgusanos, troyanos, malwares, rootkits y otros no es suficiente con un antivirus. Con Malwarebytes tu pc queda completamente protegido, es impresionante ver como anula toda conexión dañina mientras navegas por según que páginas. En esta ocasión la versión de pago del programa vale la pena. En mi caso después de usar durante 6 meses la combinación windows defender y malwarebytes siempre que uso AdwCleaner no detecta ningún elemento por lo que tengo el pc completamente limpio, y seguro, cosa que no sucedía en mi anterior etapa cuando solo usaba un antivirus.

Contraseñas: Elije una contraseña segura para tu email y servicios importantes, que no tenga signicado, que incluya un par de números y que no forme parte de la lista de contraseñas mas usadas. No elijas la misma contraseña que la de tu correo para otros servicios. Para esos servicios menos importantes puedes usar la misma contraseña para todos ellos pero que sea segura.

Organizate: Manten a buen recaudo tus accesos, contraseñas, el pin y puk de tu móvil, la forma de denunciar el robo de tu movil a tu cia telefonica, etc. todos estos datos sensibles los puedes guardar por ejemplo en un borrador de gmail o en un documento de drive. Y tampoco es necesario que escribas toda la contraseña tan solo un recuerdo de las primeras letras.

Tus archivos importantes: 7zipImaginate que roban en tu casa y se llevan tu ordenador. Afronta y sé prevenido ante esta situación para poder recuperar al menos lo mas importante. Contra curiosos, tus archivos mas personales y/o sensibles una buena práctica es tenerlos protegidos con contraseña, una forma sencilla es instalar 7-zip, es gratuito, seleccionas los ficheros y con el clic derecho > añadir al archivo y se abre un menu donde puedes incluir una contraseña, ya tienes esos archivos protegidos de la vista de cualquiera y desde luego inaccesibles ya que es practicamente imposible romper un archivo zip protegido con contraseña.

Haz copias de seguridad de tus archivos mas importantes, tus fotos, facturas, hojas de cálculo, etc. Recuerda que en gmail y drive tienes 15GB gratuitos. Los mas sensibles puedes subirlos ssd kingston v300a la nube protegidos con contraseña con 7-zip. Es posible que tus archivos ocupen muchos gigas estonces una opción será copiarlos a un disco externo, existen actualmente discos SSD muy rápidos, que se conectan provisionalmente al pc usando el conector SATA disponible en muchas cajas. Pero recuerda ! ese disco debes guardarlo en otra ubicación distinta del lugar donde se encuentra tu pc, en un lugar escondido fuera del alcance de cualquiera.

Tu movil: Como sabes en tu movil estás siempre loginado a tu correo por lo que si ocasionalmente Lockdown prote lo roban o cae en manos ajenas antes de que aparezca la pantalla de bloqueo el intruso va a tener acceso directo a tu gmail, drive, outlook, sms, ajustes y a cualquier app. Para evitarlo instala Lockdown pro, es una aplicación gratuita en la que defines un pin para cualquier app que tengas instalada.


23
junio
2013

 

Gracias a esta entrada, nos enteramos de la existencia de este lenguaje de programación enfocado a los procesos que nos rodean y que facilmente podremos trabajar segun nuestras propias ideas y motivaciones.

Processsing es una plataforma de desarrollo de proyectos y tambien una comunidad. Siendo su aspecto el de un simple bloc de notas, funciona cuando escribes líneas de código que van a representar una visualización de los datos y de sus relaciones. Su interactividad con la creación digital y la gran comunidad que lo soporta, ayudan a soslayar el hecho de que todavia debereis usar un codigo para programarlo. 😉

A mi me ha parecido un documental muy interesante que nos aporta ademas, unas cuentas pinceladas de la historia de la computación para los que ya llevamos unos añitos en esto, y cuando tenga tiempo, mirare de diseñar unas buenas hormigas que convivan e interactuen con su entorno digital.

Recomiendo que le deis al HD y escojais pantalla grande.

.

.