En los artículos anteriores de la serie hemos cubierto diferentes maneras de interactuar con los LLMs: escribir tests, comprender código, y mantener el foco. Pero siempre desde una ventana de chat.
En los últimos años me encuentro cada vez más escribiendo texto que va más allá del código, análisis de infraestructura, auditorías de sistemas, diseños de arquitectura, post-mortems, documentos que requieren, sobre todo, tiempo, y por supuesto artículos en el blog. En el artículo de hoy veremos cómo he empezado a usar agentes para mejorar la calidad de los artículos, y cómo, a través de las anotaciones, podemos tener un mecanismo de comunicación bidireccional entre autor y agente más allá del chat.
El proceso hasta ahora
Desde el año pasado mi proceso habitual de escritura consiste en definir el contexto del artículo usando el modo voz o el modo texto de ChatGPT o Claude. Cuando tengo la estructura establecida, la suelo copiar en Obsidian y empiezo a escribir con mi voz hasta tener un primer manuscrito.
Como último paso copio de vuelta el texto en el agente y le pido feedback. No quiero que me reescriba el texto sino que quiero tener claridad de qué cambios son míos y qué me ha sugerido la IA, así que el resultado es una lista de posibles mejoras que puedo elegir aplicar o no.
Este proceso funciona bastante bien, y me ha permitido mejorar la calidad de mis artículos durante el último año, pero es el equivalente de pedir feedback de un documento por WhatsApp pasando una captura de pantalla. Usando este proceso, me veo cambiando de contexto y pierdo mucho tiempo aplicando los cambios en la sección correcta.
Existen mejores maneras de editar un texto y de colaborar en documentos, y este problema ya lo hemos resuelto al comunicarnos entre humanos, aquí es donde entran en juego las anotaciones.
Anotaciones
Las anotaciones de documentos, que llevan existiendo desde los 90, solucionan el problema de aportar feedback y comentarios, así que podemos utilizar lo aprendido durante décadas comentando Words y Google Docs para tener una mejor interacción con este tipo de agentes.
Esta idea, que seguramente te resulte obvia, no lo era tanto para mí hasta hace unos días cuando descubrí la idea de CriticMarkup, una serie de anotaciones sobre MarkDown que proporcionaban control editorial sobre documentos (Agregación, Eliminación, Reemplazo y Comentarios).
La idea es sencilla, podemos extender markdown con este tipo de anotaciones y sigue siendo un texto plano legible por cualquier editor, y ¿sabéis a quienes se les dan de maravilla leer texto con formato? Exactamente, a los LLMs.
Con esta idea en mente, mi premisa se convirtió en la siguiente: dado un documento markdown, pasárselo al agente, y pedirle que me lo devolviera con las anotaciones que considerara oportuno (tono, consistencia, voz…, etc).
Tras mirar el estado de varios plugins, CriticMarkup no estaba en un estado estable, pero seguí investigando y aprendí que Obsidian tiene soporte para notas en línea y notas al pie, usando el formato [^Nota], y voilá, le puedo decir al agente que me devuelva los comentarios en este formato:
Give me feedback to this document placing your feedback in the following format. `==highlight==^[immediate comment]`
El nuevo proceso en funcionamiento
Como mencionaba al principio del artículo, el proceso que sigo a la hora de escribir suele empezar con el móvil y acabar con teclado y ratón. En este caso, lo que mejor me funciona es Claude Code ejecutándose en una línea de comandos mientras escribo con Obsidian.
De esta manera, cada vez que termino una sección, le puedo pedir al agente que lea el documento y que lo actualice con sus comentarios, algo que suele durar escasos minutos.
Otra manera de trabajar, si estoy escribiendo un borrador desde el móvil, es copiar el documento desde Obsidian a la aplicación móvil (Claude, ChatGPT, Gemini…) y pedirle los comentarios. Esta manera es menos efectiva pero me permite seguir interactuando con el LLM si no tengo mi entorno completo.
La clave es el texto plano
Decían Andy Hunt y Dave Thomas que el texto plano dura para siempre, y lo decían en 1999: «Keep Knowledge in Plain Text». 27 años después siguen teniendo razón. Los LLMs, por norma general, entienden Markdown y son capaces de generarlo de manera rápida. Este texto, que dura para siempre, podemos leerlo vía terminal, mandarlo por email, por Slack, por Whatsapp, imprimirlo, escanearlo, y tendrá la misma información.
Si Markdown no es tu proceso principal, siempre tienes alternativas: XML también está soportado, y estándares como OpenXML (DOCx) en teoría nos permitirían interactuar directamente con Office. Por otra parte existen integraciones para Google Workspace (usando el protocolo MCP) que permiten interactuar con Google Docs. La clave está en encontrar un mecanismo que ayude al proceso de escritura, que en mi caso he conseguido con la combinación de Obsidian y Claude Code.
Invirtiendo los roles
Los LLMs son muy buenos generando texto, pero a veces también necesitan feedback. Un tipo de documentos que escribo mucho es un análisis combinado de Wikis, código y READMEs para tener una primera idea general de un sistema nuevo, así que puedo dejar que el agente haga una primera pasada, y luego usar los comentarios para indicarle dónde recopilar información adicional, qué información no parece correcta, y qué otros cambios hacer.
La ventaja de este proceso es que el contexto (y hablaremos del contexto en otro artículo) es finito en los LLMs, y agregando contexto al documento lo hacemos independiente de la sesión, del modelo y del agente que usemos. Podemos empezar una sesión con ChatGPT y acabar con Gemini, y los comentarios se quedan en el documento.
En resumen
Desde que he implementado este sistema, he podido comprobar que las anotaciones son una herramienta muy poderosa para hablar con el agente. Al mantener el contexto en el documento, es más sencillo obtener un feedback claro y conciso, y al no modificar el texto original, sigo teniendo el control de qué cambiar y sobre todo, qué no cambiar.
La relación con los LLMs es algo bastante personal, así que me encantaría escuchar si estás haciendo algo similar, o si pruebas este método.

Deja un comentario