> For the complete documentation index, see [llms.txt](https://weekly-essay.mikey.wang/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://weekly-essay.mikey.wang/es/2026/w41-personal-ai-practice-tools-engineering-and-runtime-environments.md).

# W41-Proyectos personales: herramientas, ingeniería y decisiones entre entorno local y nube

10 de octubre de 2026 · Revisado el 13 de octubre

Durante las vacaciones del Festival del Medio Otoño y del Día Nacional fui a Aranya, en Jinshanling. Es un lugar bastante adecuado para viajar en familia. Al volver aún tenía unos días libres, y la primera semana de trabajo tampoco fue especialmente intensa, así que pude avanzar en varias cosas que quería hacer.

Al mirar atrás, veo que la semana pasada hice bastante: mantener el entorno de ejecución de IA, seguir con el proyecto de finanzas familiares, sustituir el gestor de suscripciones que llevaba años usando, mejorar la fiabilidad del proxy de red y volver a ejecutar el flujo automatizado de publicación de contenidos. En conjunto, estos proyectos también me hicieron revisar cómo he utilizado la IA durante este año.

Ya había escrito sobre abordar los asuntos personales como proyectos de ingeniería. Cuando esos proyectos empiezan a contener datos reales, conectarse a cuentas reales y necesitar una ejecución continua, aparecen muchos problemas a los que antes apenas prestábamos atención.

## Mantenimiento del entorno de ejecución de IA

Mi Mac Studio está en la oficina. Cuando vuelvo a casa después del trabajo o llega el fin de semana, le encargo tareas a distancia. Antes de salir de vacaciones, quise comprobar si podía mantenerse disponible durante más de diez días para usarlo en cualquier momento desde fuera y hacer lo que necesitara.

A los dos o tres días ya no funcionaba demasiado bien. Durante ese período se actualizaron los modelos de Claude y OpenAI, y algunos clientes necesitaban una actualización manual. Algunas sesiones caducaron y exigían una nueva autorización. También había tareas que dependían de la automatización de Chrome, y hacía falta liberar memoria. Por separado, ninguno de estos problemas era grande. Pero, estando fuera, basta con que se atasque un eslabón para que todo lo demás se detenga.

Por eso, el primer día de vuelta dediqué bastante tiempo a limpiar el entorno y, de paso, ponerme al día con los avances de los modelos durante las vacaciones.

**Que la máquina tenga corriente y conexión a Internet no basta para garantizar que este entorno de trabajo esté disponible en cualquier momento.**

Después de esta experiencia añadí tareas habituales de mantenimiento al entorno de ejecución de IA. Una consiste en revisar qué modelos tiene configurados cada herramienta y seguir las actualizaciones dentro de la misma familia. Otra consiste en comprobar las versiones de entornos como Codex, Claude Code y Gemini, para reducir la distancia que se va acumulando entre las configuraciones y las versiones de las herramientas.

Antes solía ocuparme de estas cosas cuando fallaban. Ahora dependo de cada vez más herramientas de IA al mismo tiempo, y mantenerlas empieza a ser una tarea fija. Sobre todo al usarlas a distancia, autorizaciones y actualizaciones que en local se resuelven con un clic se convierten en verdaderos bloqueos.

## Ingeniería de datos para las finanzas familiares

Ya había hablado del proyecto de finanzas familiares y había preparado una base. Esta vez dediqué cuatro o cinco días a impulsarlo de forma concentrada, principalmente con Claude. Está aproximadamente al 80 %, y ha requerido bastante más tiempo del previsto.

Quiero incorporar toda la situación financiera familiar a un proyecto que pueda mantener de forma continua. Después debería permitir analizarla, supervisarla, fundamentar revisiones y generar distintos gráficos según las necesidades. Al ponerme a trabajar descubrí que los gráficos y el análisis son solo una parte. La mayor parte está en los datos y las reglas que hay debajo.

Por ejemplo, con la privacidad, lo primero que uno piensa es en ocultar los importes. Al examinarlo mejor, tampoco se puede publicar sin más el número de participaciones, porque multiplicarlo por el valor liquidativo público permite deducir el valor de mercado. Algunas proporciones, combinadas con otra información, también revelan cosas que no se pretendía hacer públicas. Un campo aislado puede parecer poco sensible; al combinarlo con otros, la situación cambia por completo.

Otro ejemplo es la exactitud de los datos. Hay que registrar por separado cuándo ocurrió un hecho y cuándo se introdujo el dato, y si este se observó directamente, se calculó o se estimó. Al corregir un registro antiguo, también hay que conservar la relación con su corrección, en lugar de sobrescribir el contenido original. Si falla la extracción de una fuente, no se puede generar como si nada un resultado que parezca completo. Tampoco se pueden rellenar con ceros los datos que faltan.

Estas restricciones tienen que quedar incorporadas al programa. Ahora, antes de cada commit, el proyecto revisa lo que va a entrar en el repositorio. También identifica el formato real de los archivos, para evitar que una simple modificación de la extensión permita incorporar hojas de cálculo originales que no deberían estar allí. Las exigencias del prompt necesitan el respaldo de programas; de otro modo, cada ejecución depende de que el modelo las recuerde lo suficientemente bien.

Algunos problemas no los había previsto al principio. Fueron apareciendo durante las revisiones repetidas con Claude. En la segunda mitad del trabajo dediqué mucho tiempo a localizar límites, añadir validaciones y volver a revisar. Aunque sea un proyecto personal con pocos usuarios, no podemos omitir ese trabajo si maneja datos familiares reales.

Mis expectativas para lo que viene son concretas: reducir las tareas repetitivas al actualizar los datos cada trimestre, poder explicar por qué una actualización difiere de la anterior y saber de dónde procede cada conclusión.

**Si mantenemos bien los hechos, el análisis y las visualizaciones pueden rehacerse en cualquier momento.**

## Una herramienta de suscripciones para varios dispositivos

En comparación, el gestor de suscripciones se hizo muy rápido. Quería probar si podía crear, a muy bajo costo, una pequeña herramienta muy adaptada a mis hábitos, utilizable en distintas plataformas y con una experiencia cercana a la de una aplicación nativa.

Primero grabé la pantalla con la información de suscripciones del programa anterior y pedí a ChatGPT que extrajera los datos para migrarlos. Este paso también tenía sus detalles: conservar solo las suscripciones que yo hubiera abierto, cuyos detalles se hubieran mostrado y que siguieran activas. También había que verificar las monedas: Google One estaba registrado en nuevos dólares taiwaneses y el servicio de telecomunicaciones, en patacas de Macao. Si estos campos básicos están mal, de nada sirve hacer cálculos impecables después.

Luego trabajé en la interfaz, la sincronización y el despliegue. La herramienta está en ChatGPT Sites y utiliza su base de datos. Se puede abrir en el teléfono, en PC y en Mac. En iOS la uso como aplicación web, y la experiencia ha sido bastante mejor de lo que esperaba.

La iteración también fue directa. Marcaba lo que no encajaba con mis expectativas en la interfaz, hacía algunas pruebas, añadía requisitos y seguía ajustando. Para una herramienta pequeña, con funciones bien delimitadas y un único usuario, esta forma de entrega resulta bastante apropiada.

Así quedó sustituido el gestor de suscripciones que había usado durante muchos años. Antes, al comprar un programa, siempre tenía que aceptar formas de organizar la información que no me gustaban. Ahora puedo hacerlo según mis hábitos y cambiarlo cuesta poco. No necesita convertirse en un producto para todo el mundo. Si resuelve bien mi problema, ya tiene valor.

**Esto también me hizo reconsiderar las aplicaciones web. Para herramientas ligeras y productos de productividad, la combinación de página web, alojamiento y almacenamiento de datos ya ofrece una experiencia bastante completa. Con aplicaciones como Scriptable, además, se pueden añadir recordatorios del sistema y widgets mediante scripts, llevando los datos de la web a los puntos de acceso habituales del teléfono.**

En un caso como la gestión de suscripciones, una aplicación web con unas pocas capacidades nativas adicionales ya permite crear, a muy bajo costo, una experiencia muy personalizada y próxima a la nativa. No hace falta imponerse el desarrollo y mantenimiento de varios clientes para una herramienta personal.

## Mejora de la fiabilidad del proxy de red

Dediqué otro día o dos principalmente a mejorar la fiabilidad del proxy de red.

Muchas herramientas de trabajo y productividad dependen hoy del acceso a Internet internacional. Si el proveedor deja de estar disponible de forma intermitente, el desarrollo, la búsqueda de información y las llamadas a modelos se ven afectados a la vez. Después de quedarme bloqueado varias veces, decidí que debía abordar el asunto en serio.

Seguí iterando el proyecto de configuración del proxy. Puse el nodo propio de Taiwán como primera opción, el nodo taiwanés del proveedor comercial A como primer respaldo y el del proveedor B como última alternativa. El tráfico de IA pasa exclusivamente por Taiwán. El tráfico nacional, corporativo y de redes privadas sigue conectado de forma directa según las reglas anteriores. Así quedan claras las rutas de respaldo y se evita desviar todo el tráfico de la máquina por la misma ruta solo para hacer funcionar una herramienta.

El núcleo del proxy se encarga de la conmutación ante fallos. Ahora realiza una comprobación activa cada 30 segundos, con un tiempo de espera máximo de 3 segundos por intento. Si la ruta propia deja de estar disponible, las siguientes conexiones usan el respaldo. Cuando se recupera, vuelve a tener prioridad. Una conexión de transmisión continua ya establecida no puede trasladarse a otro servidor para continuar allí, por lo que la conmutación sigue requiriendo que la aplicación reintente. Esta capa resuelve si la siguiente conexión puede funcionar.

También realicé 468 rondas de comprobación HTTPS. La ruta propia tuvo éxito en 465 y la ruta comercial A en 459. En 468 de 468 rondas funcionó al menos una de las dos. En esta muestra, sus fallos sí se complementaron.

Si suponemos que los fallos de ambas rutas son independientes y estimamos la disponibilidad conjunta con las tasas de fallo de esta muestra, el resultado es de aproximadamente un 99,9877 %.

**Bajo ese supuesto, la estimación aproximada de disponibilidad conjunta alcanza el nivel de cuatro nueves (4N).**

Es una estimación basada en una muestra de corto plazo y en el supuesto de independencia de los fallos. No incluye fallos de red comunes a ambas rutas ni los intervalos de detección y conmutación. Tampoco representa una disponibilidad medida durante todo un año.

La validación también debe parecerse al trabajo real. Poder abrir una web, o recibir una respuesta correcta de una API, no demuestra que el modelo sea estable durante una generación prolongada. Verifiqué salidas reales de modelos tanto en la ruta propia como en la de respaldo. Ambas superaron casi dos minutos de transmisión continua. También simulé el fallo y la recuperación de la ruta propia en un entorno aislado para comprobar que el respaldo tomaba el relevo y que se restablecía la prioridad después. Durante las pruebas no apagué el servidor que estaba en funcionamiento.

Después incorporé el nodo propio a una suscripción fija. Cloudflare distribuye los parámetros de conexión; el tráfico real del proxy sigue conectándose al servidor propio. El Mac ya está integrado. El teléfono y el Apple TV tienen también sus correspondientes formatos de suscripción, aunque todavía hay que validar por separado la importación y actualización en cada dispositivo. En adelante, si cambian los parámetros del nodo, no hará falta enviar una configuración nueva a cada aparato. La descarga de la suscripción utiliza la ruta comercial de respaldo, para evitar que un fallo del nodo propio impida obtener también los parámetros actualizados.

Luego añadí la gestión coordinada de los dos Mac. Ambas máquinas sincronizan los registros de gestión mediante un estado cifrado. Solo una puede ejecutar operaciones de administración en cada momento, para evitar cambios simultáneos de suscripciones o solicitudes duplicadas.

Después de crear el nodo propio, también consideré ahorrar costos liberándolo en días no laborables y recreándolo en días de trabajo. Al avanzar aparecieron otros problemas: la identidad de confianza del servidor nuevo, la conciliación tras agotar el tiempo de espera de una solicitud de creación, la restauración del estado y la sincronización entre dispositivos. Finalmente cancelé ese esquema periódico de liberación y recreación. Conservé la instancia actual funcionando de forma continua y mantuve la conmutación automática de rutas.

**Hacer más complejo todo el sistema para ahorrar parte del tiempo de ejecución de una instancia quizá no sea ahora la opción más rentable.**

## Práctica de un flujo de publicación de contenidos

Otro experimento es «AI有图说», un proyecto de contenidos sobre IA con textos e imágenes para el público general. Quiero ver hasta dónde puede llegar esta forma de trabajo.

Utilicé Multica para organizar un pequeño equipo de agentes que conecta la selección de temas, la comprobación de originales, la edición, las imágenes, las revisiones, la confirmación humana y la publicación. Ya hay contenidos publicados oficialmente; el proceso ha superado la fase de borradores. La cuenta pública de WeChat sigue requiriendo mi confirmación desde el teléfono, y después de publicar se comprueba el resultado definitivo.

En el proceso aparecen muchos problemas pequeños: si el tema ya se ha tratado, si el artículo se limita a repetir un anuncio de lanzamiento, si texto e imágenes coinciden, si la plataforma ha guardado realmente el contenido. Ninguno es un gran problema técnico por sí solo, pero completar una entrega exige resolverlos uno a uno.

Aunque el flujo ya funciona, el contenido sigue en una fase muy inicial. Hay pocos temas y su selección todavía resulta algo forzada. No hay base para hablar de exposición o de «me gusta». Me interesa más observar si después podremos conectar los registros de ejecución con los resultados del contenido, revisar qué merece escribirse y cómo expresarlo para que el lector quiera leerlo, e incorporar lo aprendido a la siguiente selección de temas.

Quedan bastantes cosas por ajustar. Prefiero conservar por ahora la forma de coordinación y conseguir que el trabajo fluya. Tratarlo como un pequeño experimento y seguir observándolo me parece más interesante que llegar pronto a una conclusión.

## Los límites entre la ejecución local y en la nube

Estas experiencias también me han hecho prestar más atención a dónde se ejecuta un asistente digital personal. Cada vez hay más aplicaciones de este tipo. Un asistente puede recibir tareas en la nube, usar herramientas y ejecutarlas por mí. Pero que un entorno completamente en la nube pueda realizar las mismas tareas productivas que una máquina local propia depende de varias condiciones muy concretas.

La primera es la seguridad de las credenciales. Para hacer trabajo real, el asistente necesita sesiones iniciadas, credenciales y tokens. Al entregarlos a la nube, debe quedar claro dónde se guardan, quién puede leerlos, qué permisos pueden concederse y si pueden revocarse. Las credenciales locales también necesitan protección, pero puedo gestionar directamente dónde se guardan y para qué se usan. En la nube necesito que la plataforma ofrezca límites igual de claros.

La segunda es la fiabilidad del almacenamiento. Los proyectos personales dejan código, archivos, registros de ejecución y estado a largo plazo. Que todo eso pueda conservarse, siga existiendo después de que se retiren los recursos de ejecución y permita continuar una tarea desde el resultado anterior determina si el asistente es realmente útil. Enviarme el resultado de una ejecución y mantener un proyecto por mí a largo plazo son requisitos diferentes.

Otra condición es el acceso a la red. La salida a Internet del entorno en la nube puede restringir ciertos sitios o servicios. En mi equipo, algunos problemas de acceso se resuelven con la configuración de proxy existente. Al pasar a la nube, hay que comprobar uno por uno si se puede acceder a los mismos destinos y mantener las mismas sesiones. Que el asistente tenga acceso a Internet no significa que pueda acceder a todos los recursos necesarios para completar la tarea.

Por último está el entorno de desarrollo y pruebas. Pensemos en una aplicación iOS. El entorno en la nube que uso actualmente es Linux, y no puede ejecutar directamente Xcode ni el simulador de iOS. Si el asistente escribe código pero carece de la cadena de herramientas y del simulador correspondientes, sus posibilidades de validación quedan limitadas. Para esas pruebas sigo necesitando un Mac o un entorno que ofrezca herramientas de macOS equivalentes.

**Hasta dónde puede llegar un asistente digital personal en el trabajo productivo también depende de que las credenciales, el almacenamiento, la red y la cadena de herramientas puedan sostener su actividad de forma continua.**

Espero que estas aplicaciones sigan completando esas capacidades. Poder conservar archivos, controlar permisos, acceder a los recursos necesarios y ejecutar y probar de verdad los programas escritos son las condiciones para confiarles un proyecto de largo plazo.

Por ahora, mi gestor de suscripciones está en la nube y se puede usar directamente desde el teléfono y la computadora. Las tareas que dependen de credenciales locales, la configuración de red y las herramientas del Mac siguen ejecutándose en mi equipo.
