<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>AI Agent on KnightLi Blog</title>
        <link>https://knightli.com/es/tags/ai-agent/</link>
        <description>Recent content in AI Agent on KnightLi Blog</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>es</language>
        <lastBuildDate>Thu, 21 May 2026 08:53:13 +0800</lastBuildDate><atom:link href="https://knightli.com/es/tags/ai-agent/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Clasificación de proyectos open source de AI en GitHub: de Coding Agent a bases de conocimiento RAG</title>
        <link>https://knightli.com/es/2026/05/21/github-ai-projects-site-statistics/</link>
        <pubDate>Thu, 21 May 2026 08:53:13 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/21/github-ai-projects-site-statistics/</guid>
        <description>&lt;p&gt;Esta página organiza proyectos de AI en GitHub por dirección de uso: AI Coding y Coding Agents, skills y flujos Agent, RAG y bases de conocimiento, creación multimodal, modelos locales e inferencia, aplicaciones verticales y automatización, e infraestructura para desarrollar aplicaciones de AI. Cuando aparezcan nuevos proyectos, pueden añadirse con la misma estructura.&lt;/p&gt;
&lt;h2 id=&#34;resumen-por-categoría&#34;&gt;Resumen por categoría
&lt;/h2&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Categoría&lt;/th&gt;
          &lt;th style=&#34;text-align: right&#34;&gt;Proyectos&lt;/th&gt;
          &lt;th&gt;Para quién empezar aquí&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;AI Coding y Coding Agents&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;19&lt;/td&gt;
          &lt;td&gt;Usuarios que trabajan con Claude Code, Codex, Cursor, agents de terminal o automatización de repositorios&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Skills y flujos Agent&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;7&lt;/td&gt;
          &lt;td&gt;Usuarios que quieren estandarizar AI Coding, investigación o flujos de creación&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;RAG, bases de conocimiento y memoria&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;7&lt;/td&gt;
          &lt;td&gt;Usuarios que necesitan búsqueda documental, bases de conocimiento, memoria de largo plazo, crawling web o extracción estructurada&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Aplicaciones verticales y automatización&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;7&lt;/td&gt;
          &lt;td&gt;Usuarios interesados en finanzas, trading, monitoreo de Xianyu, control de escritorio, automatización de navegador y otros escenarios prácticos&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Multimodal y creación de contenido&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;5&lt;/td&gt;
          &lt;td&gt;Usuarios que trabajan con imágenes, video, transcripción, librerías de prompts y distribución de contenido&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Infraestructura para aplicaciones de AI&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;3&lt;/td&gt;
          &lt;td&gt;Desarrolladores que construyen apps de AI, automatización de navegador o toolchains Prompt/MCP&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Modelos locales e inferencia&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;1&lt;/td&gt;
          &lt;td&gt;Usuarios interesados en DeepSeek local, motores de inferencia y adaptación de hardware&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;La distribución muestra varias direcciones frecuentes en los proyectos open source actuales de AI: las herramientas de AI Coding son las más numerosas, seguidas por flujos Agent, bases de conocimiento RAG y escenarios aplicados. Hay menos proyectos centrados solo en inferencia local porque mucho contenido de despliegue local se organiza alrededor de modelos, GPUs o planes de despliegue, no de un único proyecto de GitHub.&lt;/p&gt;
&lt;h2 id=&#34;ai-coding-y-coding-agents&#34;&gt;AI Coding y Coding Agents
&lt;/h2&gt;&lt;p&gt;Esta categoría se centra en comprensión de código, modificación de código, flujos de ingeniería y agents de terminal. Es el grupo más grande, con &lt;strong&gt;19&lt;/strong&gt; proyectos.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Proyecto&lt;/th&gt;
          &lt;th&gt;Artículo&lt;/th&gt;
          &lt;th&gt;GitHub&lt;/th&gt;
          &lt;th&gt;Uso principal&lt;/th&gt;
          &lt;th&gt;Para quién&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Ralph&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/04/27/ralph-autonomous-agent-loop-claude-code-amp/&#34; &gt;Ralph: convertir Claude Code y Amp en un ciclo autónomo de desarrollo&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/snarktank/ralph&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;snarktank/ralph&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Guiar Claude Code / Amp por PRD, planificación, ejecución y revisión&lt;/td&gt;
          &lt;td&gt;Quienes quieren ordenar el flujo de AI Coding&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Claude-Mem&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/01/claude-mem-persistent-memory-for-claude-code/&#34; &gt;Claude-Mem: memoria de largo plazo entre sesiones para Claude Code&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/thedotmack/claude-mem&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;thedotmack/claude-mem&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Añadir memoria entre sesiones a Claude Code&lt;/td&gt;
          &lt;td&gt;Usuarios intensivos de Claude Code&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Claude Code Hooks Mastery&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/01/claude-code-hooks-mastery-guide/&#34; &gt;Claude Code Hooks Mastery: introducción a 13 etapas del ciclo de hooks&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/disler/claude-code-hooks-mastery&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;disler/claude-code-hooks-mastery&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Aprender el ciclo de vida de hooks y control de automatización&lt;/td&gt;
          &lt;td&gt;Quienes quieren personalizar Claude Code&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Compound Engineering Plugin&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/01/compound-engineering-plugin-ai-coding-workflow/&#34; &gt;Compound Engineering Plugin: convertir AI Coding en ciclos de planificación, ejecución y revisión&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/EveryInc/compound-engineering-plugin&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;EveryInc/compound-engineering-plugin&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Dividir AI Coding en planificación, ejecución y revisión&lt;/td&gt;
          &lt;td&gt;Usuarios que buscan ingeniería más disciplinada&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;free-claude-code&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/01/free-claude-code-anthropic-compatible-proxy/&#34; &gt;free-claude-code: conectar Claude Code a OpenRouter, DeepSeek y modelos locales&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/Alishahryar1/free-claude-code&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Alishahryar1/free-claude-code&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Conectar Claude Code a distintos backends mediante proxy&lt;/td&gt;
          &lt;td&gt;Usuarios que quieren reducir costes&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Hermes Agent&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/04/12/hermes-agent-intro-guide-vs-openclaw/&#34; &gt;Qué es Hermes Agent: visión general, ventajas, inicio rápido y comparación con OpenClaw&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/NousResearch/hermes-agent&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NousResearch/hermes-agent&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Framework local de Agent con herramientas y ejecución de tareas&lt;/td&gt;
          &lt;td&gt;Usuarios que quieren correr Agents locales&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;OpenHarness&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/04/12/openharness-basic-functions/&#34; &gt;Qué puede hacer OpenHarness como Agent Harness open source&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/HKUDS/OpenHarness&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;HKUDS/OpenHarness&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Agent Harness y ejecución multi-agent&lt;/td&gt;
          &lt;td&gt;Investigadores de orquestación Agent&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;CodexBridge&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/13/codexbridge-openai-compatible-api/&#34; &gt;Usar Codex con modelos nacionales: API compatibles con OpenAI y CodexBridge&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/begonia599/CodexBridge&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;begonia599/CodexBridge&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Conectar Codex a APIs compatibles con OpenAI&lt;/td&gt;
          &lt;td&gt;Usuarios que quieren usar Codex con modelos nacionales&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ccx&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/13/ccx-ai-api-proxy-gateway/&#34; &gt;Usar CCX para gestionar APIs compatibles con OpenAI para Codex y modelos nacionales&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/BenedictKing/ccx&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;BenedictKing/ccx&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Gestionar proxies de API para Claude, Codex, Gemini y más&lt;/td&gt;
          &lt;td&gt;Usuarios que alternan varios modelos&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;cc-haha&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/14/cc-haha-claude-code-desktop-workbench/&#34; &gt;cc-haha: un escritorio de trabajo para Claude Code&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/NanmiCoder/cc-haha&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NanmiCoder/cc-haha&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Workspace de escritorio y entrada Computer Use para Claude Code&lt;/td&gt;
          &lt;td&gt;Usuarios de Claude Code que prefieren GUI&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;DeepSeek-TUI&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/16/deepseek-tui-terminal-coding-agent/&#34; &gt;DeepSeek-TUI: convertir DeepSeek V4 en un agente de programación en terminal&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/Hmbown/DeepSeek-TUI&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Hmbown/DeepSeek-TUI&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Ejecutar un agente de programación DeepSeek en terminal&lt;/td&gt;
          &lt;td&gt;Usuarios de DeepSeek y línea de comandos&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Open Design&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/18/open-design-open-source-claude-design-alternative/&#34; &gt;Open Design: convertir Claude Code y Codex en herramientas de diseño AI&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/nexu-io/open-design&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;nexu-io/open-design&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Llevar Claude Code / Codex a generación de diseño&lt;/td&gt;
          &lt;td&gt;Usuarios que quieren agentes para prototipos&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;agentmemory&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/19/agentmemory-persistent-memory-ai-coding-agents/&#34; &gt;agentmemory: memoria persistente para Claude Code, Codex y Cursor&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/rohitg00/agentmemory&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;rohitg00/agentmemory&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Añadir memoria persistente a coding agents&lt;/td&gt;
          &lt;td&gt;Desarrolladores con proyectos largos&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Graphify&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/21/safishamsi-graphify-ai-code-knowledge-graph/&#34; &gt;Graphify: convertir una base de código en un grafo consultable por AI&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/safishamsi/graphify&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;safishamsi/graphify&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Convertir código en grafo de conocimiento para reducir lecturas repetidas&lt;/td&gt;
          &lt;td&gt;Usuarios con bases de código grandes&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;CC Switch&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/06/cc-switch-ai-cli-manager/&#34; &gt;CC Switch: gestionar Claude Code, Codex, Gemini CLI y OpenClaw en una herramienta de escritorio&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/farion1231/cc-switch&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;farion1231/cc-switch&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Gestionar varias CLI de AI y cambios de cuenta/configuración&lt;/td&gt;
          &lt;td&gt;Usuarios de varias CLI&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Warp&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/07/warpdotdev-warp-open-source-agentic-terminal/&#34; &gt;Warp open source: del terminal al Agentic Development Environment&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/warpdotdev/warp&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;warpdotdev/warp&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Terminal y entorno de desarrollo agentic&lt;/td&gt;
          &lt;td&gt;Usuarios intensivos de terminal&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;opencode&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/08/opencode-open-source-ai-coding-agent/&#34; &gt;opencode vs Claude Code vs Codex: guía de herramientas open source de AI Coding&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/anomalyco/opencode&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;anomalyco/opencode&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Agent open source para AI Coding&lt;/td&gt;
          &lt;td&gt;Quienes buscan alternativas a Claude Code / Codex&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;9Router&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/08/9router-ai-coding-router-token-saver/&#34; &gt;9Router: conectar Claude Code, Codex y Cursor a un único router de AI&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/decolua/9router&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;decolua/9router&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Ruteo de modelos para AI Coding y control de coste de tokens&lt;/td&gt;
          &lt;td&gt;Usuarios multi-herramienta y multi-modelo&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;goose&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/08/goose-open-source-ai-agent-desktop-cli-api/&#34; &gt;goose: AI Agent open source para escritorio, CLI y API&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/aaif-goose/goose&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;aaif-goose/goose&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Agent open source en escritorio, CLI y API&lt;/td&gt;
          &lt;td&gt;Usuarios que quieren un workspace Agent general&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;skills-y-flujos-agent&#34;&gt;Skills y flujos Agent
&lt;/h2&gt;&lt;p&gt;Esta categoría convierte capacidades de AI en skills, procesos y especificaciones repetibles. Incluye &lt;strong&gt;7&lt;/strong&gt; proyectos.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Proyecto&lt;/th&gt;
          &lt;th&gt;Artículo&lt;/th&gt;
          &lt;th&gt;GitHub&lt;/th&gt;
          &lt;th&gt;Uso principal&lt;/th&gt;
          &lt;th&gt;Para quién&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;mattpocock/skills&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/15/matt-pocock-skills-ai-engineering-workflow/&#34; &gt;Rechazar Vibe Coding: el repo skills de Matt Pocock añade restricciones de ingeniería&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/mattpocock/skills&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;mattpocock/skills&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Usar skills para controlar flujos de AI Coding&lt;/td&gt;
          &lt;td&gt;Quienes quieren disciplina de ingeniería para Agents&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Superpowers&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/15/obra-superpowers-agentic-skills-framework/&#34; &gt;Superpowers: devolver Coding Agents al flujo de ingeniería&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/obra/superpowers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;obra/superpowers&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Framework de skills agentic y metodología de desarrollo&lt;/td&gt;
          &lt;td&gt;Quienes quieren flujos sistemáticos con Coding Agents&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Prompt-Vault&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/15/prompt-vault-coding-prompt-benchmark/&#34; &gt;Prompt-Vault: biblioteca de especificaciones de prompts para probar AI Coding&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/w512/Prompt-Vault&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;w512/Prompt-Vault&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Reunir prompts de prueba para AI Coding&lt;/td&gt;
          &lt;td&gt;Evaluadores de modelos y herramientas&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;web-video-presentation&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/15/web-video-presentation-agent-skill/&#34; &gt;web-video-presentation: skill Agent para convertir artículos en videos web grabables&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/ConardLi/garden-skills&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ConardLi/garden-skills&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Convertir artículos en videos web grabables&lt;/td&gt;
          &lt;td&gt;Creadores y usuarios de automatización&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;nuwa-skill&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/04/22/nuwa-skill-distill-how-someone-thinks/&#34; &gt;nuwa-skill: convertir “destilar una persona” en un flujo ejecutable&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/alchaincyf/nuwa-skill&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;alchaincyf/nuwa-skill&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Reproducir estilo expresivo y flujo de pensamiento con skill&lt;/td&gt;
          &lt;td&gt;Usuarios que construyen Agents de estilo&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Scientific Agent Skills&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/17/scientific-agent-skills/&#34; &gt;Scientific Agent Skills: entregar flujos científicos a AI Agents&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/K-Dense-AI/scientific-agent-skills&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;K-Dense-AI/scientific-agent-skills&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Colección de skills para investigación científica&lt;/td&gt;
          &lt;td&gt;Investigadores, analistas y redactores técnicos&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;easy-vibe&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/16/easy-vibe-vibe-coding-learning-map/&#34; &gt;easy-vibe: mapa de aprendizaje para principiantes de Vibe Coding&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/datawhalechina/easy-vibe&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;datawhalechina/easy-vibe&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Mapa de aprendizaje de Vibe Coding&lt;/td&gt;
          &lt;td&gt;Principiantes de AI Coding&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;rag-bases-de-conocimiento-y-memoria&#34;&gt;RAG, bases de conocimiento y memoria
&lt;/h2&gt;&lt;p&gt;Esta categoría aborda búsqueda documental, construcción de bases de conocimiento, memoria de largo plazo y extracción estructurada. Incluye &lt;strong&gt;7&lt;/strong&gt; proyectos.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Proyecto&lt;/th&gt;
          &lt;th&gt;Artículo&lt;/th&gt;
          &lt;th&gt;GitHub&lt;/th&gt;
          &lt;th&gt;Uso principal&lt;/th&gt;
          &lt;th&gt;Para quién&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;LangExtract&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/01/google-langextract-llm-structured-data-extraction/&#34; &gt;Google LangExtract: extraer datos estructurados de textos largos con LLM&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/google/langextract&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;google/langextract&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Extraer información estructurada de textos largos&lt;/td&gt;
          &lt;td&gt;Usuarios de extracción de información y datos&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;qmd&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/01/qmd-markdown-search-for-ai-agents/&#34; &gt;qmd: búsqueda local en Markdown para AI Agents&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/tobi/qmd&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;tobi/qmd&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Búsqueda local en documentos Markdown&lt;/td&gt;
          &lt;td&gt;Usuarios que gestionan conocimiento en Markdown&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Firecrawl&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/04/15/firecrawl-ai-web-data-api/&#34; &gt;Firecrawl: búsqueda, crawling e interacción web para AI Agents&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/firecrawl/firecrawl&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;firecrawl/firecrawl&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Crawling web, búsqueda y entrada de datos estructurados&lt;/td&gt;
          &lt;td&gt;Usuarios de RAG e ingestión de datos para Agents&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;RAGFlow&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/04/15/ragflow-rag-engine-guide/&#34; &gt;RAGFlow: funciones y uso de un motor RAG open source&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/infiniflow/ragflow&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;infiniflow/ragflow&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Motor RAG open source&lt;/td&gt;
          &lt;td&gt;Bases de conocimiento empresariales y Q&amp;amp;A documental&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;OpenHuman&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/15/openhuman-open-source-personal-ai-agent/&#34; &gt;OpenHuman: ruta de escritorio para AI Agent personal open source&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/tinyhumansai/openhuman&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;tinyhumansai/openhuman&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Agent personal local-first y capa de memoria&lt;/td&gt;
          &lt;td&gt;Usuarios que quieren integrar datos personales&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;OpenKB&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/17/openkb-llm-knowledge-base/&#34; &gt;OpenKB: compilar documentos en bases de conocimiento LLM actualizables&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/VectifyAI/OpenKB&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;VectifyAI/OpenKB&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Compilar documentos en bases de conocimiento actualizables&lt;/td&gt;
          &lt;td&gt;Mantenedores de documentación y conocimiento&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;PageIndex&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/20/vectifyai-pageindex-vectorless-rag/&#34; &gt;PageIndex: indexación RAG razonada sin bases vectoriales&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/VectifyAI/PageIndex&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;VectifyAI/PageIndex&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Indexación documental razonada sin bases vectoriales&lt;/td&gt;
          &lt;td&gt;Usuarios que siguen nuevas rutas de RAG&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;multimodal-y-creación-de-contenido&#34;&gt;Multimodal y creación de contenido
&lt;/h2&gt;&lt;p&gt;Esta categoría cubre imágenes, video, transcripción y distribución de contenido. Incluye &lt;strong&gt;5&lt;/strong&gt; proyectos.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Proyecto&lt;/th&gt;
          &lt;th&gt;Artículo&lt;/th&gt;
          &lt;th&gt;GitHub&lt;/th&gt;
          &lt;th&gt;Uso principal&lt;/th&gt;
          &lt;th&gt;Para quién&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;rembg&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/04/19/rembg-background-removal-notes/&#34; &gt;rembg: herramienta local para quitar fondos de imágenes&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/danielgatis/rembg&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;danielgatis/rembg&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Eliminación local de fondos&lt;/td&gt;
          &lt;td&gt;E-commerce, diseño y procesamiento de imágenes&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;awesome-gpt-image-2-prompts&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/02/awesome-gpt-image-2-prompts-case-index/&#34; &gt;Biblioteca de prompts GPT-Image 2: e-commerce, pósters, retratos y UI&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/EvoLinkAI/awesome-gpt-image-2-prompts&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;EvoLinkAI/awesome-gpt-image-2-prompts&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Prompts y casos para GPT-Image 2&lt;/td&gt;
          &lt;td&gt;Usuarios de AI Art y prompts&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;faster-whisper&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/01/faster-whisper-speech-to-text/&#34; &gt;faster-whisper: motor Whisper más rápido para transcripción&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/SYSTRAN/faster-whisper&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;SYSTRAN/faster-whisper&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Speech-to-text de alto rendimiento&lt;/td&gt;
          &lt;td&gt;Usuarios de subtítulos, transcripción y voz&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Pixelle-Video&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/07/pixelle-video-ai-short-video-engine/&#34; &gt;Pixelle-Video: motor AI open source para generar videos cortos desde un tema&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/AIDC-AI/Pixelle-Video&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;AIDC-AI/Pixelle-Video&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Flujo para generar videos cortos desde un tema&lt;/td&gt;
          &lt;td&gt;Creadores de videos cortos y AIGC&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;AiToEarn&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/19/aitoearn-ai-content-marketing-agent/&#34; &gt;¿Demasiadas plataformas de contenido? AiToEarn usa Agents para ahorrar trabajo&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/yikart/AiToEarn&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;yikart/AiToEarn&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Distribución multicanal y automatización para creadores&lt;/td&gt;
          &lt;td&gt;Operadores de contenido y creadores&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;modelos-locales-e-inferencia&#34;&gt;Modelos locales e inferencia
&lt;/h2&gt;&lt;p&gt;Esta categoría se centra en ejecución local de modelos y experimentos de inferencia. Actualmente tiene menos proyectos, con &lt;strong&gt;1&lt;/strong&gt; proyecto.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Proyecto&lt;/th&gt;
          &lt;th&gt;Artículo&lt;/th&gt;
          &lt;th&gt;GitHub&lt;/th&gt;
          &lt;th&gt;Uso principal&lt;/th&gt;
          &lt;th&gt;Para quién&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;ds4&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/11/deepseek-v4-flash-ds4-metal/&#34; &gt;Ejecutar DeepSeek 4 localmente: Antirez ds4 en Apple Silicon Mac&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/antirez/ds4&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;antirez/ds4&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Experimentar con DeepSeek 4 en Apple Silicon&lt;/td&gt;
          &lt;td&gt;Usuarios de modelos locales e inferencia&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;aplicaciones-verticales-y-automatización&#34;&gt;Aplicaciones verticales y automatización
&lt;/h2&gt;&lt;p&gt;Esta categoría aplica Agents o AI a finanzas, trading, navegadores, escritorio, monitoreo de comercio electrónico y otros escenarios concretos. Incluye &lt;strong&gt;7&lt;/strong&gt; proyectos.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Proyecto&lt;/th&gt;
          &lt;th&gt;Artículo&lt;/th&gt;
          &lt;th&gt;GitHub&lt;/th&gt;
          &lt;th&gt;Uso principal&lt;/th&gt;
          &lt;th&gt;Para quién&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;TradingAgents-CN&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/01/tradingagents-cn-multi-agent-financial-research-framework/&#34; &gt;TradingAgents-CN: framework multi-agent para investigación de trading financiero en chino&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/hsliuping/TradingAgents-CN&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;hsliuping/TradingAgents-CN&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Framework multi-agent de investigación financiera&lt;/td&gt;
          &lt;td&gt;Investigadores quant, financieros y de Agents&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;FinceptTerminal&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/01/finceptterminal-open-source-financial-terminal/&#34; &gt;FinceptTerminal: terminal financiero open source, investigación quant y workspace AI Agent&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/Fincept-Corporation/FinceptTerminal&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Fincept-Corporation/FinceptTerminal&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Terminal financiero, investigación quant y workspace Agent&lt;/td&gt;
          &lt;td&gt;Analistas financieros y usuarios quant&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Anthropic financial-services&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/16/anthropic-financial-services-agent-templates/&#34; &gt;Anthropic financial-services: plantillas reutilizables para escenarios Agent financieros&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/anthropics/financial-services&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;anthropics/financial-services&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Plantillas de Agents para servicios financieros&lt;/td&gt;
          &lt;td&gt;Usuarios que crean soluciones AI financieras&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ai-goofish-monitor&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/17/ai-goofish-monitor/&#34; &gt;ai-goofish-monitor: sistema open source de monitoreo AI para productos de Xianyu&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/Usagi-org/ai-goofish-monitor&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Usagi-org/ai-goofish-monitor&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Monitoreo de productos y automatización de Xianyu&lt;/td&gt;
          &lt;td&gt;Usuarios de monitoreo de segunda mano&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;CloakBrowser&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/19/cloakbrowser-stealth-chromium-browser-automation/&#34; &gt;CloakBrowser: navegador más humano para Playwright y Puppeteer&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/CloakHQ/CloakBrowser&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;CloakHQ/CloakBrowser&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Entorno de automatización de navegador más humano&lt;/td&gt;
          &lt;td&gt;Automatización de navegador y operación Agent&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;UI-TARS-desktop&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/19/ui-tars-desktop-multimodal-ai-agent-stack/&#34; &gt;¿Dejar que AI use el ordenador? UI-TARS-desktop conecta escritorio, navegador y herramientas&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/bytedance/UI-TARS-desktop&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;bytedance/UI-TARS-desktop&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Agent para operar escritorio, navegador y herramientas&lt;/td&gt;
          &lt;td&gt;Usuarios que quieren que AI opere el ordenador&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;AI-Trader&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/19/ai-trader-agent-native-trading-platform/&#34; &gt;Qué es AI-Trader: plataforma para señales y simulación de trading con Agents&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/HKUDS/AI-Trader&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;HKUDS/AI-Trader&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Señales de trading y simulación con AI Agent&lt;/td&gt;
          &lt;td&gt;Investigadores de trading y Agents financieros&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;infraestructura-para-aplicaciones-de-ai&#34;&gt;Infraestructura para aplicaciones de AI
&lt;/h2&gt;&lt;p&gt;Esta categoría ofrece componentes base para construir aplicaciones de AI y toolchains Agent. Incluye &lt;strong&gt;3&lt;/strong&gt; proyectos.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Proyecto&lt;/th&gt;
          &lt;th&gt;Artículo&lt;/th&gt;
          &lt;th&gt;GitHub&lt;/th&gt;
          &lt;th&gt;Uso principal&lt;/th&gt;
          &lt;th&gt;Para quién&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Prompt Optimizer&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/01/prompt-optimizer-prompt-engineering-tool/&#34; &gt;Prompt Optimizer: optimización, pruebas y herramientas MCP open source&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/linshenkx/prompt-optimizer&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;linshenkx/prompt-optimizer&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;Optimización de prompts, pruebas y MCP&lt;/td&gt;
          &lt;td&gt;Usuarios de prompt engineering y ajuste de apps&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Playwright CLI&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/04/12/playwright-cli-getting-started/&#34; &gt;Playwright CLI: instalación, skills, sesiones y comandos comunes&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/microsoft/playwright-cli&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;microsoft/playwright-cli&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;CLI de automatización de navegador para coding agents&lt;/td&gt;
          &lt;td&gt;Usuarios Agent que necesitan operar navegador&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Vercel AI SDK&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/17/vercel-ai-sdk-typescript-agent-toolkit/&#34; &gt;Qué es Vercel AI SDK: toolkit unificado para apps AI en TypeScript&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/vercel/ai&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;vercel/ai&lt;/a&gt;&lt;/td&gt;
          &lt;td&gt;SDK para aplicaciones AI en TypeScript&lt;/td&gt;
          &lt;td&gt;Desarrolladores front-end y full-stack&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
</description>
        </item>
        <item>
        <title>Resumen de Google I/O 2026: Gemini 3.5, Omni, Antigravity y Agents a nivel de sistema</title>
        <link>https://knightli.com/es/2026/05/21/google-io-2026-gemini-agentic-ai-summary/</link>
        <pubDate>Thu, 21 May 2026 00:07:06 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/21/google-io-2026-gemini-agentic-ai-summary/</guid>
        <description>&lt;p&gt;La línea principal de Google I/O 2026 es clara: Google está llevando Gemini desde &amp;ldquo;modelo&amp;rdquo; y &amp;ldquo;asistente de chat&amp;rdquo; hacia un ecosistema Agent más completo. Ya no se trata solo de responder preguntas. Gemini entra en Search, Android, herramientas de desarrollo, creación de video, compras, Workspace, hardware y plataformas empresariales para ayudar a los usuarios a completar cadenas de tareas más largas.&lt;/p&gt;
&lt;p&gt;Este artículo resume los principales anuncios de Google I/O 2026 desde la información oficial y una perspectiva de desarrolladores. Para desarrollo real, conviene seguir siempre la documentación oficial de Google, Android Developers y Gemini API.&lt;/p&gt;
&lt;h2 id=&#34;resumen-en-una-frase&#34;&gt;Resumen en una frase
&lt;/h2&gt;&lt;p&gt;La palabra clave de Google I/O 2026 es &lt;code&gt;agentic Gemini era&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Google anunció o reforzó varias líneas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Gemini 3.5 Flash&lt;/code&gt;: velocidad, capacidad de acción y flujos Agent.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Gemini Omni&lt;/code&gt;: crear contenido desde cualquier entrada, empezando por creación y edición de video.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Gemini app&lt;/code&gt;: pasar de asistente de chat a Agent personal proactivo, siempre disponible y capaz de ejecutar tareas.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Google Antigravity 2.0&lt;/code&gt;: evolucionar de herramienta de programación con IA a plataforma de desarrollo agent-first.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Gemini API Managed Agents&lt;/code&gt;: crear Agents alojados mediante API, capaces de razonar, usar herramientas y ejecutar código.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Google AI Studio&lt;/code&gt;: expansión a móvil, soporte nativo para Android y exportación de proyectos a Antigravity.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Search&lt;/code&gt;, &lt;code&gt;Shopping&lt;/code&gt;, &lt;code&gt;YouTube&lt;/code&gt;, &lt;code&gt;Workspace&lt;/code&gt; y &lt;code&gt;Android&lt;/code&gt;: todos incorporan capacidades más fuertes de Gemini y Agent.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En otras palabras, Google ya no solo muestra &amp;ldquo;qué tan inteligente es el modelo&amp;rdquo;, sino cómo el modelo entra en productos, herramientas y sistemas para ejecutar tareas reales para el usuario.&lt;/p&gt;
&lt;h2 id=&#34;gemini-35-flash-del-prompt-a-la-acción&#34;&gt;Gemini 3.5 Flash: del prompt a la acción
&lt;/h2&gt;&lt;p&gt;Gemini 3.5 es la nueva familia de modelos que Google presentó en I/O 2026, con &lt;code&gt;Gemini 3.5 Flash&lt;/code&gt; como primer foco público.&lt;/p&gt;
&lt;p&gt;Google no lo posiciona simplemente como &amp;ldquo;un modelo de chat más rápido&amp;rdquo;, sino como un motor de alta velocidad para flujos Agent reales. El artículo para desarrolladores de Google señala que 3.5 Flash combina inteligencia de frontera y alta velocidad para apoyar el paso de prompt a acción.&lt;/p&gt;
&lt;p&gt;Su importancia principal:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Optimizado para escenarios Agent y coding.&lt;/li&gt;
&lt;li&gt;Soporta cadenas de tareas más largas y uso de herramientas.&lt;/li&gt;
&lt;li&gt;Disponible en Antigravity, Gemini API, Google AI Studio, Android Studio, Gemini Enterprise y otras entradas.&lt;/li&gt;
&lt;li&gt;Más adecuado para aplicaciones que requieren respuesta rápida, ejecución en múltiples turnos y llamadas frecuentes a herramientas.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Para desarrolladores, Gemini 3.5 Flash no es solo otra opción de modelo. Es uno de los motores por defecto de la nueva cadena de herramientas Agent de Google.&lt;/p&gt;
&lt;h2 id=&#34;gemini-omni-video-y-capacidades-de-modelo-del-mundo&#34;&gt;Gemini Omni: video y capacidades de modelo del mundo
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;Gemini Omni&lt;/code&gt; es otro anuncio central de I/O 2026. Google lo describe como creación de contenido desde cualquier entrada, con foco inicial en video.&lt;/p&gt;
&lt;p&gt;Sus puntos principales son tres:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Entrada multimodal: texto, imágenes, video, audio y más pueden usarse como referencia.&lt;/li&gt;
&lt;li&gt;Edición de video: el usuario puede modificar video en múltiples turnos con lenguaje natural, en lugar de terminar tras una sola generación.&lt;/li&gt;
&lt;li&gt;Comprensión del mundo: enfatiza consistencia física, escenas, acciones, narrativa y salida audiovisual.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto significa que las herramientas de video con IA pasan de &amp;ldquo;escribir un prompt para generar un clip&amp;rdquo; a &amp;ldquo;revisar paso a paso como si hablaras con un editor&amp;rdquo;. Para creadores, el valor real no es la generación de una sola vez, sino un flujo de edición controlable, trazable e iterativo.&lt;/p&gt;
&lt;h2 id=&#34;gemini-app-de-asistente-de-chat-a-agent-personal-siempre-activo&#34;&gt;Gemini App: de asistente de chat a Agent personal siempre activo
&lt;/h2&gt;&lt;p&gt;Google también empuja Gemini app hacia una dirección más agentic. Las publicaciones oficiales dicen que Gemini app será más proactiva, con briefs diarios y ayuda continua.&lt;/p&gt;
&lt;p&gt;Algunos puntos clave:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Gemini 3.5 Flash&lt;/code&gt; llega a Gemini app.&lt;/li&gt;
&lt;li&gt;Nueva UI e interacción más dinámica.&lt;/li&gt;
&lt;li&gt;Conceptos de AI Agent personal como &lt;code&gt;Gemini Spark&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Proactive daily briefs, que organizan de forma proactiva lo que el usuario debe atender cada día.&lt;/li&gt;
&lt;li&gt;Más énfasis en asistencia de fondo 24/7, en lugar de esperar a que el usuario inicie cada chat.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esta parte afecta más a usuarios normales. Antes Gemini se parecía más a un asistente de &amp;ldquo;preguntas y respuestas&amp;rdquo;. Después de I/O 2026, Google quiere que se parezca más a un Agent personal que sigue tareas, recuerda de forma proactiva y coordina entre productos.&lt;/p&gt;
&lt;h2 id=&#34;antigravity-20-las-herramientas-de-desarrollo-se-vuelven-agent-first&#34;&gt;Antigravity 2.0: las herramientas de desarrollo se vuelven Agent-first
&lt;/h2&gt;&lt;p&gt;Uno de los anuncios más importantes para desarrolladores es &lt;code&gt;Google Antigravity 2.0&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Google posiciona Antigravity como agent-first development platform. Después de I/O 2026, no solo ayuda a escribir código, sino que busca ayudar al desarrollador desde la idea y el prototipo hasta la orquestación de Agents y la entrega de aplicaciones en producción.&lt;/p&gt;
&lt;p&gt;Los cambios principales que menciona Google incluyen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Aplicación de escritorio independiente Antigravity 2.0.&lt;/li&gt;
&lt;li&gt;Orquestación paralela de múltiples Agents.&lt;/li&gt;
&lt;li&gt;Subagents dinámicos.&lt;/li&gt;
&lt;li&gt;Tareas programadas en segundo plano.&lt;/li&gt;
&lt;li&gt;Integración con Google AI Studio, Android, Firebase y otros ecosistemas.&lt;/li&gt;
&lt;li&gt;Antigravity CLI para usuarios de terminal.&lt;/li&gt;
&lt;li&gt;Antigravity SDK para personalizar comportamiento y despliegue de Agents.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto muestra que las herramientas de programación con IA entran en una etapa posterior a &amp;ldquo;autocompletado / generación conversacional&amp;rdquo;: los desarrolladores gestionarán múltiples Agents ejecutables, no solo una ventana de chat.&lt;/p&gt;
&lt;h2 id=&#34;gemini-api-managed-agents-alojar-agents-como-capacidades-api&#34;&gt;Gemini API Managed Agents: alojar Agents como capacidades API
&lt;/h2&gt;&lt;p&gt;Google también presentó &lt;code&gt;Managed Agents in the Gemini API&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Según la descripción oficial, estos Agents pueden crearse con una sola llamada API. Pueden razonar, usar herramientas y ejecutar código en un entorno Linux aislado, con soporte del Antigravity agent harness.&lt;/p&gt;
&lt;p&gt;Esto es clave para desarrolladores:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;No hace falta construir todo el runtime Agent por cuenta propia.&lt;/li&gt;
&lt;li&gt;Se obtiene un entorno de ejecución persistente y aislado.&lt;/li&gt;
&lt;li&gt;Las interacciones en múltiples turnos pueden conservar archivos y estado.&lt;/li&gt;
&lt;li&gt;Se pueden extender Agents con markdown skills, instrucciones personalizadas y plantillas.&lt;/li&gt;
&lt;li&gt;Están disponibles mediante Interactions API y Google AI Studio.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si esta línea madura, las plataformas Agent se parecerán cada vez más a servicios cloud: los desarrolladores no solo llamarán a modelos, sino a Agents con estado, herramientas, entorno de ejecución y límites de seguridad.&lt;/p&gt;
&lt;h2 id=&#34;google-ai-studio-de-prompt-playground-a-entrada-de-generación-de-apps&#34;&gt;Google AI Studio: de prompt playground a entrada de generación de apps
&lt;/h2&gt;&lt;p&gt;En I/O 2026, Google AI Studio también avanza.&lt;/p&gt;
&lt;p&gt;Cambios principales:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Google AI Studio mobile app para capturar ideas y generar prototipos desde móvil.&lt;/li&gt;
&lt;li&gt;Integración con Workspace API, para que los Agents accedan de forma más natural a Google Workspace.&lt;/li&gt;
&lt;li&gt;Exportación de proyectos a Antigravity, llevando contexto al desarrollo local y a producción.&lt;/li&gt;
&lt;li&gt;Soporte nativo para Android, permitiendo construir apps Android con prompts.&lt;/li&gt;
&lt;li&gt;Integración con Google Play Console para publicar apps en canales de prueba.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto convierte AI Studio de &amp;ldquo;lugar para ajustar prompts y probar modelos&amp;rdquo; en una entrada desde la idea hasta la aplicación. Su relación con Antigravity también queda más clara: AI Studio sirve para idear y generar rápido; Antigravity para seguir desarrollando, orquestar, depurar y entregar.&lt;/p&gt;
&lt;h2 id=&#34;android-y-appfunctions-interfaces-clave-para-agents-móviles&#34;&gt;Android y AppFunctions: interfaces clave para Agents móviles
&lt;/h2&gt;&lt;p&gt;Los Agents a nivel de sistema en Android son una dirección que merece atención propia, pero deben entenderse con interfaces y límites de producto precisos.&lt;/p&gt;
&lt;p&gt;Lo más importante ahora es &lt;code&gt;AppFunctions&lt;/code&gt; oficial de Android. La documentación lo describe como una API de plataforma Android con bibliotecas Jetpack, que permite a las apps exponer sus capacidades a agents, asistentes y otros llamadores autorizados. También simplifica la integración de Android MCP.&lt;/p&gt;
&lt;p&gt;Su importancia está en que la automatización móvil ya no tiene que depender solo de capturas de pantalla, OCR, taps simulados y localización de controles UI.&lt;/p&gt;
&lt;p&gt;La automatización móvil tradicional sigue este camino:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Reconocer la pantalla.&lt;/li&gt;
&lt;li&gt;Encontrar el botón.&lt;/li&gt;
&lt;li&gt;Simular un tap.&lt;/li&gt;
&lt;li&gt;Esperar cambios de página.&lt;/li&gt;
&lt;li&gt;Reintentar tras errores.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La dirección de AppFunctions es:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La app declara qué puede hacer.&lt;/li&gt;
&lt;li&gt;El Agent llama esas capacidades con autorización.&lt;/li&gt;
&lt;li&gt;El sistema gestiona permisos, límites de llamada y restricciones de seguridad.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto afectará al diseño de apps Android. Las apps futuras no solo tendrán que diseñar UI para humanos, sino también convertir sus funciones centrales en interfaces invocables por Agents.&lt;/p&gt;
&lt;h2 id=&#34;search-compras-y-productos-de-contenido-también-se-vuelven-agentic&#34;&gt;Search, compras y productos de contenido también se vuelven agentic
&lt;/h2&gt;&lt;p&gt;Los cambios de Google I/O 2026 no están solo en modelos y herramientas de desarrollo. Search y productos de consumo también cambian en paralelo.&lt;/p&gt;
&lt;p&gt;Los resúmenes oficiales de I/O mencionan:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Search entra en una nueva etapa de AI Search.&lt;/li&gt;
&lt;li&gt;Information agents aparecen en escenarios de búsqueda.&lt;/li&gt;
&lt;li&gt;Gemini Spark y Daily Brief llegan a Gemini app.&lt;/li&gt;
&lt;li&gt;Universal Cart hace más inteligente el carrito de compras.&lt;/li&gt;
&lt;li&gt;Ask YouTube permite consultar y navegar contenido de video de forma conversacional.&lt;/li&gt;
&lt;li&gt;Las capacidades de Gemini se expanden a más productos y formatos.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Estos anuncios muestran que la dirección Agent de Google no es un producto aislado, sino una expansión horizontal hacia búsqueda, video, compras, productividad, móvil y hardware.&lt;/p&gt;
&lt;h2 id=&#34;impacto-práctico-para-desarrolladores&#34;&gt;Impacto práctico para desarrolladores
&lt;/h2&gt;&lt;p&gt;El mayor impacto de Google I/O 2026 para desarrolladores no es &amp;ldquo;otro modelo más&amp;rdquo;, sino que cambia el objeto de desarrollo.&lt;/p&gt;
&lt;p&gt;Antes los desarrolladores construían principalmente:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Apps.&lt;/li&gt;
&lt;li&gt;Sitios web.&lt;/li&gt;
&lt;li&gt;APIs.&lt;/li&gt;
&lt;li&gt;Plugins.&lt;/li&gt;
&lt;li&gt;Scripts de automatización.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ahora también tendrán que construir:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Capacidades de app invocables por Agents.&lt;/li&gt;
&lt;li&gt;Flujos de trabajo multi-Agent.&lt;/li&gt;
&lt;li&gt;Entornos de ejecución de herramientas con estado.&lt;/li&gt;
&lt;li&gt;Flujos de automatización auditables.&lt;/li&gt;
&lt;li&gt;Mecanismos human-in-the-loop.&lt;/li&gt;
&lt;li&gt;Integraciones con MCP, AppFunctions, Workspace API, Playwright, Firebase y otras herramientas.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;El software se parecerá cada vez más a un &amp;ldquo;conjunto de capacidades&amp;rdquo;, no solo a un &amp;ldquo;conjunto de interfaces&amp;rdquo;. Quien exponga sus capacidades de forma clara, fiable y segura a Agents tendrá más posibilidades de entrar en las cadenas de tareas automatizadas del usuario.&lt;/p&gt;
&lt;h2 id=&#34;impacto-en-automatización-móvil&#34;&gt;Impacto en automatización móvil
&lt;/h2&gt;&lt;p&gt;La automatización móvil pasará gradualmente de &amp;ldquo;GUI primero&amp;rdquo; a &amp;ldquo;interfaces primero, GUI como respaldo&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;A corto plazo, reconocimiento de capturas, OCR, taps simulados y automatización de navegador siguen teniendo valor, porque muchas apps antiguas no tienen interfaces estándar.&lt;/p&gt;
&lt;p&gt;A largo plazo, si Android AppFunctions, MCP y el modelo de permisos a nivel de sistema maduran, la ejecución estable de tareas tenderá a:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Llamar primero capacidades declaradas por la app.&lt;/li&gt;
&lt;li&gt;Llamar interfaces del sistema cuando sea necesario.&lt;/li&gt;
&lt;li&gt;Usar automatización GUI como respaldo cuando no haya otra opción.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto cambiará RPA, Agents móviles, herramientas de prueba y ecosistemas de apps. Las apps que expongan capacidades serán más fáciles de invocar por Agents a nivel de sistema. Las que no lo hagan quizá sigan dependiendo del viejo método de &amp;ldquo;mirar pantalla y tocar pantalla&amp;rdquo;.&lt;/p&gt;
&lt;h2 id=&#34;seguridad-permisos-y-auditoría-serán-requisitos-duros&#34;&gt;Seguridad, permisos y auditoría serán requisitos duros
&lt;/h2&gt;&lt;p&gt;Cuanto más fuertes sean los Agents, mayor será el riesgo.&lt;/p&gt;
&lt;p&gt;Si un Agent puede ejecutar tareas entre apps, invocar pagos, cambiar configuraciones, acceder a archivos y leer contexto, necesita límites de seguridad claros:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Niveles de permisos.&lt;/li&gt;
&lt;li&gt;Autorización explícita del usuario.&lt;/li&gt;
&lt;li&gt;Confirmación secundaria para acciones sensibles.&lt;/li&gt;
&lt;li&gt;Aislamiento por sandbox.&lt;/li&gt;
&lt;li&gt;Logs de operación.&lt;/li&gt;
&lt;li&gt;Capacidad de deshacer y rollback.&lt;/li&gt;
&lt;li&gt;Auditoría y cumplimiento empresarial.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Por eso Google enfatiza entornos aislados para Agents alojados, requisitos de permisos de AppFunctions, plataformas empresariales y despliegues controlados. El futuro de los Agents no es &amp;ldquo;poder hacer todo sin límites&amp;rdquo;, sino ejecutar de forma controlada, trazable y gobernable dentro de límites de seguridad.&lt;/p&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;El contenido principal de Google I/O 2026 puede resumirse así: Google está convirtiendo Gemini en una plataforma Agent que cruza modelos, apps, sistemas, herramientas de desarrollo y hardware.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Gemini 3.5 Flash&lt;/code&gt; aporta velocidad y capacidad de acción. &lt;code&gt;Gemini Omni&lt;/code&gt; lleva la creación multimodal hacia video y comprensión del mundo. &lt;code&gt;Gemini app&lt;/code&gt; avanza hacia asistente personal proactivo. &lt;code&gt;Antigravity 2.0&lt;/code&gt; y &lt;code&gt;Managed Agents&lt;/code&gt; empujan las herramientas de desarrollo hacia lo Agent-native. &lt;code&gt;AppFunctions&lt;/code&gt; permite que las apps Android empiecen a exponer capacidades a agentes inteligentes.&lt;/p&gt;
&lt;p&gt;Para desarrolladores, lo siguiente a vigilar no son solo parámetros de modelo, sino cómo estructurar capacidades de aplicación, cómo integrarse con cadenas de herramientas Agent, cómo diseñar permisos y auditoría, y cómo hacer que los productos sean invocables de forma segura y fiable dentro de un ecosistema Agent a nivel de sistema.&lt;/p&gt;
&lt;p&gt;Referencias:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.google/innovation-and-ai/technology/developers-tools/google-io-2026-collection/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Google Blog: Google I/O 2026 news and announcements&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.google/innovation-and-ai/technology/developers-tools/google-io-2026-developer-highlights/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Google Blog: I/O 2026 developer highlights&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.google/innovation-and-ai/products/gemini-app/next-evolution-gemini-app/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Google Blog: The Gemini app becomes more agentic&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://developer.android.com/ai/appfunctions?hl=zh-cn&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Android Developers: AppFunctions overview&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Qué es PageIndex: un índice documental RAG basado en razonamiento sin bases vectoriales</title>
        <link>https://knightli.com/es/2026/05/20/vectifyai-pageindex-vectorless-rag/</link>
        <pubDate>Wed, 20 May 2026 23:51:37 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/20/vectifyai-pageindex-vectorless-rag/</guid>
        <description>&lt;p&gt;&lt;code&gt;VectifyAI/PageIndex&lt;/code&gt; es un proyecto RAG interesante. No parte de &amp;ldquo;crear otra base de datos vectorial&amp;rdquo;, sino que primero organiza documentos largos en una estructura de árbol similar a una tabla de contenidos, y luego deja que un LLM haga recuperación basada en razonamiento siguiendo ese árbol.&lt;/p&gt;
&lt;p&gt;Proyecto: &lt;a class=&#34;link&#34; href=&#34;https://github.com/VectifyAI/PageIndex&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;VectifyAI/PageIndex&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;En el momento de preparar este artículo, la página de GitHub muestra unas 31.8k stars y 2.7k forks, con licencia MIT. El README lo define como &lt;code&gt;Vectorless, Reasoning-based RAG&lt;/code&gt;: RAG sin base vectorial y basado en razonamiento.&lt;/p&gt;
&lt;h2 id=&#34;qué-problema-intenta-resolver&#34;&gt;Qué problema intenta resolver
&lt;/h2&gt;&lt;p&gt;El flujo común del RAG tradicional es: dividir en chunks, vectorizar, escribir en una base de datos vectorial y recuperar fragmentos mediante búsqueda por similitud. Es un enfoque simple, general y maduro, pero en documentos profesionales largos suele encontrar varios problemas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La similitud no equivale a relevancia real.&lt;/li&gt;
&lt;li&gt;La estructura del documento se rompe por el chunking, y se pierden relaciones entre secciones.&lt;/li&gt;
&lt;li&gt;Los resultados de recuperación tienen poca explicabilidad; cuesta explicar por qué se eligió ese fragmento.&lt;/li&gt;
&lt;li&gt;En informes financieros, documentos regulatorios, textos legales o manuales técnicos, las preguntas suelen requerir razonamiento entre secciones.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La idea de PageIndex es la inversa: primero organizar el documento como un árbol semántico, y después hacer que el modelo busque como una persona que lee el índice, entra en capítulos y localiza información por niveles.&lt;/p&gt;
&lt;h2 id=&#34;flujo-básico-de-pageindex&#34;&gt;Flujo básico de PageIndex
&lt;/h2&gt;&lt;p&gt;El README divide la recuperación de PageIndex en dos pasos:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Generar para el documento un índice en árbol parecido a &lt;code&gt;Table-of-Contents&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Hacer reasoning-based retrieval mediante búsqueda en árbol.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Este árbol no es un simple directorio de archivos, sino una estructura documental pensada para LLMs. Los nodos pueden incluir títulos, rangos de páginas, resúmenes, nodos hijos y otros datos. Así, al responder una pregunta, el modelo no tiene que enfrentarse de entrada a una gran cantidad de chunks sueltos; primero puede decidir a qué sección entrar y luego seguir buscando hacia abajo.&lt;/p&gt;
&lt;p&gt;Este enfoque encaja mejor con documentos bien estructurados pero muy largos, como:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Informes financieros y SEC filings.&lt;/li&gt;
&lt;li&gt;Material regulatorio y documentos de cumplimiento.&lt;/li&gt;
&lt;li&gt;Libros académicos y papers.&lt;/li&gt;
&lt;li&gt;Documentos legales.&lt;/li&gt;
&lt;li&gt;Manuales técnicos y documentación de producto.&lt;/li&gt;
&lt;li&gt;PDFs grandes que superan la ventana de contexto del modelo.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;diferencias-con-el-rag-vectorial-tradicional&#34;&gt;Diferencias con el RAG vectorial tradicional
&lt;/h2&gt;&lt;p&gt;Los principales puntos de PageIndex se pueden resumir en cinco.&lt;/p&gt;
&lt;p&gt;Primero, no necesita Vector DB. Usa estructura documental y razonamiento del LLM para localizar contenido, en lugar de depender solo de búsqueda por similitud vectorial.&lt;/p&gt;
&lt;p&gt;Segundo, no usa chunking tradicional. Los documentos se organizan por secciones naturales, no por fragmentos de longitud fija.&lt;/p&gt;
&lt;p&gt;Tercero, ofrece mejor explicabilidad. La ruta de recuperación puede asociarse con páginas, secciones y nodos del árbol, lo que es más fácil de rastrear que &amp;ldquo;este texto fue encontrado por similitud vectorial&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Cuarto, la recuperación es sensible al contexto. La pregunta, el historial de conversación y el conocimiento del dominio pueden influir en la ruta de búsqueda por árbol.&lt;/p&gt;
&lt;p&gt;Quinto, se parece más a cómo los expertos humanos leen documentos. Normalmente no cortamos un documento entero en trozos para calcular similitud; primero revisamos el índice, ubicamos capítulos y luego leemos detalles.&lt;/p&gt;
&lt;p&gt;Esto no significa que las bases vectoriales no tengan valor. Una forma más precisa de verlo es que PageIndex encaja en escenarios donde &amp;ldquo;la similitud semántica no basta y se necesita estructura más razonamiento&amp;rdquo; para recuperar información en documentos largos.&lt;/p&gt;
&lt;h2 id=&#34;cómo-ejecutarlo-localmente&#34;&gt;Cómo ejecutarlo localmente
&lt;/h2&gt;&lt;p&gt;El README ofrece una ruta de autoalojamiento local. Primero instala dependencias:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip3 install --upgrade -r requirements.txt
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Después crea un archivo &lt;code&gt;.env&lt;/code&gt; en la raíz del proyecto y escribe la LLM API key. El proyecto admite múltiples modelos mediante &lt;code&gt;LiteLLM&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;OPENAI_API_KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;your_openai_key_here
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Genera la estructura PageIndex para un PDF:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;python3 run_pageindex.py --pdf_path /path/to/your/document.pdf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;También puede procesar Markdown:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;python3 run_pageindex.py --md_path /path/to/your/document.md
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Parámetros opcionales habituales:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--model
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--toc-check-pages
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--max-pages-per-node
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--max-tokens-per-node
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--if-add-node-id
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--if-add-node-summary
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--if-add-doc-description
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;El README también advierte que la versión local de código abierto usa parsing PDF estándar. Para PDFs complejos, el servicio cloud del proyecto ofrece OCR mejorado, construcción de árbol y flujo de recuperación.&lt;/p&gt;
&lt;h2 id=&#34;ejemplo-de-agentic-vectorless-rag&#34;&gt;Ejemplo de Agentic Vectorless RAG
&lt;/h2&gt;&lt;p&gt;El proyecto también incluye un ejemplo de agentic vectorless RAG usando PageIndex autoalojado y OpenAI Agents SDK. Instala la dependencia opcional y ejecútalo:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip3 install openai-agents
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;python3 examples/agentic_vectorless_rag_demo.py
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;El valor de este ejemplo está en que lleva PageIndex de &amp;ldquo;generar un árbol documental&amp;rdquo; a &amp;ldquo;permitir que un Agent use el árbol para recuperar información&amp;rdquo;. Si estás construyendo una base de conocimiento empresarial, Q&amp;amp;A sobre informes financieros, preguntas regulatorias o un Agent de documentación técnica, vale más la pena correr este ejemplo que limitarse a leer el README.&lt;/p&gt;
&lt;h2 id=&#34;servicio-cloud-mcp-y-api&#34;&gt;Servicio cloud, MCP y API
&lt;/h2&gt;&lt;p&gt;PageIndex no es solo un GitHub repo. La página del proyecto también ofrece varias entradas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Autoalojamiento: ejecutar el código abierto en local, adecuado para pruebas y despliegues controlados.&lt;/li&gt;
&lt;li&gt;Chat Platform: una plataforma de análisis documental estilo ChatGPT.&lt;/li&gt;
&lt;li&gt;MCP / API: útil para integrarse con Agents existentes o flujos de automatización.&lt;/li&gt;
&lt;li&gt;Enterprise: orientado a despliegues privados u on-premises.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto muestra que su posición no es la de una simple demo. Busca convertir la &amp;ldquo;recuperación documental basada en razonamiento&amp;rdquo; en una infraestructura de inteligencia documental integrable.&lt;/p&gt;
&lt;h2 id=&#34;escenarios-adecuados&#34;&gt;Escenarios adecuados
&lt;/h2&gt;&lt;p&gt;PageIndex encaja bien con tareas como:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Preguntas y respuestas sobre PDFs largos.&lt;/li&gt;
&lt;li&gt;Análisis de informes financieros, informes anuales, prospectos y documentos regulatorios.&lt;/li&gt;
&lt;li&gt;Recuperación en documentos legales y de cumplimiento.&lt;/li&gt;
&lt;li&gt;Q&amp;amp;A sobre manuales técnicos.&lt;/li&gt;
&lt;li&gt;Recuperación en libros o papers con múltiples secciones.&lt;/li&gt;
&lt;li&gt;Bases de conocimiento empresariales que necesitan rutas de recuperación explicables.&lt;/li&gt;
&lt;li&gt;Proporcionar contexto documental estructurado a Agents.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si tu material es corto, tiene poca estructura o es simplemente un FAQ común, embedding + vector DB tradicional puede ser suficiente. Las ventajas de PageIndex aparecen con más claridad en documentos largos, estructura fuerte, dominios profesionales y preguntas que requieren razonamiento.&lt;/p&gt;
&lt;h2 id=&#34;aspectos-a-tener-en-cuenta&#34;&gt;Aspectos a tener en cuenta
&lt;/h2&gt;&lt;p&gt;Primero, PageIndex sigue dependiendo de LLMs. La construcción del árbol, los resúmenes y la calidad de recuperación se ven afectados por la capacidad del modelo, los prompts y la calidad del parsing documental.&lt;/p&gt;
&lt;p&gt;Segundo, la versión local usa parsing PDF estándar. Documentos escaneados complejos, PDFs con muchas tablas y gráficos, o materiales con maquetación desordenada pueden requerir OCR y preprocesamiento más potente.&lt;/p&gt;
&lt;p&gt;Tercero, sin base vectorial no significa coste cero. Construir el árbol también consume llamadas al modelo y tiempo, especialmente en colecciones documentales grandes.&lt;/p&gt;
&lt;p&gt;Cuarto, PageIndex se parece más a un marco de indexación estructural y recuperación por razonamiento. No reemplaza directamente todas las pilas RAG. En producción, también puede combinarse con recuperación vectorial, búsqueda por palabras clave, control de permisos, caché y sistemas de auditoría.&lt;/p&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;Lo interesante de PageIndex es que desplaza el foco del RAG desde la &amp;ldquo;recuperación por similitud textual&amp;rdquo; hacia &amp;ldquo;estructura documental + razonamiento LLM&amp;rdquo;. Para documentos largos y profesionales, esta dirección merece atención.&lt;/p&gt;
&lt;p&gt;Si estás construyendo Q&amp;amp;A documental empresarial, análisis de informes financieros, recuperación regulatoria o Agents para manuales técnicos, PageIndex puede servir como referencia de una nueva arquitectura RAG: primero dar estructura al documento y luego dejar que el modelo razone sobre esa estructura, en lugar de trocear todo desde el principio y meterlo en una base vectorial.&lt;/p&gt;
&lt;p&gt;Referencias:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/VectifyAI/PageIndex&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GitHub: VectifyAI/PageIndex&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Gemini 3.5 ya está aquí: Flash llega primero y Google pone el foco en agentes y tareas largas</title>
        <link>https://knightli.com/es/2026/05/20/google-gemini-3-5-flash-agent-coding/</link>
        <pubDate>Wed, 20 May 2026 22:51:31 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/20/google-gemini-3-5-flash-agent-coding/</guid>
        <description>&lt;p&gt;Google lanzó oficialmente la serie Gemini 3.5 el 20 de mayo de 2026. El primer modelo disponible es Gemini 3.5 Flash. Su posicionamiento no es solo chat, sino agentes, generación de código y ejecución de tareas complejas de larga duración.&lt;/p&gt;
&lt;p&gt;El mensaje de esta presentación es claro: Google quiere que Gemini 3.5 no solo responda preguntas, sino que también planifique, ejecute, compruebe resultados y mantenga el avance en flujos de trabajo de varios pasos.&lt;/p&gt;
&lt;h2 id=&#34;gemini-35-flash-llega-primero&#34;&gt;Gemini 3.5 Flash llega primero
&lt;/h2&gt;&lt;p&gt;Gemini 3.5 Flash ya está disponible para varios tipos de usuarios:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Los usuarios generales pueden probarlo en la app Gemini y en AI Mode de Google Search.&lt;/li&gt;
&lt;li&gt;Los desarrolladores pueden usarlo mediante Google Antigravity, Google AI Studio y la Gemini API en Android Studio.&lt;/li&gt;
&lt;li&gt;Los usuarios empresariales pueden acceder a él mediante Gemini Enterprise Agent Platform y Gemini Enterprise.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Google también dijo que Gemini 3.5 Pro sigue en desarrollo, ya se usa internamente en Google y se espera para el próximo mes.&lt;/p&gt;
&lt;p&gt;Esto indica que la serie 3.5 mantiene la división entre Flash y Pro: Flash enfatiza velocidad, costo y ejecución a escala, mientras que Pro probablemente apuntará a escenarios más complejos y con mayores requisitos de capacidad.&lt;/p&gt;
&lt;h2 id=&#34;el-foco-está-en-agentes-y-código&#34;&gt;El foco está en agentes y código
&lt;/h2&gt;&lt;p&gt;Google describe Gemini 3.5 Flash como uno de sus modelos más fuertes para agentes y programación. El anuncio afirma que supera algunos resultados de Gemini 3.1 Pro en benchmarks de código y agentes como Terminal-Bench 2.1, GDPval-AA, MCP Atlas y CharXiv Reasoning.&lt;/p&gt;
&lt;p&gt;La mayoría de usuarios no necesita obsesionarse con cada número. Lo más importante es que Google está llevando la capacidad del modelo hacia flujos ejecutables: no solo escribir código, sino migrar proyectos antiguos, desarrollar aplicaciones complejas, organizar reportes financieros, analizar datos y ejecutar pruebas repetidas.&lt;/p&gt;
&lt;p&gt;Dentro del framework de desarrollo Antigravity, Gemini 3.5 Flash puede usar varios subagents colaborativos para manejar tareas grandes. Google mostró ejemplos como analizar el paper de AlphaZero y crear un juego jugable, convertir código legacy a Next.js y generar paisajes urbanos y opciones de UI en paralelo.&lt;/p&gt;
&lt;p&gt;La dirección es clara: las herramientas de programación con IA están pasando de &amp;ldquo;generar un fragmento de código&amp;rdquo; a &amp;ldquo;coordinar varios agentes para completar un proyecto&amp;rdquo;.&lt;/p&gt;
&lt;h2 id=&#34;ui-multimodal-y-gráficos-más-potentes&#34;&gt;UI multimodal y gráficos más potentes
&lt;/h2&gt;&lt;p&gt;Gemini 3.5 Flash se apoya en la base multimodal de Gemini 3. Google dice que puede generar interfaces web más ricas, animaciones interactivas y contenido visual.&lt;/p&gt;
&lt;p&gt;El anuncio incluye ejemplos como:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Crear animaciones interactivas para papers de investigación.&lt;/li&gt;
&lt;li&gt;Convertir descripciones de texto en modelos de hardware interactivos.&lt;/li&gt;
&lt;li&gt;Generar un concepto completo de marca para una campaña escolar de recaudación.&lt;/li&gt;
&lt;li&gt;Producir varias opciones de UX para un flujo de checkout en poco tiempo.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto importa para desarrolladores y equipos de producto. El modelo ya no solo escribe explicaciones. También puede participar en prototipos frontend, diseño de interacción y visualización.&lt;/p&gt;
&lt;h2 id=&#34;uso-empresarial-automatizar-flujos-que-consumen-tiempo&#34;&gt;Uso empresarial: automatizar flujos que consumen tiempo
&lt;/h2&gt;&lt;p&gt;Google citó varios ejemplos de socios. Shopify usa subagents para analizar datos complejos y predecir crecimiento de comerciantes. Macquarie Bank prueba 3.5 Flash con documentos de más de 100 páginas para acelerar la apertura de cuentas. Salesforce lo integra en Agentforce. Ramp lo usa para mejorar OCR en facturas complejas. Xero usa agentes de IA para procesos administrativos. Databricks usa flujos automatizados para monitorear anomalías de datos y sugerir correcciones.&lt;/p&gt;
&lt;p&gt;Estos casos apuntan a la misma tendencia: la adopción empresarial de modelos grandes se está moviendo de preguntas puntuales a automatización de procesos. Que un modelo sea barato, rápido y estable en tareas largas puede importar más que una respuesta aislada muy llamativa.&lt;/p&gt;
&lt;h2 id=&#34;gemini-spark-un-agente-personal-de-ia&#34;&gt;Gemini Spark: un agente personal de IA
&lt;/h2&gt;&lt;p&gt;Google también anunció Gemini Spark, un agente personal de IA impulsado por Gemini 3.5 Flash. Su objetivo es ejecutarse durante largos periodos y realizar tareas de forma proactiva bajo la guía del usuario.&lt;/p&gt;
&lt;p&gt;Gemini Spark ya empezó a desplegarse para testers de confianza. Google planea abrir una beta la próxima semana para suscriptores de Google AI Ultra en Estados Unidos.&lt;/p&gt;
&lt;p&gt;Vale la pena seguir esta parte. Google Search, la app Gemini, Android, Workspace y el ecosistema del navegador ya están presentes en muchas áreas de la vida digital personal. Si un agente personal puede conectarse con estas entradas, su impacto puede ser mayor que el de un chatbot aislado.&lt;/p&gt;
&lt;h2 id=&#34;la-seguridad-se-mueve-más-arriba-en-el-proceso&#34;&gt;La seguridad se mueve más arriba en el proceso
&lt;/h2&gt;&lt;p&gt;Google dice que Gemini 3.5 fue desarrollado bajo su Frontier Safety Framework, con protecciones reforzadas para seguridad de la información y riesgos CBRN. El anuncio también menciona herramientas de interpretabilidad para ayudar a examinar y entender el razonamiento del modelo antes de entregar respuestas.&lt;/p&gt;
&lt;p&gt;Esto muestra que los lanzamientos de modelos frontera ya no son solo una competencia de capacidad. Cuanto más se enfatizan agentes, ejecución autónoma y tareas largas, más importantes se vuelven los controles de seguridad, la tasa de rechazos erróneos, la prevención de salidas dañinas y la interpretabilidad.&lt;/p&gt;
&lt;h2 id=&#34;cómo-mirar-gemini-35&#34;&gt;Cómo mirar Gemini 3.5
&lt;/h2&gt;&lt;p&gt;Gemini 3.5 Flash no es solo otro lanzamiento de modelo. Parece más bien la apuesta de Google por la siguiente forma de los productos de IA: modelos que llaman herramientas, dividen tareas, coordinan ejecución, generan UI y entran en flujos personales y empresariales.&lt;/p&gt;
&lt;p&gt;Para desarrolladores, lo importante será la experiencia real en Google Antigravity, AI Studio, Gemini API y Android Studio. Para empresas, la pregunta es si puede reducir trabajo manual de forma estable en flujos reales, no solo sacar buenos resultados en benchmarks.&lt;/p&gt;
&lt;p&gt;Gemini 3.5 Pro todavía no está disponible públicamente. Cuando Pro llegue, las diferencias entre Flash y Pro en capacidad, precio, velocidad y manejo de contexto determinarán para qué escenarios de producción conviene cada uno.&lt;/p&gt;
&lt;p&gt;Referencias:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blog.google/intl/zh-tw/products/explore-get-answers/gemini-3-5/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Google Blog: Gemini 3.5&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>¿Dejar que la IA opere el ordenador? UI-TARS-desktop conecta escritorio, navegador y herramientas</title>
        <link>https://knightli.com/es/2026/05/19/ui-tars-desktop-multimodal-ai-agent-stack/</link>
        <pubDate>Tue, 19 May 2026 10:56:50 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/19/ui-tars-desktop-multimodal-ai-agent-stack/</guid>
        <description>&lt;p&gt;&lt;code&gt;bytedance/UI-TARS-desktop&lt;/code&gt; es el proyecto open source de ByteDance para AI Agents multimodales. No es solo una aplicación de escritorio, sino un stack de agentes. El README actual contiene principalmente dos direcciones: &lt;code&gt;Agent TARS&lt;/code&gt; y &lt;code&gt;UI-TARS Desktop&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;URL del proyecto: &lt;a class=&#34;link&#34; href=&#34;https://github.com/bytedance/UI-TARS-desktop&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/bytedance/UI-TARS-desktop&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Sitio oficial: &lt;a class=&#34;link&#34; href=&#34;https://agent-tars.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://agent-tars.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;En el momento de escribir este artículo, la API de GitHub mostraba unas 34k estrellas, TypeScript como lenguaje principal y licencia Apache-2.0. El README lo describe como &amp;ldquo;Open-Source Multimodal AI Agent Stack&amp;rdquo;.&lt;/p&gt;
&lt;h2 id=&#34;diferencia-entre-agent-tars-y-ui-tars-desktop&#34;&gt;Diferencia entre Agent TARS y UI-TARS Desktop
&lt;/h2&gt;&lt;p&gt;El README coloca ambos proyectos en una misma tabla comparativa:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Agent TARS&lt;/code&gt;: stack general de AI Agent multimodal que conecta GUI Agent, visión, terminal, navegador y flujos de producto.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;UI-TARS Desktop&lt;/code&gt;: aplicación de escritorio basada en modelos UI-TARS, con capacidades nativas de GUI Agent para operar ordenadores locales o remotos y navegadores.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En pocas palabras, Agent TARS se parece más a un runtime general de agentes, mientras que UI-TARS Desktop es la entrada de operación GUI en escritorio.&lt;/p&gt;
&lt;h2 id=&#34;qué-puede-hacer-agent-tars&#34;&gt;Qué puede hacer Agent TARS
&lt;/h2&gt;&lt;p&gt;Agent TARS ofrece principalmente CLI y Web UI. Su objetivo es permitir que modelos multimodales completen flujos de tareas más cercanos a la operación humana mediante MCP y distintas herramientas.&lt;/p&gt;
&lt;p&gt;El README lista capacidades como:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Arranque CLI con un comando, con Web UI headful y servidor headless.&lt;/li&gt;
&lt;li&gt;Control híbrido de navegador mediante GUI Agent, DOM o estrategias mixtas.&lt;/li&gt;
&lt;li&gt;Event Stream para trazado y depuración.&lt;/li&gt;
&lt;li&gt;Integración MCP para montar MCP Servers y herramientas reales.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Inicio rápido:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npx @agent-tars/cli@latest
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Instalación global:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install @agent-tars/cli@latest -g
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Ejecución con proveedor de modelo:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;agent-tars --provider volcengine --model doubao-1-5-thinking-vision-pro-250428 --apiKey your-api-key
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;agent-tars --provider anthropic --model claude-3-7-sonnet-latest --apiKey your-api-key
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;qué-puede-hacer-ui-tars-desktop&#34;&gt;Qué puede hacer UI-TARS Desktop
&lt;/h2&gt;&lt;p&gt;UI-TARS Desktop es un GUI Agent de escritorio. Basado en UI-TARS y las familias Seed-1.5-VL / 1.6, se centra en que el modelo entienda la pantalla y ejecute acciones de ratón y teclado.&lt;/p&gt;
&lt;p&gt;El README menciona:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Control con lenguaje natural.&lt;/li&gt;
&lt;li&gt;Capturas de pantalla y reconocimiento visual.&lt;/li&gt;
&lt;li&gt;Control preciso de ratón y teclado.&lt;/li&gt;
&lt;li&gt;Soporte multiplataforma para Windows, macOS y navegador.&lt;/li&gt;
&lt;li&gt;Feedback y estado en tiempo real.&lt;/li&gt;
&lt;li&gt;Procesamiento local con énfasis en privacidad y seguridad.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ejemplos de tareas incluyen cambiar ajustes de VS Code, revisar issues de GitHub y operar ordenadores o navegadores remotos.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-importan-los-gui-agents&#34;&gt;Por qué importan los GUI Agents
&lt;/h2&gt;&lt;p&gt;La automatización tradicional depende de APIs, DOM o scripts. Un GUI Agent parte de la interfaz: ve botones, campos, menús y estado, y luego opera con ratón y teclado.&lt;/p&gt;
&lt;p&gt;Tiene dos valores. Primero, muchas aplicaciones no tienen APIs estables o las APIs no cubren todo el flujo. Un GUI Agent puede actuar sobre la misma superficie que usa una persona.&lt;/p&gt;
&lt;p&gt;Segundo, los modelos multimodales pueden manejar capturas, documentos, páginas web e interfaces de aplicaciones, combinando comprensión visual y ejecución.&lt;/p&gt;
&lt;p&gt;También hay límites. Las operaciones GUI dependen de resolución, idioma, cambios de layout, pop-ups y latencia. En producción hacen falta permisos, confirmaciones y planes de reversión.&lt;/p&gt;
&lt;h2 id=&#34;relación-con-mcp&#34;&gt;Relación con MCP
&lt;/h2&gt;&lt;p&gt;Agent TARS enfatiza la integración MCP. MCP ayuda porque da a los agentes una forma unificada de llamar navegadores, archivos, línea de comandos, bases de datos, servicios internos y otras herramientas.&lt;/p&gt;
&lt;p&gt;Para tareas complejas, hacer clic en la GUI no basta. Un patrón más estable suele ser:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Usar APIs cuando existen.&lt;/li&gt;
&lt;li&gt;Usar visión cuando hay que entender el estado de la página.&lt;/li&gt;
&lt;li&gt;Usar control de navegador cuando se necesita interacción web real.&lt;/li&gt;
&lt;li&gt;Usar GUI Agent cuando hay que operar software local.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Proyectos como UI-TARS-desktop exploran cómo juntar esas capacidades en un mismo stack de agentes.&lt;/p&gt;
&lt;h2 id=&#34;precauciones&#34;&gt;Precauciones
&lt;/h2&gt;&lt;p&gt;Los agentes de escritorio tienen riesgo de ejecución. Pueden operar ratón, teclado y navegador, así que hay que limitar permisos para evitar cambios accidentales en archivos, cuentas, pagos o sistemas de producción.&lt;/p&gt;
&lt;p&gt;El control de ordenadores y navegadores remotos necesita límites de seguridad claros. No se deben exponer endpoints de control sin autenticación a internet.&lt;/p&gt;
&lt;p&gt;Los modelos multimodales pueden leer mal la interfaz. Operaciones críticas como borrar, enviar, pagar, publicar o ejecutar trades deberían requerir confirmación humana.&lt;/p&gt;
&lt;h2 id=&#34;para-quién-es&#34;&gt;Para quién es
&lt;/h2&gt;&lt;p&gt;UI-TARS-desktop encaja con desarrolladores que exploran GUI Agents, equipos que construyen asistentes para flujos de escritorio e investigadores que comparan navegador, DOM, MCP y control visual. Todavía es más una base para desarrolladores que un asistente de consumo simple.&lt;/p&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;UI-TARS-desktop merece atención porque mueve los AI Agents desde &amp;ldquo;responder en chat&amp;rdquo; hacia &amp;ldquo;ver la pantalla y operar herramientas&amp;rdquo;. Su valor no está solo en controlar el escritorio, sino en combinar GUI, navegador, terminal y MCP dentro de un mismo stack.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>¿Demasiadas plataformas para publicar? AiToEarn quiere ahorrar trabajo a creadores con AI Agents</title>
        <link>https://knightli.com/es/2026/05/19/aitoearn-ai-content-marketing-agent/</link>
        <pubDate>Tue, 19 May 2026 10:56:50 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/19/aitoearn-ai-content-marketing-agent/</guid>
        <description>&lt;p&gt;&lt;code&gt;yikart/AiToEarn&lt;/code&gt; es un proyecto de marketing de contenidos con IA para creadores, marcas y empresas unipersonales. Intenta reunir creación, publicación, interacción y monetización en un mismo flujo de agentes, cubriendo plataformas como Douyin, Xiaohongshu, Kuaishou, Bilibili, WeChat Channels, TikTok, YouTube, Facebook, Instagram, Threads, X, Pinterest y LinkedIn.&lt;/p&gt;
&lt;p&gt;URL del proyecto: &lt;a class=&#34;link&#34; href=&#34;https://github.com/yikart/AiToEarn&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/yikart/AiToEarn&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Sitio oficial: &lt;a class=&#34;link&#34; href=&#34;https://aitoearn.ai/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://aitoearn.ai/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;En el momento de escribir este artículo, la API de GitHub mostraba unas 15k estrellas, TypeScript como lenguaje principal y licencia MIT. El README lo describe como una plataforma de agentes de marketing de contenidos para OPC, creadores, marcas y empresas.&lt;/p&gt;
&lt;h2 id=&#34;posicionamiento&#34;&gt;Posicionamiento
&lt;/h2&gt;&lt;p&gt;AiToEarn no es solo un generador de textos ni una herramienta de programación de publicaciones. Divide el marketing de contenidos en cuatro capacidades de agente:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Monetize: monetización de contenidos.&lt;/li&gt;
&lt;li&gt;Publish: publicación multiplataforma.&lt;/li&gt;
&lt;li&gt;Engage: interacción y operaciones de comunidad.&lt;/li&gt;
&lt;li&gt;Create: creación de contenidos.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Este enfoque encaja con el flujo real de muchos creadores. El problema no es solo si la IA puede escribir un texto, sino qué ocurre después: calendario, distribución, respuestas, revisión y conexión con objetivos comerciales.&lt;/p&gt;
&lt;h2 id=&#34;funciones-principales&#34;&gt;Funciones principales
&lt;/h2&gt;&lt;h3 id=&#34;monetize-monetizar-contenido&#34;&gt;Monetize: monetizar contenido
&lt;/h3&gt;&lt;p&gt;AiToEarn ofrece capacidades de monetización orientadas a tareas promocionales. El README menciona tres modelos de liquidación:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Modelo&lt;/th&gt;
          &lt;th&gt;Nombre completo&lt;/th&gt;
          &lt;th&gt;Significado&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;CPS&lt;/td&gt;
          &lt;td&gt;Cost Per Sale&lt;/td&gt;
          &lt;td&gt;Liquidación por ventas&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;CPE&lt;/td&gt;
          &lt;td&gt;Cost Per Engagement&lt;/td&gt;
          &lt;td&gt;Liquidación por interacción&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;CPM&lt;/td&gt;
          &lt;td&gt;Cost Per Mille&lt;/td&gt;
          &lt;td&gt;Liquidación por impresiones o reproducciones&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Esta parte se parece a un mercado de tareas de contenido que conecta necesidades de marcas con la distribución de creadores.&lt;/p&gt;
&lt;h3 id=&#34;publish-agente-de-publicación&#34;&gt;Publish: agente de publicación
&lt;/h3&gt;&lt;p&gt;Publish distribuye contenido en varias plataformas y reduce el trabajo repetitivo de publicar a mano. El README cubre plataformas de vídeo corto, contenido gráfico y redes sociales de China y del exterior.&lt;/p&gt;
&lt;p&gt;Su valor práctico está en la programación y gestión unificadas. Para matrices de cuentas, distribución multiplataforma y equipos globales, esto puede ser más valioso que una función aislada de redacción con IA.&lt;/p&gt;
&lt;h3 id=&#34;engage-agente-de-interacción&#34;&gt;Engage: agente de interacción
&lt;/h3&gt;&lt;p&gt;Engage usa una extensión de navegador para operaciones automatizadas como likes, guardados, follows, respuestas a comentarios y monitorización de marca.&lt;/p&gt;
&lt;p&gt;Hay que usarlo con cuidado. La interacción automatizada puede activar controles de riesgo de las plataformas, por lo que conviene revisar permisos, límites de frecuencia, términos y reglas internas de cumplimiento.&lt;/p&gt;
&lt;h3 id=&#34;create-agente-de-creación&#34;&gt;Create: agente de creación
&lt;/h3&gt;&lt;p&gt;Create se encarga de la generación de contenido. El README menciona modelos de generación de vídeo, traducción de vídeo, edición, generación de imágenes y tareas por lotes.&lt;/p&gt;
&lt;p&gt;Es útil para producción a escala, pero sigue haciendo falta revisión humana. Contenido de marca, anuncios y piezas multilingües necesitan precisión factual, revisión de derechos y consistencia de tono.&lt;/p&gt;
&lt;h2 id=&#34;cinco-formas-de-uso&#34;&gt;Cinco formas de uso
&lt;/h2&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Método&lt;/th&gt;
          &lt;th&gt;Ideal para&lt;/th&gt;
          &lt;th&gt;¿Requiere despliegue?&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Usar el sitio web directamente&lt;/td&gt;
          &lt;td&gt;Todos los usuarios&lt;/td&gt;
          &lt;td&gt;No&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Usarlo en OpenClaw&lt;/td&gt;
          &lt;td&gt;Usuarios de OpenClaw&lt;/td&gt;
          &lt;td&gt;No&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Usarlo en Claude / Cursor y otros asistentes&lt;/td&gt;
          &lt;td&gt;Usuarios de herramientas IA&lt;/td&gt;
          &lt;td&gt;No&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Despliegue Docker en un clic&lt;/td&gt;
          &lt;td&gt;Equipos que quieren self-hosting&lt;/td&gt;
          &lt;td&gt;Sí, servidor&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Desarrollo desde código fuente&lt;/td&gt;
          &lt;td&gt;Desarrolladores&lt;/td&gt;
          &lt;td&gt;Sí, entorno de desarrollo&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;El soporte MCP es un punto importante. Permite que Claude, Cursor u otros agentes compatibles con MCP llamen a AiToEarn como capacidad externa.&lt;/p&gt;
&lt;p&gt;Una configuración MCP habitual contiene:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;MCP URL: https://aitoearn.ai/api/unified/mcp
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Auth Header: x-api-key: your-API-Key
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;En self-hosting hay que sustituirlo por la URL del servicio propio.&lt;/p&gt;
&lt;h2 id=&#34;despliegue-con-docker&#34;&gt;Despliegue con Docker
&lt;/h2&gt;&lt;p&gt;El README ofrece una ruta con Docker:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/yikart/AiToEarn.git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; AiToEarn
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker compose up -d
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Luego se visita:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;http://localhost:8080
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Para equipos que valoran control de datos, despliegue privado o flujos personalizados, Docker puede ser más práctico que depender solo del sitio alojado.&lt;/p&gt;
&lt;h2 id=&#34;para-quién-es&#34;&gt;Para quién es
&lt;/h2&gt;&lt;p&gt;AiToEarn encaja con creadores que publican en muchas plataformas, equipos pequeños de contenido, empresas unipersonales, marcas que colaboran con creadores y desarrolladores que quieren conectar flujos de contenido con AI Agents.&lt;/p&gt;
&lt;p&gt;Si solo necesitas un generador de texto simple, puede ser demasiado amplio. Su valor está en conectar creación, publicación, interacción y monetización.&lt;/p&gt;
&lt;h2 id=&#34;antes-de-usarlo&#34;&gt;Antes de usarlo
&lt;/h2&gt;&lt;p&gt;La publicación y la interacción automatizadas deben respetar las reglas de cada plataforma. Una herramienta puede mejorar la eficiencia, pero no elimina la seguridad de cuenta ni el cumplimiento.&lt;/p&gt;
&lt;p&gt;El contenido generado necesita revisión humana. Anuncios, publicaciones de marca y contenido en varios idiomas pueden tener riesgos de hechos, derechos y tono.&lt;/p&gt;
&lt;p&gt;Las funciones de monetización implican tareas comerciales, así que conviene revisar reglas de pago, requisitos de divulgación y políticas de plataforma.&lt;/p&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;AiToEarn merece atención porque trata las operaciones de contenido como un flujo completo, no solo como escritura. Para creadores y equipos pequeños, lo atractivo es reducir trabajo repetitivo entre plataformas. Para desarrolladores, lo interesante está en MCP y la integración con agentes.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>agentmemory: memoria persistente para Claude Code, Codex, Cursor y otros agentes de programación</title>
        <link>https://knightli.com/es/2026/05/19/agentmemory-persistent-memory-ai-coding-agents/</link>
        <pubDate>Tue, 19 May 2026 10:56:50 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/19/agentmemory-persistent-memory-ai-coding-agents/</guid>
        <description>&lt;p&gt;&lt;code&gt;rohitg00/agentmemory&lt;/code&gt; es un sistema de memoria persistente para agentes de programación con IA. Su objetivo es claro: que Claude Code, Codex CLI, Cursor, Gemini CLI, OpenCode y herramientas similares no tengan que volver a aprender el contexto del proyecto, las decisiones de arquitectura y los problemas históricos en cada sesión nueva.&lt;/p&gt;
&lt;p&gt;URL del proyecto: &lt;a class=&#34;link&#34; href=&#34;https://github.com/rohitg00/agentmemory&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/rohitg00/agentmemory&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;En el momento de escribir este artículo, la API de GitHub mostraba unas 13k estrellas, TypeScript como lenguaje principal y licencia Apache-2.0. El README lo describe como &amp;ldquo;Persistent memory for AI coding agents&amp;rdquo;.&lt;/p&gt;
&lt;h2 id=&#34;qué-problema-resuelve&#34;&gt;Qué problema resuelve
&lt;/h2&gt;&lt;p&gt;Un dolor habitual de los coding agents es la fragmentación de memoria. Puedes pedir a un agente que arregle un problema de autenticación hoy y abrir una conversación nueva mañana, pero quizá ya no recuerde:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Por qué se tomó una decisión de arquitectura.&lt;/li&gt;
&lt;li&gt;Qué archivos son delicados.&lt;/li&gt;
&lt;li&gt;Qué bugs se corrigieron antes.&lt;/li&gt;
&lt;li&gt;Qué comandos, herramientas o servicios locales usa el proyecto.&lt;/li&gt;
&lt;li&gt;Qué convenciones sigue el equipo.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Las notas estáticas ayudan, pero a menudo se olvidan o no están conectadas al flujo activo. agentmemory intenta ofrecer una capa de memoria compartida entre distintas herramientas de programación con IA.&lt;/p&gt;
&lt;h2 id=&#34;agentes-compatibles&#34;&gt;Agentes compatibles
&lt;/h2&gt;&lt;p&gt;El README menciona Claude Code, Codex CLI, Cursor, Gemini CLI, OpenCode y otras herramientas compatibles con MCP. La idea central es exponer memoria mediante un servicio local, MCP, hooks e integraciones, para que varios asistentes compartan el mismo contexto de proyecto.&lt;/p&gt;
&lt;p&gt;Esto es útil para equipos que cambian de herramienta. Un desarrollador puede usar Cursor, otro Claude Code y la automatización Codex CLI. Una capa de memoria compartida reduce explicaciones repetidas.&lt;/p&gt;
&lt;h2 id=&#34;inicio-rápido&#34;&gt;Inicio rápido
&lt;/h2&gt;&lt;p&gt;Instalación global:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install -g @agentmemory/agentmemory
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;agentmemory
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;agentmemory demo
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;agentmemory connect claude-code
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;También se puede ejecutar con npx:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npx @agentmemory/agentmemory
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;El servicio local queda disponible en:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;http://localhost:3113
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;En la práctica, el flujo suele ser iniciar el servicio, conectar el asistente de programación y dejar que el agente lea o escriba memorias del proyecto durante el desarrollo.&lt;/p&gt;
&lt;h2 id=&#34;diferencia-con-archivos-de-memoria-estáticos&#34;&gt;Diferencia con archivos de memoria estáticos
&lt;/h2&gt;&lt;p&gt;Muchos equipos ya mantienen &lt;code&gt;AGENTS.md&lt;/code&gt;, &lt;code&gt;CLAUDE.md&lt;/code&gt;, README o documentación local. Esos archivos son útiles, pero estáticos. No capturan automáticamente historial de sesiones, resultados de tareas o decisiones recurrentes.&lt;/p&gt;
&lt;p&gt;agentmemory se parece más a un servicio de contexto persistente. Puede guardar y mostrar memorias relevantes para el proyecto o la tarea actual. No busca reemplazar la documentación, sino hacer más reutilizable el contexto de trabajo.&lt;/p&gt;
&lt;h2 id=&#34;escenarios-típicos&#34;&gt;Escenarios típicos
&lt;/h2&gt;&lt;p&gt;Puede servir para:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Recordar pasos de setup y comandos frecuentes.&lt;/li&gt;
&lt;li&gt;Registrar por qué se evitó un refactor arriesgado.&lt;/li&gt;
&lt;li&gt;Guardar notas sobre tests inestables o servicios locales.&lt;/li&gt;
&lt;li&gt;Compartir terminología de dominio entre asistentes.&lt;/li&gt;
&lt;li&gt;Ayudar a continuar trabajo después de abrir una sesión nueva.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Tiene más valor en productos de larga vida, monorepos y proyectos con muchas convenciones implícitas.&lt;/p&gt;
&lt;h2 id=&#34;precauciones&#34;&gt;Precauciones
&lt;/h2&gt;&lt;p&gt;La calidad de la memoria importa. Si se guarda información vieja o incorrecta, los agentes futuros pueden repetir el error. Las memorias importantes deberían ser cortas, claras y revisables.&lt;/p&gt;
&lt;p&gt;También importa la privacidad. No conviene guardar secretos, API keys, datos de clientes ni información sensible de producción si el modelo de seguridad no está claro.&lt;/p&gt;
&lt;p&gt;Por último, la memoria no sustituye las pruebas. Ayuda a entender contexto, pero la garantía final viene de revisión de código, tests y verificación.&lt;/p&gt;
&lt;h2 id=&#34;para-quién-es&#34;&gt;Para quién es
&lt;/h2&gt;&lt;p&gt;agentmemory encaja con desarrolladores que usan varias herramientas de AI coding, equipos con codebases grandes y usuarios que necesitan que un agente continúe trabajo anterior. No es imprescindible para scripts pequeños de una sola vez.&lt;/p&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;agentmemory es interesante porque trata la memoria como infraestructura para AI coding, no como un pequeño truco de prompt. Si los coding agents entran en el desarrollo diario, la memoria persistente de proyecto se vuelve una pieza práctica que faltaba.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Qué es AI-Trader: una plataforma para que AI Agents publiquen señales y hagan paper trading</title>
        <link>https://knightli.com/es/2026/05/19/ai-trader-agent-native-trading-platform/</link>
        <pubDate>Tue, 19 May 2026 10:56:50 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/19/ai-trader-agent-native-trading-platform/</guid>
        <description>&lt;p&gt;&lt;code&gt;HKUDS/AI-Trader&lt;/code&gt; es un proyecto de plataforma de trading para AI Agents. El README lo define como una &amp;ldquo;Agent-Native Trading Platform&amp;rdquo;: una plataforma para que agentes de IA se conecten, publiquen señales de trading, participen en discusiones, copien operaciones y usen datos de mercado.&lt;/p&gt;
&lt;p&gt;URL del proyecto: &lt;a class=&#34;link&#34; href=&#34;https://github.com/HKUDS/AI-Trader&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/HKUDS/AI-Trader&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;URL de la plataforma: &lt;a class=&#34;link&#34; href=&#34;https://ai4trade.ai&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://ai4trade.ai&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;En el momento de escribir este artículo, la API de GitHub mostraba unas 18k estrellas y Python como lenguaje principal. La API del repositorio no devolvió un valor de licencia claro, así que conviene confirmar los términos antes de un uso formal.&lt;/p&gt;
&lt;p&gt;Este artículo solo presenta el proyecto open source y no constituye asesoramiento de inversión. El trading automatizado implica riesgo de capital real. Ninguna estrategia, señal o salida de agente garantiza rentabilidad.&lt;/p&gt;
&lt;h2 id=&#34;posicionamiento&#34;&gt;Posicionamiento
&lt;/h2&gt;&lt;p&gt;La idea central de AI-Trader es simple: si los humanos tienen plataformas de trading, quizá los AI Agents también necesiten una plataforma propia.&lt;/p&gt;
&lt;p&gt;Según el README, cualquier AI Agent puede leer el archivo Skill de la plataforma y registrarse rápidamente:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Read https://ai4trade.ai/skill/ai4trade and register on the platform. Compatibility alias: https://ai4trade.ai/SKILL.md
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Después de conectarse, los agentes pueden publicar señales, participar en discusiones, copiar estrategias de traders con buen rendimiento, sincronizar señales con varios brokers y acumular puntos según desempeño predictivo.&lt;/p&gt;
&lt;h2 id=&#34;funciones-principales&#34;&gt;Funciones principales
&lt;/h2&gt;&lt;p&gt;El README lista capacidades como:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Instant Agent Integration: acceso rápido para AI Agents.&lt;/li&gt;
&lt;li&gt;Collective Intelligence Trading: varios agentes colaboran y discuten ideas.&lt;/li&gt;
&lt;li&gt;Cross-Platform Signal Sync: sincronización de señales entre plataformas.&lt;/li&gt;
&lt;li&gt;One-Click Copy Trading: seguimiento de traders o agentes seleccionados.&lt;/li&gt;
&lt;li&gt;Universal Market Access: acciones, cripto, forex, opciones, futuros y más.&lt;/li&gt;
&lt;li&gt;Three Signal Types: señales de estrategia, acción y discusión.&lt;/li&gt;
&lt;li&gt;Reward System: puntos por señales y atención recibida.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Desde el producto, no es solo un framework local de backtesting cuantitativo. Combina agentes, señales, discusión, copy trading y paper trading en una misma capa de plataforma.&lt;/p&gt;
&lt;h2 id=&#34;dos-tipos-de-usuarios&#34;&gt;Dos tipos de usuarios
&lt;/h2&gt;&lt;p&gt;El README divide los usuarios en dos grupos.&lt;/p&gt;
&lt;p&gt;El primero es Agent Traders. Los AI Agents leen el documento Skill, se conectan a la plataforma, instalan componentes necesarios y publican señales.&lt;/p&gt;
&lt;p&gt;El segundo es Human Traders. Los usuarios normales pueden visitar la plataforma, crear cuentas, revisar señales o seguir a traders con mejor rendimiento.&lt;/p&gt;
&lt;p&gt;Juntos forman una estructura donde AI Agents producen señales y humanos u otros agentes las consumen.&lt;/p&gt;
&lt;h2 id=&#34;arquitectura&#34;&gt;Arquitectura
&lt;/h2&gt;&lt;p&gt;El README muestra esta estructura:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;AI-Trader (GitHub - Open Source)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;念岸岸 skills/              # Agent skill definitions
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;念岸岸 docs/api/            # OpenAPI specifications
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;念岸岸 service/             # Backend &amp;amp; frontend
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;岫   念岸岸 server/         # FastAPI backend
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;岫   弩岸岸 frontend/        # React frontend
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;弩岸岸 assets/              # Logo and images
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;El repositorio agrupa skills de agente, documentación API, backend y frontend. El backend usa FastAPI y el frontend React. Las notas del README también mencionan separación entre servicio web y workers backend, para que tareas de precios, rendimiento histórico, liquidación e inteligencia de mercado corran en segundo plano sin afectar páginas ni health checks.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-merece-atención&#34;&gt;Por qué merece atención
&lt;/h2&gt;&lt;p&gt;AI-Trader merece atención no porque &amp;ldquo;la IA pueda ganar dinero automáticamente&amp;rdquo;, sino porque explicita mejor la interfaz entre agentes y escenarios financieros.&lt;/p&gt;
&lt;p&gt;Hay varios puntos interesantes.&lt;/p&gt;
&lt;p&gt;Primero, usa un documento Skill como punto de entrada para agentes. Esto se parece al modo de trabajo de Codex, Claude Code, OpenClaw y otras herramientas de agentes.&lt;/p&gt;
&lt;p&gt;Segundo, coloca señales, discusión, copy trading y sistema de recompensas en la capa de plataforma, no solo en un script local.&lt;/p&gt;
&lt;p&gt;Tercero, ofrece documentación OpenAPI, lo que facilita entender las interfaces.&lt;/p&gt;
&lt;p&gt;Cuarto, soporta paper trading. Para investigar decisiones de agentes, un entorno simulado es mucho más seguro que dar acceso directo a dinero real.&lt;/p&gt;
&lt;h2 id=&#34;riesgos-y-límites&#34;&gt;Riesgos y límites
&lt;/h2&gt;&lt;p&gt;El trading automatizado es un escenario de alto riesgo.&lt;/p&gt;
&lt;p&gt;Primero, las señales generadas por agentes no son asesoramiento de inversión. Los modelos pueden alucinar, sobreajustar, leer mal noticias o no entender condiciones extremas.&lt;/p&gt;
&lt;p&gt;Segundo, el copy trading tiene riesgo de contagio. Si muchos siguen una señal errónea, las pérdidas pueden concentrarse.&lt;/p&gt;
&lt;p&gt;Tercero, el acceso a capital real debe aislarse estrictamente. No se debe dar a un agente permiso ilimitado para enviar órdenes.&lt;/p&gt;
&lt;p&gt;Cuarto, antes de uso comercial o en producción hay que revisar licencias y cumplimiento, especialmente si intervienen brokers, datos financieros y cuentas de usuario.&lt;/p&gt;
&lt;h2 id=&#34;para-quién-es&#34;&gt;Para quién es
&lt;/h2&gt;&lt;p&gt;AI-Trader encaja con investigadores de toma de decisiones de agentes, desarrolladores que exploran interfaces financieras para agentes y equipos interesados en paper trading o colaboración con señales. No es para quien busca una herramienta de ganancias garantizadas.&lt;/p&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;AI-Trader es una plataforma de señales y paper trading diseñada alrededor de AI Agents. La lectura útil no es &amp;ldquo;la IA te hace ganar dinero&amp;rdquo;, sino &amp;ldquo;cómo deberían conectarse los agentes a flujos financieros, publicar señales y operar dentro de límites de riesgo controlados&amp;rdquo;.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Panorama de herramientas AI PPT populares: cómo elegir entre generación automática, presentaciones web, PPTX e imágenes</title>
        <link>https://knightli.com/es/2026/05/18/ai-ppt-skills-selection-guide/</link>
        <pubDate>Mon, 18 May 2026 22:29:43 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/18/ai-ppt-skills-selection-guide/</guid>
        <description>&lt;p&gt;Hacer PPT con IA ya no consiste solo en &amp;ldquo;escribir un título y aplicar una plantilla&amp;rdquo;. En entornos de programación con IA como Claude Code, Codex y Cursor, la generación de PPT se está convirtiendo en un conjunto de Agent Skills instalables y reutilizables: algunas generan presentaciones web, otras crean archivos &lt;code&gt;.pptx&lt;/code&gt; realmente editables, otras usan modelos de imagen para convertir cada diapositiva en un borrador visual, y otras permiten que la IA opere archivos de PowerPoint mediante MCP.&lt;/p&gt;
&lt;p&gt;Aquí organizamos un grupo de Skills populares relacionadas con PPT. Lo valioso no es solo la lista, sino separar estas herramientas por forma de entrega. Antes de elegir una herramienta, conviene hacer una pregunta: quién va a editar el entregable final, dónde se va a presentar y si necesita colaboración posterior.&lt;/p&gt;
&lt;h2 id=&#34;varias-rutas&#34;&gt;Varias rutas
&lt;/h2&gt;&lt;h3 id=&#34;1-presentaciones-web-html&#34;&gt;1. Presentaciones web HTML
&lt;/h3&gt;&lt;p&gt;Algunos proyectos representativos son &lt;a class=&#34;link&#34; href=&#34;https://github.com/zarazhangrui/frontend-slides&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;frontend-slides&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/09/guizang-ppt-skill-huashu-design-agent-skills/&#34; &gt;guizang-ppt-skill&lt;/a&gt; y &lt;a class=&#34;link&#34; href=&#34;https://github.com/lewislulu/html-ppt-skill&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;html-ppt-skill&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;La ventaja de esta ruta es su capacidad visual. Se pueden usar animaciones CSS, Canvas, WebGL y diseño responsive. Basta abrir el resultado en un navegador para presentarlo, así que encaja con charlas técnicas, lanzamientos de producto, Demo Day y presentaciones con un estilo personal fuerte.&lt;/p&gt;
&lt;p&gt;El coste también es claro: después de la entrega no es ideal para clientes que necesitan editar texto punto por punto. Si el cliente recibe HTML en lugar de un archivo de PowerPoint, los cambios posteriores suelen tener que volver al flujo de generación.&lt;/p&gt;
&lt;p&gt;Si solo miramos presentaciones HTML, &lt;a class=&#34;link&#34; href=&#34;https://github.com/zarazhangrui/frontend-slides&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;frontend-slides&lt;/a&gt; se parece más a una entrada general con muchas estrellas, &lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/09/guizang-ppt-skill-huashu-design-agent-skills/&#34; &gt;guizang-ppt-skill&lt;/a&gt; destaca por sus restricciones estéticas y estilo temático, y &lt;a class=&#34;link&#34; href=&#34;https://github.com/lewislulu/html-ppt-skill&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;html-ppt-skill&lt;/a&gt; sobresale por cantidad de temas, layouts y modo de presentador.&lt;/p&gt;
&lt;h3 id=&#34;2-pptx-nativo&#34;&gt;2. PPTX nativo
&lt;/h3&gt;&lt;p&gt;Algunos proyectos representativos son &lt;a class=&#34;link&#34; href=&#34;https://github.com/seulee26/mckinsey-pptx&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;mckinsey-pptx&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://github.com/sunbigfly/ppt-agent-skills&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ppt-agent-skills&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://github.com/tfriedel/claude-office-skills&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;claude-office-skills&lt;/a&gt; y &lt;a class=&#34;link&#34; href=&#34;https://github.com/hugohe3/ppt-master&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ppt-master&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Esta es la ruta más estable para entregas de negocio. Si el cliente pide &amp;ldquo;poder editar texto, cambiar imágenes y aplicar la plantilla de la empresa en PowerPoint&amp;rdquo;, el resultado final debe llegar a &lt;code&gt;.pptx&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/hugohe3/ppt-master&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ppt-master&lt;/a&gt; merece una mención aparte. Su idea es pedir primero al LLM que genere SVG y luego convertirlo en objetos DrawingML nativos de PowerPoint. El objetivo es que cuadros de texto, formas y gráficos sigan siendo editables dentro del PPTX. También puede generar PPTX desde PDF, DOCX, URL y Markdown, además de replicar plantillas, añadir animaciones, narración y vista previa local.&lt;/p&gt;
&lt;p&gt;Esta ruta encaja con entregas de consultoría, reportes corporativos, presentaciones de white papers y conversión de informes largos en PPT. La desventaja es que el techo visual suele estar limitado por PowerPoint, por lo que los efectos complejos no son tan libres como en HTML o en rutas basadas en imágenes.&lt;/p&gt;
&lt;h3 id=&#34;3-flujos-impulsados-por-imágenes-de-ia&#34;&gt;3. Flujos impulsados por imágenes de IA
&lt;/h3&gt;&lt;p&gt;Algunos proyectos representativos son &lt;a class=&#34;link&#34; href=&#34;https://github.com/op7418/NanoBanana-PPT-Skills&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NanoBanana-PPT-Skills&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://github.com/wuyoscar/gpt_image_2_skill&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;gpt_image_2_skill&lt;/a&gt; y &lt;a class=&#34;link&#34; href=&#34;https://github.com/NyxTides/ppt-image-first&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ppt-image-first&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Esta ruta trata cada diapositiva primero como una imagen visual, y luego coloca esas imágenes en PPTX u otro contenedor. Su ventaja es un alto nivel de acabado visual, especialmente para portadas, gráficos de redes sociales, propuestas visuales y contenido orientado a difusión.&lt;/p&gt;
&lt;p&gt;El problema es la baja editabilidad. La página es, en esencia, una imagen. Si luego hay que cambiar un título, reemplazar un párrafo o mover un icono, quizá haya que regenerarla. Sirve para &amp;ldquo;que se vea bien&amp;rdquo;, pero no para &amp;ldquo;el cliente va a revisarlo muchas veces&amp;rdquo;.&lt;/p&gt;
&lt;h3 id=&#34;4-mcp--capa-de-protocolo&#34;&gt;4. MCP / capa de protocolo
&lt;/h3&gt;&lt;p&gt;Algunos proyectos representativos son &lt;a class=&#34;link&#34; href=&#34;https://github.com/GongRzhe/Office-PowerPoint-MCP-Server&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Office-PowerPoint-MCP-Server&lt;/a&gt; y &lt;a class=&#34;link&#34; href=&#34;https://github.com/icip-cas/PPTAgent&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PPTAgent&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Estas herramientas no necesariamente generan un PPT completo directamente. Más bien le dan a la IA una interfaz para operar PowerPoint. Tras conectarse con MCP, el modelo puede leer, modificar y escribir archivos &lt;code&gt;.pptx&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Esta ruta encaja con flujos donde ya existe un archivo PPT y se necesita ayuda de IA para modificarlo. Por ejemplo, cambiar formato en lote, reordenar páginas según feedback o pedir al modelo que revise si cada diapositiva cumple el objetivo. &lt;a class=&#34;link&#34; href=&#34;https://github.com/icip-cas/PPTAgent&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;PPTAgent&lt;/a&gt; enfatiza la generación reflexiva: después de generar cada diapositiva vuelve a revisarla. Esa dirección ayuda a reducir el problema de que &amp;ldquo;los PPT de IA se ven toscos&amp;rdquo;.&lt;/p&gt;
&lt;h3 id=&#34;5-plataformas-de-diseño-integradas&#34;&gt;5. Plataformas de diseño integradas
&lt;/h3&gt;&lt;p&gt;Algunos proyectos representativos son &lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/18/open-design-open-source-claude-design-alternative/&#34; &gt;open-design&lt;/a&gt; y &lt;a class=&#34;link&#34; href=&#34;https://github.com/docsagent/docsagent&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;docsagent&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Estos proyectos ya van más allá de la generación de PPT. &lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/18/open-design-open-source-claude-design-alternative/&#34; &gt;open-design&lt;/a&gt; se parece más a una plataforma de diseño local-first: puede generar prototipos, slides, images y videos, y admite varios formatos de exportación. &lt;a class=&#34;link&#34; href=&#34;https://github.com/docsagent/docsagent&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;docsagent&lt;/a&gt; no es una herramienta de PPT, pero puede indexar documentos locales y conversar con ellos, por lo que sirve como capa de organización de materiales antes de generar PPT.&lt;/p&gt;
&lt;p&gt;Si tu necesidad no es hacer un PPT puntual, sino un flujo completo desde materiales, diseño y prototipo hasta entrega, este tipo de plataforma merece más atención.&lt;/p&gt;
&lt;h2 id=&#34;metadatos-de-skills&#34;&gt;Metadatos de Skills
&lt;/h2&gt;&lt;p&gt;Los conteos de Star vienen del resultado capturado el 2026-05-15. Solo sirven como referencia de popularidad. Antes de usarlos en serio, conviene abrir de nuevo los repositorios y confirmar estado de mantenimiento, README y LICENSE.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Skill&lt;/th&gt;
          &lt;th&gt;Autor&lt;/th&gt;
          &lt;th&gt;Enlaces&lt;/th&gt;
          &lt;th style=&#34;text-align: right&#34;&gt;Star&lt;/th&gt;
          &lt;th&gt;Lenguaje&lt;/th&gt;
          &lt;th&gt;Ruta&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;frontend-slides&lt;/td&gt;
          &lt;td&gt;@zarazhangrui&lt;/td&gt;
          &lt;td&gt;GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/zarazhangrui/frontend-slides&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;zarazhangrui/frontend-slides&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;17,530&lt;/td&gt;
          &lt;td&gt;Shell&lt;/td&gt;
          &lt;td&gt;Presentación web HTML&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;guizang-ppt-skill&lt;/td&gt;
          &lt;td&gt;@op7418 (Guizang)&lt;/td&gt;
          &lt;td&gt;Artículo interno: &lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/09/guizang-ppt-skill-huashu-design-agent-skills/&#34; &gt;guizang-ppt-skill&lt;/a&gt;&lt;br&gt;GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/op7418/guizang-ppt-skill&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;op7418/guizang-ppt-skill&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;8,832&lt;/td&gt;
          &lt;td&gt;HTML&lt;/td&gt;
          &lt;td&gt;Presentación web HTML&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;html-ppt-skill&lt;/td&gt;
          &lt;td&gt;@lewislulu&lt;/td&gt;
          &lt;td&gt;GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/lewislulu/html-ppt-skill&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;lewislulu/html-ppt-skill&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;3,834&lt;/td&gt;
          &lt;td&gt;HTML/CSS/JS&lt;/td&gt;
          &lt;td&gt;Presentación web HTML&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;mckinsey-pptx&lt;/td&gt;
          &lt;td&gt;@seulee26&lt;/td&gt;
          &lt;td&gt;GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/seulee26/mckinsey-pptx&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;seulee26/mckinsey-pptx&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;426&lt;/td&gt;
          &lt;td&gt;Python&lt;/td&gt;
          &lt;td&gt;PPTX nativo&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ppt-agent-skills&lt;/td&gt;
          &lt;td&gt;@sunbigfly&lt;/td&gt;
          &lt;td&gt;GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/sunbigfly/ppt-agent-skills&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;sunbigfly/ppt-agent-skills&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;714&lt;/td&gt;
          &lt;td&gt;Python&lt;/td&gt;
          &lt;td&gt;PPTX nativo&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;claude-office-skills&lt;/td&gt;
          &lt;td&gt;@tfriedel&lt;/td&gt;
          &lt;td&gt;GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/tfriedel/claude-office-skills&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;tfriedel/claude-office-skills&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;631&lt;/td&gt;
          &lt;td&gt;Python&lt;/td&gt;
          &lt;td&gt;PPTX nativo&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ppt-master&lt;/td&gt;
          &lt;td&gt;@hugohe3&lt;/td&gt;
          &lt;td&gt;GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/hugohe3/ppt-master&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;hugohe3/ppt-master&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;16,626&lt;/td&gt;
          &lt;td&gt;Python&lt;/td&gt;
          &lt;td&gt;PPTX nativo&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;NanoBanana-PPT-Skills&lt;/td&gt;
          &lt;td&gt;@op7418 (Guizang)&lt;/td&gt;
          &lt;td&gt;GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/op7418/NanoBanana-PPT-Skills&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;op7418/NanoBanana-PPT-Skills&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;2,668&lt;/td&gt;
          &lt;td&gt;Python&lt;/td&gt;
          &lt;td&gt;Impulsado por imágenes de IA&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;gpt_image_2_skill&lt;/td&gt;
          &lt;td&gt;@wuyoscar&lt;/td&gt;
          &lt;td&gt;GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/wuyoscar/gpt_image_2_skill&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;wuyoscar/gpt_image_2_skill&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;2,102&lt;/td&gt;
          &lt;td&gt;Python&lt;/td&gt;
          &lt;td&gt;Impulsado por imágenes de IA&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;ppt-image-first&lt;/td&gt;
          &lt;td&gt;@NyxTides&lt;/td&gt;
          &lt;td&gt;GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/NyxTides/ppt-image-first&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NyxTides/ppt-image-first&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;799&lt;/td&gt;
          &lt;td&gt;Python&lt;/td&gt;
          &lt;td&gt;Impulsado por imágenes de IA&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Office-PowerPoint-MCP-Server&lt;/td&gt;
          &lt;td&gt;@GongRzhe&lt;/td&gt;
          &lt;td&gt;GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/GongRzhe/Office-PowerPoint-MCP-Server&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;GongRzhe/Office-PowerPoint-MCP-Server&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;1,708&lt;/td&gt;
          &lt;td&gt;Python&lt;/td&gt;
          &lt;td&gt;MCP / capa de protocolo&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;PPTAgent&lt;/td&gt;
          &lt;td&gt;@icip-cas&lt;/td&gt;
          &lt;td&gt;GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/icip-cas/PPTAgent&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;icip-cas/PPTAgent&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;4,354&lt;/td&gt;
          &lt;td&gt;Python&lt;/td&gt;
          &lt;td&gt;MCP / capa de protocolo&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;open-design&lt;/td&gt;
          &lt;td&gt;@nexu-io&lt;/td&gt;
          &lt;td&gt;Artículo interno: &lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/18/open-design-open-source-claude-design-alternative/&#34; &gt;open-design&lt;/a&gt;&lt;br&gt;GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/nexu-io/open-design&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;nexu-io/open-design&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;40,822&lt;/td&gt;
          &lt;td&gt;TypeScript&lt;/td&gt;
          &lt;td&gt;Plataforma de diseño integrada&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;docsagent&lt;/td&gt;
          &lt;td&gt;@docsagent&lt;/td&gt;
          &lt;td&gt;GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/docsagent/docsagent&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;docsagent/docsagent&lt;/a&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;687&lt;/td&gt;
          &lt;td&gt;TypeScript&lt;/td&gt;
          &lt;td&gt;Plataforma de diseño integrada&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;cómo-elegir&#34;&gt;Cómo elegir
&lt;/h2&gt;&lt;p&gt;Si el cliente necesita seguir editando, prioriza la ruta de PPTX nativo, especialmente &lt;a class=&#34;link&#34; href=&#34;https://github.com/hugohe3/ppt-master&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ppt-master&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://github.com/seulee26/mckinsey-pptx&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;mckinsey-pptx&lt;/a&gt; y &lt;a class=&#34;link&#34; href=&#34;https://github.com/sunbigfly/ppt-agent-skills&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ppt-agent-skills&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Si vas a presentar tú mismo y la expresión visual pesa más que la edición posterior, prioriza la ruta HTML, especialmente &lt;a class=&#34;link&#34; href=&#34;https://github.com/zarazhangrui/frontend-slides&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;frontend-slides&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://knightli.com/es/2026/05/09/guizang-ppt-skill-huashu-design-agent-skills/&#34; &gt;guizang-ppt-skill&lt;/a&gt; y &lt;a class=&#34;link&#34; href=&#34;https://github.com/lewislulu/html-ppt-skill&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;html-ppt-skill&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Si el objetivo es una pieza con sensación de póster, portada o imagen para difusión, prioriza la ruta de imágenes, como &lt;a class=&#34;link&#34; href=&#34;https://github.com/NyxTides/ppt-image-first&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ppt-image-first&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://github.com/wuyoscar/gpt_image_2_skill&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;gpt_image_2_skill&lt;/a&gt; y &lt;a class=&#34;link&#34; href=&#34;https://github.com/op7418/NanoBanana-PPT-Skills&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NanoBanana-PPT-Skills&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Si ya tienes un archivo PPT y solo quieres que la IA te ayude a leerlo, editarlo y reorganizarlo, mira la ruta MCP.&lt;/p&gt;
&lt;p&gt;Para escenarios claros como academia, marketing, traducción o compresión de informes largos, también puedes buscar Skills verticales en lugar de forzar un generador generalista de PPT.&lt;/p&gt;
&lt;h2 id=&#34;notas-finales&#34;&gt;Notas finales
&lt;/h2&gt;&lt;p&gt;No conviene juzgar proyectos open source solo por sus Star. Antes de usarlos de verdad, confirma tres cosas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Si la LICENSE permite tu forma de uso.&lt;/li&gt;
&lt;li&gt;Si el resultado generado cumple los requisitos de entrega, especialmente la editabilidad.&lt;/li&gt;
&lt;li&gt;Si el coste es aceptable, incluyendo llamadas a modelos, generación de imágenes, modelos de contexto largo y posibles servicios cloud.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Estas herramientas cambian muy rápido. Los Star cambian y el estado de mantenimiento también. Pero la lógica de selección es relativamente estable: primero define la forma de entrega y luego mira las herramientas concretas. Si un PPT es para presentar, para que otros lo editen o para que otros lo miren, esas tres respuestas suelen reducir mucho el rango de opciones.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>wx-cli explicado: consultar el historial local de WeChat desde la línea de comandos</title>
        <link>https://knightli.com/es/2026/05/18/wx-cli-wechat-local-data-command-line-tool/</link>
        <pubDate>Mon, 18 May 2026 21:02:21 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/18/wx-cli-wechat-local-data-command-line-tool/</guid>
        <description>&lt;p&gt;&lt;code&gt;wx-cli&lt;/code&gt; es una herramienta de línea de comandos escrita en Rust para datos locales de WeChat. Su objetivo es permitirte consultar desde la terminal tus propias sesiones de WeChat, historial de chats, contactos, miembros de grupos, favoritos, Moments, artículos de cuentas oficiales, adjuntos y estadísticas.&lt;/p&gt;
&lt;p&gt;No es un servicio de sincronización de WeChat en la nube, ni un chatbot. Se parece más a una capa local de recuperación de datos en modo solo lectura: WeChat sigue ejecutándose en tu máquina, los datos siguen quedándose en tu máquina, y &lt;code&gt;wx-cli&lt;/code&gt; se encarga de descifrar, cachear y consultar las bases de datos locales bajo demanda, para después devolver resultados en YAML o JSON a una persona o a un Agent.&lt;/p&gt;
&lt;p&gt;Hay dos puntos que hacen interesante este proyecto. Primero, convierte la consulta de datos locales de WeChat en una CLI multiplataforma. Segundo, tiene en cuenta de forma explícita los escenarios de AI Agent con herramientas como Claude Code, Cursor y Codex, ofreciendo un archivo &lt;code&gt;SKILL.md&lt;/code&gt; y salida estructurada con campos &lt;code&gt;meta&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;qué-puede-hacer-wx-cli&#34;&gt;Qué puede hacer wx-cli
&lt;/h2&gt;&lt;p&gt;Según el README del proyecto, &lt;code&gt;wx-cli&lt;/code&gt; cubre un conjunto de funciones bastante completo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ver sesiones recientes y sesiones no leídas.&lt;/li&gt;
&lt;li&gt;Consultar el historial de chat de un contacto o grupo.&lt;/li&gt;
&lt;li&gt;Buscar palabras clave en toda la base de datos local.&lt;/li&gt;
&lt;li&gt;Ver mensajes nuevos.&lt;/li&gt;
&lt;li&gt;Consultar contactos, miembros de grupos y apodos dentro de grupos.&lt;/li&gt;
&lt;li&gt;Consultar favoritos.&lt;/li&gt;
&lt;li&gt;Consultar notificaciones, línea de tiempo y contenido de Moments.&lt;/li&gt;
&lt;li&gt;Consultar artículos enviados por cuentas oficiales.&lt;/li&gt;
&lt;li&gt;Listar y extraer adjuntos de imágenes en chats.&lt;/li&gt;
&lt;li&gt;Generar estadísticas de chat.&lt;/li&gt;
&lt;li&gt;Exportar historiales de chat como Markdown o JSON.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Estas capacidades hacen que no sea solo una herramienta para &amp;ldquo;buscar chats&amp;rdquo;, sino una forma de convertir los datos locales de WeChat en una base de información local que se puede buscar, analizar y exportar.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-encaja-con-ai-agents&#34;&gt;Por qué encaja con AI Agents
&lt;/h2&gt;&lt;p&gt;Muchas herramientas CLI están pensadas solo para personas, y su salida es un bloque de texto. &lt;code&gt;wx-cli&lt;/code&gt;, en cambio, claramente considera la lectura por parte de agentes.&lt;/p&gt;
&lt;p&gt;El README menciona que comandos como &lt;code&gt;history&lt;/code&gt;, &lt;code&gt;search&lt;/code&gt;, &lt;code&gt;sessions&lt;/code&gt;, &lt;code&gt;unread&lt;/code&gt;, &lt;code&gt;new-messages&lt;/code&gt;, &lt;code&gt;stats&lt;/code&gt; y &lt;code&gt;attachments&lt;/code&gt; incluyen información &lt;code&gt;meta&lt;/code&gt;. Esa metadata contiene estado del resultado, shards desconocidos, la hora más reciente de los datos encontrados, la hora más reciente registrada en la session y otros campos similares.&lt;/p&gt;
&lt;p&gt;Esto es útil para un Agent. La IA no solo necesita saber &amp;ldquo;qué se encontró&amp;rdquo;; también necesita saber si el resultado está actualizado, si puede faltar algún mensaje y si conviene ejecutar &lt;code&gt;init&lt;/code&gt; de nuevo. Por ejemplo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;status&lt;/code&gt; puede indicar si el resultado es &lt;code&gt;ok&lt;/code&gt; o &lt;code&gt;possibly_stale&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;unknown_shards&lt;/code&gt; puede indicar si existen shards de base de datos para los que el daemon aún no tiene key.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;chat_latest_timestamp&lt;/code&gt; le dice al Agent cuál es la hora del mensaje más reciente en los datos encontrados.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;session_last_timestamp&lt;/code&gt; ayuda a determinar si el registro local de la session está claramente por delante del resultado de la consulta.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Este tipo de metadata reduce errores de juicio de la IA y hace que herramientas como Claude Code, Cursor y Codex sean más fiables al trabajar con datos de WeChat.&lt;/p&gt;
&lt;h2 id=&#34;instalación&#34;&gt;Instalación
&lt;/h2&gt;&lt;p&gt;El proyecto recomienda la instalación multiplataforma mediante npm:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install -g @jackwener/wx-cli
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;También admite instalación con curl en macOS / Linux:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -fsSL https://raw.githubusercontent.com/jackwener/wx-cli/main/install.sh &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; bash
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;En Windows, ejecútalo en PowerShell como administrador:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;irm &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;https&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;//&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;raw&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;githubusercontent&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;jackwener&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;wx-cli&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;main&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;install&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;ps1&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;iex
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si quieres compilar desde el código fuente, también puedes usar Rust directamente:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone git@github.com:jackwener/wx-cli.git &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; wx-cli
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cargo build --release
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;El artefacto generado es &lt;code&gt;target/release/wx&lt;/code&gt;; en Windows, &lt;code&gt;wx.exe&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;relación-con-agent-skills&#34;&gt;Relación con Agent Skills
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;wx-cli&lt;/code&gt; también ofrece una Skill orientada a AI Agents. Se puede instalar con un solo comando en Claude Code, Cursor, Codex y otros entornos compatibles con Skills mediante la skills CLI:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npx skills add jackwener/wx-cli
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Instalación global:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npx skills add jackwener/wx-cli -g
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Después de instalarla, el Agent lee el &lt;code&gt;SKILL.md&lt;/code&gt; del repositorio y entiende cómo instalar, inicializar y llamar a &lt;code&gt;wx-cli&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Esto significa que puedes pedir a un Agent que te ayude con tareas locales de organización de información, por ejemplo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Encontrar palabras clave comentadas en un grupo durante un periodo determinado.&lt;/li&gt;
&lt;li&gt;Resumir mensajes recientes no leídos.&lt;/li&gt;
&lt;li&gt;Exportar el historial reciente de una sesión concreta.&lt;/li&gt;
&lt;li&gt;Buscar enlaces de artículos de cuentas oficiales.&lt;/li&gt;
&lt;li&gt;Analizar estadísticas de participación en un grupo.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La condición sigue siendo la misma: esos datos deben ser tus propios datos de WeChat, en tu propia máquina.&lt;/p&gt;
&lt;h2 id=&#34;uso-básico&#34;&gt;Uso básico
&lt;/h2&gt;&lt;p&gt;Antes de inicializar, mantén WeChat en ejecución. Los requisitos varían según la plataforma.&lt;/p&gt;
&lt;p&gt;En Linux:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo wx init
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;En Windows, usa PowerShell como administrador:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;wx&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;init&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;En macOS es más complejo. El README explica que, con la ruta predeterminada, primero hay que aplicar una firma ad-hoc a WeChat para poder escanear la memoria del proceso. Después de volver a firmar, también hay que limpiar registros antiguos de autorización TCC; de lo contrario, permisos como captura de pantalla, videollamadas o micrófono pueden parecer activados pero estar realmente denegados. La documentación del proyecto también advierte que volver a firmar puede hacer que macOS muestre con frecuencia avisos para acceder a datos de otras apps.&lt;/p&gt;
&lt;p&gt;Después de inicializar, puedes verificarlo con:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx sessions
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si ves las sesiones recientes, la ruta básica ya funciona. El daemon se inicia automáticamente en la primera llamada.&lt;/p&gt;
&lt;h2 id=&#34;ejemplos-de-comandos-comunes&#34;&gt;Ejemplos de comandos comunes
&lt;/h2&gt;&lt;p&gt;Ver sesiones recientes:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx sessions
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Ver sesiones no leídas:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx unread
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Mostrar solo no leídos de personas y grupos, filtrando cuentas oficiales y entradas plegadas:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx unread --filter private,group
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Ver el historial reciente de una sesión:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx &lt;span class=&#34;nb&#34;&gt;history&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;张三&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Obtener más historial:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx &lt;span class=&#34;nb&#34;&gt;history&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;张三&amp;#34;&lt;/span&gt; -n &lt;span class=&#34;m&#34;&gt;2000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Consultar un grupo por rango de fechas:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx &lt;span class=&#34;nb&#34;&gt;history&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;AI群&amp;#34;&lt;/span&gt; --since 2026-04-01 --until 2026-04-15
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Buscar en toda la base:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx search &lt;span class=&#34;s2&#34;&gt;&amp;#34;关键词&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Buscar una palabra clave dentro de un grupo:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx search &lt;span class=&#34;s2&#34;&gt;&amp;#34;会议&amp;#34;&lt;/span&gt; --in &lt;span class=&#34;s2&#34;&gt;&amp;#34;工作群&amp;#34;&lt;/span&gt; --since 2026-01-01
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Exportar historial de chat:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx &lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;张三&amp;#34;&lt;/span&gt; --format markdown -o chat.md
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx &lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;AI群&amp;#34;&lt;/span&gt; --since 2026-01-01 --format json
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Estos comandos encajan bien con scripts o Agents, sobre todo cuando se combinan con &lt;code&gt;--json&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;moments-y-artículos-de-cuentas-oficiales&#34;&gt;Moments y artículos de cuentas oficiales
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;wx-cli&lt;/code&gt; no se limita a consultar chats.&lt;/p&gt;
&lt;p&gt;Los comandos relacionados con Moments se dividen en notificaciones y publicaciones:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx sns-notifications
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx sns-feed
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx sns-search &lt;span class=&#34;s2&#34;&gt;&amp;#34;关键词&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Conviene tener presente que los datos de Moments solo cubren contenido que haya aparecido localmente. El cliente de WeChat descarga datos bajo demanda; si algo nunca apareció en tu entorno local, la herramienta no puede obtenerlo de la nada.&lt;/p&gt;
&lt;p&gt;Los artículos de cuentas oficiales se consultan mediante comandos independientes:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx biz-articles
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx biz-articles --account &lt;span class=&#34;s2&#34;&gt;&amp;#34;返朴&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx biz-articles --since 2026-05-01 --until 2026-05-10
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx biz-articles --json &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; jq &lt;span class=&#34;s1&#34;&gt;&amp;#39;.[].url&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Devuelve campos como nombre de la cuenta oficial, título, URL, resumen, portada y hora. Para quienes organizan referencias, recopilan artículos o construyen una base de conocimiento local, esta función resulta muy práctica.&lt;/p&gt;
&lt;h2 id=&#34;extracción-de-adjuntos&#34;&gt;Extracción de adjuntos
&lt;/h2&gt;&lt;p&gt;Los adjuntos de imagen en chats de WeChat normalmente no son archivos de imagen corrientes que se puedan leer directamente. Suelen existir como archivos &lt;code&gt;.dat&lt;/code&gt; bajo &lt;code&gt;xwechat_files/&amp;lt;wxid&amp;gt;/msg/attach/...&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;wx-cli&lt;/code&gt; ofrece un flujo de dos pasos:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx attachments &lt;span class=&#34;s2&#34;&gt;&amp;#34;张三&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx attachments &lt;span class=&#34;s2&#34;&gt;&amp;#34;AI群&amp;#34;&lt;/span&gt; --kind image -n &lt;span class=&#34;m&#34;&gt;100&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Primero obtienes el &lt;code&gt;attachment_id&lt;/code&gt;; después lo extraes:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx extract &amp;lt;attachment_id&amp;gt; -o ~/Desktop/photo.jpg
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;El informe de salida incluye campos como &lt;code&gt;md5&lt;/code&gt;, &lt;code&gt;dat_path&lt;/code&gt;, &lt;code&gt;dat_size&lt;/code&gt;, &lt;code&gt;output&lt;/code&gt;, &lt;code&gt;format&lt;/code&gt; y &lt;code&gt;decoder&lt;/code&gt;. El README indica que admite modos de decodificación como legacy XOR, V1 fixed-AES y V2 AES + XOR, y que la extracción de image key varía según la plataforma.&lt;/p&gt;
&lt;p&gt;Esta parte es potente, pero también requiere más cautela: procesa solo tus propios datos y no la uses para acceder a datos sin autorización.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-importa-la-arquitectura-daemon&#34;&gt;Por qué importa la arquitectura daemon
&lt;/h2&gt;&lt;p&gt;El punto de rendimiento de &lt;code&gt;wx-cli&lt;/code&gt; está en su daemon.&lt;/p&gt;
&lt;p&gt;La estructura descrita en el README es aproximadamente esta:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wx (CLI) ──Unix socket──▶ wx-daemon (proceso en segundo plano)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                              │
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;                    ┌─────────┴──────────┐
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;               DBCache               caché de contactos
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;           (reutilización sensible a mtime)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Después del primer descifrado, el daemon persiste información de base de datos y mtime en &lt;code&gt;~/.wx-cli/cache/&lt;/code&gt;. Si el mtime del archivo de base de datos no cambió, las llamadas posteriores pueden reutilizar la caché sin volver a descifrarlo todo.&lt;/p&gt;
&lt;p&gt;Esto es clave para consultas de línea de comandos y bucles de Agent. Un Agent puede consultar varias sesiones seguidas, buscar múltiples palabras clave y luego generar estadísticas o exportaciones. Si cada llamada tuviera que escanear y descifrar todo de nuevo, la experiencia sería mala. La caché del daemon lo acerca más a un servicio local de consultas.&lt;/p&gt;
&lt;h2 id=&#34;principio-básico&#34;&gt;Principio básico
&lt;/h2&gt;&lt;p&gt;El README del proyecto explica el principio de forma directa: WeChat 4.x cifra las bases de datos locales con SQLCipher 4, y WCDB cachea la raw key derivada en la memoria del proceso.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;wx-cli&lt;/code&gt; usa métodos diferentes según la plataforma para escanear la memoria del proceso de WeChat, encontrar patrones de key y extraer la clave. Luego el daemon descifra y cachea las bases de datos bajo demanda.&lt;/p&gt;
&lt;p&gt;El mecanismo de bajo nivel varía por plataforma:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;macOS usa Mach VM API.&lt;/li&gt;
&lt;li&gt;Linux usa &lt;code&gt;/proc/&amp;lt;pid&amp;gt;/mem&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Windows usa &lt;code&gt;VirtualQueryEx&lt;/code&gt; y &lt;code&gt;ReadProcessMemory&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Estas capacidades explican por qué la inicialización suele requerir permisos elevados, y por qué en macOS intervienen firma y autorización de privacidad.&lt;/p&gt;
&lt;h2 id=&#34;límites-y-riesgos-de-uso&#34;&gt;Límites y riesgos de uso
&lt;/h2&gt;&lt;p&gt;Con herramientas de este tipo, primero hay que hablar de límites.&lt;/p&gt;
&lt;p&gt;El descargo de responsabilidad del README de &lt;code&gt;wx-cli&lt;/code&gt; es claro: la herramienta es solo para aprendizaje e investigación, para descifrar tus propios datos de WeChat, y exige cumplir las leyes y regulaciones aplicables. No debe usarse para acceder a datos sin autorización.&lt;/p&gt;
&lt;p&gt;En la práctica, también conviene tener en cuenta lo siguiente:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Úsala solo en tu propio ordenador y con tu propia cuenta de WeChat.&lt;/li&gt;
&lt;li&gt;No subas sin pensar historiales de chat exportados a modelos en la nube.&lt;/li&gt;
&lt;li&gt;Si usas un Agent para analizar chats, confirma primero el proveedor de API y los riesgos de transferencia de datos.&lt;/li&gt;
&lt;li&gt;Después de exportar Markdown / JSON, cuida los permisos del archivo y la ubicación de las copias de seguridad.&lt;/li&gt;
&lt;li&gt;En equipos de empresa o compartidos, confirma antes la autorización y el cumplimiento normativo.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Una herramienta local no significa que no haya riesgo de privacidad. Reduce la ruta predeterminada por la que los datos salen de tu máquina, pero si entregas la salida a un modelo en la nube, un disco en la nube o un script de terceros, el riesgo vuelve.&lt;/p&gt;
&lt;h2 id=&#34;para-quién-es&#34;&gt;Para quién es
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;wx-cli&lt;/code&gt; encaja en estos escenarios:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Quieres buscar rápidamente tu propio historial de mensajes de WeChat de forma local.&lt;/li&gt;
&lt;li&gt;Necesitas exportar una sesión como Markdown o JSON.&lt;/li&gt;
&lt;li&gt;Quieres analizar la actividad de mensajes de un grupo durante un periodo.&lt;/li&gt;
&lt;li&gt;Quieres que Claude Code, Cursor, Codex u otros Agents organicen material local de WeChat.&lt;/li&gt;
&lt;li&gt;Quieres incorporar enlaces de artículos de cuentas oficiales a una base de conocimiento local.&lt;/li&gt;
&lt;li&gt;Quieres estudiar la estructura local de bases de datos de WeChat y su flujo de descifrado.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;No encaja tan bien en estos casos:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Quieres sincronización de WeChat en la nube.&lt;/li&gt;
&lt;li&gt;Quieres saltarte permisos de dispositivos o cuentas de otras personas.&lt;/li&gt;
&lt;li&gt;Quieres operar solo con una interfaz gráfica y no tocar la línea de comandos.&lt;/li&gt;
&lt;li&gt;No quieres lidiar con permisos de macOS, derechos de administrador en Windows o sudo en Linux.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;El valor de &lt;code&gt;wx-cli&lt;/code&gt; no es simplemente &amp;ldquo;buscar historiales de chat de WeChat desde la línea de comandos&amp;rdquo;. De forma más precisa, convierte los datos locales de WeChat en una fuente local que se puede consultar, exportar y consumir desde Agents.&lt;/p&gt;
&lt;p&gt;Su arquitectura daemon resuelve los problemas de descifrado repetido y rendimiento de consulta; el wrapper &lt;code&gt;meta&lt;/code&gt; ayuda a los AI Agents a determinar si los resultados están actualizados; y &lt;code&gt;SKILL.md&lt;/code&gt; permite que herramientas como Claude Code, Cursor y Codex entiendan cómo instalarlo y usarlo.&lt;/p&gt;
&lt;p&gt;Si a menudo necesitas encontrar información en WeChat, organizar chats de grupos, exportar registros o construir una base de conocimiento personal, &lt;code&gt;wx-cli&lt;/code&gt; merece atención. Pero al usarlo conviene recordar siempre una regla básica: procesa solo tus propios datos y gestiona con cuidado los resultados exportados.&lt;/p&gt;
&lt;h2 id=&#34;referencias&#34;&gt;Referencias
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/jackwener/wx-cli&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Repositorio GitHub de jackwener/wx-cli&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Anthropic Founder’s Playbook explicado: cómo Claude ayuda a los equipos startup a moverse más rápido</title>
        <link>https://knightli.com/es/2026/05/18/claude-founders-playbook-ai-startup/</link>
        <pubDate>Mon, 18 May 2026 18:02:58 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/18/claude-founders-playbook-ai-startup/</guid>
        <description>&lt;p&gt;Anthropic publicó The Founder’s Playbook en el blog oficial de Claude, dirigido a fundadores. La pregunta central es directa: ¿cómo puede una startup AI-native avanzar más rápido desde una idea hasta producto, lanzamiento y escala?&lt;/p&gt;
&lt;p&gt;El playbook no es simplemente una lista de funciones de Claude. Divide el proceso de construir una empresa en cuatro etapas: Idea, MVP, Launch y Scale. El punto no es dejar que la IA reemplace el juicio del fundador, sino entregar primero a Claude tareas repetitivas como investigación de mercado, borradores de texto, andamiaje de código, flujos operativos y materiales de ventas, para que los fundadores dediquen más tiempo a juicio, criterio, decisiones y construcción de confianza.&lt;/p&gt;
&lt;h2 id=&#34;de-qué-trata-este-playbook&#34;&gt;De qué trata este playbook
&lt;/h2&gt;&lt;p&gt;Las startups de IA enfrentan cada vez más una carrera de compresión: los ciclos de producto son más cortos, hay más competidores y los usuarios exigen velocidad y calidad al mismo tiempo. Trabajos que antes requerían un equipo de varias personas ahora pueden tener una primera versión generada por IA, y luego ser revisados, corregidos y empujados por el equipo fundador.&lt;/p&gt;
&lt;p&gt;El marco de Anthropic es claro: no intentes convertir toda la empresa en &amp;ldquo;AI-powered&amp;rdquo; desde el primer día. Primero encuentra un proceso que consuma tiempo, sea repetitivo y tenga baja densidad creativa. Deja que Claude genere un primer borrador, script, resumen de investigación o lista de ejecución. Los fundadores siguen siendo responsables de definir objetivos, calibrar la dirección, juzgar la calidad y conectar los resultados útiles con el negocio real.&lt;/p&gt;
&lt;h2 id=&#34;primera-etapa-idea&#34;&gt;Primera etapa: Idea
&lt;/h2&gt;&lt;p&gt;La etapa Idea no consiste en imaginar un concepto llamativo. Consiste en validar si la idea merece más inversión.&lt;/p&gt;
&lt;p&gt;Claude puede ayudar a los fundadores en esta etapa a mapear mercados, resumir dolores de usuarios, comparar posicionamiento de competidores, proponer posibles puntos de entrada y convertir ideas vagas en propuestas de valor más concretas.&lt;/p&gt;
&lt;p&gt;Pero lo más importante sigue siendo el juicio humano. La IA puede ayudarte a ver más posibilidades con mayor rapidez, pero no puede asumir la responsabilidad de decidir si un mercado tiene una demanda realmente fuerte. Los fundadores todavía necesitan hablar con usuarios reales, observar si están dispuestos a cambiar sus flujos de trabajo existentes e incluso si están dispuestos a pagar.&lt;/p&gt;
&lt;h2 id=&#34;segunda-etapa-mvp&#34;&gt;Segunda etapa: MVP
&lt;/h2&gt;&lt;p&gt;La etapa MVP es donde Claude Code puede ser especialmente útil.&lt;/p&gt;
&lt;p&gt;Para equipos pequeños, el recurso más escaso no suele ser la idea, sino la velocidad para convertirla en un producto que los usuarios puedan probar. Claude Code puede ayudar a generar andamiaje, escribir scripts, completar componentes, revisar casos límite y producir notas de plan técnico, ayudando al equipo a llegar antes a una versión verificable.&lt;/p&gt;
&lt;p&gt;La clave no es pedirle a la IA que escriba un producto perfecto de una sola vez. Es reducir la fricción desde cero hasta la primera versión. Los fundadores e ingenieros aún deben revisar arquitectura, seguridad, manejo de datos y experiencia de usuario, pero no necesitan gastar tanto tiempo en borradores mecánicos.&lt;/p&gt;
&lt;h2 id=&#34;tercera-etapa-launch&#34;&gt;Tercera etapa: Launch
&lt;/h2&gt;&lt;p&gt;La etapa Launch pone a prueba narrativa, distribución y velocidad de feedback.&lt;/p&gt;
&lt;p&gt;Muchos equipos startup subestiman la complejidad de un lanzamiento: copy del sitio web, demos de producto, correos, contenido para redes sociales, entrevistas con usuarios, guiones de venta, actualizaciones para inversores. Cada pieza debe explicar claramente por qué este producto es necesario ahora.&lt;/p&gt;
&lt;p&gt;Claude puede actuar aquí como un colaborador de alta frecuencia: generar variantes de posicionamiento, reescribir introducciones para distintos grupos de usuarios, simular preguntas de usuarios, ordenar el ritmo de lanzamiento y convertir feedback temprano en la siguiente ronda de acciones de producto y mercado.&lt;/p&gt;
&lt;h2 id=&#34;cuarta-etapa-scale&#34;&gt;Cuarta etapa: Scale
&lt;/h2&gt;&lt;p&gt;La etapa Scale cambia el foco de &amp;ldquo;construirlo&amp;rdquo; a &amp;ldquo;crecer de forma repetible&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Cuando una empresa empieza a tener usuarios e ingresos estables, el equipo fundador se ve arrastrado por operaciones, ventas, soporte, análisis de datos y coordinación interna. Capacidades tipo agente como Claude Cowork encajan mejor con tareas más completas: hacer investigación de mercado, diseñar campañas, organizar una estrategia de fundraising, resumir métricas de crecimiento o convertir un proceso operativo en pasos repetibles.&lt;/p&gt;
&lt;p&gt;Aquí también empieza a verse la diferencia entre empresas AI-native y compañías de software tradicionales. El cambio real no es solo que los empleados usen herramientas de IA. Es que los procesos de la empresa se diseñan desde el inicio alrededor de la colaboración con IA: qué tareas requieren que humanos definan estándares, cuáles debe ejecutar primero la IA, qué resultados deben revisarse y qué flujos pueden convertirse en plantillas reutilizables.&lt;/p&gt;
&lt;h2 id=&#34;para-qué-sirven-claude-code-claude-cowork-y-chat&#34;&gt;Para qué sirven Claude Code, Claude Cowork y Chat
&lt;/h2&gt;&lt;p&gt;Según la publicación oficial, Anthropic quiere que los fundadores piensen en Claude en tres tipos de uso.&lt;/p&gt;
&lt;p&gt;Claude Code está más orientado a ingeniería. Sirve para escribir código, generar scripts, analizar casos límite, producir especificaciones de componentes y redactar documentación técnica. Ayuda a convertir ideas en algo que pueda ejecutarse.&lt;/p&gt;
&lt;p&gt;Claude Cowork se parece más a un agente de trabajo delegable. Encaja con tareas que requieren ejecución continua, como investigación de mercado, diseño de campañas, estrategia de fundraising y análisis operativo. Ayuda a avanzar una primera ronda de una tarea de negocio relativamente completa.&lt;/p&gt;
&lt;p&gt;Claude Chat encaja mejor en momentos de juicio del fundador: pensar una estrategia go-to-market, poner a prueba el posicionamiento del producto, comparar prioridades de roadmap y pulir narrativas clave. No es una máquina de ejecución, sino un compañero de pensamiento para iterar rápido.&lt;/p&gt;
&lt;h2 id=&#34;qué-es-realmente-útil-para-los-equipos-startup&#34;&gt;Qué es realmente útil para los equipos startup
&lt;/h2&gt;&lt;p&gt;El valor de este playbook no está en decirles a los fundadores que &amp;ldquo;la IA es importante&amp;rdquo;. Eso ya no es nuevo.&lt;/p&gt;
&lt;p&gt;Su aporte más útil es mover el uso de IA desde llamadas sueltas a herramientas hacia una metodología de construcción de empresa. Cada etapa tiene cuellos de botella distintos, y cada cuello de botella puede dividirse en partes donde la IA puede participar.&lt;/p&gt;
&lt;p&gt;En la etapa Idea, la IA amplía el espacio de búsqueda. En MVP, comprime el ciclo de implementación. En Launch, acelera la expresión y los experimentos de distribución. En Scale, ayuda a convertir procesos en flujos repetibles.&lt;/p&gt;
&lt;p&gt;Esta lógica es especialmente importante para equipos pequeños. Un equipo pequeño no tiene suficientes personas para cubrir todas las funciones, pero puede usar IA para crear una primera versión de una capacidad, y luego concentrar la energía humana limitada en las partes que más requieren juicio y construcción de relaciones.&lt;/p&gt;
&lt;h2 id=&#34;errores-que-conviene-evitar&#34;&gt;Errores que conviene evitar
&lt;/h2&gt;&lt;p&gt;El primer error es tratar la salida generada por IA como una conclusión. Investigación de mercado, análisis de competidores, personas de usuario y estrategias de crecimiento deben validarse con datos reales y feedback de usuarios.&lt;/p&gt;
&lt;p&gt;El segundo error es subestimar el costo de revisión. La IA puede reducir mucho el costo del primer borrador, pero calidad de código, riesgo legal, expresión de marca, promesas comerciales y seguridad siguen requiriendo responsabilidad humana.&lt;/p&gt;
&lt;p&gt;El tercer error es automatizar demasiado pronto. Un proceso que todavía no funciona manualmente no debería entregarse a un agent para ejecución automática. Un enfoque más estable es dejar que la IA participe en una parte pequeña del flujo, observar la calidad del resultado y luego ampliar gradualmente el alcance.&lt;/p&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;La señal de The Founder’s Playbook de Anthropic es clara: la ventaja de una startup AI-native no es solo saber usar IA para escribir código. Es incorporar la IA desde el primer día como una capa de colaboración en producto, ingeniería, marketing, ventas y operaciones.&lt;/p&gt;
&lt;p&gt;Para los fundadores, el punto de partida más práctico no es construir un gran flujo de trabajo de IA. Es elegir una tarea que consuma demasiado tiempo, se repita demasiado y frene más el avance, y dejar que Claude produzca la primera versión. La competitividad real viene del control humano sobre dirección, calidad y confianza, y de si el equipo puede integrar este patrón de colaboración en el trabajo diario.&lt;/p&gt;
&lt;h2 id=&#34;referencias&#34;&gt;Referencias
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://claude.com/blog/the-founders-playbook&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;The founder’s playbook for the age of AI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Qué es Vercel AI SDK: un toolkit unificado para desarrolladores TypeScript que crean apps de IA</title>
        <link>https://knightli.com/es/2026/05/17/vercel-ai-sdk-typescript-agent-toolkit/</link>
        <pubDate>Sun, 17 May 2026 23:07:38 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/17/vercel-ai-sdk-typescript-agent-toolkit/</guid>
        <description>&lt;p&gt;&lt;code&gt;vercel/ai&lt;/code&gt; es el AI SDK open source mantenido por Vercel.&lt;/p&gt;
&lt;p&gt;Su posicionamiento es claro: ofrece a los desarrolladores TypeScript un conjunto de herramientas unificado para crear aplicaciones de IA y AI Agents. Viene del equipo detrás de Next.js, pero no se limita a Next.js. También soporta React, Svelte, Vue, Angular y runtimes como Node.js.&lt;/p&gt;
&lt;p&gt;Repositorio del proyecto: &lt;a class=&#34;link&#34; href=&#34;https://github.com/vercel/ai&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/vercel/ai&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Si estás creando una app de chat, una herramienta de escritura con IA, una aplicación RAG, un Agent con tool calling, una interfaz con salida en streaming, o un producto que debe conectar varios proveedores de modelos en la misma aplicación, Vercel AI SDK merece atención.&lt;/p&gt;
&lt;h2 id=&#34;el-problema-central-que-resuelve&#34;&gt;El problema central que resuelve
&lt;/h2&gt;&lt;p&gt;Hoy, al crear aplicaciones de IA, uno de los mayores problemas no es &amp;ldquo;si se puede llamar a un modelo&amp;rdquo;, sino que cada proveedor tiene APIs, formatos de streaming, convenciones de tool calling, manejo de errores y necesidades de estado en frontend distintas.&lt;/p&gt;
&lt;p&gt;Por ejemplo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;OpenAI tiene su propio SDK y formatos de respuesta.&lt;/li&gt;
&lt;li&gt;Anthropic tiene su propia estructura de mensajes.&lt;/li&gt;
&lt;li&gt;Google, xAI, Mistral, DeepSeek, Groq y otros también difieren.&lt;/li&gt;
&lt;li&gt;La salida en streaming requiere manejar chunks.&lt;/li&gt;
&lt;li&gt;El tool calling requiere procesar solicitudes estructuradas iniciadas por el modelo.&lt;/li&gt;
&lt;li&gt;La UI de chat también debe gestionar mensajes, estados de carga, cancelación, reintentos y errores.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si escribes un adaptador manual para cada proveedor, el proyecto se vuelve complejo muy rápido.&lt;/p&gt;
&lt;p&gt;La idea de Vercel AI SDK es reunir esas diferencias detrás de una API unificada. El desarrollador escribe la aplicación contra una sola interfaz y conecta distintos modelos mediante Providers.&lt;/p&gt;
&lt;h2 id=&#34;arquitectura-unificada-de-providers&#34;&gt;Arquitectura unificada de Providers
&lt;/h2&gt;&lt;p&gt;Una característica clave de Vercel AI SDK es que es provider-agnostic, es decir, no está atado a un único proveedor de modelos.&lt;/p&gt;
&lt;p&gt;Puede acceder a OpenAI, Anthropic, Google y otros proveedores mediante una API unificada. El README del proyecto también indica que AI SDK usa Vercel AI Gateway de forma predeterminada, lo que facilita acceder a varios providers principales.&lt;/p&gt;
&lt;p&gt;Esto es útil en proyectos reales.&lt;/p&gt;
&lt;p&gt;Muchos productos de IA terminan usando más de un modelo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Algunas tareas necesitan modelos de razonamiento fuerte.&lt;/li&gt;
&lt;li&gt;Algunas tareas necesitan modelos rápidos y baratos.&lt;/li&gt;
&lt;li&gt;Algunas tareas requieren multimodalidad.&lt;/li&gt;
&lt;li&gt;Algunas tareas requieren contexto largo.&lt;/li&gt;
&lt;li&gt;Algunas tareas necesitan modelos locales o privados.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Una arquitectura unificada de Providers facilita el cambio de modelo, las pruebas graduales, el control de costos y las estrategias de fallback.&lt;/p&gt;
&lt;h2 id=&#34;el-streaming-es-clave-para-la-experiencia-frontend&#34;&gt;El streaming es clave para la experiencia frontend
&lt;/h2&gt;&lt;p&gt;Una gran diferencia entre las apps de IA y las APIs tradicionales es que las respuestas pueden ser largas.&lt;/p&gt;
&lt;p&gt;Si el usuario debe esperar a que vuelva toda la respuesta, las herramientas de chat, escritura y programación se sienten lentas. La salida en streaming permite mostrar texto de forma progresiva, para que el usuario vea avance antes.&lt;/p&gt;
&lt;p&gt;Vercel AI SDK encapsula bastante bien la generación en streaming. El desarrollador no necesita manejar desde cero eventos de bajo nivel, sino usar las APIs de generación y streaming del SDK para conectar la salida del modelo con la UI.&lt;/p&gt;
&lt;p&gt;Esto resulta especialmente cómodo en aplicaciones Next.js / React.&lt;/p&gt;
&lt;p&gt;Una interfaz de chat con IA parece simple, pero en realidad debe manejar:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Lista de mensajes.&lt;/li&gt;
&lt;li&gt;Entrada del usuario.&lt;/li&gt;
&lt;li&gt;Solicitudes al servidor.&lt;/li&gt;
&lt;li&gt;Visualización de tokens en streaming.&lt;/li&gt;
&lt;li&gt;Estado de carga.&lt;/li&gt;
&lt;li&gt;Estado de error.&lt;/li&gt;
&lt;li&gt;Cancelación de generación.&lt;/li&gt;
&lt;li&gt;Regeneración.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Estas son las tareas repetitivas que AI SDK intenta reducir.&lt;/p&gt;
&lt;h2 id=&#34;tool-calling-y-escenarios-de-agent&#34;&gt;Tool calling y escenarios de Agent
&lt;/h2&gt;&lt;p&gt;A medida que las aplicaciones de IA pasan de &amp;ldquo;chatear&amp;rdquo; a &amp;ldquo;hacer cosas&amp;rdquo;, el tool calling se vuelve cada vez más importante.&lt;/p&gt;
&lt;p&gt;El modelo no solo devuelve lenguaje natural; también puede necesitar llamar funciones externas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Consultar una base de datos.&lt;/li&gt;
&lt;li&gt;Buscar documentos.&lt;/li&gt;
&lt;li&gt;Llamar APIs de negocio.&lt;/li&gt;
&lt;li&gt;Leer el estado de un pedido.&lt;/li&gt;
&lt;li&gt;Generar gráficos.&lt;/li&gt;
&lt;li&gt;Crear eventos de calendario.&lt;/li&gt;
&lt;li&gt;Modificar archivos de proyecto.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Vercel AI SDK soporta capacidades de tool calling, para que el desarrollador defina herramientas, parámetros y lógica de ejecución, y el modelo pueda solicitar esas herramientas cuando corresponda.&lt;/p&gt;
&lt;p&gt;Esta es una de las razones por las que pasó de ser un &amp;ldquo;SDK de UI de chat&amp;rdquo; a un toolkit más amplio para aplicaciones de IA y Agents.&lt;/p&gt;
&lt;p&gt;Pero añadir tool calling no lo resuelve todo. En proyectos reales también hay que considerar:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Validación de parámetros.&lt;/li&gt;
&lt;li&gt;Límites de permisos.&lt;/li&gt;
&lt;li&gt;Logs de llamadas a herramientas.&lt;/li&gt;
&lt;li&gt;Idempotencia.&lt;/li&gt;
&lt;li&gt;Timeouts y reintentos.&lt;/li&gt;
&lt;li&gt;Confirmación humana.&lt;/li&gt;
&lt;li&gt;Restricciones para acciones sensibles.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;AI SDK puede ayudar con interfaces y flujo, pero los límites de seguridad los debe diseñar el desarrollador.&lt;/p&gt;
&lt;h2 id=&#34;integración-de-ui&#34;&gt;Integración de UI
&lt;/h2&gt;&lt;p&gt;Vercel AI SDK es amigable con frameworks frontend.&lt;/p&gt;
&lt;p&gt;No solo ofrece APIs centrales de generación; también abstrae chat, completions, estado de mensajes y UI en streaming. Para equipos que usan Next.js y React, esto puede reducir mucho código repetitivo.&lt;/p&gt;
&lt;p&gt;Pero no sirve únicamente para despliegues en Vercel.&lt;/p&gt;
&lt;p&gt;Si tu proyecto usa TypeScript, o tu backend corre en Node.js, AI SDK puede funcionar como capa de llamada a modelos y procesamiento de streaming. Desplegar o no en Vercel depende de la arquitectura, hábitos del equipo e infraestructura.&lt;/p&gt;
&lt;h2 id=&#34;skill-for-coding-agents&#34;&gt;Skill for Coding Agents
&lt;/h2&gt;&lt;p&gt;El README de &lt;code&gt;vercel/ai&lt;/code&gt; incluye una sugerencia interesante: si usas coding agents como Claude Code o Cursor, puedes añadir el skill de AI SDK al repositorio.&lt;/p&gt;
&lt;p&gt;El comando de ejemplo es:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npx skills add vercel/ai
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Esto muestra que Vercel entiende que los usuarios de AI SDK no son solo desarrolladores humanos, sino también coding agents.&lt;/p&gt;
&lt;p&gt;Cuando un agent modifica un proyecto que usa AI SDK, un skill dedicado en el repositorio puede ayudarle a entender convenciones del SDK, APIs frecuentes, estructura del proyecto y buenas prácticas, reduciendo la probabilidad de cambios desordenados.&lt;/p&gt;
&lt;p&gt;Esta dirección merece seguimiento.&lt;/p&gt;
&lt;p&gt;En el futuro, los proyectos open source quizá no solo ofrezcan README y documentación, sino también instrucciones estructuradas para AI coding agents. En SDKs complejos, eso puede convertirse en una nueva puerta de entrada a la experiencia de desarrollo.&lt;/p&gt;
&lt;h2 id=&#34;proyectos-para-los-que-encaja&#34;&gt;Proyectos para los que encaja
&lt;/h2&gt;&lt;p&gt;Vercel AI SDK encaja en estos escenarios:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Apps de chat con IA basadas en Next.js / React.&lt;/li&gt;
&lt;li&gt;Herramientas de escritura, preguntas y respuestas, soporte y asistentes de código que necesitan streaming.&lt;/li&gt;
&lt;li&gt;Productos de IA que deben conectar varios model providers.&lt;/li&gt;
&lt;li&gt;Equipos que quieren crear prototipos RAG o de preguntas sobre documentos rápidamente.&lt;/li&gt;
&lt;li&gt;Apps que necesitan tool calling, function calling o capacidades ligeras de Agent.&lt;/li&gt;
&lt;li&gt;Equipos que ya usan TypeScript / Node.js.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Es especialmente útil para desarrolladores frontend y full-stack. En muchas apps de IA, la dificultad no es solo llamar al modelo, sino convertir la salida del modelo en una experiencia estable, fluida e interactiva.&lt;/p&gt;
&lt;h2 id=&#34;para-qué-no-encaja-tanto&#34;&gt;Para qué no encaja tanto
&lt;/h2&gt;&lt;p&gt;Si tu proyecto es principalmente un backend Python, entrenamiento de deep learning, fine-tuning de modelos o servicio de inferencia de bajo nivel, Vercel AI SDK quizá no sea la herramienta central.&lt;/p&gt;
&lt;p&gt;Está más cerca de la capa de aplicación que de un framework de entrenamiento.&lt;/p&gt;
&lt;p&gt;Si necesitas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Entrenar tu propio modelo.&lt;/li&gt;
&lt;li&gt;Gestionar clusters de inferencia con GPU.&lt;/li&gt;
&lt;li&gt;Hacer batch inference de bajo nivel.&lt;/li&gt;
&lt;li&gt;Controlar profundamente tokenizer, KV cache, cuantización y motores de inferencia.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Conviene mirar PyTorch, vLLM, SGLang, TensorRT-LLM, llama.cpp o servicios cloud de inferencia.&lt;/p&gt;
&lt;p&gt;Vercel AI SDK se parece más a la capa que conecta capacidades de modelos con productos.&lt;/p&gt;
&lt;h2 id=&#34;qué-tener-en-cuenta-al-usarlo&#34;&gt;Qué tener en cuenta al usarlo
&lt;/h2&gt;&lt;p&gt;Primero, no interpretes una API unificada como ausencia total de diferencias.&lt;/p&gt;
&lt;p&gt;Los distintos model providers siguen variando en capacidades, longitud de contexto, formatos de tool calling, detalles de streaming, tipos de error y precios. Un SDK unificado reduce fricción de ingeniería, pero no elimina las diferencias entre modelos.&lt;/p&gt;
&lt;p&gt;Segundo, controla costos.&lt;/p&gt;
&lt;p&gt;Cuando una app de IA sale a producción, el chat en streaming, los reintentos, tool calls, recuperación RAG y fallbacks multi-modelo pueden aumentar costos. Hace falta rate limiting, caché, logs y monitoreo de presupuesto.&lt;/p&gt;
&lt;p&gt;Tercero, diseña límites de seguridad.&lt;/p&gt;
&lt;p&gt;Si el modelo puede llamar herramientas, debes limitar qué pueden hacer esas herramientas. No dejes que el modelo ejecute directamente acciones de alto riesgo, ni expongas secretos, permisos de escritura en bases de datos u operaciones de producción sin controles.&lt;/p&gt;
&lt;p&gt;Cuarto, conserva observabilidad.&lt;/p&gt;
&lt;p&gt;Cuando una app de IA falla, no basta con mirar el error del frontend. Necesitas saber entrada del usuario, modelo elegido, llamadas a herramientas, tiempo de respuesta, consumo de tokens, tipo de error y salida final.&lt;/p&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;vercel/ai&lt;/code&gt; no es un modelo nuevo, ni solo un componente de chat.&lt;/p&gt;
&lt;p&gt;Se parece más a infraestructura para desarrollar aplicaciones de IA con TypeScript: Providers unificados, salida en streaming, tool calling, gestión de estado frontend y escenarios de Agent dentro de un SDK open source.&lt;/p&gt;
&lt;p&gt;Para equipos que ya usan Next.js, React, TypeScript y Node.js, puede reducir mucho el costo de ingeniería entre &amp;ldquo;la API del modelo funciona&amp;rdquo; y &amp;ldquo;la experiencia de producto es usable&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Pero no es una capa universal. La elección de modelos, permisos, control de costos, logs, monitoreo y seguridad de negocio siguen siendo responsabilidad del desarrollador.&lt;/p&gt;
&lt;p&gt;Si quieres crear aplicaciones de IA, no entrenar modelos, Vercel AI SDK es un toolkit que vale la pena probar temprano.&lt;/p&gt;
&lt;h2 id=&#34;referencias&#34;&gt;Referencias
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/vercel/ai&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Repositorio GitHub de vercel/ai&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://ai-sdk.dev/docs/introduction&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;AI SDK Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://vercel.com/blog/introducing-the-vercel-ai-sdk/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Vercel: Introducing the Vercel AI SDK&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Actualización de Midjourney de mayo de 2026: modo conversacional, desarrollo asistido por IA y organización de SREF</title>
        <link>https://knightli.com/es/2026/05/17/midjourney-2026-05-office-hours-conversational-mode/</link>
        <pubDate>Sun, 17 May 2026 20:20:51 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/17/midjourney-2026-05-office-hours-conversational-mode/</guid>
        <description>&lt;p&gt;Lo más importante del Office Hours de Midjourney del 14 de mayo de 2026 no es un parámetro de modelo aislado. Es que el producto sigue moviéndose desde &amp;ldquo;escribir un prompt y generar una imagen&amp;rdquo; hacia un sistema creativo más conversacional, organizado e iterativo.&lt;/p&gt;
&lt;p&gt;La información viene de un resumen japonés de una sesión reciente de preguntas y respuestas del equipo de Midjourney. Cubre modo conversacional, desarrollo asistido por IA, rediseño del sitio web, organización de SREF y etiquetas, Omni-reference, consistencia de múltiples personajes y cómo el propio equipo usa Midjourney.&lt;/p&gt;
&lt;p&gt;En una frase: Midjourney intenta que la generación de imágenes se parezca más a un sistema creativo con el que se puede conversar, ordenar e iterar.&lt;/p&gt;
&lt;h2 id=&#34;el-modo-conversacional-gana-importancia&#34;&gt;El modo conversacional gana importancia
&lt;/h2&gt;&lt;p&gt;El cambio más directo es Conversational Mode, el modo conversacional.&lt;/p&gt;
&lt;p&gt;Hasta ahora, usar Midjourney seguía dependiendo mucho de parámetros y sintaxis fija. Había que recordar reglas de relación de aspecto, referencias de imagen, referencias de estilo, parámetros del modelo y escribirlas en el prompt o ajustarlas en la interfaz.&lt;/p&gt;
&lt;p&gt;La dirección del nuevo modo conversacional es permitir que los usuarios describan esas configuraciones en lenguaje más natural.&lt;/p&gt;
&lt;p&gt;Por ejemplo, mediante voz o texto se podrán especificar:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Parámetros predeterminados.&lt;/li&gt;
&lt;li&gt;Relación de aspecto, como &lt;code&gt;16:9&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Referencias de imagen.&lt;/li&gt;
&lt;li&gt;Referencias de estilo, es decir, &lt;code&gt;--sref&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Omni-reference en V7.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto muestra que Midjourney no solo quiere mejorar la calidad de generación. También quiere reducir el coste operativo de manejar parámetros.&lt;/p&gt;
&lt;p&gt;Para usuarios ocasionales, el mayor cambio es no tener que memorizar comandos todo el tiempo. Para usuarios intensivos, si el modo conversacional se vuelve suficientemente estable, puede convertirse en una entrada principal para ajustar configuraciones de generación con lenguaje natural.&lt;/p&gt;
&lt;h2 id=&#34;el-desarrollo-asistido-por-ia-cambia-la-velocidad-de-iteración-de-midjourney&#34;&gt;El desarrollo asistido por IA cambia la velocidad de iteración de Midjourney
&lt;/h2&gt;&lt;p&gt;Otro punto interesante es que el propio equipo de Midjourney está usando desarrollo asistido por IA a gran escala.&lt;/p&gt;
&lt;p&gt;El texto original menciona que ahora pueden corregir pequeños bugs, fricciones de interfaz y problemas de workflow mucho más rápido. Incluso hubo un ejemplo en el que se identificó un bug durante una llamada con usuarios, se corrigió en tiempo real con ayuda de IA, se revisó y se desplegó rápidamente.&lt;/p&gt;
&lt;p&gt;Esto es más interesante que decir simplemente &amp;ldquo;la IA ayuda a los ingenieros a escribir código&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Muestra que las herramientas de desarrollo con IA empiezan a influir en la forma en que los propios productos de IA iteran:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;El feedback de usuarios puede entrar antes en el flujo de corrección.&lt;/li&gt;
&lt;li&gt;Los problemas pequeños de experiencia son más fáciles de resolver.&lt;/li&gt;
&lt;li&gt;Los ingenieros pueden dedicar más energía a arquitectura, review, decisiones de diseño y pruebas.&lt;/li&gt;
&lt;li&gt;Los equipos de producto pueden limpiar edge cases con más frecuencia.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Un producto como Midjourney tiene muchas rutas creativas, combinaciones de parámetros, experiencia móvil, búsqueda y flujos de organización. Muchos problemas no son que el modelo central no pueda generar, sino que una entrada es incómoda, una operación tiene un paso de más o un estado límite se siente mal.&lt;/p&gt;
&lt;p&gt;El desarrollo asistido por IA encaja especialmente bien para acelerar muchas mejoras pequeñas de este tipo.&lt;/p&gt;
&lt;h2 id=&#34;el-rediseño-del-sitio-trata-de-workflow-no-de-recortar-funciones&#34;&gt;El rediseño del sitio trata de workflow, no de recortar funciones
&lt;/h2&gt;&lt;p&gt;En el Office Hours también se mencionó que el sitio de Midjourney está pasando por un rediseño importante.&lt;/p&gt;
&lt;p&gt;El objetivo no es eliminar funciones complejas, sino hacer el flujo creativo más intuitivo, facilitar el onboarding y organizar mejor herramientas y funciones.&lt;/p&gt;
&lt;p&gt;Esto es clave.&lt;/p&gt;
&lt;p&gt;El problema de Midjourney no es que tenga pocas funciones. Cuando las funciones crecen, entradas, colecciones, organización, referencias, exploración y reutilización se vuelven más complejas. Para usuarios ligeros, la dificultad es &amp;ldquo;por dónde empiezo&amp;rdquo;. Para usuarios intensivos, es &amp;ldquo;cómo gestiono muchos estilos, referencias y resultados experimentales&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Las posibles estrategias de despliegue incluyen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ofrecer interfaces antigua y nueva en paralelo.&lt;/li&gt;
&lt;li&gt;Empezar con una fase alpha.&lt;/li&gt;
&lt;li&gt;Migrar por etapas para evitar afectar a usuarios intensivos.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Estas estrategias muestran que el equipo entiende que Midjourney no es un simple juguete de generación de imágenes. Muchos usuarios ya lo han incorporado a flujos creativos reales, así que un cambio de interfaz no puede romper hábitos existentes sin cuidado.&lt;/p&gt;
&lt;h2 id=&#34;sref-estilos-y-etiquetas-siguen-siendo-puntos-de-dolor&#34;&gt;SREF, estilos y etiquetas siguen siendo puntos de dolor
&lt;/h2&gt;&lt;p&gt;SREF y la organización de estilos fueron una de las partes más interesantes de la sesión.&lt;/p&gt;
&lt;p&gt;Los usuarios quieren mejores sistemas de organización, especialmente para:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SREF aleatorios.&lt;/li&gt;
&lt;li&gt;Referencias de estilo.&lt;/li&gt;
&lt;li&gt;Estéticas guardadas.&lt;/li&gt;
&lt;li&gt;Etiquetas y etiquetas de color.&lt;/li&gt;
&lt;li&gt;Más capacidad de filtrar, agrupar y reutilizar.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pero el equipo también planteó una pregunta: si el sistema actual de carpetas ya permite que una imagen pertenezca a varias carpetas, soporta carpetas ilimitadas y permite filtrar y ordenar, ¿qué aportan exactamente las etiquetas que las carpetas no puedan resolver?&lt;/p&gt;
&lt;p&gt;La pregunta es práctica.&lt;/p&gt;
&lt;p&gt;Muchos productos añaden etiquetas porque los usuarios dicen que quieren etiquetas. Pero si el sistema de etiquetas está mal diseñado, se convierte en otra capa de clasificación caótica. Si carpetas, etiquetas, favoritos, búsqueda, filtros, proyectos y bibliotecas de estilo no tienen límites claros, el usuario termina gestionando peor.&lt;/p&gt;
&lt;p&gt;Por eso el equipo de Midjourney quiere ejemplos concretos de workflow: ¿en qué escenario necesitan etiquetas los usuarios? ¿Por qué no bastan las carpetas? ¿Es para combinar estilos rápidamente, reutilizar entre proyectos, filtrar por tema, tono de color, estilo fotográfico o relación entre personajes?&lt;/p&gt;
&lt;p&gt;Para Midjourney, el sistema de organización puede volverse tan importante como el modelo de generación. Cuando los usuarios trabajan a largo plazo, lo difícil no es generar una imagen, sino gestionar miles de imágenes, cientos de direcciones de estilo y resultados de experimentos repetidos.&lt;/p&gt;
&lt;h2 id=&#34;omni-reference-apunta-a-un-control-de-personajes-más-complejo&#34;&gt;Omni-reference apunta a un control de personajes más complejo
&lt;/h2&gt;&lt;p&gt;El texto también menciona que los futuros sistemas Omni-reference / subject reference podrían permitir múltiples referencias de personajes al mismo tiempo y una mejor separación entre sujetos.&lt;/p&gt;
&lt;p&gt;Esto corresponde a un problema persistente de la generación de imágenes con IA: consistencia de personajes y relaciones entre varios personajes.&lt;/p&gt;
&lt;p&gt;Mantener un solo personaje consistente ya es difícil. Varios personajes lo son más. Problemas comunes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Rasgos del personaje A pasan al personaje B.&lt;/li&gt;
&lt;li&gt;Identidades mezcladas entre varias personas.&lt;/li&gt;
&lt;li&gt;Ropa, peinado y rasgos faciales cambian entre imágenes.&lt;/li&gt;
&lt;li&gt;La imagen de referencia afecta demasiado al estilo completo en vez de controlar solo el sujeto.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si Omni-reference puede manejar mejor la separación de sujetos, Midjourney será más útil para cómics, storyboards, visuales publicitarios, diseño de personajes, concept art de juegos y narrativas continuas.&lt;/p&gt;
&lt;p&gt;Esta es una dirección que merece seguimiento después de V7.&lt;/p&gt;
&lt;h2 id=&#34;midjourney-está-reinterpretando-el-prompt&#34;&gt;Midjourney está reinterpretando el prompt
&lt;/h2&gt;&lt;p&gt;El resumen también incluye una idea interesante: el lenguaje es una capa imperfecta de compresión de la imaginación.&lt;/p&gt;
&lt;p&gt;Esa frase explica bien la dirección de producto de Midjourney.&lt;/p&gt;
&lt;p&gt;Muchos usuarios creen que el núcleo de la generación de imágenes con IA es escribir prompts más largos y precisos. Pero en el trabajo creativo real, referencias de imagen, referencias de estilo, moodboards, SREF, variaciones, regeneración y postproducción suelen ser más útiles que un prompt muy largo.&lt;/p&gt;
&lt;p&gt;El workflow de Duncan, miembro del equipo de Midjourney, refleja esto. Usa Midjourney como un sketchbook, combinando moodboards, SREF, poco texto, regeneración alta con &lt;code&gt;--r&lt;/code&gt;, variaciones fuertes y sutiles, retoque en Photoshop y flujos externos de upscaling.&lt;/p&gt;
&lt;p&gt;Esto muestra que los usuarios maduros de Midjourney no trabajan solo con &amp;ldquo;prompts mágicos&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Un proceso más realista sería:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Usar poco lenguaje para marcar dirección.&lt;/li&gt;
&lt;li&gt;Usar referencias de imagen para dar contexto visual.&lt;/li&gt;
&lt;li&gt;Usar SREF para acotar estilo.&lt;/li&gt;
&lt;li&gt;Usar muchas variaciones para explorar el espacio.&lt;/li&gt;
&lt;li&gt;Usar criterio humano para seleccionar resultados.&lt;/li&gt;
&lt;li&gt;Usar herramientas externas para postproducción.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;El prompt sigue importando, pero no lo es todo.&lt;/p&gt;
&lt;h2 id=&#34;qué-significa-para-los-usuarios&#34;&gt;Qué significa para los usuarios
&lt;/h2&gt;&lt;p&gt;Si solo generas imágenes ocasionalmente, el efecto más directo será que el modo conversacional debería ser más fácil de usar. En el futuro podrás expresar proporción, referencias, estilo y parámetros de forma más natural, sin memorizar tantos comandos.&lt;/p&gt;
&lt;p&gt;Si eres usuario intensivo, hay tres áreas que conviene vigilar.&lt;/p&gt;
&lt;p&gt;Primero, la organización.&lt;/p&gt;
&lt;p&gt;La evolución de SREF, estilos, carpetas, favoritos y etiquetas afectará directamente la eficiencia creativa a largo plazo.&lt;/p&gt;
&lt;p&gt;Segundo, el rediseño web.&lt;/p&gt;
&lt;p&gt;Si la nueva interfaz conecta exploración, organización, reutilización y exportación, Midjourney se parecerá más a una herramienta creativa profesional que a un generador aislado.&lt;/p&gt;
&lt;p&gt;Tercero, referencias de personajes y sujetos.&lt;/p&gt;
&lt;p&gt;Si Omni-reference maneja de forma estable múltiples personajes y separación de sujetos, Midjourney será más adecuado para proyectos continuos, no solo para imágenes sueltas.&lt;/p&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;El punto central del Office Hours de Midjourney de mayo de 2026 no es un parámetro llamativo, sino que el producto sigue evolucionando hacia un sistema creativo.&lt;/p&gt;
&lt;p&gt;El modo conversacional reduce la barrera de entrada. El desarrollo asistido por IA acelera la iteración. El rediseño web intenta reorganizar workflows. La discusión sobre SREF y etiquetas apunta a gestión de activos a largo plazo. Omni-reference se relaciona con consistencia de personajes y control de sujetos complejos.&lt;/p&gt;
&lt;p&gt;Para las herramientas de generación de imágenes con IA, la capacidad del modelo importa, por supuesto. Pero cuando la calidad de generación alcanza cierto nivel, lo que decide si los usuarios se quedan a largo plazo suele ser workflow, organización, controlabilidad y velocidad de iteración.&lt;/p&gt;
&lt;p&gt;Midjourney está completando esas piezas.&lt;/p&gt;
&lt;h2 id=&#34;referencias&#34;&gt;Referencias
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://note.com/akisuke0925/n/nc9e099d9c77f&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Midjourney 最新ニュース（2026年5月14 日）｜アキスケ&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Cómo ve el desarrollo de software con IA Peter Steinberger, creador de OpenClaw: de OpenClaw a la programación en bucle cerrado</title>
        <link>https://knightli.com/es/2026/05/17/peter-steinberger-ai-software-development/</link>
        <pubDate>Sun, 17 May 2026 20:02:26 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/17/peter-steinberger-ai-software-development/</guid>
        <description>&lt;p&gt;La trayectoria de Peter Steinberger sirve para observar qué está cambiando en el desarrollo de software con IA.&lt;/p&gt;
&lt;p&gt;No es un recién llegado que se hizo visible de repente gracias a la IA. Antes de OpenClaw, ya era fundador de PSPDFKit, una empresa dedicada a renderizado PDF, procesamiento de documentos y herramientas para desarrolladores. Este tipo de producto no gana solo con narrativa: debe resolver rendimiento, compatibilidad, diseño de API, clientes empresariales y mantenimiento a largo plazo.&lt;/p&gt;
&lt;p&gt;Por eso, cuando Steinberger construyó OpenClaw con herramientas de IA y empezó a hablar de AI Agent, automatización personal y AI coding, lo importante no fue solo que &amp;ldquo;una persona escribió mucho código&amp;rdquo;. Lo más interesante es cómo combinó años de experiencia en ingeniería de software con una nueva generación de AI coding agents para reinterpretar el proceso de desarrollo.&lt;/p&gt;
&lt;h2 id=&#34;ai-coding-no-es-un-botón-mágico&#34;&gt;AI coding no es un botón mágico
&lt;/h2&gt;&lt;p&gt;Muchas discusiones sobre AI coding se reducen a dos extremos.&lt;/p&gt;
&lt;p&gt;Uno dice que la IA ya puede escribir código y que los programadores pronto no serán necesarios.&lt;/p&gt;
&lt;p&gt;El otro dice que el código generado por IA no es fiable y que la ingeniería real debe seguir escribiéndose a mano.&lt;/p&gt;
&lt;p&gt;La experiencia de Steinberger apunta a una tercera idea: la IA cambia la unidad de operación del desarrollo de software, pero no elimina el juicio de ingeniería.&lt;/p&gt;
&lt;p&gt;Antes, el trabajo del desarrollador giraba alrededor de editar código. Descomponer requisitos, decidir arquitectura, implementar, probar y corregir bugs se organizaba alrededor de cambios manuales.&lt;/p&gt;
&lt;p&gt;Cuando entran AI coding agents, el desarrollador empieza a parecerse más a alguien que gestiona un sistema de ejecución:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Explicar el objetivo.&lt;/li&gt;
&lt;li&gt;Proporcionar contexto.&lt;/li&gt;
&lt;li&gt;Definir límites.&lt;/li&gt;
&lt;li&gt;Dejar que el agent modifique código.&lt;/li&gt;
&lt;li&gt;Ejecutar pruebas y comprobaciones.&lt;/li&gt;
&lt;li&gt;Iterar según los resultados.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto no es simplemente entregar el teclado al modelo. Es pasar de &amp;ldquo;escribir cada línea a mano&amp;rdquo; a &amp;ldquo;definir dirección, diseñar feedback y juzgar resultados&amp;rdquo;.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-no-le-convence-llamarlo-vibe-coding&#34;&gt;Por qué no le convence llamarlo vibe coding
&lt;/h2&gt;&lt;p&gt;Una expresión frecuente alrededor de Steinberger es &lt;code&gt;vibe coding&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;El término nació para describir una nueva forma de desarrollo: el desarrollador describe ideas en lenguaje natural, deja que la IA genere mucho código y luego ajusta con resultados de ejecución y feedback.&lt;/p&gt;
&lt;p&gt;Pero Steinberger no está del todo de acuerdo con esa etiqueta. En cobertura pública se ha señalado que ve &lt;code&gt;vibe coding&lt;/code&gt; como una expresión que puede volverse despectiva, porque sugiere que el desarrollo asistido por IA es solo &amp;ldquo;generar por intuición&amp;rdquo; e ignora la habilidad, el juicio y la experiencia detrás.&lt;/p&gt;
&lt;p&gt;La crítica tiene sentido.&lt;/p&gt;
&lt;p&gt;El AI coding efectivo no consiste en escribir una frase casual y confiar en la salida del modelo. Requiere:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Convertir requisitos vagos en tareas ejecutables.&lt;/li&gt;
&lt;li&gt;Detectar si el modelo entendió mal el objetivo.&lt;/li&gt;
&lt;li&gt;Diseñar pruebas y criterios de aceptación.&lt;/li&gt;
&lt;li&gt;Juzgar si la estructura del código será mantenible.&lt;/li&gt;
&lt;li&gt;Saber cuándo dejar de generar y pasar a revisión humana.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En otras palabras, la IA reduce la fricción de escribir código, pero no reduce la responsabilidad de entender el sistema.&lt;/p&gt;
&lt;h2 id=&#34;la-clave-es-el-bucle&#34;&gt;La clave es el bucle
&lt;/h2&gt;&lt;p&gt;Una idea que se asocia con frecuencia a entrevistas y textos de Steinberger es el bucle.&lt;/p&gt;
&lt;p&gt;Dejar que la IA genere código es un proceso de bucle abierto.&lt;/p&gt;
&lt;p&gt;Dejar que la IA genere código, lo ejecute, lea errores, corrija problemas y vuelva a ejecutar pruebas se acerca más a un bucle cerrado.&lt;/p&gt;
&lt;p&gt;La diferencia es importante.&lt;/p&gt;
&lt;p&gt;La generación en bucle abierto crea con facilidad software que parece utilizable. La página abre, las funciones parecen existir y hay bastante código. Pero al entrar en escenarios reales aparecen problemas de estado, permisos, manejo de errores, casos límite y despliegue.&lt;/p&gt;
&lt;p&gt;El desarrollo en bucle cerrado exige que la salida esté limitada por feedback. El bucle más simple es:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Escribir claramente el objetivo.&lt;/li&gt;
&lt;li&gt;Dejar que la IA modifique el código.&lt;/li&gt;
&lt;li&gt;Ejecutar automáticamente pruebas, type checks, lint o build.&lt;/li&gt;
&lt;li&gt;Devolver los errores a la IA.&lt;/li&gt;
&lt;li&gt;Repetir hasta que pase.&lt;/li&gt;
&lt;li&gt;Hacer una revisión humana de la ruta crítica.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Ahí es donde el desarrollo de software con IA puede mejorar de verdad la eficiencia. No porque el modelo acierte a la primera, sino porque puede participar rápidamente en el ciclo de generar, validar y reparar.&lt;/p&gt;
&lt;h2 id=&#34;cuanta-más-experiencia-mejor-se-usa-la-ia&#34;&gt;Cuanta más experiencia, mejor se usa la IA
&lt;/h2&gt;&lt;p&gt;Uno de los malentendidos más comunes sobre AI coding es que la experiencia deja de importar.&lt;/p&gt;
&lt;p&gt;El caso de Steinberger sugiere lo contrario: la experiencia importa más, aunque su función cambia.&lt;/p&gt;
&lt;p&gt;Un ingeniero con experiencia juzga mejor:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Qué tareas conviene pasar a un agent.&lt;/li&gt;
&lt;li&gt;Qué módulos necesitan pruebas primero.&lt;/li&gt;
&lt;li&gt;Qué cambios son demasiado riesgosos para una refactorización amplia con IA.&lt;/li&gt;
&lt;li&gt;Qué código generado solo parece razonable.&lt;/li&gt;
&lt;li&gt;Qué problemas deberían resolverse con arquitectura y no con más parches.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La IA puede generar muchas soluciones candidatas, pero cuantas más opciones hay, más juicio se necesita. Alguien sin experiencia puede quedar impresionado porque &amp;ldquo;funciona&amp;rdquo;. Un ingeniero con experiencia pregunta: ¿se puede mantener? ¿se puede extender? ¿rompe límites de seguridad? ¿se puede depurar si falla?&lt;/p&gt;
&lt;p&gt;Por eso los AI coding agents no convierten la ingeniería de software en puro chat. Más bien externalizan una parte del trabajo de ejecución y amplifican la importancia de planificar, revisar, validar y decidir trade-offs.&lt;/p&gt;
&lt;h2 id=&#34;openclaw-importa-más-allá-del-proyecto&#34;&gt;OpenClaw importa más allá del proyecto
&lt;/h2&gt;&lt;p&gt;OpenClaw llamó la atención no solo porque es un AI agent open source, ni solo porque creció rápido.&lt;/p&gt;
&lt;p&gt;También funciona como señal: los desarrolladores empiezan a querer que la IA no solo responda preguntas, sino que se conecte a herramientas reales y ejecute acciones reales.&lt;/p&gt;
&lt;p&gt;Los chatbots tradicionales se quedan dentro de la caja de conversación. Pueden explicar código, escribir borradores y dar consejos, pero muchas veces una persona todavía debe copiar, pegar, abrir software y ejecutar comandos.&lt;/p&gt;
&lt;p&gt;La dirección de los agents es conectar modelos con herramientas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sistema de archivos.&lt;/li&gt;
&lt;li&gt;Navegador.&lt;/li&gt;
&lt;li&gt;Terminal.&lt;/li&gt;
&lt;li&gt;Email.&lt;/li&gt;
&lt;li&gt;Calendario.&lt;/li&gt;
&lt;li&gt;Servicios de terceros.&lt;/li&gt;
&lt;li&gt;Repositorios de proyecto.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Cuando los modelos pueden usar esas herramientas, cambian los límites del desarrollo de software. La IA deja de ser solo autocompletado de código y participa en lectura de proyectos, descomposición de tareas, edición de archivos, ejecución de pruebas, preparación de PR y automatización de workflows.&lt;/p&gt;
&lt;p&gt;Por eso también llamó la atención la incorporación de Steinberger a OpenAI. No representa solo una historia individual de desarrollador, sino una dirección de producto: los agents personales pasarán de demos a la capa de trabajo diaria.&lt;/p&gt;
&lt;h2 id=&#34;qué-significa-para-desarrolladores-comunes&#34;&gt;Qué significa para desarrolladores comunes
&lt;/h2&gt;&lt;p&gt;Para desarrolladores comunes, la experiencia de Steinberger no se puede copiar directamente en todos los casos.&lt;/p&gt;
&lt;p&gt;No todo el mundo puede gestionar varios agents a la vez. No todos los proyectos toleran generación intensa con IA. No todos los equipos aceptan el ritmo de &amp;ldquo;generar primero e iterar rápido&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Pero hay varias lecciones útiles.&lt;/p&gt;
&lt;p&gt;Primero, escribir tareas con claridad.&lt;/p&gt;
&lt;p&gt;La IA es sensible a objetivos vagos. Si dices &amp;ldquo;optimiza esto&amp;rdquo;, puede cambiar estilo, estructura, funciones y lógica. Si dices &amp;ldquo;cambia el mensaje de error al fallar el login de inglés a chino sin alterar el flujo de autenticación&amp;rdquo;, el resultado suele ser más controlable.&lt;/p&gt;
&lt;p&gt;Segundo, fijar comandos de validación.&lt;/p&gt;
&lt;p&gt;Si un proyecto no tiene pruebas, build ni lint, la IA tiene dificultades para formar un bucle. Incluso comandos básicos como &lt;code&gt;npm test&lt;/code&gt;, &lt;code&gt;go test ./...&lt;/code&gt;, &lt;code&gt;pytest&lt;/code&gt; o &lt;code&gt;hugo&lt;/code&gt; son mejores que revisar solo a ojo.&lt;/p&gt;
&lt;p&gt;Tercero, controlar el alcance del cambio.&lt;/p&gt;
&lt;p&gt;Pedir a la IA que trabaje en un módulo, un bug o una página cada vez suele ser más fiable que pedirle &amp;ldquo;refactoriza todo el proyecto&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Cuarto, mantener revisión humana.&lt;/p&gt;
&lt;p&gt;En autenticación, pagos, permisos, eliminación de datos, scripts de despliegue, migraciones de base de datos y configuración de seguridad, no bajes el estándar de revisión solo porque el código lo generó IA.&lt;/p&gt;
&lt;p&gt;Quinto, revisar prompts y patrones de fallo.&lt;/p&gt;
&lt;p&gt;Si la IA malinterpreta a menudo cierto tipo de tarea, escribe esas restricciones en reglas del proyecto, agent instructions o archivos de skill. La capacidad de AI coding no viene solo del modelo, sino también del entorno de trabajo que construyes alrededor.&lt;/p&gt;
&lt;h2 id=&#34;hacia-dónde-va-el-desarrollo-de-software-con-ia&#34;&gt;Hacia dónde va el desarrollo de software con IA
&lt;/h2&gt;&lt;p&gt;La historia de Steinberger muestra que el desarrollo de software con IA se mueve desde &amp;ldquo;ayudar a escribir código&amp;rdquo; hacia &amp;ldquo;organizar flujos de producción de software&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Las primeras herramientas de AI coding servían sobre todo para completar funciones, explicar errores y generar plantillas. El cambio actual es que los agents pueden trabajar entre archivos, llamar herramientas, ejecutar comprobaciones y seguir corrigiendo con feedback.&lt;/p&gt;
&lt;p&gt;Esto apunta a varias tendencias.&lt;/p&gt;
&lt;p&gt;Primero, subirá el techo productivo de los desarrolladores individuales.&lt;/p&gt;
&lt;p&gt;Una persona puede avanzar más prototipos, scripts, herramientas internas y productos pequeños. Pero producir más no significa producir mejor automáticamente. Cuanto más rápido se genera, más importante es validar.&lt;/p&gt;
&lt;p&gt;Segundo, la estructura del proyecto será más importante.&lt;/p&gt;
&lt;p&gt;Cuanto más claro sea el código, más explícitas las pruebas y más completa la documentación, más fácil será que la IA haga cambios correctos. Los proyectos caóticos son difíciles para humanos y para IA.&lt;/p&gt;
&lt;p&gt;Tercero, los ingenieros de software se parecerán más a diseñadores de workflows.&lt;/p&gt;
&lt;p&gt;En el futuro no importará solo conocer un lenguaje, sino saber organizar requisitos, contexto, herramientas, pruebas, despliegue y permisos en un bucle controlable.&lt;/p&gt;
&lt;p&gt;Cuarto, los límites de seguridad serán más sensibles.&lt;/p&gt;
&lt;p&gt;Si un agent puede hacer cosas, también puede hacer cosas equivocadas. Si puede leer archivos, ejecutar comandos y acceder a servicios, permisos, auditoría y rollback se vuelven infraestructura básica del entorno de desarrollo con IA.&lt;/p&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;Lo más valioso de la visión de Peter Steinberger sobre desarrollo de software con IA no es &amp;ldquo;cuánto código generó la IA&amp;rdquo;, sino la nueva postura de desarrollo que muestra.&lt;/p&gt;
&lt;p&gt;Las personas ya no solo escriben línea por línea dentro del editor. Diseñan objetivos, gestionan agents, construyen bucles de feedback, revisan resultados y ajustan el sistema. El código sigue siendo importante, pero ya no es el único centro del trabajo.&lt;/p&gt;
&lt;p&gt;Si el desarrollo tradicional enfatizaba &amp;ldquo;escribir bien el código&amp;rdquo;, el desarrollo con IA enfatizará cada vez más &amp;ldquo;hacer que el sistema produzca resultados correctos y verificables de forma continua&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;No se trata solo de bajar la barrera de la ingeniería. Cambia la forma de la capacidad técnica: de implementación manual hacia descomposición de tareas, gestión de contexto, orquestación de herramientas, validación automática y juicio final.&lt;/p&gt;
&lt;h2 id=&#34;referencias&#34;&gt;Referencias
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://techcrunch.com/2026/02/25/openclaw-creators-advice-to-ai-builders-is-to-be-more-playful-and-allow-yourself-time-to-improve/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;TechCrunch: OpenClaw creator’s advice to AI builders&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://builtin.com/articles/openclaw-founder-to-openai-analysis&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Built In: What Is OpenAI Getting From the OpenClaw Deal?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://podwise.ai/dashboard/episodes/7026858&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;The Pragmatic Engineer: The creator of Clawd: I ship code I don&amp;rsquo;t read&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.teamday.ai/ai/steinberger-openclaw-builders-unscripted-openai&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;TeamDay: Peter Steinberger: Building OpenClaw as a Solo Dev&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Filtración de Google Gemini Spark: podría llegar un Gemini Agent online las 24 horas</title>
        <link>https://knightli.com/es/2026/05/17/google-gemini-spark-ai-agent-leak/</link>
        <pubDate>Sun, 17 May 2026 11:58:08 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/17/google-gemini-spark-ai-agent-leak/</guid>
        <description>&lt;p&gt;Google todavía no ha lanzado oficialmente &lt;code&gt;Gemini Spark&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;La información actual proviene sobre todo de interfaces internas de prueba en Gemini Web, capturas de la comunidad, reportes de TestingCatalog y resúmenes de 36Kr / Xinzhiyuan sobre filtraciones relacionadas. La lectura más consistente es que &lt;code&gt;Gemini Spark BETA&lt;/code&gt; podría ser un AI Agent always-on que Google está preparando. Su posición ya no sería solo la de un asistente de chat, sino la de un &amp;ldquo;agente de IA cotidiano&amp;rdquo; capaz de manejar correo, tareas online y flujos de varios pasos en segundo plano.&lt;/p&gt;
&lt;p&gt;Así que conviene fijar primero el límite: esto es un análisis de filtraciones, no un anuncio oficial de Google. Funciones, nombre y fecha de lanzamiento aún deben ser confirmados por Google.&lt;/p&gt;
&lt;h2 id=&#34;conclusión-rápida&#34;&gt;Conclusión rápida
&lt;/h2&gt;&lt;p&gt;Según la información expuesta hasta ahora, Gemini Spark tiene tres puntos clave:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Podría ser un Agent online las 24 horas dentro del sistema Gemini, no un modelo de chat normal.&lt;/li&gt;
&lt;li&gt;Podría usar un contexto personal más amplio, incluyendo apps de Google, historial de chats, tareas, sitios con sesión iniciada y ubicación.&lt;/li&gt;
&lt;li&gt;Sus riesgos son tan grandes como su atractivo, porque puede involucrar compartir información, datos de navegador remoto, compras y llamadas a servicios de terceros.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Si Google realmente lanza Spark, el papel de Gemini cambiará: de &amp;ldquo;IA que responde preguntas&amp;rdquo; a &amp;ldquo;IA que gestiona tareas por ti de forma continua&amp;rdquo;.&lt;/p&gt;
&lt;h2 id=&#34;qué-es-gemini-spark&#34;&gt;Qué es Gemini Spark
&lt;/h2&gt;&lt;p&gt;TestingCatalog reportó el 14 de mayo de 2026 que Google está probando &lt;code&gt;Gemini Spark BETA&lt;/code&gt; dentro de Gemini Web. El texto de bienvenida expuesto lo describe como un everyday AI agent que puede ayudar 24/7 con inbox, online tasks y más trabajo de varios pasos.&lt;/p&gt;
&lt;p&gt;El artículo de 36Kr / Xinzhiyuan también menciona que, tras descubrirse Spark, lo que se ve desde fuera es una dirección de &amp;ldquo;Agent de tiempo completo&amp;rdquo;: puede permanecer disponible todo el día, procesar la bandeja de entrada, ejecutar tareas online e incluso involucrar compras y compartición de información.&lt;/p&gt;
&lt;p&gt;Esto significa que Spark no es simplemente el nombre de un nuevo modelo. Se parece más a una actualización de la capa de producto de Gemini: sacar a Gemini de la ventana de conversación y llevarlo al correo, la web, el calendario, las tareas y los flujos entre apps del usuario.&lt;/p&gt;
&lt;h2 id=&#34;cómo-podría-funcionar&#34;&gt;Cómo podría funcionar
&lt;/h2&gt;&lt;p&gt;Según el texto de onboarding oculto divulgado por TestingCatalog, Gemini Spark obtendría contexto de varias fuentes, incluyendo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Connected Apps.&lt;/li&gt;
&lt;li&gt;skills.&lt;/li&gt;
&lt;li&gt;chats.&lt;/li&gt;
&lt;li&gt;tasks.&lt;/li&gt;
&lt;li&gt;Sitios web donde el usuario inició sesión.&lt;/li&gt;
&lt;li&gt;Personal intelligence.&lt;/li&gt;
&lt;li&gt;location.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esta información ayudaría a Spark a entender qué quiere completar el usuario y a invocar el contexto necesario durante la ejecución de tareas. El texto también menciona que, para completar algunas acciones, Gemini podría compartir información necesaria con terceros, como nombre, datos de contacto, archivos, preferencias e información que el usuario podría considerar sensible.&lt;/p&gt;
&lt;p&gt;Si estas descripciones terminan siendo correctas, Spark funcionaría más como un sistema de agente con contexto que como una herramienta de preguntas y respuestas de una sola vez. No miraría solo el prompt actual, sino que podría combinar preferencias a largo plazo, apps conectadas, estado del navegador e historial de tareas.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-importa&#34;&gt;Por qué importa
&lt;/h2&gt;&lt;p&gt;La clave de Gemini Spark no es añadir otra entrada de chat. La clave es que Google tiene una entrada natural al ecosistema.&lt;/p&gt;
&lt;p&gt;OpenAI y Anthropic pueden construir Agents muy fuertes, pero no poseen de forma natural la cadena completa de Gmail, Calendar, Drive, Chrome, Android y Workspace. Si Google conecta Spark con estos productos, los usuarios no necesitarán montar demasiados flujos adicionales para que un Agent entre en su trabajo diario.&lt;/p&gt;
&lt;p&gt;Esto puede traer tres cambios.&lt;/p&gt;
&lt;p&gt;Primero, Gemini pasaría de preguntas y respuestas pasivas a ejecución activa. Los usuarios ya no solo preguntarían &amp;ldquo;resúmeme este correo&amp;rdquo;, sino que podrían pedirle que organice el inbox, siga tareas y ejecute acciones posteriores de forma continua.&lt;/p&gt;
&lt;p&gt;Segundo, los Agents dependerán más del contexto personal. Cuanto más entienda tu correo, calendario, archivos, estado del navegador y preferencias, más útiles podrán ser sus resultados.&lt;/p&gt;
&lt;p&gt;Tercero, los límites de permisos serán más sensibles. Poder hacer más también significa que el usuario debe saber con más claridad cuándo puede actuar, hasta dónde puede llegar y si necesita confirmación.&lt;/p&gt;
&lt;h2 id=&#34;dónde-están-los-riesgos&#34;&gt;Dónde están los riesgos
&lt;/h2&gt;&lt;p&gt;Hay varios puntos en el texto divulgado por TestingCatalog que merecen atención.&lt;/p&gt;
&lt;p&gt;Primero, Spark es experimental. Incluso si se lanza, no debería tratarse como un sistema completamente maduro que no requiere supervisión.&lt;/p&gt;
&lt;p&gt;Segundo, aunque el sistema está diseñado para pedir permiso antes de operaciones sensibles, el texto también advierte que podría compartir información o completar compras sin preguntar.&lt;/p&gt;
&lt;p&gt;Tercero, para mantener la continuidad de la sesión, Gemini guardará remote browser data, como detalles de inicio de sesión y remote code execution data. Los usuarios pueden borrar estos datos en Settings y también desactivar Connected Apps y capacidades relacionadas con Personal intelligence.&lt;/p&gt;
&lt;p&gt;En conjunto, estos puntos muestran que la dirección de producto de Spark es agresiva: quiere ser un Agent que realmente ejecute tareas, no solo que genere sugerencias. Pero cuanto más se acerca a la ejecución real, más necesita permisos estrictos, auditoría, confirmación y mecanismos de reversión.&lt;/p&gt;
&lt;h2 id=&#34;relación-con-remy-y-ai-ultra&#34;&gt;Relación con Remy y AI Ultra
&lt;/h2&gt;&lt;p&gt;TestingCatalog menciona que Spark podría ser una versión renombrada de la agentic Gemini upgrade antes conocida internamente como &lt;code&gt;Remy&lt;/code&gt;, y que también podría estar relacionada con la dirección de Gemini Agent para suscriptores de Google AI Ultra.&lt;/p&gt;
&lt;p&gt;Si esta pista es correcta, Spark no sería un proyecto nuevo surgido de la nada. Podría ser una forma de reempaquetar capacidades de Agent más avanzadas y cerradas, para prepararlas para una audiencia más amplia.&lt;/p&gt;
&lt;p&gt;36Kr / Xinzhiyuan también lo describe como una evolución de “Remy” a “Spark”: Gemini Agent deja de ser solo una función y se mueve hacia un gestor digital de vida 24/7.&lt;/p&gt;
&lt;p&gt;Pero esto sigue siendo una interpretación basada en filtraciones. Si Google usará &lt;code&gt;Spark&lt;/code&gt; como nombre oficial, si será solo para AI Ultra o si habrá una suscripción más ligera todavía necesita confirmación oficial.&lt;/p&gt;
&lt;h2 id=&#34;mcp-skills-y-ecosistema-de-herramientas&#34;&gt;MCP, skills y ecosistema de herramientas
&lt;/h2&gt;&lt;p&gt;En la misma tanda de capturas comunitarias también aparecieron entradas del selector de modelos como &lt;code&gt;MCP Tool Testing&lt;/code&gt;. El artículo de 36Kr cree que esto podría sugerir soporte nativo de Gemini para integración de herramientas de terceros vía MCP, además de una reconstrucción del modo Thinking.&lt;/p&gt;
&lt;p&gt;Esta pista se vuelve más interesante al mirarla junto a Spark.&lt;/p&gt;
&lt;p&gt;Si Spark fuera solo un &amp;ldquo;asistente que chatea&amp;rdquo;, skills y MCP tendrían menos importancia. Pero si Spark es un Agent de larga duración, necesita llamar herramientas de forma fiable, acceder a páginas web, ejecutar tareas, leer y escribir contexto, y entregar resultados al usuario.&lt;/p&gt;
&lt;p&gt;Es decir, Spark quizá no sea una función aislada, sino parte del ecosistema de herramientas Agent de Google: el modelo entiende y planifica, mientras skills / MCP / connected apps ejecutan y amplían.&lt;/p&gt;
&lt;h2 id=&#34;qué-significa-para-usuarios-comunes&#34;&gt;Qué significa para usuarios comunes
&lt;/h2&gt;&lt;p&gt;Si Gemini Spark se lanza de verdad, los cambios más directos para usuarios comunes podrían ser:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;El correo no solo se resume, sino que se clasifica, se sigue y se convierte en tareas.&lt;/li&gt;
&lt;li&gt;Las tareas web no solo reciben sugerencias, sino que podrían ejecutarse de forma continua en un navegador remoto.&lt;/li&gt;
&lt;li&gt;Calendario, ubicación, preferencias y conversaciones previas se convierten en contexto a largo plazo del Agent.&lt;/li&gt;
&lt;li&gt;Compras, reservas, formularios y acciones similares podrían entrar en el alcance de ejecución de la IA.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Suena cómodo, pero los usuarios tendrán que crear nuevos hábitos: no solo mirar qué dice la IA, sino también qué se prepara para hacer, qué ya hizo, si se puede deshacer y si hay registro.&lt;/p&gt;
&lt;p&gt;La experiencia futura de AI Agent no dependerá solo de qué tan inteligente sea el modelo, sino también de si los avisos de permisos son claros, si los logs de tareas se pueden revisar y si los errores se pueden recuperar.&lt;/p&gt;
&lt;h2 id=&#34;qué-significa-para-desarrolladores-y-equipos&#34;&gt;Qué significa para desarrolladores y equipos
&lt;/h2&gt;&lt;p&gt;Para desarrolladores, Spark importa porque Google podría estar moviendo los Agents desde &amp;ldquo;productos demo&amp;rdquo; hacia plataformas reales de workflow.&lt;/p&gt;
&lt;p&gt;Si Spark puede conectar de forma estable apps de Google, herramientas de terceros y estado del navegador, los desarrolladores se preguntarán:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Si habrá APIs o mecanismos de extensión abiertos.&lt;/li&gt;
&lt;li&gt;Si MCP o skills podrán ser conectados por terceros.&lt;/li&gt;
&lt;li&gt;Si administradores empresariales podrán controlar permisos, retención de datos y auditoría.&lt;/li&gt;
&lt;li&gt;Si los fallos de ejecución del Agent tendrán logs rastreables.&lt;/li&gt;
&lt;li&gt;Si habrá sandboxing, flujos de aprobación y confirmación para operaciones sensibles.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Para equipos, Spark probablemente entraría primero por escenarios frecuentes como Gmail, Calendar, Docs, Drive y Chrome. Quizá al principio no sea adecuado para automatizar por completo tareas de alto riesgo, pero encaja bien como asistente para inbox triage, seguimiento de reuniones, organización de documentos, investigación de mercado y tareas ligeras de operaciones.&lt;/p&gt;
&lt;h2 id=&#34;cómo-leerlo-ahora&#34;&gt;Cómo leerlo ahora
&lt;/h2&gt;&lt;p&gt;Esta noticia se entiende mejor como &amp;ldquo;dirección de alta confianza, detalles de baja certeza&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;La dirección de alta confianza es que Google está empujando Gemini Agent hacia algo más proactivo, más duradero y más profundamente integrado con su ecosistema. El texto de prueba de Gemini Web reportado por TestingCatalog, las capturas comunitarias y la recopilación de filtraciones de 36Kr apuntan en la misma dirección.&lt;/p&gt;
&lt;p&gt;Los detalles de baja certeza son el nombre oficial, la fecha de lanzamiento, las reglas de permisos, los niveles de suscripción, las regiones disponibles, si habrá API abierta y si realmente se llamará Gemini Spark.&lt;/p&gt;
&lt;p&gt;La lectura más prudente por ahora:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;No tratar Spark como un producto oficial ya lanzado.&lt;/li&gt;
&lt;li&gt;Verlo como una señal fuerte de la próxima ruta de Google en AI Agents.&lt;/li&gt;
&lt;li&gt;Esperar cómo Google explicará permisos, privacidad, compartición de datos con terceros y almacenamiento de datos de navegador remoto.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;Si &lt;code&gt;Gemini Spark&lt;/code&gt; finalmente se lanza, podría ser un paso clave para que Gemini pase de asistente de chat a Agent always-on. No es solo cambiar un modelo, sino colocar Gemini dentro del ecosistema de Google: correo, web, tareas, ubicación, personal intelligence y servicios de terceros.&lt;/p&gt;
&lt;p&gt;Su potencial es grande: más proactivo, más cercano a flujos reales y más fácil de distribuir a muchos usuarios gracias al ecosistema de Google. Sus riesgos son igual de grandes: si la IA puede compartir información, guardar estado del navegador, ejecutar compras y llamar servicios de terceros, los límites de permisos deben ser muy claros.&lt;/p&gt;
&lt;p&gt;Por eso lo más importante de Gemini Spark no es &amp;ldquo;qué tan inteligente es&amp;rdquo;, sino cómo piensa Google hacer que un AI Agent online las 24 horas sea controlable, auditable y confiable.&lt;/p&gt;
&lt;p&gt;Referencias:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.testingcatalog.com/google-prepares-gemini-spark-ai-agent-ahead-of-i-o-launch/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;TestingCatalog: Google prepares Gemini Spark AI Agent ahead of I/O launch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://36kr.com/p/3810432812162816&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;36Kr: Gemini 3.5 Pro filtrado, coding supuestamente alcanza a GPT-5.5&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Filtración de Gemini 3.5 Pro: con nombre en clave Cappuccino, Google intenta recuperar ritmo en coding y agentes</title>
        <link>https://knightli.com/es/2026/05/17/gemini-35-pro-cappuccino-spark-leak/</link>
        <pubDate>Sun, 17 May 2026 11:47:27 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/17/gemini-35-pro-cappuccino-spark-leak/</guid>
        <description>&lt;p&gt;Google todavía no ha lanzado oficialmente &lt;code&gt;Gemini 3.5 Pro&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;La información disponible por ahora proviene sobre todo de capturas de comunidades de desarrolladores, benchmarks anónimos, filtradores y reportes de medios. El 15 de mayo de 2026, 36Kr / Xinzhiyuan publicó que un checkpoint de la próxima generación de Gemini podría tener el nombre interno &lt;code&gt;Cappuccino&lt;/code&gt;, y que modelos relacionados ya habrían aparecido en comunidades y plataformas de evaluación.&lt;/p&gt;
&lt;p&gt;Esta información no debe tratarse como un lanzamiento oficial, pero sí muestra una dirección clara: Google intenta cubrir dos brechas a la vez, coding y razonamiento por un lado, y agentes de IA always-on por el otro.&lt;/p&gt;
&lt;h2 id=&#34;conclusión-rápida&#34;&gt;Conclusión rápida
&lt;/h2&gt;&lt;p&gt;Esta filtración puede leerse en tres capas:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;Gemini 3.5 Pro&lt;/code&gt; aún no ha sido lanzado oficialmente, y &lt;code&gt;Cappuccino&lt;/code&gt; parece más un checkpoint interno o una build candidata.&lt;/li&gt;
&lt;li&gt;La información filtrada sugiere que el nuevo Gemini mejora en generación de código, generación SVG / web interactiva y salida multimodal.&lt;/li&gt;
&lt;li&gt;La prueba paralela de &lt;code&gt;Gemini Spark&lt;/code&gt; por parte de Google puede ser más importante que el modelo en sí, porque apunta a un agente personal de IA funcionando 24 horas.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;En otras palabras, no es solo una historia de benchmarks. Parece más una señal de roadmap antes de Google I/O: el modelo necesita alcanzar a GPT-5.5, mientras la capa de agentes necesita capturar flujos de trabajo de usuarios.&lt;/p&gt;
&lt;h2 id=&#34;qué-es-cappuccino&#34;&gt;Qué es Cappuccino
&lt;/h2&gt;&lt;p&gt;El artículo de 36Kr menciona que, según una publicación de Lentils, el checkpoint de &lt;code&gt;Gemini 3.5 Pro&lt;/code&gt; con nombre en clave &lt;code&gt;Cappuccino&lt;/code&gt; ya habría empezado a producirse. La comunidad todavía hablaba de &lt;code&gt;Gemini 3.2&lt;/code&gt; horas antes, pero la filtración más reciente saltó directamente a &lt;code&gt;3.5&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Si ese nombre termina siendo correcto, Google podría querer presentar el próximo Gemini como un salto de versión más grande, no como una actualización menor.&lt;/p&gt;
&lt;p&gt;Por ahora, &lt;code&gt;Cappuccino&lt;/code&gt; debe tratarse como un nombre interno filtrado. No significa que Google haya lanzado públicamente el modelo final, ni garantiza que el nombre de lanzamiento vaya a ser &lt;code&gt;Gemini 3.5 Pro&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-el-coding-es-el-foco&#34;&gt;Por qué el coding es el foco
&lt;/h2&gt;&lt;p&gt;La parte más comentada de la filtración es la capacidad de coding del nuevo Gemini.&lt;/p&gt;
&lt;p&gt;Según capturas y supuestos benchmarks citados por 36Kr, el nuevo modelo parece más fuerte en:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Generación de SVG y componentes visuales.&lt;/li&gt;
&lt;li&gt;Generación de aplicaciones web interactivas.&lt;/li&gt;
&lt;li&gt;Manejo de animación, 3D, paneles de parámetros ajustables y otras salidas frontend complejas.&lt;/li&gt;
&lt;li&gt;Mejoras en razonamiento lógico y generación de código.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;El artículo también cita a Bindu Reddy, CEO de Abacus.AI, diciendo que &lt;code&gt;3.2 Flash&lt;/code&gt; se acerca a &lt;code&gt;GPT-5.5&lt;/code&gt; en coding y razonamiento, con un coste mucho menor. Otras fuentes de medios creen que el nuevo Gemini se ubica aproximadamente en el nivel de &lt;code&gt;GPT-5.5&lt;/code&gt;, aunque quizá no represente un salto cualitativo.&lt;/p&gt;
&lt;p&gt;Por eso conviene leer con cautela la frase &amp;ldquo;alcanza a GPT-5.5&amp;rdquo;. Se parece más a un juicio relativo basado en filtraciones y pruebas anónimas que a un resultado oficial de benchmark de Google.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-google-necesita-ponerse-al-día-en-coding&#34;&gt;Por qué Google necesita ponerse al día en coding
&lt;/h2&gt;&lt;p&gt;El AI coding pasó de ser una categoría de herramientas para desarrolladores a ocupar el centro de la competencia entre modelos fundacionales.&lt;/p&gt;
&lt;p&gt;OpenAI tiene Codex y Anthropic tiene Claude Code. No solo sirven a ingenieros: también llevan a product managers, diseñadores y equipos de operaciones a flujos donde el lenguaje natural produce productos ejecutables.&lt;/p&gt;
&lt;p&gt;En comparación, Google tiene Gemini y Antigravity, pero no ha logrado formar el mismo punto de entrada predeterminado en la mente de los desarrolladores. El artículo de 36Kr también señala que Antigravity no ha logrado despegar claramente en el mercado externo, y que precios, avisos de cuota y estabilidad de experiencia han generado discusión en la comunidad.&lt;/p&gt;
&lt;p&gt;Así que, si el nuevo Gemini necesita demostrar algo, coding será el campo de batalla más directo. La pregunta no es solo si puede escribir código, sino si puede producir interfaces completas de forma estable, entender requisitos complejos, llamar herramientas, corregir errores e integrarse en flujos reales de desarrollo.&lt;/p&gt;
&lt;h2 id=&#34;spark-puede-importar-más-que-35-pro&#34;&gt;Spark puede importar más que 3.5 Pro
&lt;/h2&gt;&lt;p&gt;En la misma ola de filtraciones también apareció &lt;code&gt;Gemini Spark BETA&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Según TestingCatalog y otras fuentes, Spark se posiciona como un agente de IA always-on: puede procesar la bandeja de entrada, ejecutar tareas online, gestionar flujos de varios pasos y conectar contexto de apps de Google, módulos de habilidades, historial de chats, tareas programadas, sitios con sesión iniciada e información de ubicación.&lt;/p&gt;
&lt;p&gt;Eso significa que Spark no es una entrada de chat normal. Podría ser un sistema que permanece online, lee contexto de forma continua y ejecuta tareas por el usuario.&lt;/p&gt;
&lt;p&gt;El atractivo es obvio: si Google puede conectar Gmail, Calendar, Chrome, Android, Workspace y Gemini, Spark tendrá una ventaja de distribución difícil de copiar para OpenAI y Anthropic.&lt;/p&gt;
&lt;p&gt;El riesgo también es obvio. El artículo de 36Kr menciona una descripción de Spark según la cual podría compartir información o completar compras sin preguntar. Aunque el sistema esté diseñado para pedir permiso antes de operaciones sensibles, este tipo de agente sigue planteando riesgos de privacidad, límites de autorización y acciones accidentales.&lt;/p&gt;
&lt;h2 id=&#34;qué-significa-para-usuarios-comunes&#34;&gt;Qué significa para usuarios comunes
&lt;/h2&gt;&lt;p&gt;Si eres un usuario normal de Gemini, lo más importante de esta filtración no es el nombre del modelo, sino tres cambios.&lt;/p&gt;
&lt;p&gt;Primero, Google puede seguir reforzando la capacidad de producir resultados completos. Antes, usuarios se quejaban de que Gemini podía ser perezoso en generación visual, SVG y páginas frontend. Si el nuevo modelo puede generar varias propuestas completas en una sola pasada, la experiencia mejorará de forma visible.&lt;/p&gt;
&lt;p&gt;Segundo, la capacidad de coding seguirá bajando a modelos más ligeros. La filtración menciona varias veces mejoras de Flash en coding, razonamiento y generación interactiva, lo que significa que en el futuro no siempre hará falta un modelo Pro para tareas complejas.&lt;/p&gt;
&lt;p&gt;Tercero, los agentes serán más proactivos. Si Spark se lanza, Gemini podría dejar de limitarse a responder preguntas y empezar a asumir correo, web, compras, calendario y tareas entre apps durante periodos largos.&lt;/p&gt;
&lt;p&gt;Eso es bueno para la eficiencia, pero crea un nuevo desafío de gestión de permisos.&lt;/p&gt;
&lt;h2 id=&#34;qué-significa-para-desarrolladores&#34;&gt;Qué significa para desarrolladores
&lt;/h2&gt;&lt;p&gt;Los desarrolladores deberían vigilar dos cuestiones.&lt;/p&gt;
&lt;p&gt;La primera es el ecosistema de herramientas. El artículo de 36Kr dice que la comunidad vio una entrada no publicada llamada &lt;code&gt;MCP Tool Testing&lt;/code&gt; en el selector de modelos. Si Gemini soporta MCP o pruebas de herramientas de terceros de forma nativa, será más fácil conectarlo a las toolchains propias de los desarrolladores.&lt;/p&gt;
&lt;p&gt;La segunda es coste y estabilidad. Aunque el nuevo Gemini alcance a GPT-5.5 en algunos benchmarks, los desarrolladores acabarán mirando tres cosas: calidad real del código, estabilidad del contexto, y si precios y cuotas son predecibles.&lt;/p&gt;
&lt;p&gt;El último año de competencia en herramientas de AI coding ha demostrado que la capacidad del modelo es solo el billete de entrada. Lo que retiene a los desarrolladores es si la herramienta puede editar código, ejecutar tests, leer contexto y manejar casos límite de forma fiable en proyectos diarios.&lt;/p&gt;
&lt;h2 id=&#34;cómo-leer-esta-noticia-ahora&#34;&gt;Cómo leer esta noticia ahora
&lt;/h2&gt;&lt;p&gt;Esta noticia se entiende mejor como &amp;ldquo;señal fuerte, confirmación débil&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;La señal fuerte es que múltiples pistas comunitarias apuntan a que Google prepara un Gemini más fuerte y un Gemini Spark Agent más proactivo.&lt;/p&gt;
&lt;p&gt;La confirmación débil es que &lt;code&gt;Gemini 3.5 Pro&lt;/code&gt; aún no ha sido lanzado oficialmente, &lt;code&gt;Cappuccino&lt;/code&gt; sigue siendo un nombre filtrado, y la afirmación de que &amp;ldquo;alcanza a GPT-5.5&amp;rdquo; necesita validación con benchmarks oficiales de Google, pruebas de terceros y experiencia real de usuarios.&lt;/p&gt;
&lt;p&gt;La lectura más prudente por ahora:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;No tratarlo como un producto ya lanzado.&lt;/li&gt;
&lt;li&gt;Tratarlo como una vista previa temprana de la próxima dirección de Gemini.&lt;/li&gt;
&lt;li&gt;Observar si I/O u otros eventos oficiales confirman el nombre del modelo, disponibilidad de API, precios, ventana de contexto, tool calling y límites de permisos del agente.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;La exposición de &lt;code&gt;Gemini 3.5 Pro / Cappuccino&lt;/code&gt; sugiere que Google podría estar preparando un empuje más fuerte para la próxima generación de Gemini. No intenta corregir una sola capacidad aislada, sino todo un flujo de trabajo de IA: el modelo debe escribir mejor código, generar interfaces y manejar razonamiento complejo, mientras Spark empuja Gemini hacia un agente always-on.&lt;/p&gt;
&lt;p&gt;Pero antes de un lanzamiento oficial, todos los benchmarks y capturas siguen siendo pistas. Lo que decidirá si Gemini 3.5 Pro puede recuperar impulso no será si el nombre en clave suena bien, sino si puede ganar de forma fiable en desarrollo real, trabajo de oficina real y tareas reales de varios pasos.&lt;/p&gt;
&lt;p&gt;Referencias:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://m.36kr.com/p/3810432812162816&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;36Kr: Gemini 3.5 Pro filtrado, coding supuestamente alcanza a GPT-5.5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.testingcatalog.com/google-prepares-gemini-spark-ai-agent-ahead-of-i-o-launch/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;TestingCatalog: Google prepares Gemini Spark AI agent ahead of I/O launch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://x.com/alexeheath/status/2054747125616169229&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;X: Alex Heath sobre el nuevo Gemini y GPT-5.5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://x.com/Lentils80/status/2054628116094501377&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;X: Lentils sobre Gemini 3.5 / Cappuccino&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>easy-vibe: un mapa de aprendizaje para principiantes de Vibe Coding</title>
        <link>https://knightli.com/es/2026/05/16/easy-vibe-vibe-coding-learning-map/</link>
        <pubDate>Sat, 16 May 2026 22:44:43 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/16/easy-vibe-vibe-coding-learning-map/</guid>
        <description>&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/datawhalechina/easy-vibe&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;easy-vibe&lt;/a&gt; es un proyecto open source de Datawhale para aprender Vibe Coding. No está dirigido a desarrolladores que ya dominan herramientas de AI Coding, sino a estudiantes, product managers, diseñadores, equipos de operaciones, indie developers y personas con interés técnico que apenas empiezan con Vibe Coding.&lt;/p&gt;
&lt;p&gt;El valor del proyecto no está en listar otro grupo de herramientas de IA, sino en convertir &amp;ldquo;cómo empezar a construir proyectos con IA&amp;rdquo; en una ruta de aprendizaje más fácil de entender. Para muchos principiantes, lo difícil no es saber que existen Claude Code, Cursor, MCP o los Agents. Lo difícil es saber qué aprender primero, cómo practicar y cuándo pasar a herramientas más avanzadas.&lt;/p&gt;
&lt;h2 id=&#34;lo-que-más-necesitan-los-principiantes-es-una-ruta&#34;&gt;Lo que más necesitan los principiantes es una ruta
&lt;/h2&gt;&lt;p&gt;Vibe Coding se ha vuelto popular en los últimos años, pero no es especialmente amigable para principiantes.&lt;/p&gt;
&lt;p&gt;En apariencia, si sabes describir un requisito, puedes pedir a la IA que escriba código. En la práctica, en cuanto la tarea se vuelve un poco más compleja, aparecen problemas: el requisito no está claro, el modelo modifica el archivo equivocado, la estructura del proyecto no se entiende, los errores no se saben resolver, las dependencias no se instalan, los prompts se vuelven cada vez más confusos y el flujo termina regresando a &amp;ldquo;copiar código en una caja de chat&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Por eso aprender Vibe Coding no puede limitarse a &amp;ldquo;cómo escribir prompts&amp;rdquo;. Como mínimo debe resolver varias cosas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cómo dividir una idea en tareas ejecutables;&lt;/li&gt;
&lt;li&gt;Cómo hacer que la IA entienda la estructura del proyecto;&lt;/li&gt;
&lt;li&gt;Cómo leer el código generado por el modelo;&lt;/li&gt;
&lt;li&gt;Cómo manejar errores e iterar;&lt;/li&gt;
&lt;li&gt;Cómo usar la terminal y el entorno local de desarrollo;&lt;/li&gt;
&lt;li&gt;Cómo pasar del chat web a herramientas reales de AI Coding.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ahí está el sentido de easy-vibe: intenta organizar estos temas en una ruta de aprendizaje, en lugar de dejar que los principiantes se pierdan entre herramientas, tutoriales y términos.&lt;/p&gt;
&lt;h2 id=&#34;no-es-un-tutorial-aislado-sino-una-hoja-de-ruta&#34;&gt;No es un tutorial aislado, sino una hoja de ruta
&lt;/h2&gt;&lt;p&gt;Según la presentación del proyecto, easy-vibe cubre tutoriales básicos, ejercicios interactivos, contenido visual, RAG, herramientas de terminal, herramientas de AI Coding y temas más avanzados como Claude Code, MCP, Skills y Agent Teams.&lt;/p&gt;
&lt;p&gt;Esta forma de organizar el contenido es adecuada para principiantes. AI Coding no es una sola habilidad, sino una combinación de capacidades:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Describir requisitos;&lt;/li&gt;
&lt;li&gt;Dividir tareas;&lt;/li&gt;
&lt;li&gt;Leer proyectos;&lt;/li&gt;
&lt;li&gt;Pedir al modelo que modifique código;&lt;/li&gt;
&lt;li&gt;Ejecutar y verificar;&lt;/li&gt;
&lt;li&gt;Iterar según los errores;&lt;/li&gt;
&lt;li&gt;Convertir flujos repetidos en herramientas o skills.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Si solo aprendes una herramienta, es fácil quedar limitado por su interfaz. Cambias de modelo, editor o CLI, y el flujo vuelve a no estar claro. La ventaja de una hoja de ruta es construir primero el método de trabajo y luego poner las herramientas en el lugar adecuado.&lt;/p&gt;
&lt;h2 id=&#34;es-especialmente-útil-para-no-programadores&#34;&gt;Es especialmente útil para no programadores
&lt;/h2&gt;&lt;p&gt;El mayor atractivo de Vibe Coding es que permite a personas que no son programadoras profesionales crear prototipos.&lt;/p&gt;
&lt;p&gt;Un product manager puede convertir una idea de producto en un demo interactivo. Un diseñador puede validar lógica de interacción. Un equipo de operaciones puede crear herramientas internas. Un estudiante puede construir proyectos de clase rápidamente. Un fundador puede validar demanda en etapas tempranas. Estas personas no necesariamente necesitan convertirse en ingenieros full-time en el sentido tradicional, pero sí necesitan un método para &amp;ldquo;hacer que la IA me ayude a llevar una idea a algo funcional&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Por eso easy-vibe encaja bien con la comunidad china. Muchos usuarios chinos ya saben que la IA puede escribir código, pero aún faltan materiales sistemáticos para empezar: entorno de desarrollo, prompts, estructura de proyecto, depuración y uso de herramientas Agent. Es mejor cuando todo se explica con claridad en chino y se acompaña con ejercicios graduales.&lt;/p&gt;
&lt;p&gt;Para este tipo de usuarios, lo más importante no es aprender un framework complejo desde el primer día, sino completar un ciclo completo: plantear un requisito, generar un proyecto, ejecutarlo, encontrar problemas, seguir modificando y terminar con una versión usable.&lt;/p&gt;
&lt;h2 id=&#34;la-parte-avanzada-se-acerca-a-flujos-reales-de-desarrollo-con-ia&#34;&gt;La parte avanzada se acerca a flujos reales de desarrollo con IA
&lt;/h2&gt;&lt;p&gt;Claude Code, MCP, Skills y Agent Teams, que aparecen en easy-vibe, ya no son solo conceptos introductorios.&lt;/p&gt;
&lt;p&gt;Claude Code representa los Agents de programación en terminal: el modelo puede entrar en un proyecto local, leer archivos, modificar código y ejecutar comandos. MCP resuelve la conexión con herramientas y fuentes de datos, para que el modelo no se quede encerrado en una caja de chat. Skills permite conservar flujos reutilizables, como generación fija de proyectos, organización de documentos, revisión de tests o procesos de producción de contenido. Agent Teams va un paso más allá y divide tareas entre varios agentes.&lt;/p&gt;
&lt;p&gt;Para principiantes, estos temas pueden parecer lejanos, pero vale la pena conocerlos pronto. La dirección de Vibe Coding ya está clara: pasar de &amp;ldquo;hacer que la IA escriba un fragmento de código&amp;rdquo; a &amp;ldquo;hacer que la IA participe en un flujo completo de proyecto&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Si una ruta de aprendizaje se queda solo en prompts, pronto quedará atrás frente a la evolución de las herramientas. Pero si al principio se lanzan todos los conceptos avanzados a la vez, el principiante no sabrá por dónde empezar. El valor razonable de easy-vibe es colocar esos temas en una ruta de actualización gradual.&lt;/p&gt;
&lt;h2 id=&#34;dos-errores-que-conviene-evitar&#34;&gt;Dos errores que conviene evitar
&lt;/h2&gt;&lt;p&gt;El primer error es creer que Vibe Coding significa que, aunque no sepas código, puedes desentenderte por completo del código.&lt;/p&gt;
&lt;p&gt;La IA puede generar muchas cosas, pero el usuario sigue necesitando juzgar si el resultado es correcto. Como mínimo, hay que entender la estructura del proyecto, saber cómo ejecutarlo y ubicar aproximadamente dónde ocurre un error. Aunque no escribas código complejo, necesitas sentido común básico de ingeniería.&lt;/p&gt;
&lt;p&gt;El segundo error es creer que cuanto más avanzada sea la herramienta, mejor.&lt;/p&gt;
&lt;p&gt;Un principiante no necesariamente necesita Claude Code, MCP o múltiples Agents al inicio. Un orden mejor es crear primero un ciclo de feedback con proyectos simples, y luego introducir poco a poco terminal, control de versiones, tests, llamadas a herramientas y flujos automatizados. Las herramientas deben coincidir con la complejidad de la tarea; si no, se convierten en algo que parece potente pero no se sabe para qué usar.&lt;/p&gt;
&lt;h2 id=&#34;cómo-usarlo&#34;&gt;Cómo usarlo
&lt;/h2&gt;&lt;p&gt;Si apenas empiezas con Vibe Coding, puedes usar easy-vibe como una lista de aprendizaje.&lt;/p&gt;
&lt;p&gt;Empieza con conceptos básicos y ejercicios simples. No hace falta perseguir todas las herramientas. Construye un proyecto pequeño, como una página personal, un dashboard de datos, una herramienta de formularios, un script de automatización o una demo de base de conocimiento. Durante el proceso, observa en qué partes ayuda la IA y en cuáles necesitas confirmar por tu cuenta.&lt;/p&gt;
&lt;p&gt;Cuando puedas completar proyectos pequeños de forma estable, empieza con temas más complejos:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Usar herramientas de terminal para trabajar con proyectos locales;&lt;/li&gt;
&lt;li&gt;Usar Git para gestionar cada cambio;&lt;/li&gt;
&lt;li&gt;Usar RAG para conectar tus propios materiales;&lt;/li&gt;
&lt;li&gt;Usar MCP para conectar herramientas externas;&lt;/li&gt;
&lt;li&gt;Usar Skills para fijar flujos repetidos;&lt;/li&gt;
&lt;li&gt;Usar Agent Teams para dividir tareas complejas.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Aprender Vibe Coding así no es solo aprender a preguntar a la IA. Es aprender a poner la IA dentro de tu propio flujo de trabajo.&lt;/p&gt;
&lt;h2 id=&#34;conclusión&#34;&gt;Conclusión
&lt;/h2&gt;&lt;p&gt;easy-vibe puede verse como un mapa de entrada en chino para Vibe Coding. Organiza conceptos, herramientas y ejercicios dispersos de AI Coding en una ruta que ayuda al principiante a pasar de &amp;ldquo;he oído que la IA puede escribir código&amp;rdquo; a &amp;ldquo;puedo construir un proyecto con IA&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;El valor real de Vibe Coding no es saltarse todo aprendizaje, sino bajar la barrera entre idea y prototipo. Aún necesitas entender requisitos, organizar tareas, verificar resultados y controlar riesgos. Pero muchos pasos repetitivos, tediosos y fáciles de bloquear pueden hacerse con ayuda de la IA.&lt;/p&gt;
&lt;p&gt;Si quieres una entrada sistemática al AI Coding y no quieres perderte desde el principio entre nombres de herramientas y configuraciones de ingeniería complejas, easy-vibe es un buen punto de partida.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Anthropic financial-services: convertir escenarios de agentes financieros en plantillas reutilizables</title>
        <link>https://knightli.com/es/2026/05/16/anthropic-financial-services-agent-templates/</link>
        <pubDate>Sat, 16 May 2026 22:43:08 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/16/anthropic-financial-services-agent-templates/</guid>
        <description>&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/anthropics/financial-services&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;anthropics/financial-services&lt;/a&gt; es un proyecto de referencia de Anthropic para la industria de servicios financieros. No es una sola aplicación, sino un conjunto de ejemplos que se pueden estudiar y reutilizar por separado: Agents, Plugins, Skills, conectores MCP, además de prompts y patrones de integración diseñados alrededor de flujos financieros.&lt;/p&gt;
&lt;p&gt;Este proyecto merece atención no porque ofrezca un &amp;ldquo;asistente financiero universal&amp;rdquo;, sino porque divide los problemas habituales de adopción de IA en finanzas en componentes más concretos: qué Agent necesita cada rol, qué fuentes de datos deben conectarse, qué tareas se pueden automatizar y qué pasos siguen requiriendo juicio humano.&lt;/p&gt;
&lt;h2 id=&#34;se-parece-más-a-una-sala-de-muestras-de-agentes-financieros&#34;&gt;Se parece más a una sala de muestras de agentes financieros
&lt;/h2&gt;&lt;p&gt;Cuando las empresas hablan de AI Agents, la conversación suele quedarse en lo abstracto: leer archivos, consultar datos, escribir informes y llamar herramientas. Pero al entrar en escenarios financieros, las preguntas se vuelven mucho más concretas.&lt;/p&gt;
&lt;p&gt;Un analista de banca de inversión necesita organizar materiales de compañías, generar resúmenes de transacciones y comparar empresas comparables. La investigación de acciones necesita leer reportes, seguir noticias, hacer valoración y analizar riesgos. Los equipos de private equity y asset management necesitan filtrar oportunidades, escribir memos y seguir compañías en cartera. Wealth management necesita colocar perfiles de clientes, información de mercado y recomendaciones dentro de un marco de cumplimiento.&lt;/p&gt;
&lt;p&gt;Estos escenarios no se resuelven solo con un cuadro de chat genérico. Requieren roles, procesos, fuentes de datos, formatos de salida y límites de permisos. El valor de este repositorio de Anthropic está ahí: convierte múltiples roles y tareas típicas de servicios financieros en plantillas de Agent que pueden servir como referencia.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-ofrece-agents-plugins-skills-y-mcp-a-la-vez&#34;&gt;Por qué ofrece Agents, Plugins, Skills y MCP a la vez
&lt;/h2&gt;&lt;p&gt;Por la estructura del proyecto, Anthropic no entregó solo un conjunto de prompts. Ofrece varios tipos de componentes al mismo tiempo. Eso corresponde a varias capas de una implementación empresarial de Agents.&lt;/p&gt;
&lt;p&gt;Agents se parecen más a unidades de trabajo orientadas a roles o tareas. Definen qué debe hacer el agente, cómo debe hacerlo, cuándo llamar herramientas y cómo producir la salida.&lt;/p&gt;
&lt;p&gt;Plugins se parecen a extensiones de capacidades externas. El trabajo financiero rara vez ocurre solo dentro del modelo. A menudo necesita conectarse a bases de datos, sistemas documentales, datos de mercado, CRM, bibliotecas de investigación y sistemas internos de workflow.&lt;/p&gt;
&lt;p&gt;Skills funcionan como paquetes reutilizables de capacidad profesional. Marcos de análisis, estructuras de reportes, checklists y métodos de procesamiento de datos pueden convertirse en skills, en lugar de reescribirse como prompts cada vez.&lt;/p&gt;
&lt;p&gt;Los conectores MCP resuelven la integración de herramientas y la estandarización del contexto. Para una empresa, cuantas más herramientas hay, más necesario es un modo relativamente unificado de conectarlas. Si no, cada sistema requiere una adaptación separada y el costo de mantenimiento crece.&lt;/p&gt;
&lt;p&gt;Solo al combinar estas piezas el resultado empieza a parecerse a un flujo real de IA empresarial.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-las-finanzas-son-un-buen-sector-para-ejemplos-de-agents&#34;&gt;Por qué las finanzas son un buen sector para ejemplos de Agents
&lt;/h2&gt;&lt;p&gt;Los servicios financieros son un buen sector para mostrar Agents porque reúnen tres características.&lt;/p&gt;
&lt;p&gt;Primero, la densidad de información es alta. El trabajo financiero depende mucho de estados financieros, anuncios, minutas de reuniones, informes de investigación, datos de trading, información de clientes y documentos regulatorios. Si un modelo depende solo de conocimiento general, se vuelve inútil rápidamente. Necesita conectarse a fuentes reales de datos.&lt;/p&gt;
&lt;p&gt;Segundo, los formatos de salida son estables. Memos de inversión, perfiles de compañías, documentos KYC, resúmenes de investigación, briefings para clientes e informes de operaciones de fondos tienen estructuras relativamente fijas. Eso facilita que los Agents formen workflows verificables.&lt;/p&gt;
&lt;p&gt;Tercero, los límites de riesgo son claros. Finanzas exige cumplimiento, auditoría, permisos y trazabilidad. La IA no puede dar recomendaciones de inversión libremente ni saltarse procesos de aprobación. Esto obliga a diseñar Agents de forma más ingenieril: conservar referencias, separar hechos e inferencias, registrar llamadas a herramientas y limitar acciones ejecutables.&lt;/p&gt;
&lt;p&gt;Por eso este proyecto no es solo para compañías financieras. Cualquier equipo que quiera crear Agents empresariales puede observar cómo Anthropic descompone escenarios de industria.&lt;/p&gt;
&lt;h2 id=&#34;qué-flujos-típicos-cubre&#34;&gt;Qué flujos típicos cubre
&lt;/h2&gt;&lt;p&gt;Según la descripción del proyecto, el repositorio cubre varias áreas de servicios financieros, incluidas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Banca de inversión;&lt;/li&gt;
&lt;li&gt;Investigación de acciones;&lt;/li&gt;
&lt;li&gt;Private equity;&lt;/li&gt;
&lt;li&gt;Wealth management;&lt;/li&gt;
&lt;li&gt;Gestión de fondos;&lt;/li&gt;
&lt;li&gt;Workflows de KYC y cumplimiento.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Estos procesos tienen algo en común: todos requieren mucha lectura, organización, comparación y generación de materiales estructurados. Aquí lo más adecuado para la IA no es decidir directamente, sino reducir el tiempo de procesamiento de información y producción documental.&lt;/p&gt;
&lt;p&gt;Por ejemplo, en banca de inversión, un Agent puede ayudar a organizar información de una compañía objetivo, extraer métricas financieras clave y generar un primer borrador de resumen de transacción. En investigación, puede leer primero reportes y noticias, y listar cambios clave y preguntas pendientes. En KYC, puede ayudar a comprobar si la documentación está completa y si hay señales anómalas.&lt;/p&gt;
&lt;p&gt;El juicio final debe seguir en manos de profesionales. El rol del Agent se parece más al de asistente, analista y acelerador de procesos.&lt;/p&gt;
&lt;h2 id=&#34;qué-sugiere-para-la-adopción-empresarial&#34;&gt;Qué sugiere para la adopción empresarial
&lt;/h2&gt;&lt;p&gt;La parte más valiosa de este repositorio es que convierte &amp;ldquo;capacidad del modelo&amp;rdquo; en &amp;ldquo;componentes de negocio&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Los proyectos internos de IA suelen encontrarse con el mismo problema: la demo del modelo se ve bien, pero al conectarlo con negocio real cuesta reutilizarlo. Un equipo escribe un conjunto de prompts, otro equipo escribe otro. Un sistema conecta una base de datos, otro vuelve a crear su propia interfaz. Los requisitos de seguridad y auditoría quedan dispersos.&lt;/p&gt;
&lt;p&gt;Un enfoque más sólido es dividir las capacidades en varios tipos de activos:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Agents orientados a roles;&lt;/li&gt;
&lt;li&gt;Skills orientados a procesos;&lt;/li&gt;
&lt;li&gt;Conectores MCP para integración con sistemas;&lt;/li&gt;
&lt;li&gt;Reglas de ejecución para permisos y auditoría;&lt;/li&gt;
&lt;li&gt;Plantillas y checklists para salidas de negocio.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La ventaja es que la empresa no empieza cada vez desde &amp;ldquo;crear un chatbot&amp;rdquo;. Va acumulando activos de workflow de IA que se pueden mantener.&lt;/p&gt;
&lt;h2 id=&#34;no-se-pueden-ignorar-cumplimiento-y-responsabilidad&#34;&gt;No se pueden ignorar cumplimiento y responsabilidad
&lt;/h2&gt;&lt;p&gt;El malentendido más común sobre los Agents financieros es confundir &amp;ldquo;puede generar análisis&amp;rdquo; con &amp;ldquo;puede sustituir decisiones&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;En servicios financieros, la salida de IA normalmente debe tratarse como material de apoyo. Puede ordenar hechos, generar borradores, señalar riesgos y completar documentos, pero no puede saltarse investigación, control de riesgos, legal, cumplimiento ni requisitos de idoneidad del cliente. Especialmente cuando hay recomendaciones de inversión, decisiones de trading, asignación de activos o verificación de identidad, deben mantenerse aprobación humana y cadena de responsabilidad.&lt;/p&gt;
&lt;p&gt;Por eso los Agents empresariales no pueden evaluarse solo por la calidad de sus respuestas. También hay que mirar:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Si las fuentes de datos son fiables;&lt;/li&gt;
&lt;li&gt;Si referencias y evidencia son trazables;&lt;/li&gt;
&lt;li&gt;Si las llamadas a herramientas quedan registradas;&lt;/li&gt;
&lt;li&gt;Si los datos sensibles están restringidos;&lt;/li&gt;
&lt;li&gt;Si la salida pasa por confirmación humana;&lt;/li&gt;
&lt;li&gt;Si los resultados erróneos pueden detectarse y revertirse.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si estas preguntas no se resuelven, cuanto más automático sea el Agent, mayor será el radio de riesgo.&lt;/p&gt;
&lt;h2 id=&#34;conclusión&#34;&gt;Conclusión
&lt;/h2&gt;&lt;p&gt;anthropics/financial-services se parece más a una implementación de referencia de Agents financieros que a un producto financiero listo para usar. Muestra una forma en que Anthropic piensa la adopción empresarial de IA: no crear solo asistentes de chat genéricos, sino organizar Agents alrededor de roles concretos, procesos concretos, fuentes de datos concretas y límites de permisos concretos.&lt;/p&gt;
&lt;p&gt;Para instituciones financieras, puede servir como referencia para diseñar workflows internos de IA. Para desarrolladores, ofrece una muestra de arquitectura de Agents empresariales: Agents gestionan roles y tareas, Skills conservan procesos profesionales, Plugins y MCP conectan sistemas externos, y el modelo termina entrando en flujos reales de negocio.&lt;/p&gt;
&lt;p&gt;Si las primeras herramientas de IA resolvían &amp;ldquo;cómo hacer que el modelo responda preguntas&amp;rdquo;, proyectos como este se preocupan más por &amp;ldquo;cómo dejar que el modelo participe en el trabajo dentro de límites controlados&amp;rdquo;. Ahí está la verdadera dificultad de los Agents empresariales.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>DeepSeek-TUI: convertir DeepSeek V4 en un agente de programación en la terminal</title>
        <link>https://knightli.com/es/2026/05/16/deepseek-tui-terminal-coding-agent/</link>
        <pubDate>Sat, 16 May 2026 22:41:41 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/16/deepseek-tui-terminal-coding-agent/</guid>
        <description>&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/Hmbown/DeepSeek-TUI&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DeepSeek-TUI&lt;/a&gt; es un proyecto open source que lleva DeepSeek V4 al flujo de desarrollo en terminal. No es una simple carcasa de chat. Se parece más a un &amp;ldquo;agente de programación de línea de comandos&amp;rdquo;, como Claude Code o Codex CLI: puede leer archivos, modificar código, ejecutar comandos, llamar herramientas y seguir avanzando tareas desde una TUI.&lt;/p&gt;
&lt;p&gt;Si ya estás acostumbrado a alternar entre editor y terminal, el valor de este tipo de herramienta es directo: no tienes que copiar código una y otra vez en una ventana de chat web, ni describir manualmente toda la estructura del proyecto. Le das una tarea, puede leer el contexto del workspace actual, planificar pasos, aplicar cambios y devolverte el resultado para revisión.&lt;/p&gt;
&lt;h2 id=&#34;resuelve-el-problema-de-entrada-para-usar-deepseek&#34;&gt;Resuelve el problema de entrada para usar DeepSeek
&lt;/h2&gt;&lt;p&gt;Los modelos DeepSeek ya ofrecen buenas capacidades de razonamiento y código, pero para llevar esa capacidad a un flujo real de desarrollo hace falta una capa de ingeniería.&lt;/p&gt;
&lt;p&gt;El chat web sirve para hacer preguntas, pero no para editar proyectos durante mucho tiempo. La API sirve para integraciones, pero un desarrollador común tendría que construir por su cuenta llamadas a herramientas, gestión de contexto, operaciones de archivos y control de permisos. DeepSeek-TUI intenta cubrir esa capa: envolver DeepSeek V4 como un Agent que puede trabajar dentro de la terminal.&lt;/p&gt;
&lt;p&gt;Según la presentación del proyecto, sus capacidades principales incluyen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Interfaz TUI en terminal;&lt;/li&gt;
&lt;li&gt;Conversación y ejecución de tareas para DeepSeek V4;&lt;/li&gt;
&lt;li&gt;Llamadas a herramientas y operaciones de archivos;&lt;/li&gt;
&lt;li&gt;Soporte de contexto de 1M;&lt;/li&gt;
&lt;li&gt;Modo Auto;&lt;/li&gt;
&lt;li&gt;Subagentes;&lt;/li&gt;
&lt;li&gt;Ejecución en sandbox;&lt;/li&gt;
&lt;li&gt;Cola de tareas persistente.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;El objetivo de combinar estas funciones no es que el modelo responda de forma más humana, sino que pueda entrar con más facilidad en el entorno de desarrollo.&lt;/p&gt;
&lt;h2 id=&#34;una-tui-encaja-mejor-con-tareas-largas-que-una-cli-textual&#34;&gt;Una TUI encaja mejor con tareas largas que una CLI textual
&lt;/h2&gt;&lt;p&gt;Muchas herramientas AI CLI empiezan con interacción de texto puro: escribes un prompt, esperas la salida, copias comandos o añades más contexto. Es simple, pero cuando la tarea se alarga, se vuelve confuso.&lt;/p&gt;
&lt;p&gt;La ventaja de una TUI es que puede colocar conversaciones, archivos, resultados de ejecución y estado de tareas en una interfaz más estable. Para un Agent de programación, eso importa. Una tarea de código rara vez es una sola pregunta y respuesta. Suele incluir:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Entender la estructura del proyecto;&lt;/li&gt;
&lt;li&gt;Encontrar archivos relevantes;&lt;/li&gt;
&lt;li&gt;Modificar código;&lt;/li&gt;
&lt;li&gt;Ejecutar tests o comandos;&lt;/li&gt;
&lt;li&gt;Corregir según los errores;&lt;/li&gt;
&lt;li&gt;Resumir los cambios.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Si la interfaz solo es una cadena de logs, al usuario le cuesta ver en qué punto está el Agent. Una TUI al menos ofrece un lugar mejor para observar y tomar el control.&lt;/p&gt;
&lt;h2 id=&#34;el-modo-auto-conviene-para-tareas-con-límites-claros&#34;&gt;El modo Auto conviene para tareas con límites claros
&lt;/h2&gt;&lt;p&gt;El modo Auto que menciona DeepSeek-TUI encaja con trabajos de límites claros. Por ejemplo, arreglar un bug pequeño, añadir un script, cambiar una configuración, ordenar documentos o implementar una función local.&lt;/p&gt;
&lt;p&gt;Estas tareas tienen algo en común: el objetivo es claro, la forma de comprobarlo también, y el alcance del impacto es controlable. El Agent puede revisar archivos, editarlos, ejecutar comandos y luego entregar el resultado al usuario para confirmación.&lt;/p&gt;
&lt;p&gt;Pero el modo Auto no debe significar permisos ilimitados. En proyectos reales, borrar archivos, hacer refactors masivos, migrar bases de datos o ejecutar despliegues debería requerir confirmación explícita. La eficiencia de los Agents de programación viene de la automatización, pero el riesgo también. Cuanto más pueda ejecutar comandos una herramienta, más necesita sandbox, límites de permisos y revisión humana.&lt;/p&gt;
&lt;h2 id=&#34;los-subagentes-importan-porque-dividen-tareas&#34;&gt;Los subagentes importan porque dividen tareas
&lt;/h2&gt;&lt;p&gt;Los subagentes no son un concepto nuevo, pero son útiles en escenarios de código.&lt;/p&gt;
&lt;p&gt;Una tarea algo compleja suele requerir varios tipos de trabajo a la vez: alguien lee el código, alguien cambia la implementación, alguien revisa tests y alguien ordena documentación. Los sistemas multi-agent tradicionales a menudo parecen llamativos porque no tienen herramientas reales ni un workspace real; solo discuten dentro de una conversación.&lt;/p&gt;
&lt;p&gt;Si los subagentes se combinan con sistema de archivos, ejecución de comandos y cola de tareas, se parecen más a un mecanismo de descomposición de trabajo. Por ejemplo, un subagente analiza dependencias, otro modifica un módulo concreto y el agente principal integra el resultado. Así se reduce el problema de meter demasiada información no relacionada en un solo contexto.&lt;/p&gt;
&lt;p&gt;Por supuesto, los subagentes también añaden costo: más tokens, estado más complejo y límites de responsabilidad más difíciles de seguir. Por eso encajan mejor con tareas de complejidad media o superior, no necesariamente con cada cambio pequeño.&lt;/p&gt;
&lt;h2 id=&#34;el-contexto-de-1m-no-es-magia-pero-ayuda-a-leer-proyectos&#34;&gt;El contexto de 1M no es magia, pero ayuda a leer proyectos
&lt;/h2&gt;&lt;p&gt;El contexto de 1M suena exagerado, pero en programación no es solo una cifra de marketing.&lt;/p&gt;
&lt;p&gt;El contexto de un repositorio real está fragmentado: README, archivos de configuración, definiciones de tipos, tests, cadenas de llamadas, convenciones históricas y logs de errores pueden influir en un cambio. Un contexto más largo puede reducir el problema de editar tras mirar solo una parte local, y ayudar al modelo a conservar más restricciones del proyecto.&lt;/p&gt;
&lt;p&gt;Aun así, más contexto no significa mejor juicio automáticamente. Las tareas de código siguen necesitando búsqueda, filtrado y verificación. Meter todo el proyecto en el contexto no siempre es mejor que leer con precisión los archivos relevantes. Un buen Agent de programación debería tratar el contexto largo como un buffer, no como un atajo que sustituye el criterio de ingeniería.&lt;/p&gt;
&lt;h2 id=&#34;para-quién-es-más-útil&#34;&gt;Para quién es más útil
&lt;/h2&gt;&lt;p&gt;DeepSeek-TUI encaja mejor con varios grupos:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Desarrolladores que quieren usar DeepSeek para tareas de código en la terminal;&lt;/li&gt;
&lt;li&gt;Personas que no quieren construir por su cuenta frameworks de llamadas a herramientas y operaciones de archivos;&lt;/li&gt;
&lt;li&gt;Usuarios que ya conocen Claude Code o Codex CLI y quieren probar una entrada basada en DeepSeek;&lt;/li&gt;
&lt;li&gt;Quienes necesitan contexto de proyecto local, no solo preguntar por fragmentos de código en una web;&lt;/li&gt;
&lt;li&gt;Desarrolladores que quieren llevar el flujo de AI Coding al entorno de línea de comandos.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si solo preguntas de vez en cuando cómo escribir una función, el chat web basta. Si quieres que el modelo participe directamente en cambios del proyecto, un Agent de terminal tiene más sentido.&lt;/p&gt;
&lt;h2 id=&#34;riesgos-a-vigilar&#34;&gt;Riesgos a vigilar
&lt;/h2&gt;&lt;p&gt;Hay tres cosas especialmente importantes en este tipo de herramienta.&lt;/p&gt;
&lt;p&gt;La primera son los permisos. Si una herramienta puede leer y escribir archivos o ejecutar comandos, hay que saber a qué puede acceder por defecto, si puede borrar archivos, si puede conectarse a la red y si los comandos peligrosos requieren confirmación.&lt;/p&gt;
&lt;p&gt;La segunda es la reversibilidad. Antes de usarla, conviene mantener limpio el árbol de trabajo de Git, para que cada cambio del Agent pueda verse claramente con &lt;code&gt;git diff&lt;/code&gt;. No conviene dejar que un Agent edite automáticamente un proyecto con muchos cambios sin commit.&lt;/p&gt;
&lt;p&gt;La tercera es la verificación. Que el Agent escriba código no significa que la tarea esté terminada. Tests, builds, lint y review humana siguen siendo necesarios. Las herramientas de AI Coding pueden acelerar el avance, pero no sustituyen la confirmación final de ingeniería.&lt;/p&gt;
&lt;h2 id=&#34;conclusión&#34;&gt;Conclusión
&lt;/h2&gt;&lt;p&gt;La importancia de DeepSeek-TUI no está en añadir otro cliente de chat, sino en poner DeepSeek V4 dentro de un entorno de terminal más cercano al trabajo real de desarrollo.&lt;/p&gt;
&lt;p&gt;Para los desarrolladores, la capacidad del modelo es solo el primer paso. La experiencia real depende de si puede leer el proyecto, modificar archivos con seguridad, ejecutar comandos de verificación, mantener estado en tareas largas y permitir que el usuario tome el control en cualquier momento.&lt;/p&gt;
&lt;p&gt;Si quieres usar DeepSeek para cambios diarios de código, lectura de proyectos y tareas de desarrollo automatizadas, DeepSeek-TUI merece atención. La dirección también está clara: las herramientas de AI Coding están pasando de &amp;ldquo;responder preguntas de código&amp;rdquo; a &amp;ldquo;participar en la ejecución de proyectos&amp;rdquo;.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>¿Cómo evolucionaron los AI Agents? Guía completa de cinco generaciones, 2022-2026</title>
        <link>https://knightli.com/es/2026/05/16/ai-agent-evolution-2022-2026/</link>
        <pubDate>Sat, 16 May 2026 19:19:52 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/16/ai-agent-evolution-2022-2026/</guid>
        <description>&lt;p&gt;Los AI Agents no aparecieron de un día para otro.&lt;/p&gt;
&lt;p&gt;A finales de 2022, ChatGPT era principalmente una ventana de chat. Para 2026, los agentes empezaron a tener llamadas de herramientas, operaciones con archivos, control del ordenador, memoria a largo plazo, colaboración remota y ejecución persistente. En cuatro años pasaron de &amp;ldquo;modelos que responden preguntas&amp;rdquo; a &amp;ldquo;trabajadores digitales que empujan tareas&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Vistos en línea temporal, los AI Agents pasaron por unas cinco generaciones. Cada una resolvió una limitación de la anterior y creó nuevas burbujas y nuevos problemas de seguridad.&lt;/p&gt;
&lt;h2 id=&#34;resumen-cinco-generaciones-de-agents&#34;&gt;Resumen: cinco generaciones de Agents
&lt;/h2&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Etapa&lt;/th&gt;
          &lt;th&gt;Tiempo&lt;/th&gt;
          &lt;th&gt;Palabra clave&lt;/th&gt;
          &lt;th&gt;Cambio de capacidad&lt;/th&gt;
          &lt;th&gt;Problema central&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Generación 0&lt;/td&gt;
          &lt;td&gt;Finales de 2022 - inicio de 2023&lt;/td&gt;
          &lt;td&gt;Chat&lt;/td&gt;
          &lt;td&gt;Genera texto, pero no actúa&lt;/td&gt;
          &lt;td&gt;El modelo está separado del mundo real&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Generación 1&lt;/td&gt;
          &lt;td&gt;Mitad de 2023 - final de 2023&lt;/td&gt;
          &lt;td&gt;Tool calling&lt;/td&gt;
          &lt;td&gt;Produce llamadas estructuradas, conecta API y RAG&lt;/td&gt;
          &lt;td&gt;Ejecución abierta y pérdida de dirección&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Generación 2&lt;/td&gt;
          &lt;td&gt;Finales de 2023 - 2024&lt;/td&gt;
          &lt;td&gt;Workflows de ingeniería&lt;/td&gt;
          &lt;td&gt;Planificación, estado, reflexión y multi-agent&lt;/td&gt;
          &lt;td&gt;Workflows fáciles de copiar&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Generación 3&lt;/td&gt;
          &lt;td&gt;2024 - 2025&lt;/td&gt;
          &lt;td&gt;Computer Use&lt;/td&gt;
          &lt;td&gt;Ve pantallas y opera GUI&lt;/td&gt;
          &lt;td&gt;Permisos, seguridad y errores de operación&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Generación 4&lt;/td&gt;
          &lt;td&gt;2025 - 2026&lt;/td&gt;
          &lt;td&gt;MCP / Skills / persistencia&lt;/td&gt;
          &lt;td&gt;Red de herramientas, contexto largo y skills&lt;/td&gt;
          &lt;td&gt;La ejecución persistente amplía el riesgo&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Generación 5&lt;/td&gt;
          &lt;td&gt;Después de 2026&lt;/td&gt;
          &lt;td&gt;Loops y world models&lt;/td&gt;
          &lt;td&gt;Más memoria, validación y acción física&lt;/td&gt;
          &lt;td&gt;Gobernanza más difícil&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;finales-de-2022-generación-0-la-era-del-chat-de-chatgpt&#34;&gt;Finales de 2022: Generación 0, la era del chat de ChatGPT
&lt;/h2&gt;&lt;p&gt;La Generación 0 empieza con el lanzamiento de ChatGPT el 30 de noviembre de 2022.&lt;/p&gt;
&lt;p&gt;Todavía no era un Agent real. Tenía gran capacidad de lenguaje, pero estaba encerrado en una ventana de chat. Podía escribir Python, pero no ejecutarlo en tu ordenador. Podía planificar un viaje, pero no comprar billetes. Podía explicar cómo editar un archivo, pero no entrar en el sistema de archivos y modificarlo.&lt;/p&gt;
&lt;p&gt;Sus límites eran claros:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;entender lenguaje natural;&lt;/li&gt;
&lt;li&gt;generar artículos, respuestas, código y planes;&lt;/li&gt;
&lt;li&gt;no acceder por sí mismo a datos recientes;&lt;/li&gt;
&lt;li&gt;no leer de forma estable documentos internos de empresa;&lt;/li&gt;
&lt;li&gt;no ejecutar acciones externas;&lt;/li&gt;
&lt;li&gt;no gestionar estado de tareas largas.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;El problema central era la desconexión entre capacidad del modelo y mundo real. Podía pensar y hablar, pero no actuar.&lt;/p&gt;
&lt;p&gt;Esta etapa también creó la primera burbuja: prompt engineers, mercados de plantillas, cursos y certificaciones. Los modelos tempranos sí eran sensibles al prompt, pero el mercado confundió un parche temporal con una ventaja duradera.&lt;/p&gt;
&lt;p&gt;Con modelos tipo GPT-4, system prompts, function calling y mejores valores por defecto, muchas plantillas perdieron escasez. El patrón se repitió después: una nueva capacidad crea una capa intermedia; la siguiente generación la incorpora; la capa intermedia desaparece.&lt;/p&gt;
&lt;h2 id=&#34;mitad-de-2023-generación-1-despierta-el-tool-calling&#34;&gt;Mitad de 2023: Generación 1, despierta el tool calling
&lt;/h2&gt;&lt;p&gt;La palabra clave de la Generación 1 es tool calling.&lt;/p&gt;
&lt;p&gt;En junio de 2023, OpenAI lanzó &lt;code&gt;function calling&lt;/code&gt;. Los desarrolladores podían describir nombres de funciones, usos, tipos de parámetros y &lt;code&gt;JSON Schema&lt;/code&gt;. Tras entender la petición del usuario, el modelo podía devolver una llamada JSON estructurada, que un sistema externo ejecutaba.&lt;/p&gt;
&lt;p&gt;El cambio arquitectónico fue enorme: el modelo pasó de ser un cerebro que solo habla a un cerebro que puede mover herramientas externas.&lt;/p&gt;
&lt;p&gt;Capacidades clave:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;elegir herramientas según la intención;&lt;/li&gt;
&lt;li&gt;producir argumentos estructurados;&lt;/li&gt;
&lt;li&gt;llamar API externas;&lt;/li&gt;
&lt;li&gt;devolver resultados al modelo para seguir razonando;&lt;/li&gt;
&lt;li&gt;usar RAG para acceder a conocimiento externo;&lt;/li&gt;
&lt;li&gt;formar personas tempranas con plugins y bases de conocimiento.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Al mismo tiempo, &lt;code&gt;RAG&lt;/code&gt; y las bases vectoriales se volvieron populares. Resolvieron el problema de información reciente, material privado e información interna. El sistema recupera fragmentos relevantes, los inyecta en el contexto y el modelo responde a partir de ellos.&lt;/p&gt;
&lt;p&gt;La estructura básica del Agent quedó así:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;quién eres: system prompt y persona;&lt;/li&gt;
&lt;li&gt;qué sabes: base de conocimiento, RAG, documentos privados;&lt;/li&gt;
&lt;li&gt;qué puedes hacer: function calling, plugins, API externas.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La burbuja más visible fue AutoGPT. La idea era atractiva: el usuario da un objetivo amplio, y la IA descompone tareas, busca, escribe archivos, evalúa, itera y se detiene cuando cree haber terminado.&lt;/p&gt;
&lt;p&gt;Pero AutoGPT mostró pronto sus fallos. Le faltaban restricciones de estado, condiciones de parada y feedback fiable. Las tareas se desviaban, las API se llamaban con argumentos erróneos y los costes podían dispararse. La lección fue clara: herramientas más bucles infinitos no hacen un Agent de producción.&lt;/p&gt;
&lt;h2 id=&#34;finales-de-2023-a-2024-generación-2-workflows-de-ingeniería&#34;&gt;Finales de 2023 a 2024: Generación 2, workflows de ingeniería
&lt;/h2&gt;&lt;p&gt;El fracaso de AutoGPT enseñó que no basta con dejar improvisar al modelo. Las tareas complejas necesitan proceso.&lt;/p&gt;
&lt;p&gt;La Generación 2 trata de workflows de ingeniería. El Agent deja de ser una llamada al modelo y se convierte en un sistema con estado, control de flujo y evaluación.&lt;/p&gt;
&lt;p&gt;Capacidades clave:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;planificación: dividir objetivos grandes en pasos;&lt;/li&gt;
&lt;li&gt;gestión de estado: saber por dónde va la tarea;&lt;/li&gt;
&lt;li&gt;reflexión y revisión: generar, evaluar y corregir;&lt;/li&gt;
&lt;li&gt;orquestación de herramientas;&lt;/li&gt;
&lt;li&gt;intervención humana en puntos críticos;&lt;/li&gt;
&lt;li&gt;colaboración multi-agent.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;El patrón típico es &lt;code&gt;ReAct&lt;/code&gt;, o &lt;code&gt;Reasoning + Acting&lt;/code&gt;. El modelo razona, llama una herramienta, observa el resultado y razona otra vez. Así cada paso tiene lógica auditable y feedback.&lt;/p&gt;
&lt;p&gt;La Generación 2 puso la capacidad del modelo dentro de un proceso controlable. Un buen workflow puede producir resultados más estables que una única llamada a un modelo grande.&lt;/p&gt;
&lt;p&gt;También apareció la burbuja de plataformas low-code para Agents. Interfaces visuales permitían combinar prompt, RAG, plugins y flujos. Bajaban la barrera de construcción, pero si un workflow puede copiarse barato, la plataforma tiene poco moat.&lt;/p&gt;
&lt;p&gt;Capturar demanda temprana no equivale a tener una defensa duradera.&lt;/p&gt;
&lt;h2 id=&#34;2024-a-2025-generación-3-computer-use-entra-en-interfaces-reales&#34;&gt;2024 a 2025: Generación 3, Computer Use entra en interfaces reales
&lt;/h2&gt;&lt;p&gt;La palabra clave de la Generación 3 es &lt;code&gt;Computer Use&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Antes, el tool calling dependía de API. Lo que el Agent podía hacer dependía de lo que alguien hubiera conectado. Pero muchas aplicaciones reales no tienen API limpias, abiertas o completas.&lt;/p&gt;
&lt;p&gt;Computer Use permite al modelo ver pantallas, hacer clic y operar GUI. La interfaz general del ordenador se convierte en herramienta.&lt;/p&gt;
&lt;p&gt;Capacidades clave:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;reconocer contenido en pantalla;&lt;/li&gt;
&lt;li&gt;hacer clic, escribir texto y cambiar ventanas;&lt;/li&gt;
&lt;li&gt;operar web y software de escritorio;&lt;/li&gt;
&lt;li&gt;leer repositorios, editar archivos y ejecutar pruebas;&lt;/li&gt;
&lt;li&gt;revisar terminal y errores;&lt;/li&gt;
&lt;li&gt;acercarse a un asistente de ingeniería real.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto empujó al Agent de &amp;ldquo;usar herramientas conectadas&amp;rdquo; a &amp;ldquo;operar software como una persona&amp;rdquo;. También acercó los coding agents al flujo real: leer proyecto, cambiar código, correr pruebas y corregir por errores.&lt;/p&gt;
&lt;p&gt;Pero la frontera de confianza creció. Si la IA opera un ordenador, puede hacer clic mal, borrar archivos, enviar formularios o ser manipulada por texto de páginas, documentos o interfaces. Prompt injection pasa a ser un problema de archivos, permisos y seguridad del sistema.&lt;/p&gt;
&lt;p&gt;La lección de la Generación 3: cuanto más cerca esté el Agent de operaciones reales, más necesita sandbox, aprobaciones, rollback y mínimo privilegio.&lt;/p&gt;
&lt;h2 id=&#34;2025-a-2026-generación-4-mcp-skills-y-trabajadores-digitales-persistentes&#34;&gt;2025 a 2026: Generación 4, MCP, Skills y trabajadores digitales persistentes
&lt;/h2&gt;&lt;p&gt;La Generación 4 se centra en persistencia, conexión, memoria y especialización.&lt;/p&gt;
&lt;p&gt;El foco ya no es solo hacer mejor una tarea aislada. Los Agents empiezan a tener contexto a largo plazo, red de herramientas, skills profesionales y sentido del tiempo. Se parecen menos a un asistente de una conversación y más a un trabajador digital continuo.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;MCP&lt;/code&gt; resuelve la conexión de herramientas. Permite conectar sistemas de archivos, bases de datos, navegadores, herramientas de diseño, gestión de proyectos y sistemas empresariales de forma más estándar. Cuando el protocolo se estabiliza, muchas capas intermedias de conexión se comprimen.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Skills&lt;/code&gt; resuelve el método profesional. Las herramientas dicen qué puede hacer el Agent; las skills dicen cómo debe hacerlo. Una buena skill no es solo un prompt: empaqueta flujo de dominio, restricciones, checks, errores comunes y orden de herramientas.&lt;/p&gt;
&lt;p&gt;Capacidades clave:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;memoria a largo plazo: preferencias, reglas de proyecto e historial;&lt;/li&gt;
&lt;li&gt;contexto de proyecto: repositorios, documentación y normas;&lt;/li&gt;
&lt;li&gt;red de herramientas: MCP, API, navegador y sistema de archivos;&lt;/li&gt;
&lt;li&gt;skills profesionales: métodos de tarea empaquetados;&lt;/li&gt;
&lt;li&gt;ejecución persistente: esperar, despertar, recordar y seguir;&lt;/li&gt;
&lt;li&gt;colaboración remota: aprobar y ajustar desde otros dispositivos.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esta generación empieza a tener sensación de empleado: identidad, límites de responsabilidad, contexto largo, método profesional, sentido del tiempo, permisos de herramientas y capacidad de avanzar sin supervisión constante.&lt;/p&gt;
&lt;p&gt;Pero cuanto más se parece a un empleado, más se parece su radio de riesgo. Ejecución persistente, datos locales, secretos, llamadas a herramientas y tareas reales convierten la seguridad en un asunto central.&lt;/p&gt;
&lt;p&gt;Hay un punto especialmente importante: el texto también es superficie de ataque. Si un Agent lee y obedece Markdown, documentación, skill packs o páginas web, texto malicioso puede cambiar su conducta. Prompt injection se vuelve problema de supply chain, permisos y ejecución.&lt;/p&gt;
&lt;p&gt;La lección de la Generación 4: los Agents persistentes necesitan gobernanza, no solo capacidad.&lt;/p&gt;
&lt;h2 id=&#34;después-de-2026-generación-5-loops-memoria-interna-y-world-models&#34;&gt;Después de 2026: Generación 5, loops, memoria interna y world models
&lt;/h2&gt;&lt;p&gt;La Generación 5 todavía no es historia cerrada. Es una extrapolación de los cuatro años anteriores.&lt;/p&gt;
&lt;p&gt;Un Agent maduro necesita al menos tres loops:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;loop de ejecución: verificar tras cada acción, hacer rollback, corregir y reintentar;&lt;/li&gt;
&lt;li&gt;loop temporal: seguir objetivos largos entre varios ciclos de activación;&lt;/li&gt;
&lt;li&gt;loop cognitivo: distinguir información segura, suposiciones e información caducada.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La segunda dirección es memoria interna. Hasta ahora, gran parte de la memoria está fuera del modelo: RAG, vectores, historial, archivos locales, &lt;code&gt;memory.md&lt;/code&gt;. Si los modelos futuros soportan estado persistente entre sesiones, la memoria de los Agents se rediseñará.&lt;/p&gt;
&lt;p&gt;La tercera dirección son los world models. Muchos Agents actuales son reactivos: observar, responder, volver a observar. Las tareas de alto riesgo necesitan simular consecuencias antes de actuar.&lt;/p&gt;
&lt;p&gt;La cuarta dirección es embodiment. Las generaciones anteriores vivían sobre todo en espacio digital: API, pantallas, archivos, navegador, herramientas empresariales. El siguiente paso puede llevar la acción a robots, dispositivos, sistemas industriales e interfaces físicas.&lt;/p&gt;
&lt;p&gt;La Generación 5 tendrá que resolver cómo ejecutar tareas, entender consecuencias, gestionar estado largo y mantenerse fiable en un radio de riesgo mayor.&lt;/p&gt;
&lt;h2 id=&#34;seis-reglas-detrás-de-la-línea-temporal&#34;&gt;Seis reglas detrás de la línea temporal
&lt;/h2&gt;&lt;p&gt;Primera: la capacidad del modelo base sigue siendo el techo. Un Agent no es magia fuera del modelo, sino capacidad del modelo liberada mediante ingeniería.&lt;/p&gt;
&lt;p&gt;Segunda: la arquitectura de ingeniería amplifica el modelo. Planificación, verificación, reflexión, corrección, evaluación y permisos se acercan más a resultados entregables que una generación única.&lt;/p&gt;
&lt;p&gt;Tercera: los protocolos abiertos redistribuyen valor. Cuando MCP, Skills y contexto de proyecto se estabilizan, la competencia pasa de conectar herramientas a acumular capacidad real de dominio.&lt;/p&gt;
&lt;p&gt;Cuarta: la línea oculta es la ampliación de la confianza humano-máquina. Texto, API, workflows, ordenador y ejecución persistente amplían cada vez más el radio de riesgo.&lt;/p&gt;
&lt;p&gt;Quinta: cada accidente se convierte en regla para la siguiente generación. Los bucles de AutoGPT empujaron la orquestación; los fallos de vibe coding empujaron evaluación; los borrados en producción empujaron permisos mínimos y sandbox.&lt;/p&gt;
&lt;p&gt;Sexta: el ecosistema Agent alterna explosión y extinción. Las nuevas capacidades crean capas temporales; los modelos o plataformas las incorporan después. Confundir una ventana temporal con un moat es peligroso.&lt;/p&gt;
&lt;h2 id=&#34;el-moat-real&#34;&gt;El moat real
&lt;/h2&gt;&lt;p&gt;El moat real en AI Agents no es empaquetar primero una nueva capacidad.&lt;/p&gt;
&lt;p&gt;Hay tres moats más fiables.&lt;/p&gt;
&lt;p&gt;Primero, profundidad vertical. ¿Entiendes de verdad el flujo, riesgos, excepciones y responsabilidades de una industria?&lt;/p&gt;
&lt;p&gt;Segundo, data flywheel. ¿Puedes acumular feedback real de alta calidad y mejorar procesos, evaluación, fine-tuning y decisiones de producto?&lt;/p&gt;
&lt;p&gt;Tercero, confianza del usuario. ¿Te entregan trabajo de más valor, más largo y más riesgoso, o solo te usan como herramienta puntual?&lt;/p&gt;
&lt;p&gt;Cuando una plataforma o modelo base absorbe una capacidad, los productos que aún conservan procesos, feedback, límites de responsabilidad y confianza tienen más probabilidades de sobrevivir.&lt;/p&gt;
&lt;h2 id=&#34;cierre&#34;&gt;Cierre
&lt;/h2&gt;&lt;p&gt;De 2022 a 2026, la evolución de AI Agents no fue &amp;ldquo;modelos que chatean mejor&amp;rdquo;. Fue &amp;ldquo;humanos dispuestos a entregar más trabajo a la IA&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Un Agent maduro no es el sistema que más se atreve a ejecutar. Es el sistema que sabe cuándo ejecutar, cuándo verificar, cuándo pausar y cuándo pedir confirmación humana.&lt;/p&gt;
&lt;p&gt;Para juzgar si un producto Agent tiene valor a largo plazo, pregunta: cuando el próximo modelo o plataforma incorpore esta capacidad, ¿qué queda?&lt;/p&gt;
&lt;p&gt;Si la respuesta es proceso de dominio, datos reales, resultados verificables y confianza del usuario, puede haber valor duradero.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Filtraciones de Gemini 3.5 Pro: Google quiere recuperar la entrada de programación AI con Spark Agent</title>
        <link>https://knightli.com/es/2026/05/15/gemini-35-pro-spark-agent-ai-coding-race/</link>
        <pubDate>Fri, 15 May 2026 23:45:34 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/15/gemini-35-pro-spark-agent-ai-coding-race/</guid>
        <description>&lt;p&gt;Gemini 3.5 Pro todavía no se ha lanzado oficialmente, pero las filtraciones a su alrededor ya están ganando fuerza.&lt;/p&gt;
&lt;p&gt;La información actual gira alrededor de varios términos: Gemini 3.5 Pro, el nombre en clave Cappuccino, Gemini Spark, programación AI e integración de herramientas MCP. Todos apuntan en la misma dirección: Google no solo quiere actualizar otro modelo de chat. Quiere volver a conectar modelos, herramientas, Agents y puntos de entrada del ecosistema Google.&lt;/p&gt;
&lt;p&gt;Antes de un lanzamiento oficial, todo esto debe tratarse como información filtrada. La señal importante no está en una captura concreta ni en un resultado de benchmark, sino en las carencias que Google podría estar intentando cerrar.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-gemini-35-pro-importa&#34;&gt;Por Qué Gemini 3.5 Pro Importa
&lt;/h2&gt;&lt;p&gt;Según la información expuesta, Gemini 3.5 Pro podría representar un salto de nombre.&lt;/p&gt;
&lt;p&gt;Hasta hace poco se hablaba de Gemini 3.2, y luego apareció Gemini 3.5 Pro en filtraciones. Si el nombre es real, Google probablemente quiere contar una historia de versión más grande en la próxima presentación, no solo lanzar una actualización menor.&lt;/p&gt;
&lt;p&gt;Los puntos filtrados se concentran principalmente en tres áreas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;mejoras continuas en programación y razonamiento;&lt;/li&gt;
&lt;li&gt;mayor capacidad para generar SVG, páginas interactivas, animaciones y 3D;&lt;/li&gt;
&lt;li&gt;un nuevo producto Agent, Gemini Spark, que podría pasar al primer plano.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ninguna de estas direcciones sorprende. Gemini siempre ha enfatizado la multimodalidad, y Google tiene canales de distribución muy fuertes. La verdadera pregunta es si puede alcanzar el ritmo de OpenAI y Anthropic en herramientas para desarrolladores y flujos de trabajo tipo Agent.&lt;/p&gt;
&lt;h2 id=&#34;la-programación-es-la-asignatura-que-google-más-necesita-recuperar&#34;&gt;La Programación Es La Asignatura Que Google Más Necesita Recuperar
&lt;/h2&gt;&lt;p&gt;En 2026, la programación ya no es solo un punto de evaluación de modelos. Se ha convertido en uno de los puntos de entrada de producto más directos.&lt;/p&gt;
&lt;p&gt;La razón es simple: las herramientas de programación AI tienen uso frecuente y generan muchos datos de retroalimentación. Los desarrolladores piden a los modelos leer código, modificar código, ejecutar pruebas y corregir errores todos los días. Estas interacciones empujan de forma natural la siguiente generación de modelos y herramientas.&lt;/p&gt;
&lt;p&gt;Durante el último año, Claude Code ha ganado mucha presencia entre desarrolladores, mientras OpenAI ha seguido reforzando la colaboración entre Codex y ChatGPT. Google tiene productos como Antigravity, pero su presencia externa no ha sido tan fuerte.&lt;/p&gt;
&lt;p&gt;Por eso Gemini 3.5 Pro está bajo observación. Si solo chatea mejor o responde más rápido, el impacto será limitado. Si realmente mejora la comprensión de código, la edición entre varios archivos, las llamadas a herramientas y la ejecución de tareas largas, entonces sí puede cambiar flujos de trabajo de desarrollo.&lt;/p&gt;
&lt;h2 id=&#34;gemini-spark-puede-ser-la-variable-más-grande&#34;&gt;Gemini Spark Puede Ser La Variable Más Grande
&lt;/h2&gt;&lt;p&gt;Más agresivo que el modelo en sí es el rumoreado Gemini Spark.&lt;/p&gt;
&lt;p&gt;Según las filtraciones, Spark no se posiciona como un asistente de chat normal, sino como un AI Agent siempre activo. Podría conectarse a correo, calendario, páginas web, tareas, estado de cuenta y contexto personal para ayudar al usuario a manejar flujos de varios pasos.&lt;/p&gt;
&lt;p&gt;Este tipo de producto abre mucho espacio de imaginación. Por ejemplo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;organizar automáticamente la bandeja de entrada;&lt;/li&gt;
&lt;li&gt;hacer seguimiento de tareas para el usuario;&lt;/li&gt;
&lt;li&gt;ejecutar acciones en páginas web;&lt;/li&gt;
&lt;li&gt;manejar procesos entre aplicaciones;&lt;/li&gt;
&lt;li&gt;organizar asuntos diarios según preferencias personales.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pero los riesgos son igual de evidentes. Si un Agent siempre activo puede acceder al estado de sesión, datos del navegador, archivos, ubicación y servicios de terceros, debe responder varias preguntas: ¿cuándo debe confirmar el usuario una acción? ¿qué operaciones deben quedar prohibidas para la automatización? ¿se compartirán datos con terceros? ¿cómo se aíslan el navegador remoto y las credenciales?&lt;/p&gt;
&lt;p&gt;Así que el punto clave de Spark no es solo si puede hacer trabajo por ti. Es si Google puede dejar suficientemente claros los permisos, la auditoría, los flujos de confirmación y el control del usuario.&lt;/p&gt;
&lt;h2 id=&#34;qué-sugiere-la-integración-de-herramientas-mcp&#34;&gt;Qué Sugiere La Integración De Herramientas MCP
&lt;/h2&gt;&lt;p&gt;Las filtraciones también mencionan que el nuevo selector de Gemini podría incluir modelos o entradas de prueba relacionadas con MCP.&lt;/p&gt;
&lt;p&gt;Si esto llega al producto, sugiere que Google también está empujando los modelos desde un sistema de preguntas y respuestas hacia un sistema operativo de herramientas. El modelo ya no solo genera texto. Debe llamar herramientas externas, acceder a sistemas de negocio, leer y escribir archivos, ejecutar comandos y mantener estado de tarea entre varios pasos.&lt;/p&gt;
&lt;p&gt;Es la misma dirección que siguen OpenAI y Anthropic. Quien logre llamadas a herramientas más estables tendrá más facilidad para insertar AI en flujos reales.&lt;/p&gt;
&lt;p&gt;Pero la integración MCP no es el final. Lo difícil es la estabilidad:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;si el modelo puede elegir la herramienta correcta;&lt;/li&gt;
&lt;li&gt;si los parámetros son fiables;&lt;/li&gt;
&lt;li&gt;si puede recuperarse tras un fallo;&lt;/li&gt;
&lt;li&gt;si los límites de permisos están claros;&lt;/li&gt;
&lt;li&gt;si el usuario puede rastrear cada paso.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si estas preguntas no se resuelven, más herramientas también significan más superficie de error.&lt;/p&gt;
&lt;h2 id=&#34;la-multimodalidad-sigue-siendo-una-carta-fuerte-para-google&#34;&gt;La Multimodalidad Sigue Siendo Una Carta Fuerte Para Google
&lt;/h2&gt;&lt;p&gt;El área donde Google tiene más opciones de diferenciarse sigue siendo la multimodalidad.&lt;/p&gt;
&lt;p&gt;Según los ejemplos filtrados de SVG, páginas interactivas, animaciones y generación visual, Gemini podría seguir reforzando la capacidad de generar contenido interactivo a partir de prompts. Frente a escribir solo un fragmento de código, esto se acerca más al prototipado de producto: el usuario describe una idea y el modelo entrega directamente una interfaz operable, ajustable y previsualizable.&lt;/p&gt;
&lt;p&gt;Esta ruta encaja bien con Google. Aprovecha las fortalezas multimodales de Gemini y también puede conectarse con Android, Chrome, Workspace, Search, Ads y Cloud.&lt;/p&gt;
&lt;p&gt;Si Google quiere evitar competir solo en &amp;ldquo;qué modelo programa mejor&amp;rdquo;, probablemente pondrá más peso en un sistema Agent multimodal más completo.&lt;/p&gt;
&lt;h2 id=&#34;las-tres-compañías-empiezan-a-diferenciar-sus-jugadas&#34;&gt;Las Tres Compañías Empiezan A Diferenciar Sus Jugadas
&lt;/h2&gt;&lt;p&gt;La competencia actual de grandes modelos ya no es solo una competencia de rankings.&lt;/p&gt;
&lt;p&gt;La ventaja de OpenAI está en la velocidad de iteración de producto y distribución. Codex, ChatGPT, herramientas empresariales y APIs están cada vez más conectados.&lt;/p&gt;
&lt;p&gt;La ventaja de Anthropic está en la mente de los desarrolladores y en la calidad de sus modelos de código. Claude Code ya se ha convertido en el punto de entrada de programación AI por defecto para muchas personas.&lt;/p&gt;
&lt;p&gt;La ventaja de Google es el acceso al ecosistema. Gmail, Docs, Chrome, Android, Search, YouTube, Maps y servicios cloud forman una enorme red de datos personales y empresariales. Si los Agents pueden conectarse a estos puntos de entrada de forma segura, Google puede pasar de ser un &amp;ldquo;perseguidor de modelos&amp;rdquo; a controlar entradas de flujo de trabajo.&lt;/p&gt;
&lt;p&gt;Por eso Gemini Spark merece atención. No necesita quedar primero en todos los benchmarks. Si logra entrar en los flujos diarios, puede construir su propio foso.&lt;/p&gt;
&lt;h2 id=&#34;cómo-deberían-leer-esto-los-usuarios-comunes&#34;&gt;Cómo Deberían Leer Esto Los Usuarios Comunes
&lt;/h2&gt;&lt;p&gt;Para usuarios comunes, no hace falta dejarse arrastrar por cada filtración a corto plazo.&lt;/p&gt;
&lt;p&gt;Los puntos prácticos a observar son tres:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Si la capacidad de programación de Gemini 3.5 Pro mejora de verdad, especialmente en repositorios complejos, contexto largo y llamadas a herramientas.&lt;/li&gt;
&lt;li&gt;Si Gemini Spark es seguro por defecto, con confirmación clara y registros rastreables antes de operaciones sensibles.&lt;/li&gt;
&lt;li&gt;Si Google ofrece precios, cuotas y gestión de permisos empresariales claros, no solo demos llamativas.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Generar unas cuantas capturas bonitas tiene valor limitado. Poder conectarse de forma estable a flujos reales es la línea divisoria de esta generación de productos AI Agent.&lt;/p&gt;
&lt;h2 id=&#34;qué-significa-para-desarrolladores&#34;&gt;Qué Significa Para Desarrolladores
&lt;/h2&gt;&lt;p&gt;Los desarrolladores deberían preocuparse menos por &amp;ldquo;qué modelo ganó&amp;rdquo; y más por si su flujo de trabajo es portable.&lt;/p&gt;
&lt;p&gt;Claude Code, Codex, Gemini, Antigravity, Cursor, Windsurf y muchas otras herramientas compiten por el punto de entrada. Si todos los procesos quedan atados a una sola plataforma, cualquier cambio futuro de coste, cuota, política de modelo o regla de permisos hará dolorosa la migración.&lt;/p&gt;
&lt;p&gt;Una postura más segura es:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;mantener flujos Git estándar en proyectos importantes;&lt;/li&gt;
&lt;li&gt;revisar siempre el diff después de ediciones automáticas;&lt;/li&gt;
&lt;li&gt;usar pruebas y CI como respaldo para tareas clave;&lt;/li&gt;
&lt;li&gt;no entregar credenciales de producción a Agents opacos;&lt;/li&gt;
&lt;li&gt;cuando se puedan conectar herramientas con protocolos abiertos, preferir opciones reemplazables.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Los modelos seguirán mejorando, pero la disciplina de ingeniería no quedará obsoleta.&lt;/p&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;Las filtraciones de Gemini 3.5 Pro sugieren que Google está acelerando para cerrar brechas en programación AI y puntos de entrada tipo Agent. La mejora del modelo es solo una parte; Agents siempre activos como Gemini Spark podrían ser el movimiento estratégico más grande.&lt;/p&gt;
&lt;p&gt;Pero cuanto más puede un sistema &amp;ldquo;hacer cosas automáticamente&amp;rdquo; por el usuario, más necesita límites estrictos de permisos y flujos verificables. Para Google, el reto real no es solo alcanzar a GPT-5.5 o Claude. Es combinar modelos fuertes, mecanismos de seguridad y entradas de ecosistema en un flujo diario confiable.&lt;/p&gt;
&lt;p&gt;Si lo consigue, Gemini no necesitará liderar todos los rankings para recuperar parte de la iniciativa en los puntos de entrada de AI.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Lectura rápida de OpenHuman: la ruta de escritorio para un AI Agent personal de código abierto</title>
        <link>https://knightli.com/es/2026/05/15/openhuman-open-source-personal-ai-agent/</link>
        <pubDate>Fri, 15 May 2026 14:52:31 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/15/openhuman-open-source-personal-ai-agent/</guid>
        <description>&lt;p&gt;OpenHuman es un proyecto de AI Agent personal de código abierto creado por tinyhumansai. Su objetivo no es construir otra ventana de chat, sino colocar una aplicación de escritorio, memoria personal, integraciones de terceros, voz, herramientas de programación y una base de conocimiento local dentro del mismo agent harness, para que la IA entienda más rápido el contexto de tu trabajo diario.&lt;/p&gt;
&lt;p&gt;El README del proyecto lo presenta como &amp;ldquo;Personal AI super intelligence&amp;rdquo;, y el sitio oficial también destaca private, simple y extremely powerful. Es una afirmación ambiciosa, pero conviene descomponerla: lo realmente interesante de OpenHuman es que intenta poner el &amp;ldquo;contexto personal&amp;rdquo; en el centro del producto, en lugar de dejar al usuario la tarea de ensamblar llamadas a modelos, configuración de plugins y búsqueda documental.&lt;/p&gt;
&lt;p&gt;En el momento de revisar este artículo, el repositorio de GitHub tenía alrededor de 7.8k stars y 629 forks. La versión más reciente era &lt;code&gt;OpenHuman v0.53.43&lt;/code&gt;, fechada el 13 de mayo de 2026. El proyecto sigue en Early Beta, y el README advierte claramente que está en desarrollo activo, así que conviene esperar bordes ásperos.&lt;/p&gt;
&lt;h2 id=&#34;qué-problema-intenta-resolver&#34;&gt;Qué problema intenta resolver
&lt;/h2&gt;&lt;p&gt;El problema de muchos asistentes de IA no es que el modelo sea débil, sino que el contexto está demasiado frío. Cada vez tienes que volver a explicar el fondo del proyecto, correos recientes, calendario, repositorios de código, documentos, tareas y preferencias. Cuando cruzas Gmail, Notion, GitHub, Slack, Calendar, Drive, Linear, Jira y otros sistemas, la información se dispersa entre herramientas distintas.&lt;/p&gt;
&lt;p&gt;La idea de OpenHuman es conectar primero esas fuentes de datos y luego construir una capa de memoria personal que pueda actualizarse continuamente mediante captura automática, compresión, resumen y base de conocimiento local. Así el agent no recuerda solo la conversación actual, sino que puede formar contexto a largo plazo alrededor de tu flujo de trabajo.&lt;/p&gt;
&lt;p&gt;Esa es también su mayor diferencia frente a un chatbot común. Los chatbots suelen trabajar alrededor del prompt; OpenHuman se parece más a una entrada de sistema operativo personal en el escritorio, intentando empaquetar de antemano conectores, memoria, herramientas y enrutamiento de modelos.&lt;/p&gt;
&lt;h2 id=&#34;capacidades-principales&#34;&gt;Capacidades principales
&lt;/h2&gt;&lt;p&gt;Las capacidades centrales listadas en el README de OpenHuman incluyen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;UI orientada al escritorio y una ruta de inicio corta, sin exigir que el usuario empiece configurando desde la terminal.&lt;/li&gt;
&lt;li&gt;Un mascot de escritorio con &amp;ldquo;cara&amp;rdquo;, capaz de hablar, responder al entorno y participar en Google Meet.&lt;/li&gt;
&lt;li&gt;118+ integraciones de terceros, con Gmail, Notion, GitHub, Slack, Stripe, Calendar, Drive, Linear, Jira y otras herramientas.&lt;/li&gt;
&lt;li&gt;Mecanismo de captura automática: la descripción del proyecto menciona recorrer conexiones activas cada 20 minutos y llevar nuevos datos al memory tree.&lt;/li&gt;
&lt;li&gt;Memory Tree: comprime datos conectados e información de actividad en bloques Markdown y los guarda en SQLite local.&lt;/li&gt;
&lt;li&gt;Obsidian-compatible vault: escribe bloques de conocimiento como archivos &lt;code&gt;.md&lt;/code&gt;, que el usuario puede abrir, navegar y editar con Obsidian.&lt;/li&gt;
&lt;li&gt;Búsqueda integrada, captura web, herramientas de programación, sistema de archivos, git, lint, test, grep, entrada y salida de voz, entre otras capacidades.&lt;/li&gt;
&lt;li&gt;Model routing: enruta solicitudes a distintos tipos de modelo según la tarea.&lt;/li&gt;
&lt;li&gt;TokenJuice: comprime tokens antes de que resultados de herramientas, páginas web, cuerpos de correo y resultados de búsqueda entren al LLM.&lt;/li&gt;
&lt;li&gt;Ollama opcional para cargas de trabajo de IA locales.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La lista es amplia, pero el foco real se puede resumir en dos puntos: reducir configuración y ensamblaje de plugins, y convertir tus datos personales en memoria que el agent pueda buscar, comprimir y actualizar de forma continua.&lt;/p&gt;
&lt;h2 id=&#34;instalación&#34;&gt;Instalación
&lt;/h2&gt;&lt;p&gt;El proyecto ofrece una entrada de descarga en el sitio web y comandos de instalación desde terminal.&lt;/p&gt;
&lt;p&gt;macOS o Linux x64:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -fsSL https://raw.githubusercontent.com/tinyhumansai/openhuman/main/scripts/install.sh &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; bash
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Windows:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;irm &lt;/span&gt;&lt;span class=&#34;n&#34;&gt;https&lt;/span&gt;&lt;span class=&#34;err&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;//&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;raw&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;githubusercontent&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;com&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;tinyhumansai&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;openhuman&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;main&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;scripts&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;/&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;install&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;ps1&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;iex
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si se trata de tu máquina principal de uso diario, conviene descargar primero el instalador desde el sitio oficial, o al menos abrir y revisar el script antes de decidir si ejecutar directamente un script remoto. OpenHuman involucra permisos sobre correo, documentos, repositorios de código, calendarios y archivos locales, así que la instalación y autorización merecen más cuidado que una utilidad pequeña común.&lt;/p&gt;
&lt;h2 id=&#34;código-abierto-y-stack-técnico&#34;&gt;Código abierto y stack técnico
&lt;/h2&gt;&lt;p&gt;El repositorio de OpenHuman usa licencia GPL-3.0. El desglose de lenguajes muestra Rust como principal, seguido por TypeScript, además de JavaScript, Shell, CSS y PowerShell. Las notas de contribución del README requieren Node.js 24+, pnpm 10.10.0, Rust 1.93.0, CMake y dependencias de compilación de escritorio específicas por plataforma.&lt;/p&gt;
&lt;p&gt;La ruta aproximada de desarrollo local es:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git submodule update --init --recursive
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pnpm install
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pnpm dev
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pnpm --filter openhuman-app dev:app
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Antes de enviar cambios se recomiendan focused checks, por ejemplo:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pnpm typecheck
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pnpm format:check
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cargo check -p openhuman --lib
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Por la estructura del directorio, no es un proyecto de scripts ligero. Es un repositorio de producto completo con aplicación de escritorio, frontend, backend en Rust, documentación, pruebas, ejemplos y scripts de build.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-importan-memory-tree-y-obsidian-vault&#34;&gt;Por qué importan Memory Tree y Obsidian vault
&lt;/h2&gt;&lt;p&gt;El concepto de OpenHuman que más merece una mirada aparte es Memory Tree. El README describe que normaliza los datos conectados en Markdown chunks de hasta unos 3k tokens, los puntúa, los pliega en un árbol jerárquico de resúmenes y los guarda en SQLite local. El mismo contenido también entra en un vault compatible con Obsidian.&lt;/p&gt;
&lt;p&gt;Esta ruta tiene varias ventajas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;El usuario puede ver directamente la base de conocimiento del agent, en lugar de confiar solo en una memoria de caja negra.&lt;/li&gt;
&lt;li&gt;Los archivos Markdown facilitan búsqueda, backup, control de versiones y revisión manual.&lt;/li&gt;
&lt;li&gt;SQLite sirve bien para indexación local y consultas rápidas.&lt;/li&gt;
&lt;li&gt;Los resúmenes jerárquicos son más adecuados para compresión de contexto a largo plazo que una pila plana de documentos.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pero también hay desafíos prácticos: si la sincronización de datos es estable, si los resúmenes pierden detalles clave, si los límites de permisos son lo bastante claros, si la eliminación y reversión son completas, y si la semántica de distintos conectores se puede manejar de forma consistente. Nada de eso queda resuelto por una frase del README como &amp;ldquo;remembers everything&amp;rdquo;; requiere uso prolongado y auditoría.&lt;/p&gt;
&lt;h2 id=&#34;tokenjuice-capa-intermedia-para-costo-y-latencia&#34;&gt;TokenJuice: capa intermedia para costo y latencia
&lt;/h2&gt;&lt;p&gt;OpenHuman también destaca TokenJuice. Su función es comprimir páginas web, correos, resultados de búsqueda y resultados de llamadas a herramientas antes de que entren al modelo. Por ejemplo, convertir HTML a Markdown, acortar URL largas y eliminar algunos caracteres innecesarios. El README afirma que esto puede reducir costo y latencia, con hasta 80% menos uso de tokens.&lt;/p&gt;
&lt;p&gt;La dirección es razonable. En sistemas de agents, lo que realmente consume recursos no suele ser una conversación aislada, sino captura en segundo plano, llamadas a herramientas, búsqueda, análisis de páginas web e inyección de contexto largo. Limpiar los datos antes de entregarlos al modelo suele ser más estable que meter contenido crudo directamente.&lt;/p&gt;
&lt;p&gt;Sin embargo, una capa de compresión también trae preguntas nuevas: decide qué información se conserva y cuál se descarta. Si la usas para contratos, facturas, registros médicos, material de cumplimiento o logs de incidentes de producción, no basta con mirar ahorro de tokens; también hay que revisar trazabilidad, consulta del texto original y error de compresión.&lt;/p&gt;
&lt;h2 id=&#34;privacidad-argumento-de-venta-y-foco-de-auditoría&#34;&gt;Privacidad: argumento de venta y foco de auditoría
&lt;/h2&gt;&lt;p&gt;Uno de los argumentos de OpenHuman es private. El sitio oficial menciona que los modelos de IA locales pueden manejar tareas de bajo nivel, y el README enfatiza workflow data stays on device, encrypted locally y treated as yours.&lt;/p&gt;
&lt;p&gt;Esta dirección de diseño resulta atractiva, porque cuando un AI Agent personal se conecta a Gmail, Drive, Calendar, Slack y GitHub, toca algunos de los datos de trabajo más sensibles. Frente a un asistente completamente en la nube, una capa de memoria local-first y un Markdown vault visible al menos dan al usuario más sensación de control.&lt;/p&gt;
&lt;p&gt;Pero también hay que contar la historia completa: OpenHuman menciona one subscription, 30+ providers, model routing, ElevenLabs TTS, OAuth integrations y otras capacidades. Eso significa que no es una herramienta puramente offline. Para evaluar la privacidad en serio, hay que mirar qué datos envía cada conector, cada tipo de llamada a modelo y cada función de voz o búsqueda, y a dónde los envía.&lt;/p&gt;
&lt;h2 id=&#34;para-quién-es-relevante&#34;&gt;Para quién es relevante
&lt;/h2&gt;&lt;p&gt;OpenHuman hoy encaja mejor con tres grupos:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Usuarios que quieren una mesa de control de IA personal, no solo un chatbot puntual.&lt;/li&gt;
&lt;li&gt;Desarrolladores dispuestos a probar una Early Beta y aceptar cambios de funciones y bordes ásperos.&lt;/li&gt;
&lt;li&gt;Personas interesadas en memoria local, flujos de Obsidian, agent connector y compresión de contexto.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Si solo quieres un asistente offline estable, ligero y con límites de privacidad muy simples, por ahora quizá sea demasiado pesado. Si quieres estudiar cómo la próxima generación de AI Agents personales podría integrar escritorio, conectores, memoria y herramientas, OpenHuman es una muestra de código abierto que vale la pena seguir.&lt;/p&gt;
&lt;p&gt;Mi sugerencia es observarlo primero como un &amp;ldquo;experimento open source con forma de producto&amp;rdquo;: mirar ritmo de releases, calidad de issues, permisos de conectores, capacidad de exportar datos, mecanismos de eliminación y legibilidad del vault local. La clave de la IA personal no es solo si puede responder preguntas, sino si puede cargar tu contexto a largo plazo de forma transparente y controlable.&lt;/p&gt;
&lt;h2 id=&#34;referencias&#34;&gt;Referencias
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/tinyhumansai/openhuman&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;tinyhumansai/openhuman&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tinyhumans.ai/openhuman&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Sitio oficial de OpenHuman&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://tinyhumans.gitbook.io/openhuman-docs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;OpenHuman Docs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Qué es Token Efficiency: DeepSeek V4, planificación con modelos grandes y ejecución con modelos pequeños</title>
        <link>https://knightli.com/es/2026/05/15/token-efficiency-agent-orchestration/</link>
        <pubDate>Fri, 15 May 2026 08:59:33 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/15/token-efficiency-agent-orchestration/</guid>
        <description>&lt;p&gt;La próxima métrica importante en AI Coding quizá no sea quién tiene el modelo más fuerte, sino quién completa más trabajo verificable con menos tokens, menor coste y un proceso más estable.&lt;/p&gt;
&lt;p&gt;Ese es el valor de Token Efficiency.&lt;/p&gt;
&lt;p&gt;Muchos lo entienden como modelos baratos, contexto largo o cache hits más económicos. Eso es solo la base. Lo que lo convierte en productividad es la división de trabajo entre modelos, la orquestación de tareas, el presupuesto de contexto y la evaluación.&lt;/p&gt;
&lt;p&gt;Token Efficiency no es un truco para ahorrar dinero. Es un método de ingeniería para convertir tokens en producción.&lt;/p&gt;
&lt;h2 id=&#34;deepseek-v4-separar-planificación-y-ejecución&#34;&gt;DeepSeek V4: separar planificación y ejecución
&lt;/h2&gt;&lt;p&gt;DeepSeek V4 no es solo otro modelo más fuerte. Divide las dos capacidades necesarias para Token Efficiency en &lt;code&gt;V4 Pro&lt;/code&gt; y &lt;code&gt;V4 Flash&lt;/code&gt;: &lt;code&gt;V4 Pro&lt;/code&gt; encaja mejor con planificación, razonamiento, juicio arquitectónico y revisión crítica; &lt;code&gt;V4 Flash&lt;/code&gt; encaja con ejecución frecuente, reescritura en lote, completado de código, organización de información y nodos normales de un agente.&lt;/p&gt;
&lt;p&gt;En AI Coding esto se traduce así:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;V4 Pro&lt;/code&gt;: planner / consultant para requisitos, diseño técnico, bugs complejos, revisión de arquitectura y aceptación final.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;V4 Flash&lt;/code&gt;: executor para escanear archivos, implementar cambios simples, completar tests, ordenar documentación, generar candidatos y repetir tareas.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La documentación API de DeepSeek indica que ambos soportan &lt;code&gt;1M&lt;/code&gt; de contexto, JSON Output, Tool Calls, Chat Prefix Completion y FIM Completion. La página de precios también separa input con cache hit y señala una bajada fuerte de ese precio.&lt;/p&gt;
&lt;p&gt;La combinación es lo importante: &lt;code&gt;1M&lt;/code&gt; de contexto reduce compresión en tareas agent complejas; el cache hit barato reduce el coste de volver a cargar prompts, docs, código e historial; la separación &lt;code&gt;Flash / Pro&lt;/code&gt; evita usar un modelo flagship para cada paso o depender solo de un modelo pequeño inestable.&lt;/p&gt;
&lt;p&gt;Así, DeepSeek V4 ofrece una estructura de coste realista para el patrón “modelo consultor + modelo ejecutor + harness de orquestación”.&lt;/p&gt;
&lt;h2 id=&#34;no-hacer-que-el-modelo-más-fuerte-lo-haga-todo&#34;&gt;No hacer que el modelo más fuerte lo haga todo
&lt;/h2&gt;&lt;p&gt;Antes era común elegir el modelo más inteligente y dejarle requisitos, código, tests y resumen de punta a punta.&lt;/p&gt;
&lt;p&gt;Es sencillo, pero no siempre eficiente. Muchas tareas no necesitan razonamiento de frontera. Los modelos caros deberían actuar como consultores, arquitectos o planificadores que intervienen en puntos clave.&lt;/p&gt;
&lt;p&gt;Una estructura mejor:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Modelos grandes para descomponer problemas y tomar decisiones clave.&lt;/li&gt;
&lt;li&gt;Modelos pequeños para ejecutar, procesar en lote y repetir cambios.&lt;/li&gt;
&lt;li&gt;Herramientas y harness para proceso, estado, contexto y validación.&lt;/li&gt;
&lt;li&gt;Personas para definir producto, aceptar resultados y decidir tradeoffs.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Así el razonamiento caro no se desperdicia en ejecución mecánica.&lt;/p&gt;
&lt;h2 id=&#34;más-contexto-no-siempre-es-mejor&#34;&gt;Más contexto no siempre es mejor
&lt;/h2&gt;&lt;p&gt;El contexto largo importa en coding agents porque código, documentos, historial, salida de tests y logs consumen ventana. Cuando se llena, aparecen compresión, olvido y errores de juicio.&lt;/p&gt;
&lt;p&gt;Pero contexto largo no significa meterlo todo.&lt;/p&gt;
&lt;p&gt;Token Efficiency exige que cada tarea quepa en una ventana clara y controlada: archivos necesarios, documentos relevantes para la decisión, estado actual, entradas y salidas claras, y resumen estructurado para el siguiente nodo.&lt;/p&gt;
&lt;p&gt;Si el contexto es barato, la tentación es meter ruido. El ruido no hace al modelo más inteligente.&lt;/p&gt;
&lt;h2 id=&#34;el-harness-importa-más-que-un-modelo-aislado&#34;&gt;El harness importa más que un modelo aislado
&lt;/h2&gt;&lt;p&gt;Conectar Claude Code, Codex u otro agent a un modelo barato no basta. Los modelos pequeños se desvían en cadenas largas si no hay control de proceso.&lt;/p&gt;
&lt;p&gt;Un harness decide cómo dividir tareas, correr nodos, escoger modelos, validar resultados, reintentar fallos y pasar contexto.&lt;/p&gt;
&lt;p&gt;Sin esa capa, un modelo pequeño solo es barato. Con esa capa, puede convertirse en palanca.&lt;/p&gt;
&lt;h2 id=&#34;dividir-tareas-con-dag&#34;&gt;Dividir tareas con DAG
&lt;/h2&gt;&lt;p&gt;Una tarea compleja puede convertirse en un DAG. Por ejemplo: aclarar requisitos, diseñar solución, dividir tareas, implementar, completar tests, hacer Code Review, corregir y enviar PR.&lt;/p&gt;
&lt;p&gt;Cada nodo puede ser un agente independiente con rol, prompt, permisos de herramientas y formato de salida. Los nodos deberían intercambiar resultados estructurados, no conversaciones largas.&lt;/p&gt;
&lt;p&gt;Esto hace cada nodo más corto, más fácil para modelos pequeños y más medible.&lt;/p&gt;
&lt;h2 id=&#34;ejecutar-varias-réplicas-de-una-tarea&#34;&gt;Ejecutar varias réplicas de una tarea
&lt;/h2&gt;&lt;p&gt;Cuando los tokens son suficientemente baratos, una tarea no tiene por qué ejecutarse una sola vez. Puedes correrla con distintos modelos, prompts u orquestaciones, luego elegir el mejor resultado o combinar partes útiles.&lt;/p&gt;
&lt;p&gt;Sirve para diseños, copy, casos de prueba, hipótesis de bug, alternativas de refactor y Code Review. No sirve para tareas con efectos externos, estado compartido o criterios de aceptación borrosos.&lt;/p&gt;
&lt;p&gt;El objetivo no es apostar, sino obtener muestras comparables para mejorar la orquestación y la elección de modelos.&lt;/p&gt;
&lt;h2 id=&#34;construir-evaluación&#34;&gt;Construir evaluación
&lt;/h2&gt;&lt;p&gt;Token Efficiency no se mide solo por precio. Un modelo barato con alta tasa de fallo consume tiempo humano y puede salir más caro.&lt;/p&gt;
&lt;p&gt;Conviene registrar tasa de finalización, intervenciones humanas, fallos de tool calls, tests que pasan, hallazgos de review, coste por tarea, tiempo, retrabajo y diferencias entre combinaciones de modelos.&lt;/p&gt;
&lt;p&gt;Con esos datos se sabe qué tareas van bien con modelos pequeños, cuáles requieren modelos grandes y cuáles deben quedarse en manos humanas.&lt;/p&gt;
&lt;h2 id=&#34;hacer-atómicos-los-workflows&#34;&gt;Hacer atómicos los workflows
&lt;/h2&gt;&lt;p&gt;No todo el mundo tiene que construir un harness completo. Pero sí puede dividir sus procesos en nodos atómicos.&lt;/p&gt;
&lt;p&gt;Producción de contenido: tema, investigación, esquema, borrador, fact-check, estilo, título SEO, traducción y revisión de publicación.&lt;/p&gt;
&lt;p&gt;Desarrollo de software: requisitos, diseño técnico, estructura de datos, cambios de API, unit tests, implementación, migraciones, documentación y review.&lt;/p&gt;
&lt;p&gt;Cada nodo debe tener entrada, salida, aceptación y contexto claros. Cuando maduren las herramientas de harness, esos procesos podrán conectarse directamente.&lt;/p&gt;
&lt;h2 id=&#34;el-hardware-no-es-lo-primero&#34;&gt;El hardware no es lo primero
&lt;/h2&gt;&lt;p&gt;Muchas conversaciones sobre Token Efficiency saltan a despliegue local y GPU. Para la mayoría, la API debería ser la primera opción.&lt;/p&gt;
&lt;p&gt;Antes de validar el modelo económico, el hardware local es coste adelantado. Mejor: validar el workflow con API, medir coste y calidad, detectar nodos frecuentes y estables, y solo después estudiar qué merece localizar.&lt;/p&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;Token Efficiency no consiste en sustituir modelos caros por baratos, sino en rediseñar el workflow de IA.&lt;/p&gt;
&lt;p&gt;Modelos grandes juzgan, modelos pequeños ejecutan, el harness orquesta y valida, y las personas definen objetivos y aceptación. Solo juntas estas capas convierten tokens en productividad.&lt;/p&gt;
&lt;p&gt;La diferencia futura quizá no esté en quién llama al modelo más fuerte, sino en quién convierte los mismos tokens en más resultados reales.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Superpowers: un framework de skills que devuelve los coding agents al proceso de ingeniería</title>
        <link>https://knightli.com/es/2026/05/15/obra-superpowers-agentic-skills-framework/</link>
        <pubDate>Fri, 15 May 2026 08:53:17 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/15/obra-superpowers-agentic-skills-framework/</guid>
        <description>&lt;p&gt;&lt;code&gt;obra/superpowers&lt;/code&gt; es un framework de skills para coding agents y también una metodología de desarrollo de software. Su objetivo no es crear otro prompt universal, sino hacer que el agente siga un proceso: aclarar objetivos, producir diseño, escribir un plan, implementar con TDD, revisar y cerrar.&lt;/p&gt;
&lt;p&gt;Proyecto: &lt;a class=&#34;link&#34; href=&#34;https://github.com/obra/superpowers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/obra/superpowers&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;En el momento de escribir, la API de GitHub muestra más de 190.000 stars, licencia MIT y actividad reciente. El README lo describe como &lt;code&gt;An agentic skills framework &amp;amp; software development methodology that works.&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&#34;qué-problema-resuelve&#34;&gt;Qué problema resuelve
&lt;/h2&gt;&lt;p&gt;Muchas herramientas de AI Coding no fallan por no saber escribir código, sino por escribirlo demasiado pronto.&lt;/p&gt;
&lt;p&gt;El usuario da una petición vaga, el agente edita archivos y el resultado parece terminado, aunque los límites, tests y arquitectura sigan sin estar claros. En tareas pequeñas puede pasar; en proyectos complejos se convierte en retrabajo y deuda técnica.&lt;/p&gt;
&lt;p&gt;Superpowers hace que el agente entre en un workflow antes de tocar código:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Si detecta que el usuario quiere construir algo, pregunta primero por el objetivo.&lt;/li&gt;
&lt;li&gt;Convierte la conversación en una especificación y la confirma por partes.&lt;/li&gt;
&lt;li&gt;Tras aprobar el diseño, genera un plan de implementación.&lt;/li&gt;
&lt;li&gt;Solo cuando el usuario dice “go” empieza a implementar.&lt;/li&gt;
&lt;li&gt;Durante la implementación enfatiza TDD, YAGNI, DRY y revisión.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;No es ingeniería nueva, pero los agentes rápidos necesitan barandillas más fuertes.&lt;/p&gt;
&lt;h2 id=&#34;herramientas-soportadas&#34;&gt;Herramientas soportadas
&lt;/h2&gt;&lt;p&gt;Superpowers no está ligado a un único agente. El README lista Claude Code, Codex CLI, Codex App, Factory Droid, Gemini CLI, OpenCode, Cursor y GitHub Copilot CLI.&lt;/p&gt;
&lt;p&gt;Su papel se parece más a una capa de workflow entre harnesses que a un truco para un modelo concreto.&lt;/p&gt;
&lt;h2 id=&#34;workflow-base&#34;&gt;Workflow base
&lt;/h2&gt;&lt;p&gt;Primero está &lt;code&gt;brainstorming&lt;/code&gt;: antes de implementar, el agente convierte ideas vagas en diseño ejecutable y lo confirma.&lt;/p&gt;
&lt;p&gt;Después &lt;code&gt;using-git-worktrees&lt;/code&gt;: crea un worktree y una rama aislados, y comprueba que instalación y tests parten de una base limpia.&lt;/p&gt;
&lt;p&gt;Luego &lt;code&gt;writing-plans&lt;/code&gt;: divide el diseño en tareas pequeñas con rutas, alcance de código y pasos de validación.&lt;/p&gt;
&lt;p&gt;En ejecución puede usar &lt;code&gt;subagent-driven-development&lt;/code&gt; para delegar o &lt;code&gt;executing-plans&lt;/code&gt; para avanzar por lotes. Cada tarea debe poder revisarse y verificarse.&lt;/p&gt;
&lt;p&gt;Después llega &lt;code&gt;test-driven-development&lt;/code&gt;: RED-GREEN-REFACTOR real. Escribir un test que falla, confirmar el fallo, implementar lo mínimo, confirmar el paso y refactorizar.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;requesting-code-review&lt;/code&gt; introduce revisión entre tareas, y los hallazgos críticos bloquean el avance.&lt;/p&gt;
&lt;p&gt;Finalmente &lt;code&gt;finishing-a-development-branch&lt;/code&gt; valida tests y ofrece opciones como merge, PR, conservar o descartar el worktree.&lt;/p&gt;
&lt;h2 id=&#34;qué-hay-en-la-skills-library&#34;&gt;Qué hay en la Skills Library
&lt;/h2&gt;&lt;p&gt;La parte de testing gira alrededor de &lt;code&gt;test-driven-development&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;La parte de debugging incluye &lt;code&gt;systematic-debugging&lt;/code&gt; y &lt;code&gt;verification-before-completion&lt;/code&gt;: reproducir, minimizar, formular hipótesis, validar y no declarar completado sin verificar.&lt;/p&gt;
&lt;p&gt;Las skills de colaboración incluyen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;brainstorming&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;writing-plans&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;executing-plans&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;dispatching-parallel-agents&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;requesting-code-review&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;receiving-code-review&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;using-git-worktrees&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;finishing-a-development-branch&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;subagent-driven-development&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;También hay skills meta como &lt;code&gt;writing-skills&lt;/code&gt; y &lt;code&gt;using-superpowers&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Juntas dan al agente hábitos de ingeniería: cuándo preguntar, planificar, testear y detenerse para review.&lt;/p&gt;
&lt;h2 id=&#34;diferencia-frente-a-un-prompt-normal&#34;&gt;Diferencia frente a un prompt normal
&lt;/h2&gt;&lt;p&gt;Un prompt normal suele apilar reglas en un system prompt: no cambies de más, piensa primero, prueba, explica, sé breve. Cuantas más reglas, más fácil es que el modelo olvide algunas en tareas complejas.&lt;/p&gt;
&lt;p&gt;Superpowers divide las reglas en módulos de workflow activables. Cada skill es más corta y enfocada. El agente sabe en qué fase está, el proceso se vuelve revisable y el equipo puede codificar sus propias prácticas.&lt;/p&gt;
&lt;p&gt;La lección no es solo usar un modelo más inteligente, sino darle una forma repetible de trabajar.&lt;/p&gt;
&lt;h2 id=&#34;para-quién-sirve&#34;&gt;Para quién sirve
&lt;/h2&gt;&lt;p&gt;Superpowers encaja mejor con desarrolladores que ya usan coding agents en proyectos reales: tareas de varios archivos, diseño antes de implementación, TDD o validación, ramas o worktrees paralelos, subagents para implementación o review, y equipos que quieren convertir su flujo en skills reutilizables.&lt;/p&gt;
&lt;p&gt;Para cambiar una línea de configuración puede ser pesado. Para trabajos de varias fases, sus restricciones aportan valor.&lt;/p&gt;
&lt;h2 id=&#34;precauciones&#34;&gt;Precauciones
&lt;/h2&gt;&lt;p&gt;No es piloto automático. Da proceso al agente, pero requisitos, límites y aceptación final siguen siendo humanos.&lt;/p&gt;
&lt;p&gt;TDD y review añaden coste inicial. En tareas pequeñas pueden parecer lentos; en tareas complejas reducen retrabajo.&lt;/p&gt;
&lt;p&gt;Los subagents en paralelo no siempre ayudan. Funcionan si los límites y el alcance de escritura son claros. Si el requisito es borroso, el paralelismo multiplica la confusión.&lt;/p&gt;
&lt;p&gt;También hay que mantener la calidad de las skills. Procesos obsoletos, instrucciones vagas y reglas conflictivas perjudican al agente.&lt;/p&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;Superpowers vale porque aleja al coding agent de “recibir petición y editar código” y lo devuelve al proceso de ingeniería de software.&lt;/p&gt;
&lt;p&gt;Lo que falta en AI Coding no suele ser velocidad de generación, sino aclaración, planificación, verificación, review y cierre. Cuanto más fuerte sea el modelo, menos conviene saltarse esos pasos.&lt;/p&gt;
&lt;p&gt;Si usas Codex, Claude Code, Cursor o Gemini CLI en proyectos reales, Superpowers merece una lectura. Aunque no lo instales, su forma de dividir skills sirve como referencia para diseñar tu propio workflow de agentes.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Codex /goal vs Claude Code /goal: ejecutar tareas largas hasta terminarlas</title>
        <link>https://knightli.com/es/2026/05/14/codex-goal-vs-claude-code-goal/</link>
        <pubDate>Thu, 14 May 2026 22:25:31 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/14/codex-goal-vs-claude-code-goal/</guid>
        <description>&lt;p&gt;&lt;code&gt;/goal&lt;/code&gt; se está convirtiendo en un comando importante dentro de las herramientas de programación con IA.&lt;/p&gt;
&lt;p&gt;No se trata de hacer que el modelo escriba unas cuantas líneas más de código. Resuelve un problema más práctico: cuando una tarea tiene condiciones claras de finalización, ¿puede el Agent seguir avanzando hasta cumplirlas, en lugar de detenerse después de cada turno y esperar a que el usuario escriba &amp;ldquo;continúa&amp;rdquo;?&lt;/p&gt;
&lt;p&gt;Codex CLI ya añadió un &lt;code&gt;/goal&lt;/code&gt; experimental en su documentación oficial. Claude Code también publicó su propia documentación de &lt;code&gt;/goal&lt;/code&gt;, y lo describe como una capacidad de automatización que puede seguir trabajando durante varios turnos. El nombre es el mismo, pero la orientación del producto no es exactamente igual.&lt;/p&gt;
&lt;h2 id=&#34;qué-problema-resuelve-goal&#34;&gt;Qué problema resuelve &lt;code&gt;/goal&lt;/code&gt;
&lt;/h2&gt;&lt;p&gt;Una conversación normal de programación con IA suele funcionar turno por turno:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;El usuario plantea una tarea.&lt;/li&gt;
&lt;li&gt;El Agent analiza, modifica código y ejecuta pruebas.&lt;/li&gt;
&lt;li&gt;El Agent informa el resultado.&lt;/li&gt;
&lt;li&gt;El usuario decide el siguiente paso.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Ese flujo funciona bien para tareas cortas. Pero cuando se trata de migraciones, refactors, correcciones de pruebas o limpieza de un issue backlog, se vuelve fragmentado. El Agent puede avanzar solo un poco y luego detenerse hasta que escribas &amp;ldquo;continúa&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;La idea de &lt;code&gt;/goal&lt;/code&gt; es cambiar la pregunta de &amp;ldquo;qué hago ahora&amp;rdquo; a &amp;ldquo;qué estado final cuenta como terminado&amp;rdquo;. Por ejemplo:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/goal 完成登录模块迁移，所有 auth 测试通过，lint 无报错
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Este tipo de objetivo encaja de forma natural con tareas largas, porque tiene un punto final claro: las pruebas pasan, la compilación funciona, los archivos se han dividido, una cola queda vacía o se cumplen los criterios de aceptación.&lt;/p&gt;
&lt;h2 id=&#34;goal-en-codex-experimental-y-ligado-al-hilo-actual&#34;&gt;&lt;code&gt;/goal&lt;/code&gt; en Codex: experimental y ligado al hilo actual
&lt;/h2&gt;&lt;p&gt;La documentación de Codex CLI de OpenAI marca &lt;code&gt;/goal&lt;/code&gt; como experimental. No es una capacidad estable activada por defecto; primero hay que habilitar &lt;code&gt;features.goals&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Hay dos formas de hacerlo:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/experimental
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;O añadir esto a &lt;code&gt;config.toml&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-toml&#34; data-lang=&#34;toml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;features&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;goals&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;kc&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Una vez habilitado, se puede usar así:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/goal Finish the migration and keep tests green
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Los comandos habituales incluyen:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/goal
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/goal pause
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/goal resume
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/goal clear
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Según la documentación de OpenAI, Codex adjunta el goal al active thread actual y sigue ese objetivo mientras avanza una tarea más grande.&lt;/p&gt;
&lt;p&gt;Aquí hay un detalle importante: el lenguaje oficial sobre Codex &lt;code&gt;/goal&lt;/code&gt; es prudente. Enfatiza configurar un objetivo experimental para trabajo de larga duración y adjuntar ese objetivo al hilo actual, pero no describe con el mismo detalle que la documentación de Claude Code un evaluator independiente que revise cada turno y arranque automáticamente el siguiente. Por eso, de momento conviene tratar Codex &lt;code&gt;/goal&lt;/code&gt; como un mecanismo experimental para objetivos de tareas largas, no como un modo de ejecución desatendida plenamente estable.&lt;/p&gt;
&lt;h2 id=&#34;goal-en-claude-code-ejecución-por-varias-rondas-guiada-por-condiciones-de-finalización&#34;&gt;&lt;code&gt;/goal&lt;/code&gt; en Claude Code: ejecución por varias rondas guiada por condiciones de finalización
&lt;/h2&gt;&lt;p&gt;La documentación de &lt;code&gt;/goal&lt;/code&gt; en Claude Code es más explícita: después de que el usuario define una completion condition, Claude sigue trabajando entre turnos hasta cumplirla.&lt;/p&gt;
&lt;p&gt;Ejemplo:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/goal all tests in test/auth pass and the lint step is clean
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;El mecanismo de Claude Code, a grandes rasgos, es este:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cuando termina el turno actual, el control no vuelve inmediatamente al usuario.&lt;/li&gt;
&lt;li&gt;Un modelo pequeño y rápido revisa si la condición del objetivo ya se cumplió.&lt;/li&gt;
&lt;li&gt;Si no se cumplió, Claude empieza automáticamente el siguiente turno.&lt;/li&gt;
&lt;li&gt;Si se cumplió, el goal se borra automáticamente y el estado de finalización queda registrado en el transcript.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto hace que &lt;code&gt;/goal&lt;/code&gt; en Claude Code se parezca más a &amp;ldquo;continuar automáticamente hasta satisfacer la condición de finalización&amp;rdquo;. No solo fija un objetivo en la conversación; delega en un paso de evaluación independiente la decisión de si debe continuar.&lt;/p&gt;
&lt;p&gt;Claude Code también permite ver el estado directamente:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/goal
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;El estado muestra la condición del objetivo, el tiempo transcurrido, la cantidad de turnos evaluados, el consumo de tokens y la razón más reciente del evaluator.&lt;/p&gt;
&lt;p&gt;Para detenerlo antes de tiempo, se puede usar:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/goal clear
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;stop&lt;/code&gt;, &lt;code&gt;off&lt;/code&gt;, &lt;code&gt;reset&lt;/code&gt;, &lt;code&gt;none&lt;/code&gt; y &lt;code&gt;cancel&lt;/code&gt; también funcionan como alias de limpieza. Después de activar un objetivo, si la sesión se interrumpe y más tarde se reanuda con &lt;code&gt;--resume&lt;/code&gt; o &lt;code&gt;--continue&lt;/code&gt;, un goal activo puede recuperarse. Sin embargo, el tiempo, el número de turnos y la línea base de tokens se recalculan.&lt;/p&gt;
&lt;h2 id=&#34;la-diferencia-principal&#34;&gt;La diferencia principal
&lt;/h2&gt;&lt;p&gt;Codex y Claude Code están empujando la programación con IA desde respuestas de un solo turno hacia la ejecución de tareas largas, pero la posición de &lt;code&gt;/goal&lt;/code&gt; no es la misma.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Comparación&lt;/th&gt;
          &lt;th&gt;Codex CLI &lt;code&gt;/goal&lt;/code&gt;&lt;/th&gt;
          &lt;th&gt;Claude Code &lt;code&gt;/goal&lt;/code&gt;&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Estado&lt;/td&gt;
          &lt;td&gt;experimental&lt;/td&gt;
          &lt;td&gt;documentado en una página oficial dedicada&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Activación&lt;/td&gt;
          &lt;td&gt;requiere &lt;code&gt;features.goals&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;usable directamente en un workspace confiable&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Alcance del objetivo&lt;/td&gt;
          &lt;td&gt;active thread actual&lt;/td&gt;
          &lt;td&gt;session actual&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Operaciones habituales&lt;/td&gt;
          &lt;td&gt;set / view / pause / resume / clear&lt;/td&gt;
          &lt;td&gt;set / view / clear&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Evaluación automática&lt;/td&gt;
          &lt;td&gt;la documentación enfatiza adjuntar y seguir el objetivo&lt;/td&gt;
          &lt;td&gt;la documentación describe checks del evaluator después de cada turno&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Continuación automática&lt;/td&gt;
          &lt;td&gt;el lenguaje oficial es prudente&lt;/td&gt;
          &lt;td&gt;empieza el siguiente turno automáticamente si las condiciones no se cumplen&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Mejor caso de uso&lt;/td&gt;
          &lt;td&gt;mantener un objetivo de largo plazo en una tarea de Codex&lt;/td&gt;
          &lt;td&gt;dejar que Claude Code avance según condiciones de finalización&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;En resumen, &lt;code&gt;/goal&lt;/code&gt; en Codex se parece más a &amp;ldquo;adjuntar un objetivo experimental de largo plazo al hilo actual&amp;rdquo;. &lt;code&gt;/goal&lt;/code&gt; en Claude Code se parece más a &amp;ldquo;definir una condición verificable de parada para la sesión actual y dejar que siga trabajando hasta satisfacerla&amp;rdquo;.&lt;/p&gt;
&lt;h2 id=&#34;cómo-escribir-un-buen-goal&#34;&gt;Cómo escribir un buen &lt;code&gt;/goal&lt;/code&gt;
&lt;/h2&gt;&lt;p&gt;Uses la herramienta que uses, &lt;code&gt;/goal&lt;/code&gt; no es un buen lugar para deseos vagos.&lt;/p&gt;
&lt;p&gt;Un mal ejemplo:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/goal 把项目优化一下
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Un mejor ejemplo:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/goal 将 payment 模块迁移到新 API，npm test -- payment 退出码为 0，git diff 只包含 payment 相关文件
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Un buen objetivo suele incluir tres cosas:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Un estado final claro.&lt;/li&gt;
&lt;li&gt;Un método de validación ejecutable.&lt;/li&gt;
&lt;li&gt;Límites que deben respetarse.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Si el objetivo es grande, conviene añadir una condición de parada:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/goal 修复 eslint 报错，npm run lint 退出码为 0；如果超过 20 轮仍未完成，停止并总结剩余问题
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Esto importa. Cuanto más potente sea &lt;code&gt;/goal&lt;/code&gt;, más necesita límites. Si no, el Agent puede modificar demasiados archivos, ejecutarse durante demasiado tiempo, consumir demasiados tokens o seguir adelante con una cuestión que debería haberse detenido para pedir criterio humano.&lt;/p&gt;
&lt;h2 id=&#34;cuándo-conviene-usar-goal&#34;&gt;Cuándo conviene usar &lt;code&gt;/goal&lt;/code&gt;
&lt;/h2&gt;&lt;p&gt;Encaja bien con:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Corrección de pruebas: hasta que pasen pruebas específicas.&lt;/li&gt;
&lt;li&gt;Migraciones de código: hasta que todos los puntos de llamada estén actualizados y la compilación funcione.&lt;/li&gt;
&lt;li&gt;Limpieza por lotes: hasta eliminar una clase de errores de lint o tipos.&lt;/li&gt;
&lt;li&gt;Documentación: hasta que todos los módulos especificados tengan explicación.&lt;/li&gt;
&lt;li&gt;Gestión de issues: hasta que todos los issues bajo una etiqueta estén tratados o clasificados con claridad.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;No encaja bien con:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Requisitos que todavía no están claros.&lt;/li&gt;
&lt;li&gt;Tareas que requieren juicio de producto frecuente.&lt;/li&gt;
&lt;li&gt;Eliminaciones de alto riesgo, migraciones de datos o cambios de permisos.&lt;/li&gt;
&lt;li&gt;Criterios de aceptación puramente subjetivos.&lt;/li&gt;
&lt;li&gt;Tareas que cruzan muchos módulos no relacionados.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Una regla práctica: si puedes escribir &amp;ldquo;qué comando ejecutar, qué resultado esperar y qué archivos no se deben tocar&amp;rdquo;, es buen candidato para &lt;code&gt;/goal&lt;/code&gt;. Si solo puedes escribir &amp;ldquo;hazlo mejor&amp;rdquo;, sigue siendo más seguro usar conversación normal, plan mode o revisión humana.&lt;/p&gt;
&lt;h2 id=&#34;qué-significa-esto-para-las-herramientas-de-programación-con-ia&#34;&gt;Qué significa esto para las herramientas de programación con IA
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;/goal&lt;/code&gt; apunta a una dirección clara: las herramientas de programación con IA están pasando de asistentes interactivos a unidades de trabajo que pueden ejecutarse de forma continua.&lt;/p&gt;
&lt;p&gt;Antes, usar un Agent solía implicar quedarse cerca. Si se atascaba, lo guiabas. Si terminaba las pruebas, le decías que continuara. Si aparecía un error, dabas otra orden. &lt;code&gt;/goal&lt;/code&gt; comprime esa interacción en una condición de finalización y deja que el Agent decida qué debe hacer el siguiente turno.&lt;/p&gt;
&lt;p&gt;Pero esto también sube el listón para los usuarios. Escribir prompts ya no consiste solo en describir una tarea; también implica definir criterios de aceptación, comandos de validación, límites de modificación y reglas de parada. Dicho de otro modo, el trabajo del usuario pasa de &amp;ldquo;pedirle que continúe&amp;rdquo; a &amp;ldquo;definir qué significa terminado&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Que Codex y Claude Code hayan llegado a &lt;code&gt;/goal&lt;/code&gt; muestra que los Agents de tareas largas ya no pertenecen solo a tareas en segundo plano o colas en la nube. Las herramientas locales de programación en terminal también empiezan a necesitar una capacidad más fuerte de avance autónomo.&lt;/p&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;Codex CLI y Claude Code tienen &lt;code&gt;/goal&lt;/code&gt;, pero por ahora no conviene tratarlos como la misma función.&lt;/p&gt;
&lt;p&gt;El &lt;code&gt;/goal&lt;/code&gt; de Codex sigue siendo experimental, requiere &lt;code&gt;features.goals&lt;/code&gt; y encaja mejor como una forma de mantener un objetivo de largo plazo en el hilo actual de Codex. El &lt;code&gt;/goal&lt;/code&gt; de Claude Code conecta de forma más explícita las condiciones de finalización con la continuación automática, usando un evaluator independiente para decidir si debe seguir.&lt;/p&gt;
&lt;p&gt;Para el desarrollo diario, este tipo de comando funciona mejor en tareas de ingeniería con criterios de aceptación claros. No reemplaza el juicio de producto ni la revisión de código, pero puede reducir mucho el ciclo repetitivo de &amp;ldquo;continúa&amp;rdquo;, &amp;ldquo;ejecútalo otra vez&amp;rdquo; y &amp;ldquo;corrige hasta que pasen las pruebas&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;La habilidad importante no es memorizar el comando, sino aprender a escribir tareas como objetivos claros, verificables y detenibles.&lt;/p&gt;
&lt;h2 id=&#34;referencias&#34;&gt;Referencias
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;OpenAI Codex CLI Slash Commands: &lt;a class=&#34;link&#34; href=&#34;https://developers.openai.com/codex/cli/slash-commands&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://developers.openai.com/codex/cli/slash-commands&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Documentación de Claude Code Goal: &lt;a class=&#34;link&#34; href=&#34;https://code.claude.com/docs/en/goal&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://code.claude.com/docs/en/goal&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Por qué DeepSeek se volvió la clave para ahorrar en esta ola de herramientas de AI Coding</title>
        <link>https://knightli.com/es/2026/05/11/deepseek-ai-coding-cost-saving/</link>
        <pubDate>Mon, 11 May 2026 04:59:00 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/11/deepseek-ai-coding-cost-saving/</guid>
        <description>&lt;p&gt;En esta ola de herramientas de AI Coding, la competencia parece girar en torno a capacidad del modelo, ecosistema de plugins y automatización con agentes. Pero cuando se usan de verdad, el primer muro que aparece es el coste.&lt;/p&gt;
&lt;p&gt;Claude Code, Codex, OpenClaw y Superpowers son herramientas muy útiles, pero comparten una característica: cuando una tarea se vuelve compleja, consumen muchísimos tokens. Tienen que leer el proyecto, crear planes, llamar herramientas, resumir contexto, revisar resultados una y otra vez, e incluso lanzar subtareas. Cuanto más inteligente es el modelo y más automatizado es el workflow, más fácil es que la factura crezca en silencio.&lt;/p&gt;
&lt;p&gt;Por eso DeepSeek se volvió importante en esta ronda. No solo porque pueda escribir código, sino porque su contexto largo y su coste de caché atacan justo la parte más cara de las herramientas de AI Coding.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-las-herramientas-agent-consumen-tantos-tokens&#34;&gt;Por qué las herramientas agent consumen tantos tokens
&lt;/h2&gt;&lt;p&gt;Los asistentes de programación tradicionales en modo chat suelen funcionar con preguntas y respuestas. Preguntas cómo escribir una función y el modelo responde con un fragmento de código. Ese modo también consume tokens, pero sigue siendo relativamente controlable.&lt;/p&gt;
&lt;p&gt;Las herramientas agent son distintas. No solo responden preguntas, sino que entran al proyecto como un ingeniero temporal:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;escanean directorios y archivos clave;&lt;/li&gt;
&lt;li&gt;entienden el requisito y la arquitectura existente;&lt;/li&gt;
&lt;li&gt;crean un plan;&lt;/li&gt;
&lt;li&gt;modifican archivos;&lt;/li&gt;
&lt;li&gt;ejecutan comandos o tests;&lt;/li&gt;
&lt;li&gt;siguen corrigiendo según los errores;&lt;/li&gt;
&lt;li&gt;resumen al final qué cambió.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Durante este proceso, el modelo lee repetidamente el mismo contexto. Descripciones del proyecto, fragmentos de código, resultados de herramientas, historial de conversación, planes y logs de error vuelven una y otra vez al contexto. Cuando la tarea es un poco compleja, cientos de miles de tokens desaparecen rápido.&lt;/p&gt;
&lt;p&gt;Si además instalas plugins más agresivos, el coste se nota todavía más. Algunas extensiones de OpenCode o Claude Code pueden organizar por defecto todo un equipo de agentes. Tú solo querías cambiar una pequeña función, pero la herramienta puede iniciar planificación, revisión, ejecución y retrospectiva. La tarea parece más “inteligente”, pero los tokens suben sin parar.&lt;/p&gt;
&lt;h2 id=&#34;la-ventaja-de-superpowers-es-activarse-bajo-demanda&#34;&gt;La ventaja de Superpowers es activarse bajo demanda
&lt;/h2&gt;&lt;p&gt;Una ventaja de herramientas como Superpowers es que no fuerzan un flujo agent completo en todas las tareas.&lt;/p&gt;
&lt;p&gt;Normalmente puedes seguir usando Claude Code, OpenCode o Codex de la forma habitual. Solo cuando llamas explícitamente a una skill, como brainstorming, planificación, ejecución de plan o retrospectiva, entra en un flujo de automatización más pesado.&lt;/p&gt;
&lt;p&gt;Esto importa mucho para el coste.&lt;/p&gt;
&lt;p&gt;AI Coding no debería usar artillería pesada para todo. Cambiar una línea de configuración, revisar un error o escribir un script pequeño se puede resolver con una conversación normal. Solo refactors complejos, cambios en varios archivos, procesamiento de documentos largos y validación por varias rondas justifican un flujo agent completo.&lt;/p&gt;
&lt;p&gt;Cuanto más poderosa es la herramienta, más importante es controlar cuándo se activa. Si no, más automatización solo significa más desperdicio.&lt;/p&gt;
&lt;h2 id=&#34;la-ventaja-clave-de-deepseek-es-una-caché-barata&#34;&gt;La ventaja clave de DeepSeek es una caché barata
&lt;/h2&gt;&lt;p&gt;Una razón importante por la que DeepSeek encaja con estas herramientas agent es su bajo coste cuando hay cache hit.&lt;/p&gt;
&lt;p&gt;Las tareas de AI Coding tienen muchos prefijos repetidos: contexto del proyecto, prompts de sistema, instrucciones de herramientas, contenido de archivos y turnos anteriores aparecen muchas veces en solicitudes posteriores. Si el servicio del modelo soporta prompt cache, esas partes repetidas cuestan mucho menos después de un acierto de caché.&lt;/p&gt;
&lt;p&gt;En muchos modelos, un cache hit solo es algo más barato que un miss, quizá alrededor de un tercio del precio original. La ventaja de DeepSeek es que la diferencia después de un hit puede ser mucho mayor. En workflows agent con contexto largo, muchas rondas y lectura repetida del proyecto, esa diferencia se ve directamente en la factura.&lt;/p&gt;
&lt;p&gt;Es decir, DeepSeek no tiene por qué dar la mejor respuesta en cada turno. Pero en escenarios con tareas largas, muchas rondas y lectura repetida de contexto, su estructura de costes encaja especialmente bien con AI Coding.&lt;/p&gt;
&lt;h2 id=&#34;el-contexto-largo-hace-más-útil-a-claude-code&#34;&gt;El contexto largo hace más útil a Claude Code
&lt;/h2&gt;&lt;p&gt;Al conectar Claude Code o herramientas similares a DeepSeek V4, otra ventaja clara es el contexto largo.&lt;/p&gt;
&lt;p&gt;Lo que más temen las herramientas de AI Coding es quedarse sin contexto. Cuando el contexto no alcanza, hay que comprimir con frecuencia. Cuando se comprime mucho, se pueden perder detalles ya leídos. El modelo empieza a olvidar la estructura del proyecto, las restricciones o por qué se modificó cierto archivo, y la calidad baja después.&lt;/p&gt;
&lt;p&gt;La capacidad de contexto largo de DeepSeek V4 lo hace más adecuado para repositorios de código, procesamiento por lotes de documentos, traducción de subtítulos y limpieza de artículos de sitio. Especialmente al conectarlo a Claude Code u OpenClaw, una buena configuración puede retrasar la compresión de contexto y conservar más detalles del proyecto.&lt;/p&gt;
&lt;p&gt;Por eso algunas tareas se sienten “resistentes” con DeepSeek: no necesariamente impresiona en cada paso, pero aguanta llamadas largas, baratas y repetidas.&lt;/p&gt;
&lt;h2 id=&#34;cómo-repartir-trabajo-entre-v4-pro-y-v4-flash&#34;&gt;Cómo repartir trabajo entre V4 Pro y V4 Flash
&lt;/h2&gt;&lt;p&gt;DeepSeek V4 Pro y V4 Flash no deberían usarse sin distinción.&lt;/p&gt;
&lt;p&gt;Para tareas simples, &lt;code&gt;DeepSeek V4 Flash&lt;/code&gt; suele ser mejor. Es rápido, barato y normalmente suficiente para:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;traducir subtítulos;&lt;/li&gt;
&lt;li&gt;ordenar documentos;&lt;/li&gt;
&lt;li&gt;generar scripts comunes;&lt;/li&gt;
&lt;li&gt;modificar pequeñas zonas de código;&lt;/li&gt;
&lt;li&gt;ejecutar tareas ligeras en OpenClaw;&lt;/li&gt;
&lt;li&gt;procesar contenido simple de un sitio.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Para tareas complejas, conviene considerar &lt;code&gt;DeepSeek V4 Pro&lt;/code&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;refactors de gran escala;&lt;/li&gt;
&lt;li&gt;comprensión de código con varios módulos;&lt;/li&gt;
&lt;li&gt;razonamiento complejo;&lt;/li&gt;
&lt;li&gt;tareas agent de cadena larga;&lt;/li&gt;
&lt;li&gt;cambios de código de alto riesgo;&lt;/li&gt;
&lt;li&gt;tareas de ingeniería que requieren planificación más fuerte.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Mucha gente quiere conectar siempre el modelo más fuerte, pero eso suele ser poco rentable. La forma práctica de usar herramientas de AI Coding es dividir las tareas por capas: que el modelo barato procese mucho trabajo rutinario, y reservar el modelo caro para los puntos críticos.&lt;/p&gt;
&lt;h2 id=&#34;minimax-doubao-y-deepseek-ocupan-posiciones-distintas&#34;&gt;MiniMax, Doubao y DeepSeek ocupan posiciones distintas
&lt;/h2&gt;&lt;p&gt;Entre modelos y planes chinos, MiniMax, Doubao, Kimi y DeepSeek tienen posiciones diferentes.&lt;/p&gt;
&lt;p&gt;MiniMax destaca por dar mucho volumen, bajo precio y funciones amplias. Quizá no sea el modelo de programación más inteligente, pero sirve muy bien para traducción, limpieza ligera y procesamiento por lotes. Procesar subtítulos, cambiar formatos o hacer revisión simple son buenos casos para planes tipo MiniMax.&lt;/p&gt;
&lt;p&gt;Doubao destaca por un ecosistema de herramientas más completo: imagen, video, búsqueda, TTS, posible STT y embedding pueden conectarse dentro de la misma caja. Se parece más a una caja de herramientas general.&lt;/p&gt;
&lt;p&gt;DeepSeek tiene una posición más clara: texto, código, contexto largo y caché barata. No tiene un ecosistema completo de generación de imagen, voz y video, y sus debilidades son evidentes. Pero en AI Coding y workflows agent de texto largo, sus fortalezas son suficientemente fuertes.&lt;/p&gt;
&lt;p&gt;No se trata de que uno sustituya a otro. Se trata de dividir la tarea y usar cada herramienta donde encaja.&lt;/p&gt;
&lt;h2 id=&#34;ahorrar-no-es-solo-elegir-un-modelo-barato&#34;&gt;Ahorrar no es solo elegir un modelo barato
&lt;/h2&gt;&lt;p&gt;Ahorrar en AI Coding no significa cambiar todas las solicitudes al modelo más barato.&lt;/p&gt;
&lt;p&gt;Las formas realmente efectivas son:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;No iniciar un agent pesado para tareas simples.&lt;/li&gt;
&lt;li&gt;No usar Pro cuando Flash basta.&lt;/li&gt;
&lt;li&gt;Aprovechar la caché en tareas largas.&lt;/li&gt;
&lt;li&gt;Mantener estable el contexto repetido para no romper cache hits con cambios inútiles.&lt;/li&gt;
&lt;li&gt;Dejar que un modelo barato haga borradores y batch processing, y usar un modelo fuerte para revisiones clave.&lt;/li&gt;
&lt;li&gt;Decirle claramente al agent que no repita hechos ni resuma el mismo punto una y otra vez.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;El último punto es especialmente importante. Las herramientas de AI tienden a ser verbosas, y la verbosidad no es solo un problema de lectura; también es un problema de coste. Incluir en el prompt “describe cada hecho una sola vez y expresa cada opinión una sola vez” puede mejorar tanto la calidad del texto como el consumo de tokens.&lt;/p&gt;
&lt;h2 id=&#34;para-qué-workflows-de-ai-coding-encaja-deepseek&#34;&gt;Para qué workflows de AI Coding encaja DeepSeek
&lt;/h2&gt;&lt;p&gt;DeepSeek encaja mejor en:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;lectura de repositorios largos;&lt;/li&gt;
&lt;li&gt;cambios ligeros en varios archivos;&lt;/li&gt;
&lt;li&gt;limpieza de documentos por lotes;&lt;/li&gt;
&lt;li&gt;traducción masiva de subtítulos;&lt;/li&gt;
&lt;li&gt;limpieza de artículos Hugo;&lt;/li&gt;
&lt;li&gt;ejecución de planes agent;&lt;/li&gt;
&lt;li&gt;automatización barata con mucho contexto repetido.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;No sirve para todo. Si necesitas gusto frontend especialmente fuerte, juicio de producto complejo o creación multimodal, quizá necesites combinarlo con Claude, GPT, Gemini, Doubao u otras herramientas.&lt;/p&gt;
&lt;p&gt;Pero cuando la tarea es de texto largo, contexto largo, llamadas repetidas y sensibilidad al coste, DeepSeek se vuelve fácilmente la primera opción.&lt;/p&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;En esta ola de herramientas de AI Coding, el valor de DeepSeek no es solo que un modelo chino pueda escribir código. Su valor real es resolver el dolor más práctico de las herramientas agent: las tareas largas cuestan demasiado.&lt;/p&gt;
&lt;p&gt;Herramientas como Claude Code, OpenClaw y Superpowers automatizan cada vez más el proceso de desarrollo, pero detrás de esa automatización hay lecturas masivas de contexto y llamadas en múltiples rondas. Quien consiga bajar ese coste puede convertir AI Coding de algo “agradable de vez en cuando” en algo “usable todos los días”.&lt;/p&gt;
&lt;p&gt;El contexto largo de DeepSeek, su bajo coste de caché y el uso por capas de V4 Flash / V4 Pro lo colocan justo en esa posición.&lt;/p&gt;
&lt;p&gt;La verdadera clave de ahorro en esta ronda no es dejar de usar buenos modelos. Es combinar bien modelos buenos, modelos baratos, caché y workflows agent. Cuando entiendes esa factura, las herramientas de AI Coding se convierten en productividad real, no en un juguete bonito pero caro.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>goose: un agente de IA open source con escritorio, CLI y API</title>
        <link>https://knightli.com/es/2026/05/08/goose-open-source-ai-agent-desktop-cli-api/</link>
        <pubDate>Fri, 08 May 2026 13:41:15 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/08/goose-open-source-ai-agent-desktop-cli-api/</guid>
        <description>&lt;p&gt;goose es un agente de IA open source que corre en tu propia máquina. No se limita a completar código; busca cubrir código, investigación, escritura, automatización, análisis de datos y otros trabajos. El README lo presenta como aplicación de escritorio, CLI y API para usuarios normales y flujos personalizados.&lt;/p&gt;
&lt;p&gt;El proyecto pasó de &lt;code&gt;block/goose&lt;/code&gt; a la Agentic AI Foundation (AAIF), dentro de Linux Foundation. El repositorio actual es:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;https://github.com/aaif-goose/goose
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;goose está escrito principalmente en Rust y TypeScript, con licencia Apache-2.0. Su descripción en GitHub dice que es un agente de IA extensible que va más allá de sugerencias de código: puede instalar, ejecutar, editar y probar con cualquier LLM.&lt;/p&gt;
&lt;h2 id=&#34;qué-problema-resuelve&#34;&gt;Qué problema resuelve
&lt;/h2&gt;&lt;p&gt;Muchas herramientas de programación con IA se centran en sugerencias o cambios locales. goose apunta a algo más amplio: permitir que un agente de IA complete tareas directamente en tu máquina.&lt;/p&gt;
&lt;p&gt;Puede servir para:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cambios de código y pruebas.&lt;/li&gt;
&lt;li&gt;Automatización local.&lt;/li&gt;
&lt;li&gt;Investigación y escritura.&lt;/li&gt;
&lt;li&gt;Análisis de datos.&lt;/li&gt;
&lt;li&gt;Flujos multi-paso.&lt;/li&gt;
&lt;li&gt;Integración mediante API.&lt;/li&gt;
&lt;li&gt;Extensión mediante MCP.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si solo necesitas autocompletado en el IDE, una herramienta tipo Copilot puede bastar. goose es más útil cuando quieres IA dentro de la cadena local de ejecución de tareas.&lt;/p&gt;
&lt;h2 id=&#34;escritorio-cli-y-api&#34;&gt;Escritorio, CLI y API
&lt;/h2&gt;&lt;p&gt;La aplicación de escritorio soporta macOS, Linux y Windows.&lt;/p&gt;
&lt;p&gt;La CLI encaja con flujos de terminal y automatización local.&lt;/p&gt;
&lt;p&gt;La API permite insertar goose como runtime de agente en otros sistemas o herramientas internas.&lt;/p&gt;
&lt;p&gt;Para uso personal, empieza por escritorio o CLI. Para equipos, conviene revisar también la API y las distribuciones personalizadas.&lt;/p&gt;
&lt;h2 id=&#34;instalación&#34;&gt;Instalación
&lt;/h2&gt;&lt;p&gt;Aplicación de escritorio:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;https://goose-docs.ai/docs/getting-started/installation
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;CLI:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; bash
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;GitHub Releases ofrece builds para varias plataformas. La versión latest consultada fue &lt;code&gt;v1.33.1&lt;/code&gt;, publicada el 2026-04-29, con assets para macOS, Linux, Windows, deb, rpm y Flatpak.&lt;/p&gt;
&lt;p&gt;Después de instalar, configura un proveedor siguiendo el Quickstart oficial y prueba primero en un directorio de bajo riesgo.&lt;/p&gt;
&lt;h2 id=&#34;proveedores&#34;&gt;Proveedores
&lt;/h2&gt;&lt;p&gt;goose admite más de 15 proveedores, entre ellos Anthropic, OpenAI, Google, Ollama, OpenRouter, Azure, Bedrock y otros proveedores cloud o compatibles con OpenAI.&lt;/p&gt;
&lt;p&gt;Puede usar API keys y también suscripciones existentes de Claude, ChatGPT o Gemini mediante ACP.&lt;/p&gt;
&lt;p&gt;ACP es relevante porque muchos usuarios ya tienen suscripciones, pero no todas las herramientas las reutilizan bien. goose las integra en un flujo de agente. Aun así, verifica siempre términos del proveedor, cuotas y políticas para código corporativo o datos sensibles.&lt;/p&gt;
&lt;h2 id=&#34;extensiones-mcp&#34;&gt;Extensiones MCP
&lt;/h2&gt;&lt;p&gt;goose soporta extensiones Model Context Protocol. El README menciona más de 70 extensiones.&lt;/p&gt;
&lt;p&gt;MCP permite conectar el agente con documentación, bases de datos, navegadores, sistemas internos, búsqueda, herramientas de diseño o gestión de proyectos mediante interfaces estándar.&lt;/p&gt;
&lt;p&gt;Para equipos, MCP puede ser una capa de integración más segura que exponer todos los sistemas directamente al modelo.&lt;/p&gt;
&lt;h2 id=&#34;diferencia-frente-a-un-asistente-de-código&#34;&gt;Diferencia frente a un asistente de código
&lt;/h2&gt;&lt;p&gt;goose no es solo autocompletado. Es más bien un runtime local de agente.&lt;/p&gt;
&lt;p&gt;Los asistentes comunes se enfocan en completar, explicar, generar funciones y editar en el IDE. goose se centra en ejecución local de tareas, flujos multi-paso, proveedores intercambiables, extensiones, escritorio y CLI, API embebible y tareas que no son solo código.&lt;/p&gt;
&lt;p&gt;Eso también implica más complejidad: configuración de modelos, permisos, extensiones, workspace, logs y credenciales.&lt;/p&gt;
&lt;h2 id=&#34;distribuciones-personalizadas&#34;&gt;Distribuciones personalizadas
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;CUSTOM_DISTROS.md&lt;/code&gt; explica cómo construir una distribución de goose con proveedores, extensiones y branding preconfigurados.&lt;/p&gt;
&lt;p&gt;Un equipo puede predefinir proveedores permitidos, conectar servidores MCP internos, configurar seguridad y logs, bloquear servicios externos y aplicar onboarding propio.&lt;/p&gt;
&lt;h2 id=&#34;recomendaciones&#34;&gt;Recomendaciones
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;Instala la app de escritorio o CLI.&lt;/li&gt;
&lt;li&gt;Configura un proveedor conocido.&lt;/li&gt;
&lt;li&gt;Ejecuta tareas simples en un directorio de prueba.&lt;/li&gt;
&lt;li&gt;Observa qué archivos lee y qué acciones ejecuta.&lt;/li&gt;
&lt;li&gt;Añade extensiones MCP.&lt;/li&gt;
&lt;li&gt;Prueba repositorios complejos después.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Haz commit antes de cambios importantes, no guardes API keys en archivos del proyecto, limita los modos de alto permiso a workspaces confiables y revisa la política de datos antes de usar código de empresa.&lt;/p&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;goose es un agente de IA open source bajo AAIF/Linux Foundation. Ofrece escritorio, CLI y API, soporta más de 15 proveedores, acceso a suscripciones vía ACP y más de 70 extensiones MCP.&lt;/p&gt;
&lt;p&gt;Su valor no es solo escribir código, sino unir modelos, herramientas, extensiones y ejecución local dentro de un mismo marco de agente.&lt;/p&gt;
&lt;h2 id=&#34;referencias&#34;&gt;Referencias
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/aaif-goose/goose&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Repositorio de goose en GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://goose-docs.ai/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Documentación de goose&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://goose-docs.ai/docs/getting-started/installation&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Guía de instalación de goose&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://aaif.io/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Agentic AI Foundation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>24 consejos de Claude Code: modo plan, rewind, CLAUDE.md, Skills, Agents y plugins</title>
        <link>https://knightli.com/es/2026/05/08/claude-code-24-tips-plan-rewind-skills-agents/</link>
        <pubDate>Fri, 08 May 2026 08:54:14 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/08/claude-code-24-tips-plan-rewind-skills-agents/</guid>
        <description>&lt;p&gt;Claude Code no es solo una caja de chat. Se parece más a un Agent de programación que puede entrar en un directorio de proyecto, leer y escribir archivos, ejecutar comandos y mantener contexto.&lt;/p&gt;
&lt;p&gt;Si solo le das un requisito y esperas código, pronto aparecen problemas: el plan no queda claro, los permisos se repiten, el contexto crece, el resultado no convence, no sabes cómo volver atrás y no hay un lugar estable para reglas del proyecto.&lt;/p&gt;
&lt;p&gt;Estos son consejos prácticos para quienes empiezan con Claude Code.&lt;/p&gt;
&lt;h2 id=&#34;empieza-dentro-del-directorio-del-proyecto&#34;&gt;Empieza dentro del directorio del proyecto
&lt;/h2&gt;&lt;p&gt;Claude Code funciona mejor cuando se inicia dentro del directorio del proyecto, no desde una terminal cualquiera.&lt;/p&gt;
&lt;p&gt;Crea una carpeta de proyecto, entra en ella, abre la línea de comandos e inicia Claude Code:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;claude
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si al entrar por primera vez pregunta si confías en la carpeta actual, confirma antes de seguir. Así podrá leer archivos, crear archivos y ejecutar operaciones alrededor del proyecto.&lt;/p&gt;
&lt;p&gt;Una práctica sencilla es pedirle que cree una web personal de fotógrafo. Es una tarea visual, permite inspeccionar el resultado y sirve para practicar generación de archivos, comandos, rewind y refactorización.&lt;/p&gt;
&lt;h2 id=&#34;usa-modo-plan-para-aclarar-la-dirección&#34;&gt;Usa modo plan para aclarar la dirección
&lt;/h2&gt;&lt;p&gt;Ante tareas complejas, Claude Code puede entrar en modo plan. Su función es discutir requisitos, dividir pasos y pedir aprobación antes de ejecutar.&lt;/p&gt;
&lt;p&gt;Tras escribir un plan, suelen aparecer opciones como:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Aprobar el plan y permitir automáticamente herramientas de edición posteriores.&lt;/li&gt;
&lt;li&gt;Aprobar el plan, pero pedir confirmación manual para futuras ediciones.&lt;/li&gt;
&lt;li&gt;Pausar y seguir discutiendo el plan con Claude Code.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si la tarea está clara, aprueba y continúa. Si no, pídele que complete el plan: estilo de página, stack técnico, estructura de carpetas, interacciones y criterios de aceptación.&lt;/p&gt;
&lt;p&gt;El modo plan reduce retrabajo. Si el Agent empieza directamente, puede crear muchos archivos rápido; si la dirección era incorrecta, luego todo se vuelve más difícil de corregir.&lt;/p&gt;
&lt;h2 id=&#34;cambia-de-modo-con-shift--tab&#34;&gt;Cambia de modo con Shift + Tab
&lt;/h2&gt;&lt;p&gt;En Claude Code, &lt;code&gt;Shift + Tab&lt;/code&gt; permite cambiar entre modos de trabajo. Se usa a menudo para entrar en modo plan o para cambiar a un modo de aprobación automática de edición.&lt;/p&gt;
&lt;p&gt;Hábitos recomendados:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Proyecto nuevo, función nueva o cambio grande: primero modo plan.&lt;/li&gt;
&lt;li&gt;Cambio pequeño o arreglo claro: ejecutar directamente.&lt;/li&gt;
&lt;li&gt;Borrado, reemplazos masivos o instalación de dependencias: mantener confirmación humana.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En modo plan, Claude Code puede preguntar detalles del proyecto. Usa flechas para elegir opciones y Enter para confirmar. Después de enviar feedback, actualizará el plan.&lt;/p&gt;
&lt;h2 id=&#34;no-abras-todos-los-permisos&#34;&gt;No abras todos los permisos
&lt;/h2&gt;&lt;p&gt;Cuando Claude Code ejecuta comandos, edita archivos o inicia programas, puede pedir permisos.&lt;/p&gt;
&lt;p&gt;Opciones comunes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Permitir solo esta vez.&lt;/li&gt;
&lt;li&gt;Permitir el mismo tipo de comando en esta sesión.&lt;/li&gt;
&lt;li&gt;Rechazar o pausar.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Para abrir una página local, iniciar un servidor de desarrollo o revisar archivos, aprueba según necesidad. Pero no uses durante mucho tiempo un modo de &amp;ldquo;permitir todo&amp;rdquo; solo por comodidad.&lt;/p&gt;
&lt;p&gt;La aprobación total automática solo tiene sentido en tareas de bajo riesgo, muy claras y con respaldo Git. En el uso diario, conserva confirmación humana para borrar, sobrescribir carpetas, instalar dependencias, usar red, hacer commits o ejecutar scripts.&lt;/p&gt;
&lt;h2 id=&#34;ejecuta-comandos-locales-en-modo-terminal&#34;&gt;Ejecuta comandos locales en modo terminal
&lt;/h2&gt;&lt;p&gt;Claude Code puede entrar en modo de comandos de terminal y ejecutar comandos locales.&lt;/p&gt;
&lt;p&gt;Por ejemplo, después de generar una página, puedes abrir un archivo HTML con:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;start index.html
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;start&lt;/code&gt; es un comando de Windows para abrir archivos. Es más rápido que buscar el archivo manualmente.&lt;/p&gt;
&lt;p&gt;El modo terminal sirve para:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Abrir páginas generadas.&lt;/li&gt;
&lt;li&gt;Ver contenido de directorios.&lt;/li&gt;
&lt;li&gt;Iniciar servidores locales.&lt;/li&gt;
&lt;li&gt;Ejecutar pruebas o builds.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pero los comandos de alto riesgo siguen requiriendo cuidado: borrado recursivo, mover directorios, sobrescrituras masivas y cambios de entorno.&lt;/p&gt;
&lt;h2 id=&#34;usa-rewind-cuando-el-resultado-se-desvía&#34;&gt;Usa rewind cuando el resultado se desvía
&lt;/h2&gt;&lt;p&gt;Si la página o el código que hizo Claude Code no es lo que quieres y cada corrección lo empeora, usa rewind temprano.&lt;/p&gt;
&lt;p&gt;Rewind puede devolver conversación o código a un punto anterior. Opciones comunes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Revertir código y conversación.&lt;/li&gt;
&lt;li&gt;Revertir solo conversación.&lt;/li&gt;
&lt;li&gt;Revertir solo código.&lt;/li&gt;
&lt;li&gt;Comprimir contenido anterior como resumen.&lt;/li&gt;
&lt;li&gt;Cancelar.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Cuando la dirección se desvió claramente, conviene volver código y conversación juntos. Así contexto y archivos regresan a un estado más limpio.&lt;/p&gt;
&lt;p&gt;Ten en cuenta que el rewind de Claude Code normalmente cubre archivos creados o modificados con herramientas internas. Archivos creados por comandos externos quizá no se reviertan por completo. Para proyectos importantes, usa Git.&lt;/p&gt;
&lt;h2 id=&#34;escribe-prompts-largos-en-un-editor&#34;&gt;Escribe prompts largos en un editor
&lt;/h2&gt;&lt;p&gt;No metas requisitos complejos en una sola línea.&lt;/p&gt;
&lt;p&gt;Si el sistema permite editar un prompt largo en un editor, úsalo, guarda y luego envíalo a Claude Code.&lt;/p&gt;
&lt;p&gt;Un prompt largo debería aclarar:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Objetivo.&lt;/li&gt;
&lt;li&gt;Stack técnico.&lt;/li&gt;
&lt;li&gt;Qué no debe hacerse.&lt;/li&gt;
&lt;li&gt;Qué archivos deben conservarse.&lt;/li&gt;
&lt;li&gt;Cómo verificar el resultado.&lt;/li&gt;
&lt;li&gt;Criterios de aceptación.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Por ejemplo, si quieres refactorizar una página HTML a un stack más moderno, no escribas solo &amp;ldquo;refactoriza&amp;rdquo;. Explica estructura por componentes, preservación visual, diseño responsive y pide ejecutar una comprobación de build.&lt;/p&gt;
&lt;h2 id=&#34;recupera-sesiones-después-de-salir&#34;&gt;Recupera sesiones después de salir
&lt;/h2&gt;&lt;p&gt;Si necesitas salir de Claude Code, hazlo normalmente. Luego vuelve al mismo directorio y arranca otra vez:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;claude
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si el historial anterior no aparece, usa comandos de historial para ver sesiones recientes y cargar la sesión anterior.&lt;/p&gt;
&lt;p&gt;Esto sirve para continuar trabajo interrumpido. Pero no uses el historial como única memoria. Reglas del proyecto, stack, comandos comunes y notas deben estar en archivos del proyecto.&lt;/p&gt;
&lt;h2 id=&#34;guarda-reglas-del-proyecto-en-claudemd&#34;&gt;Guarda reglas del proyecto en CLAUDE.md
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;CLAUDE.md&lt;/code&gt; es un archivo de memoria importante para Claude Code. Normalmente está en la raíz del proyecto y registra reglas, stack, estructura de carpetas y restricciones de colaboración.&lt;/p&gt;
&lt;p&gt;Puedes inicializarlo con:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/init
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;CLAUDE.md&lt;/code&gt; sirve para registrar:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Objetivos del proyecto.&lt;/li&gt;
&lt;li&gt;Stack técnico.&lt;/li&gt;
&lt;li&gt;Comandos de inicio, prueba y build.&lt;/li&gt;
&lt;li&gt;Estructura de directorios.&lt;/li&gt;
&lt;li&gt;Estilo de código.&lt;/li&gt;
&lt;li&gt;Acciones prohibidas.&lt;/li&gt;
&lt;li&gt;Reglas de commit y despliegue.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En cada conversación, Claude Code puede usar estas reglas como parte del contexto. Piensa en él como un manual del proyecto.&lt;/p&gt;
&lt;p&gt;Una prueba sencilla es añadir una regla evidente en &lt;code&gt;CLAUDE.md&lt;/code&gt; y luego preguntar algo. Si la respuesta sigue la regla, leyó la memoria del proyecto.&lt;/p&gt;
&lt;h2 id=&#34;usa--para-referenciar-archivos&#34;&gt;Usa @ para referenciar archivos
&lt;/h2&gt;&lt;p&gt;En el cuadro de entrada, &lt;code&gt;@&lt;/code&gt; permite seleccionar archivos o Agents y añadirlos al contexto actual.&lt;/p&gt;
&lt;p&gt;Sirve para:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Hacer que Claude Code lea un archivo de configuración.&lt;/li&gt;
&lt;li&gt;Pedir cambios en una página concreta.&lt;/li&gt;
&lt;li&gt;Continuar según &lt;code&gt;CLAUDE.md&lt;/code&gt; u otro documento.&lt;/li&gt;
&lt;li&gt;Decir explícitamente &amp;ldquo;mira solo este archivo, no adivines la estructura&amp;rdquo;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Comparado con pegar el contenido del archivo, &lt;code&gt;@&lt;/code&gt; es más claro y menos propenso a omisiones.&lt;/p&gt;
&lt;h2 id=&#34;revisa-y-comprime-contexto&#34;&gt;Revisa y comprime contexto
&lt;/h2&gt;&lt;p&gt;Tras una conversación larga, el contexto crece. Si se vuelve demasiado largo, el modelo puede ralentizarse o ignorar detalles antiguos.&lt;/p&gt;
&lt;p&gt;Usa:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/context
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si el contexto ya es largo, comprime el historial:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/compact
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si aun así el efecto es malo, limpia el contexto actual:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/clear
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Después de limpiar, Claude Code todavía puede entender parte del proyecto mediante archivos, &lt;code&gt;CLAUDE.md&lt;/code&gt; y el directorio actual, pero no conserva todo el historial de conversación.&lt;/p&gt;
&lt;p&gt;Una regla útil: abre una conversación nueva al terminar una tarea, escribe reglas del proyecto en &lt;code&gt;CLAUDE.md&lt;/code&gt;, y no acumules discusión temporal para siempre en un solo chat.&lt;/p&gt;
&lt;h2 id=&#34;skills-convierte-flujos-fijos-en-instrucciones&#34;&gt;Skills: convierte flujos fijos en instrucciones
&lt;/h2&gt;&lt;p&gt;Skills son instrucciones reutilizables para Claude Code. No son prompts de una sola vez, sino flujos de tarea empaquetados.&lt;/p&gt;
&lt;p&gt;Por ejemplo, si generas informes semanales a menudo, crea una Skill de informe semanal con:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Información de entrada necesaria.&lt;/li&gt;
&lt;li&gt;Formato de salida.&lt;/li&gt;
&lt;li&gt;Tono y estructura.&lt;/li&gt;
&lt;li&gt;Qué debe conservarse.&lt;/li&gt;
&lt;li&gt;Qué no debe inventarse.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Las Skills suelen contener &lt;code&gt;name&lt;/code&gt;, &lt;code&gt;description&lt;/code&gt; e instrucciones detalladas. Al instalarlas en el directorio global de Skills, Claude Code puede reconocerlas y cargarlas cuando la tarea encaja.&lt;/p&gt;
&lt;p&gt;Candidatos adecuados:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Informes semanales.&lt;/li&gt;
&lt;li&gt;Plantillas de revisión de código.&lt;/li&gt;
&lt;li&gt;Organización de documentos.&lt;/li&gt;
&lt;li&gt;Procesamiento de imágenes por lotes.&lt;/li&gt;
&lt;li&gt;Artículos con formato fijo.&lt;/li&gt;
&lt;li&gt;Flujos de inicialización de proyectos.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si copias el mismo prompt muchas veces, conviértelo en Skill.&lt;/p&gt;
&lt;h2 id=&#34;agents-delega-subtareas-a-asistentes-independientes&#34;&gt;Agents: delega subtareas a asistentes independientes
&lt;/h2&gt;&lt;p&gt;Agents no son lo mismo que Skills.&lt;/p&gt;
&lt;p&gt;Una Skill es un manual de instrucciones. Un Agent se parece más a un asistente independiente que trabaja fuera de la conversación principal y devuelve resultados.&lt;/p&gt;
&lt;p&gt;Su valor está en aislar contexto. Para una revisión de código, puedes crear un Agent de solo lectura que lea el proyecto y entregue un informe sin modificar archivos. Así no contamina la conversación principal y reduce riesgos.&lt;/p&gt;
&lt;p&gt;Al crear un Agent, considera:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Si será de proyecto o de usuario.&lt;/li&gt;
&lt;li&gt;Si Claude Code debe generar la configuración.&lt;/li&gt;
&lt;li&gt;Qué herramientas puede usar.&lt;/li&gt;
&lt;li&gt;Qué modelo usará.&lt;/li&gt;
&lt;li&gt;Si guardará memoria.&lt;/li&gt;
&lt;li&gt;Si el prompt del Agent es claro.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Para Agents de auditoría de código, da solo permisos de lectura. Primero que entregue un informe; luego la conversación principal decide si cambia código.&lt;/p&gt;
&lt;h2 id=&#34;plugins-empaqueta-skills-agents-mcp-y-hooks&#34;&gt;Plugins: empaqueta Skills, Agents, MCP y Hooks
&lt;/h2&gt;&lt;p&gt;Los plugins son paquetes de capacidad más completos. Pueden incluir:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Skills&lt;/li&gt;
&lt;li&gt;Agents&lt;/li&gt;
&lt;li&gt;MCP&lt;/li&gt;
&lt;li&gt;Hooks&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Frente a una Skill aislada, un plugin sirve mejor para capacidades de conjunto. Un plugin de diseño frontend puede empaquetar estética de página, reglas de layout, hábitos de componentes y Agents relacionados.&lt;/p&gt;
&lt;p&gt;Al instalar plugins, suele haber opciones:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Directorio de usuario, efectivo para todos los proyectos.&lt;/li&gt;
&lt;li&gt;Directorio de proyecto, compartido con el proyecto.&lt;/li&gt;
&lt;li&gt;Directorio local del proyecto, solo efectivo en tu ordenador.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Para capacidades personales frecuentes, usa el directorio de usuario. Para acuerdos de equipo, usa el proyecto. Para pruebas temporales, usa instalación local.&lt;/p&gt;
&lt;h2 id=&#34;los-plugins-mejoran-tareas-concretas&#34;&gt;Los plugins mejoran tareas concretas
&lt;/h2&gt;&lt;p&gt;En generación de páginas frontend, un plugin suele ser más estable que un prompt desnudo.&lt;/p&gt;
&lt;p&gt;Por ejemplo, para &amp;ldquo;crear una web personal de fotógrafo&amp;rdquo;, un prompt normal puede crear una página aceptable. Si usas explícitamente un plugin de diseño frontend, la estructura, jerarquía visual, espaciado, color y acabado suelen mejorar.&lt;/p&gt;
&lt;p&gt;Esto no reemplaza el criterio humano. Lo razonable es dejar que el plugin genere un primer borrador mejor y luego ajustar detalles manualmente.&lt;/p&gt;
&lt;h2 id=&#34;un-flujo-de-trabajo-más-estable&#34;&gt;Un flujo de trabajo más estable
&lt;/h2&gt;&lt;p&gt;Combinando todo lo anterior, queda un flujo más estable:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Inicia &lt;code&gt;claude&lt;/code&gt; dentro del directorio del proyecto.&lt;/li&gt;
&lt;li&gt;Discute requisitos primero en modo plan.&lt;/li&gt;
&lt;li&gt;Confirma stack y criterios de aceptación antes de aprobar.&lt;/li&gt;
&lt;li&gt;Mantén confirmación manual para acciones de alto riesgo.&lt;/li&gt;
&lt;li&gt;Usa modo terminal para previsualización y pruebas.&lt;/li&gt;
&lt;li&gt;Usa rewind cuando el resultado se desvíe.&lt;/li&gt;
&lt;li&gt;Escribe reglas en &lt;code&gt;CLAUDE.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Revisa y comprime contexto en conversaciones largas.&lt;/li&gt;
&lt;li&gt;Convierte flujos repetidos en Skills.&lt;/li&gt;
&lt;li&gt;Delega inspección, investigación y análisis a Agents de solo lectura.&lt;/li&gt;
&lt;li&gt;Usa plugins para tareas de dominio específico.&lt;/li&gt;
&lt;li&gt;Mantén puntos de commit Git en proyectos importantes.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Así Claude Code será mucho más estable que enviar una frase y esperar generación.&lt;/p&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;La eficiencia de Claude Code no viene solo del modelo, sino también del control del flujo.&lt;/p&gt;
&lt;p&gt;El modo plan define la dirección, los permisos controlan el riesgo, rewind reduce retrabajo, &lt;code&gt;CLAUDE.md&lt;/code&gt; guarda reglas del proyecto, &lt;code&gt;/context&lt;/code&gt;, &lt;code&gt;/compact&lt;/code&gt; y &lt;code&gt;/clear&lt;/code&gt; gestionan contexto, Skills reutilizan flujos, Agents aíslan subtareas y plugins empaquetan capacidades completas.&lt;/p&gt;
&lt;p&gt;La mejor forma de usar Claude Code es dejar que avance dentro de límites claros, no entregarle todo el proyecto de una vez.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>opencode, Claude Code y Codex: diferencias y guía de herramientas open source de programación con IA</title>
        <link>https://knightli.com/es/2026/05/08/opencode-open-source-ai-coding-agent/</link>
        <pubDate>Fri, 08 May 2026 08:33:37 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/08/opencode-open-source-ai-coding-agent/</guid>
        <description>&lt;p&gt;&lt;code&gt;opencode&lt;/code&gt; es un AI Coding Agent open source de anomalyco. Su posicionamiento es directo: dar a los desarrolladores un asistente de código programable, extensible y capaz de conectarse a varios proveedores de modelos dentro de la terminal.&lt;/p&gt;
&lt;p&gt;Si lo comparamos con &lt;code&gt;Claude Code&lt;/code&gt; y &lt;code&gt;Codex&lt;/code&gt;, los tres resuelven una misma clase de problema: llevar la IA a bases de código reales para entender contexto, modificar archivos, ejecutar comandos y correr pruebas. Pero su orientación de producto es distinta.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;opencode&lt;/code&gt; pone más énfasis en open source, soporte de múltiples modelos y TUI de terminal. &lt;code&gt;Claude Code&lt;/code&gt; enfatiza el ecosistema de modelos de Anthropic y la colaboración de ingeniería local. &lt;code&gt;Codex&lt;/code&gt; es el AI coding agent de OpenAI, disponible desde la terminal, IDEs, Codex app y tareas en la nube.&lt;/p&gt;
&lt;h2 id=&#34;para-quién-es-opencode&#34;&gt;Para quién es opencode
&lt;/h2&gt;&lt;p&gt;opencode encaja mejor con estos tipos de desarrolladores:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Quienes quieren completar cambios de código, análisis de proyectos y tareas de ingeniería desde la terminal.&lt;/li&gt;
&lt;li&gt;Quienes no quieren que su AI Coding Agent dependa de un único proveedor de modelos.&lt;/li&gt;
&lt;li&gt;Quienes prefieren herramientas open source y quieren auditarlas, ampliarlas o construir sobre ellas.&lt;/li&gt;
&lt;li&gt;Quienes ya están cómodos con Neovim, TUI y flujos de línea de comandos.&lt;/li&gt;
&lt;li&gt;Quienes quieren controlar en el futuro el mismo agente de programación desde una app de escritorio, móvil u otros clientes.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Su objetivo no es crear otra ventana de chat, sino poner capacidades de programación con IA dentro de la terminal y los directorios de proyecto que los desarrolladores ya usan.&lt;/p&gt;
&lt;h2 id=&#34;instalación&#34;&gt;Instalación
&lt;/h2&gt;&lt;p&gt;El README oficial ofrece varias formas de instalación.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Instalación directa&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -fsSL https://opencode.ai/install &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; bash
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# npm&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm i -g opencode-ai@latest
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Windows&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;scoop install opencode
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;choco install opencode
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# macOS y Linux&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brew install anomalyco/tap/opencode
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brew install opencode
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Arch Linux&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo pacman -S opencode
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;paru -S opencode-bin
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Otros métodos&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;mise use -g opencode
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nix run nixpkgs#opencode
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;El README oficial también recomienda eliminar versiones anteriores a 0.1.x antes de instalar, para evitar problemas causados por restos de versiones antiguas.&lt;/p&gt;
&lt;p&gt;El script de instalación elige el directorio de instalación con esta prioridad:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;$OPENCODE_INSTALL_DIR&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;$XDG_BIN_DIR&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;$HOME/bin&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;$HOME/.opencode/bin&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Si necesitas especificar una ruta, puedes usar:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;OPENCODE_INSTALL_DIR&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;/usr/local/bin curl -fsSL https://opencode.ai/install &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; bash
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;XDG_BIN_DIR&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$HOME&lt;/span&gt;/.local/bin curl -fsSL https://opencode.ai/install &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; bash
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;la-app-de-escritorio-sigue-en-beta&#34;&gt;La app de escritorio sigue en Beta
&lt;/h2&gt;&lt;p&gt;Además de la herramienta de línea de comandos, opencode también ofrece una app de escritorio, actualmente marcada como Beta. Se puede descargar desde GitHub Releases o &lt;code&gt;opencode.ai/download&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;La versión de escritorio cubre estas plataformas:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Plataforma&lt;/th&gt;
          &lt;th&gt;Archivo&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;macOS Apple Silicon&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;opencode-desktop-mac-arm64.dmg&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;macOS Intel&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;opencode-desktop-mac-x64.dmg&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Windows&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;opencode-desktop-windows-x64.exe&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Linux&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;.deb&lt;/code&gt;, &lt;code&gt;.rpm&lt;/code&gt; o &lt;code&gt;.AppImage&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;En macOS y Windows también se puede instalar la app de escritorio con gestores de paquetes.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# macOS&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brew install --cask opencode-desktop
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Windows&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;scoop bucket add extras
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;scoop install extras/opencode-desktop
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;dos-modos-agent-integrados&#34;&gt;Dos modos Agent integrados
&lt;/h2&gt;&lt;p&gt;opencode incluye dos Agent integrados, que se pueden cambiar con la tecla &lt;code&gt;Tab&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;build&lt;/code&gt; es el modo predeterminado. Tiene permisos completos de desarrollo y sirve para editar código directamente, ejecutar comandos y avanzar en tareas de ingeniería.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;plan&lt;/code&gt; es el modo de solo lectura. Es más adecuado para analizar bases de código desconocidas, entender la estructura del proyecto y preparar un plan de cambios. Por defecto rechaza ediciones de archivos y pregunta antes de ejecutar comandos bash.&lt;/p&gt;
&lt;p&gt;Además, opencode incluye un sub-Agent &lt;code&gt;general&lt;/code&gt; para búsquedas complejas y tareas de varios pasos. Los usuarios pueden invocarlo escribiendo &lt;code&gt;@general&lt;/code&gt; en un mensaje.&lt;/p&gt;
&lt;p&gt;Este diseño es bastante práctico: antes de actuar, usa &lt;code&gt;plan&lt;/code&gt; para entender el proyecto; cuando haga falta cambiar código, cambia a &lt;code&gt;build&lt;/code&gt;. En repositorios grandes, separar permisos de lectura y escritura ayuda a reducir errores.&lt;/p&gt;
&lt;h2 id=&#34;qué-es-codex&#34;&gt;Qué es Codex
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;Codex&lt;/code&gt; es el AI coding agent de OpenAI para ayudar a desarrolladores a escribir código, revisar código, corregir bugs y entregar tareas de ingeniería.&lt;/p&gt;
&lt;p&gt;A diferencia de una herramienta simple de autocompletado, Codex se parece más a un Agent capaz de operar sobre una base de código. Puede trabajar contigo en herramientas locales y también puede recibir tareas delegadas para ejecutarlas en la nube. Los materiales oficiales de OpenAI describen Codex como disponible desde varias superficies, incluyendo CLI, IDEs, Codex app y flujos en la nube de ChatGPT/Codex.&lt;/p&gt;
&lt;p&gt;Para desarrolladores, Codex tiene varios puntos importantes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Puede leer bases de código, editar archivos, ejecutar comandos y correr pruebas.&lt;/li&gt;
&lt;li&gt;Soporta varias interfaces, incluyendo terminal, IDE, app y nube.&lt;/li&gt;
&lt;li&gt;Encaja con corrección de bugs, desarrollo de funciones, refactorización, migraciones, revisión de código y generación de pruebas.&lt;/li&gt;
&lt;li&gt;Está más ligado a cuentas, modelos y ecosistema de producto de OpenAI.&lt;/li&gt;
&lt;li&gt;Las tareas en la nube sirven para ejecutar en paralelo varias tareas de ingeniería relativamente bien definidas.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si opencode se parece más a un framework abierto de agente en terminal, Codex se parece más a un banco de trabajo completo de programación con IA ofrecido por OpenAI: colaboración local, delegación en la nube y flujos de ingeniería más largos para equipos.&lt;/p&gt;
&lt;h2 id=&#34;diferencias-principales&#34;&gt;Diferencias principales
&lt;/h2&gt;&lt;p&gt;opencode, Claude Code y Codex son herramientas de programación con IA, pero la elección se entiende mejor mirando estas dimensiones.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Herramienta&lt;/th&gt;
          &lt;th&gt;Posicionamiento central&lt;/th&gt;
          &lt;th&gt;Ventajas principales&lt;/th&gt;
          &lt;th&gt;Mejor para&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;opencode&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;AI Coding Agent open source&lt;/td&gt;
          &lt;td&gt;Open source, múltiples modelos, TUI, arquitectura cliente/servidor&lt;/td&gt;
          &lt;td&gt;Desarrolladores que quieren una cadena de herramientas abierta, modelos reemplazables y un flujo centrado en terminal&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;Claude Code&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Herramienta de programación de línea de comandos de Anthropic&lt;/td&gt;
          &lt;td&gt;Experiencia con modelos Claude, comprensión de código, contexto largo, colaboración en tareas de ingeniería&lt;/td&gt;
          &lt;td&gt;Desarrolladores que ya usan el ecosistema Claude/Anthropic y quieren avanzar tareas de código locales&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;Codex&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;AI coding agent de OpenAI&lt;/td&gt;
          &lt;td&gt;CLI, IDE, Codex app, tareas en la nube, flujos multi-Agent&lt;/td&gt;
          &lt;td&gt;Equipos que ya usan ChatGPT/OpenAI y quieren combinar colaboración local con delegación en la nube&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;En resumen, las palabras clave de opencode son &amp;ldquo;apertura y reemplazabilidad&amp;rdquo;; las de Claude Code son &amp;ldquo;ecosistema Claude y agente local de ingeniería&amp;rdquo;; y las de Codex son &amp;ldquo;ecosistema OpenAI y colaboración desde múltiples entradas&amp;rdquo;.&lt;/p&gt;
&lt;h2 id=&#34;diferencias-con-claude-code&#34;&gt;Diferencias con Claude Code
&lt;/h2&gt;&lt;p&gt;El FAQ oficial de opencode lo compara directamente con Claude Code. Ambos son muy parecidos en capacidad, pero las diferencias principales son estas.&lt;/p&gt;
&lt;p&gt;Primero, opencode es un proyecto 100% open source, alojado en GitHub y publicado con MIT license.&lt;/p&gt;
&lt;p&gt;Segundo, opencode no depende de un único proveedor de modelos. Recomienda los modelos ofrecidos a través de OpenCode Zen, pero también puede trabajar con Claude, OpenAI, Google o modelos locales. Para desarrolladores, esto significa que cuando cambien el costo, la capacidad o la disponibilidad de los modelos, no quedarán atados a una sola plataforma.&lt;/p&gt;
&lt;p&gt;Tercero, opencode incluye soporte LSP opcional. Para autocompletado, navegación, diagnósticos y comprensión del proyecto, LSP es una base muy importante.&lt;/p&gt;
&lt;p&gt;Cuarto, opencode pone más énfasis en TUI. Está creado por usuarios de Neovim y los creadores de terminal.shop, así que el foco del producto está claramente en la experiencia de terminal.&lt;/p&gt;
&lt;p&gt;Quinto, opencode usa una arquitectura cliente/servidor. Esto significa que opencode puede ejecutarse en tu computadora y, en el futuro, controlarse desde una TUI, una app de escritorio, una app móvil u otros clientes. La TUI es solo una de las posibles interfaces.&lt;/p&gt;
&lt;h2 id=&#34;cuándo-elegir-opencode-claude-code-o-codex&#34;&gt;Cuándo elegir opencode, Claude Code o Codex
&lt;/h2&gt;&lt;p&gt;Si ya usas Claude Code o Codex, opencode no tiene por qué reemplazarlos de inmediato. Una forma más razonable de verlo es que ofrece una opción abierta, con modelos reemplazables y orientada a la terminal.&lt;/p&gt;
&lt;p&gt;Conviene considerar primero opencode cuando:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Quieres que tu herramienta de programación con IA sea lo más open source posible.&lt;/li&gt;
&lt;li&gt;No quieres atar tu flujo de trabajo a un proveedor de modelos.&lt;/li&gt;
&lt;li&gt;Quieres probar Claude, OpenAI, Google o modelos locales con la misma herramienta.&lt;/li&gt;
&lt;li&gt;Te gustan los flujos TUI y no quieres que una app de escritorio o web interrumpa tu flujo principal.&lt;/li&gt;
&lt;li&gt;Te interesa el potencial de control remoto de una arquitectura cliente/servidor.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Conviene considerar primero Claude Code cuando:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Usas principalmente modelos Claude.&lt;/li&gt;
&lt;li&gt;Te importan el contexto largo, la comprensión de código y la colaboración en tareas de ingeniería complejas.&lt;/li&gt;
&lt;li&gt;Quieres avanzar cambios, pruebas y refactorizaciones dentro de un repositorio local.&lt;/li&gt;
&lt;li&gt;Confías más en la experiencia predeterminada de Claude Code diseñada por Anthropic.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Conviene considerar primero Codex cuando:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ya usas ChatGPT o el ecosistema de cuentas de OpenAI.&lt;/li&gt;
&lt;li&gt;Quieres un mismo coding agent en terminal, IDE, app de escritorio y tareas en la nube.&lt;/li&gt;
&lt;li&gt;Quieres delegar en la nube correcciones de bugs, desarrollo de funciones, migraciones o generación de pruebas relativamente claras, en paralelo.&lt;/li&gt;
&lt;li&gt;Necesitas revisión de código, tareas en segundo plano, colaboración de equipo y flujos multi-Agent.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si priorizas una experiencia oficial de extremo a extremo, configuración predeterminada de modelos, administración empresarial e integraciones listas, Claude Code o Codex pueden ser más cómodos. Si priorizas control, apertura y enfoque provider-agnostic, opencode merece atención.&lt;/p&gt;
&lt;h2 id=&#34;puntos-a-tener-en-cuenta&#34;&gt;Puntos a tener en cuenta
&lt;/h2&gt;&lt;p&gt;opencode, Claude Code y Codex avanzan rápido. Los releases de GitHub, comandos de instalación, nombres de archivos de escritorio, disponibilidad de modelos y permisos de planes pueden cambiar. Antes de instalar o elegir, conviene revisar directamente el README, la documentación y las páginas de releases oficiales de cada herramienta.&lt;/p&gt;
&lt;p&gt;Además, la app de escritorio de opencode sigue marcada como Beta, así que no conviene tratarla por defecto como una herramienta estable de producción. Para tareas de ingeniería diarias, la versión de terminal sigue siendo la entrada principal.&lt;/p&gt;
&lt;p&gt;Visto como tendencia de herramientas, opencode representa la dirección de cadena de herramientas abierta para AI Coding Agents: modelos reemplazables, clientes reemplazables y una capacidad central de agente lo más abierta posible. Codex y Claude Code se parecen más a modelos convertidos por sus empresas en superficies de producto completas para coding agents. Para desarrolladores, ambas rutas probablemente coexistirán durante mucho tiempo.&lt;/p&gt;
&lt;h2 id=&#34;referencias&#34;&gt;Referencias
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;opencode GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/anomalyco/opencode&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/anomalyco/opencode&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;sitio oficial de opencode: &lt;a class=&#34;link&#34; href=&#34;https://opencode.ai&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://opencode.ai&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;documentación de opencode: &lt;a class=&#34;link&#34; href=&#34;https://opencode.ai/docs&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://opencode.ai/docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;opencode Releases: &lt;a class=&#34;link&#34; href=&#34;https://github.com/anomalyco/opencode/releases&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/anomalyco/opencode/releases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;OpenAI Codex: &lt;a class=&#34;link&#34; href=&#34;https://openai.com/codex/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://openai.com/codex/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Using Codex with your ChatGPT plan: &lt;a class=&#34;link&#34; href=&#34;https://help.openai.com/en/articles/11369540-codex-in-chatgpt&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://help.openai.com/en/articles/11369540-codex-in-chatgpt&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;OpenAI Codex CLI Getting Started: &lt;a class=&#34;link&#34; href=&#34;https://help.openai.com/en/articles/11096431-openai-codex-ci-getting-started&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://help.openai.com/en/articles/11096431-openai-codex-ci-getting-started&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Warp Open Source: de terminal a entorno de desarrollo agentico</title>
        <link>https://knightli.com/es/2026/05/07/warpdotdev-warp-open-source-agentic-terminal/</link>
        <pubDate>Thu, 07 May 2026 20:15:08 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/07/warpdotdev-warp-open-source-agentic-terminal/</guid>
        <description>&lt;p&gt;&lt;code&gt;warpdotdev/warp&lt;/code&gt; es el repositorio open source del cliente de Warp. Warp se describe ahora como un &amp;ldquo;entorno de desarrollo agentico, nacido del terminal&amp;rdquo;: parte del terminal, pero lleva agentes de programacion con IA, indexacion de codebase, gestion de tareas y flujos de desarrollo a un solo entorno.&lt;/p&gt;
&lt;p&gt;No es un repositorio open source ordinario de emulador de terminal. Se parece mas a una respuesta a una pregunta mayor: cuando agentes como Claude Code, Codex y Gemini CLI se vuelven comunes, deberia el propio terminal convertirse en un entorno de desarrollo para planificar, observar y gestionar agentes?&lt;/p&gt;
&lt;p&gt;La respuesta de Warp es si.&lt;/p&gt;
&lt;h2 id=&#34;estado-actual-del-repositorio&#34;&gt;Estado actual del repositorio
&lt;/h2&gt;&lt;p&gt;Al 7 de mayo de 2026, &lt;code&gt;warpdotdev/warp&lt;/code&gt; es un repositorio publico. GitHub muestra alrededor de 56k stars y 4.1k forks. El README dice que el codigo del cliente Warp ahora es open source y da la bienvenida a contribuciones de la comunidad.&lt;/p&gt;
&lt;p&gt;El lenguaje principal es Rust. El desglose de lenguajes de GitHub muestra Rust por encima del 98%, lo que encaja con el posicionamiento de Warp: no es un wrapper web, sino una herramienta de desarrollo nativa y multiplataforma.&lt;/p&gt;
&lt;p&gt;Varios detalles del README importan:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Warp es un entorno de desarrollo agentico, nacido del terminal.&lt;/li&gt;
&lt;li&gt;Puede usar su agente de programacion integrado y tambien conectar con agentes CLI externos como Claude Code, Codex y Gemini CLI.&lt;/li&gt;
&lt;li&gt;OpenAI es el patrocinador fundador del repositorio Warp recien abierto.&lt;/li&gt;
&lt;li&gt;Los flujos de gestion agentica del repositorio estan impulsados por modelos GPT.&lt;/li&gt;
&lt;li&gt;Los crates del framework de UI de Warp usan licencia MIT, mientras que el resto del codigo usa AGPL v3.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto muestra que el movimiento open source de Warp no consiste solo en publicar un terminal. Esta operando el proyecto como un campo de pruebas para flujos de trabajo con agentes.&lt;/p&gt;
&lt;h2 id=&#34;warp-es-mas-que-un-terminal&#34;&gt;Warp es mas que un terminal
&lt;/h2&gt;&lt;p&gt;Los terminales tradicionales hacen principalmente tres cosas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;iniciar una shell;&lt;/li&gt;
&lt;li&gt;ejecutar comandos;&lt;/li&gt;
&lt;li&gt;mostrar salida.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La diferenciacion inicial de Warp era hacer que el terminal se sintiera mas moderno: bloques de comandos, autocompletado, historial, colaboracion, interacciones con estilo de UI y pulido multiplataforma. Ahora el foco se ha desplazado mas hacia organizar el desarrollo alrededor de agentes de IA.&lt;/p&gt;
&lt;p&gt;Segun el README, Warp ya no enfatiza solo &amp;ldquo;un mejor terminal&amp;rdquo;. Enfatiza:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;agentes de programacion integrados;&lt;/li&gt;
&lt;li&gt;soporte para agentes CLI externos;&lt;/li&gt;
&lt;li&gt;triage de issues;&lt;/li&gt;
&lt;li&gt;escritura de especificaciones;&lt;/li&gt;
&lt;li&gt;revision de PR;&lt;/li&gt;
&lt;li&gt;coordinacion de contribuidores;&lt;/li&gt;
&lt;li&gt;sesiones de agentes observables.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En otras palabras, Warp quiere convertir el terminal de &amp;ldquo;donde escribes comandos&amp;rdquo; en &amp;ldquo;donde trabajas con multiples agentes&amp;rdquo;.&lt;/p&gt;
&lt;h2 id=&#34;oz-y-gestion-de-proyectos-open-source&#34;&gt;Oz y gestion de proyectos open source
&lt;/h2&gt;&lt;p&gt;El README menciona &lt;code&gt;Oz&lt;/code&gt; varias veces.&lt;/p&gt;
&lt;p&gt;La vista de contribucion de Warp muestra miles de agentes Oz trabajando en triage de issues, especificaciones, implementacion y revision de PR. Esto es interesante porque extiende los agentes de IA desde &amp;ldquo;ayudar a una persona a escribir codigo&amp;rdquo; hasta &amp;ldquo;ayudar a gestionar colaboracion open source&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;La parte mas dificil de muchos proyectos open source no es escribir codigo, sino mantener:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;demasiados issues y poca clasificacion;&lt;/li&gt;
&lt;li&gt;bugs y feature requests mezclados;&lt;/li&gt;
&lt;li&gt;nuevos contribuidores sin saber que tareas son abordables;&lt;/li&gt;
&lt;li&gt;presion de revision de PR;&lt;/li&gt;
&lt;li&gt;maintainers intentando seguir cada hilo de comunidad.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La idea de Warp es dejar que los agentes asuman primero parte del trabajo de gestion de proyecto y colaboracion. El README tambien menciona &lt;code&gt;Oz for OSS&lt;/code&gt;, un programa orientado a maintainers para llevar flujos similares de gestion open source agentica a otros repositorios.&lt;/p&gt;
&lt;p&gt;Esto sugiere que la ambicion de Warp no es solo el producto terminal, sino tambien un nuevo modelo de mantenimiento open source en la era de la IA.&lt;/p&gt;
&lt;h2 id=&#34;estructura-del-repositorio-y-stack-tecnico&#34;&gt;Estructura del repositorio y stack tecnico
&lt;/h2&gt;&lt;p&gt;Por la estructura del repositorio, Warp es un proyecto Rust grande.&lt;/p&gt;
&lt;p&gt;La raiz contiene:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;app/&lt;/code&gt;: codigo principal de la aplicacion.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;crates/&lt;/code&gt;: crates Rust centrales.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;assets/&lt;/code&gt;: archivos de recursos.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;command-signatures-v2/&lt;/code&gt;: contenido relacionado con firmas de comandos.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;docker/&lt;/code&gt;, &lt;code&gt;script/&lt;/code&gt;, &lt;code&gt;resources/&lt;/code&gt;, &lt;code&gt;specs/&lt;/code&gt; y otros directorios de ingenieria.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;.claude/&lt;/code&gt;, &lt;code&gt;.warp/&lt;/code&gt;, &lt;code&gt;.agents/skills&lt;/code&gt; y otras configuraciones relacionadas con agentes.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;WARP.md&lt;/code&gt; aporta mas detalle de ingenieria. Describe Warp como un emulador de terminal basado en Rust que usa un framework de UI interno llamado &lt;code&gt;WarpUI&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Los modulos principales pueden entenderse aproximadamente asi:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;app/&lt;/code&gt;: emulacion de terminal, gestion de shell, integracion de IA, Drive, autenticacion, ajustes, workspace y sesiones.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;crates/warp_core/&lt;/code&gt;: utilidades centrales y abstraccion de plataforma.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;crates/editor/&lt;/code&gt;: funcionalidad de edicion de texto.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;crates/warpui/&lt;/code&gt; y &lt;code&gt;crates/warpui_core/&lt;/code&gt;: framework de UI interno.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;crates/ipc/&lt;/code&gt;: comunicacion entre procesos.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;crates/graphql/&lt;/code&gt;: cliente GraphQL y esquema.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;WARP.md&lt;/code&gt; tambien menciona rasgos arquitectonicos como:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;un sistema Entity-Handle;&lt;/li&gt;
&lt;li&gt;una estructura modular de workspace;&lt;/li&gt;
&lt;li&gt;targets para macOS, Windows, Linux y WASM;&lt;/li&gt;
&lt;li&gt;integracion de IA, incluyendo Agent Mode, conciencia de contexto e indexacion de codebase;&lt;/li&gt;
&lt;li&gt;sincronizacion cloud Warp Drive.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esta complejidad esta mas cerca de un IDE completo que de un terminal tradicional ligero.&lt;/p&gt;
&lt;h2 id=&#34;comandos-de-build-local&#34;&gt;Comandos de build local
&lt;/h2&gt;&lt;p&gt;El README da un flujo local conciso:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./script/bootstrap
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./script/run
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./script/presubmit
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Donde:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;./script/bootstrap&lt;/code&gt; realiza la inicializacion especifica de la plataforma.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;./script/run&lt;/code&gt; compila y ejecuta Warp.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;./script/presubmit&lt;/code&gt; ejecuta formato, clippy, tests y otras comprobaciones previas al envio.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;WARP.md&lt;/code&gt; tambien lista comandos mas detallados:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cargo run
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cargo bundle --bin warp
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cargo nextest run --no-fail-fast --workspace --exclude command-signatures-v2
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cargo fmt
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cargo clippy --workspace --all-targets --all-features --tests -- -D warnings
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si quieres contribuir a Warp, &lt;code&gt;./script/presubmit&lt;/code&gt; es practicamente obligatorio.&lt;/p&gt;
&lt;h2 id=&#34;flujo-de-contribucion&#34;&gt;Flujo de contribucion
&lt;/h2&gt;&lt;p&gt;El flujo de contribucion de Warp no es simplemente &amp;ldquo;abre un PR&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;El README describe un proceso ligero desde issue hasta PR:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Buscar primero issues existentes.&lt;/li&gt;
&lt;li&gt;Si no hay duplicado, abrir un bug o feature request.&lt;/li&gt;
&lt;li&gt;Los maintainers revisan el issue y pueden anadir etiquetas de preparacion.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ready-to-spec&lt;/code&gt; significa que el diseno puede expandirse en una especificacion.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ready-to-implement&lt;/code&gt; significa que el diseno esta lo bastante claro para empezar un PR de implementacion.&lt;/li&gt;
&lt;li&gt;Los contribuidores pueden tomar issues etiquetados.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Este proceso encaja con un proyecto open source grande. Separa ideas, diseno e implementacion, reduciendo el riesgo de que los contribuidores pasen tiempo construyendo en una direccion equivocada.&lt;/p&gt;
&lt;p&gt;Tambien encaja bien con agentes de IA. Un agente puede organizar issues, redactar specs, anadir tests y luego pasar a implementacion. Warp usa este patron para demostrar gestion de proyecto agentica.&lt;/p&gt;
&lt;h2 id=&#34;licencia-mit--agpl-v3&#34;&gt;Licencia: MIT + AGPL v3
&lt;/h2&gt;&lt;p&gt;Warp usa una estructura de doble licencia.&lt;/p&gt;
&lt;p&gt;El README dice:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;el framework de UI de Warp, concretamente los crates &lt;code&gt;warpui_core&lt;/code&gt; y &lt;code&gt;warpui&lt;/code&gt;, usa licencia MIT;&lt;/li&gt;
&lt;li&gt;el resto del repositorio usa AGPL v3.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto importa. AGPL v3 tiene requisitos open source mas fuertes para servicios de red y distribucion. Si estas aprendiendo, investigando o contribuyendo, normalmente es sencillo. Pero si quieres usar codigo de Warp en un producto comercial o en un derivado closed-source, debes leer la licencia con cuidado y consultar asesoria legal si hace falta.&lt;/p&gt;
&lt;p&gt;En resumen, Warp es open source, pero no es open source de &amp;ldquo;tomalo y cierralo libremente&amp;rdquo;.&lt;/p&gt;
&lt;h2 id=&#34;por-que-merece-atencion&#34;&gt;Por que merece atencion
&lt;/h2&gt;&lt;p&gt;Primero, Warp une terminal, agentes y gestion de proyecto.&lt;/p&gt;
&lt;p&gt;Muchas herramientas de programacion con IA siguen siendo CLI o plugins de editor. Warp parte del punto de entrada del terminal e intenta unificar tareas de agentes, ejecucion de codigo, salida de comandos, flujos de PR y colaboracion de equipo.&lt;/p&gt;
&lt;p&gt;Segundo, el enfoque open source de Warp es un buen lugar para observar flujos con agentes.&lt;/p&gt;
&lt;p&gt;No solo publica codigo. Tambien expone vistas de contribucion, sesiones de agentes, triage de issues y flujos de especificacion. Para cualquiera que estudie como la IA puede participar en colaboracion open source, el propio repositorio es una muestra.&lt;/p&gt;
&lt;p&gt;Tercero, Warp es una aplicacion de escritorio Rust compleja.&lt;/p&gt;
&lt;p&gt;Si quieres estudiar GUI en Rust, emulacion de terminal, apps multiplataforma, clientes GraphQL, sincronizacion cloud e integracion de IA, el repositorio tiene mucho que leer. Pero no es un proyecto pequeno, asi que los nuevos contribuidores deberian leer primero la documentacion y el proceso de issues.&lt;/p&gt;
&lt;p&gt;Cuarto, Warp soporta tanto un agente integrado como un enfoque &amp;ldquo;trae tu propio agente CLI&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Esto es realista. Los desarrolladores no usaran un solo agente. Claude Code, Codex, Gemini CLI, OpenCode, OpenClaw y herramientas similares probablemente coexistiran. Si Warp puede convertirse en un banco de trabajo para ellos, se vuelve mas valioso que un terminal de proposito unico.&lt;/p&gt;
&lt;h2 id=&#34;a-quien-deberia-importarle&#34;&gt;A quien deberia importarle
&lt;/h2&gt;&lt;p&gt;Si eres un usuario normal de terminal, Warp importa porque el terminal puede estar cambiando de herramienta de linea de comandos a banco de trabajo con IA.&lt;/p&gt;
&lt;p&gt;Si eres usuario intensivo de agentes de programacion con IA, Warp merece seguimiento porque intenta gestionar multiples agentes en vez de actuar como otro punto de entrada de chat.&lt;/p&gt;
&lt;p&gt;Si mantienes proyectos open source, la direccion de Oz for OSS merece atencion. Explora triage de issues con agentes, revision de PR, colaboracion comunitaria e incorporacion de contribuidores.&lt;/p&gt;
&lt;p&gt;Si eres desarrollador Rust, Warp es una aplicacion de escritorio real y de gran escala que merece estudiarse por organizacion de UI, internals de terminal, sincronizacion cloud, integracion de IA y codigo multiplataforma.&lt;/p&gt;
&lt;p&gt;Si solo quieres un terminal que pueda reemplazar al actual de inmediato, es mejor descargar primero la version estable y despues decidir si estudiar el codigo fuente. Compilar desde codigo es mas adecuado para contribuidores y usuarios profundos.&lt;/p&gt;
&lt;h2 id=&#34;lectura-breve&#34;&gt;Lectura breve
&lt;/h2&gt;&lt;p&gt;El punto de que Warp se vuelva open source no es simplemente &amp;ldquo;un terminal moderno se hizo open source&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Mas precisamente, Warp intenta actualizar el terminal hasta convertirlo en un entorno de desarrollo agentico: el terminal conecta shell, codebase, ejecucion de comandos, agentes, issues, PRs y flujo de colaboracion.&lt;/p&gt;
&lt;p&gt;A medida que los agentes de programacion con IA sigan creciendo, el punto de entrada del entorno de desarrollo puede cambiar. Antes, el IDE dominaba la experiencia del desarrollador mientras el terminal ejecutaba comandos. Ahora el terminal puede convertirse en el centro de colaboracion con agentes. El repositorio de Warp explora esa posibilidad.&lt;/p&gt;
&lt;h2 id=&#34;enlaces-relacionados&#34;&gt;Enlaces relacionados
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;GitHub repository: &lt;a class=&#34;link&#34; href=&#34;https://github.com/warpdotdev/warp&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/warpdotdev/warp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Warp website: &lt;a class=&#34;link&#34; href=&#34;https://www.warp.dev&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://www.warp.dev&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Warp documentation: &lt;a class=&#34;link&#34; href=&#34;https://docs.warp.dev&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://docs.warp.dev&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Warp build overview: &lt;a class=&#34;link&#34; href=&#34;https://build.warp.dev&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://build.warp.dev&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;WARP.md: &lt;a class=&#34;link&#34; href=&#34;https://github.com/warpdotdev/warp/blob/master/WARP.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/warpdotdev/warp/blob/master/WARP.md&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;CONTRIBUTING.md: &lt;a class=&#34;link&#34; href=&#34;https://github.com/warpdotdev/warp/blob/master/CONTRIBUTING.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/warpdotdev/warp/blob/master/CONTRIBUTING.md&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Hermes &#43; Qwen3.6: una solucion barata para desplegar un Agent local</title>
        <link>https://knightli.com/es/2026/05/04/hermes-qwen36-local-agent/</link>
        <pubDate>Mon, 04 May 2026 06:40:30 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/04/hermes-qwen36-local-agent/</guid>
        <description>&lt;p&gt;La idea es ejecutar el modelo Qwen3.6 GGUF con &lt;code&gt;llama.cpp&lt;/code&gt; dentro de WSL2 y conectar Hermes Agent a una API local compatible con OpenAI. Asi puedes tener un asistente de IA local siempre disponible en tu propio ordenador, sin depender de cuotas de tokens de servicios online.&lt;/p&gt;
&lt;p&gt;Esta solucion encaja con usuarios que quieren probar un AI Agent local y, al mismo tiempo, conservar privacidad de datos y control a largo plazo. Puede servir para preguntas diarias, escritura, ayuda con codigo, organizacion de informacion y automatizacion simple. Hay que tener en cuenta que cuanto mayor sea el modelo, mas VRAM necesitara; el ejemplo original usa Qwen3.6-27B y va mas estable con 24GB de VRAM. Si tienes menos VRAM, conviene elegir un modelo mas pequeno o una cuantizacion mas baja.&lt;/p&gt;
&lt;h2 id=&#34;estructura-de-la-solucion&#34;&gt;Estructura de la solucion
&lt;/h2&gt;&lt;p&gt;La cadena completa es sencilla:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Instalar WSL2 y Ubuntu 24.04 en Windows.&lt;/li&gt;
&lt;li&gt;Instalar CUDA Toolkit y compilar &lt;code&gt;llama.cpp&lt;/code&gt; dentro de WSL2.&lt;/li&gt;
&lt;li&gt;Descargar el modelo Qwen3.6 GGUF.&lt;/li&gt;
&lt;li&gt;Iniciar el servicio local con &lt;code&gt;llama-server&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Instalar Hermes Agent y configurarlo hacia &lt;code&gt;http://localhost:8080/v1&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Opcional: escribir un script de inicio para arrancar el servicio del modelo al abrir WSL2.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Hermes aporta la capacidad de Agent, y Qwen3.6 aporta el LLM local. Combinados, convierten el ordenador en un asistente de IA local y privado.&lt;/p&gt;
&lt;h2 id=&#34;instalar-wsl2-y-ubuntu&#34;&gt;Instalar WSL2 y Ubuntu
&lt;/h2&gt;&lt;p&gt;En una ventana de Windows PowerShell como administrador:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;wsl&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;-install&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;wsl&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;-set-default-version&lt;/span&gt; &lt;span class=&#34;mf&#34;&gt;2&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Despues de reiniciar, instala Ubuntu 24.04:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;wsl&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;-install&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-d&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Ubuntu&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;mf&#34;&gt;24.04&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Al terminar, Ubuntu pedira usuario y contrasena. Ya dentro de Ubuntu, comprueba primero si la GPU NVIDIA se reconoce correctamente en WSL2:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nvidia-smi
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si no se reconoce la GPU, normalmente hay que actualizar primero el driver NVIDIA en Windows. WSL2 hereda el driver de Windows, pero CUDA Toolkit debe instalarse por separado dentro de WSL2.&lt;/p&gt;
&lt;h2 id=&#34;instalar-python-y-herramientas-basicas&#34;&gt;Instalar Python y herramientas basicas
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt update &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; sudo apt install -y python3-pip python3-venv
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Tambien hacen falta herramientas de compilacion, Git y CMake:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install -y cmake build-essential git
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;compilar-llamacpp&#34;&gt;Compilar llama.cpp
&lt;/h2&gt;&lt;p&gt;Clona primero el codigo:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/ggerganov/llama.cpp
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; llama.cpp
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si WSL2 ya tiene un entorno CUDA utilizable, compila directamente:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cmake -B build -DGGML_CUDA&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;ON -DCMAKE_CUDA_ARCHITECTURES&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;89&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cmake --build build -j&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;nproc&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;CMAKE_CUDA_ARCHITECTURES=89&lt;/code&gt; es adecuado para GPU Ada, por ejemplo la serie RTX 40. En otras tarjetas debes ajustarlo segun la arquitectura real.&lt;/p&gt;
&lt;p&gt;Si al compilar aparece que falta CUDA Toolkit, instalalo primero dentro de WSL2:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo dpkg -i cuda-keyring_1.1-1_all.deb
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt update
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install -y cuda-toolkit-12-8
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Despues configura variables de entorno:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;PATH&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;/usr/local/cuda-12.8/bin:&lt;span class=&#34;nv&#34;&gt;$PATH&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;LD_LIBRARY_PATH&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;/usr/local/cuda-12.8/lib64:&lt;span class=&#34;nv&#34;&gt;$LD_LIBRARY_PATH&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;export PATH=/usr/local/cuda-12.8/bin:$PATH&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; ~/.bashrc
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;export LD_LIBRARY_PATH=/usr/local/cuda-12.8/lib64:$LD_LIBRARY_PATH&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; ~/.bashrc
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Y compila de nuevo:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; ~/llama.cpp
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rm -rf build
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cmake -B build -DGGML_CUDA&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;ON -DCMAKE_CUDA_ARCHITECTURES&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;89&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cmake --build build -j&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;nproc&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;descargar-el-modelo-qwen36-gguf&#34;&gt;Descargar el modelo Qwen3.6 GGUF
&lt;/h2&gt;&lt;p&gt;El ejemplo original usa &lt;code&gt;Qwen3.6-27B-UD-Q4_K_XL.gguf&lt;/code&gt; de &lt;code&gt;unsloth/Qwen3.6-27B-GGUF&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hf download unsloth/Qwen3.6-27B-GGUF &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Qwen3.6-27B-UD-Q4_K_XL.gguf &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--local-dir ~/models/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;El archivo ronda los 17GB. Si Hugging Face descarga lento, puedes cambiar a espejos como ModelScope. Si no tienes suficiente VRAM, no fuerces 27B; usa un modelo mas pequeno o una cuantizacion mas baja.&lt;/p&gt;
&lt;h2 id=&#34;iniciar-el-servicio-local-del-modelo&#34;&gt;Iniciar el servicio local del modelo
&lt;/h2&gt;&lt;p&gt;Arranca &lt;code&gt;llama-server&lt;/code&gt; segun el nombre real de tu archivo de modelo:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;~/llama.cpp/build/bin/llama-server &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--model ~/models/Qwen3.6-27B-UD-Q4_K_XL.gguf &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--n-gpu-layers &lt;span class=&#34;m&#34;&gt;99&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--ctx-size &lt;span class=&#34;m&#34;&gt;32768&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--flash-attn on &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--temp 1.0 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--top-p 0.95 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--top-k &lt;span class=&#34;m&#34;&gt;20&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--presence-penalty 1.5 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--port &lt;span class=&#34;m&#34;&gt;8080&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Tras iniciar correctamente, abre en el navegador de Windows:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;http://localhost:8080
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Para que Hermes Agent u otros clientes compatibles con OpenAI lo llamen, la direccion de API suele ser:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;http://localhost:8080/v1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;elegir-thinking-mode&#34;&gt;Elegir Thinking mode
&lt;/h2&gt;&lt;p&gt;Qwen3.6 puede activar Thinking mode por defecto. Es util para razonamiento complejo, problemas de codigo complicados y analisis de varios pasos, pero sera mas lento.&lt;/p&gt;
&lt;p&gt;Si quieres desactivarlo, detén el servicio y agrega &lt;code&gt;--chat-template-kwargs&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;~/llama.cpp/build/bin/llama-server &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--model ~/models/Qwen3.6-27B-UD-Q4_K_XL.gguf &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--n-gpu-layers &lt;span class=&#34;m&#34;&gt;99&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--ctx-size &lt;span class=&#34;m&#34;&gt;32768&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--flash-attn on &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--temp 1.0 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--top-p 0.95 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--top-k &lt;span class=&#34;m&#34;&gt;20&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--presence-penalty 1.5 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--chat-template-kwargs &lt;span class=&#34;s1&#34;&gt;&amp;#39;{&amp;#34;enable_thinking&amp;#34;:false}&amp;#39;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--port &lt;span class=&#34;m&#34;&gt;8080&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Sin Thinking, las preguntas simples, escritura, autocompletado de codigo y explicacion de codigo iran mas rapido; para algoritmos complejos, Debug dificil y analisis de arquitectura, sigue siendo recomendable activarlo.&lt;/p&gt;
&lt;h2 id=&#34;instalar-hermes-agent&#34;&gt;Instalar Hermes Agent
&lt;/h2&gt;&lt;p&gt;Mantén &lt;code&gt;llama-server&lt;/code&gt; en ejecucion y abre otra terminal WSL2 para instalar Hermes Agent:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; bash
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;El script instala dependencias como Python, Node.js, ripgrep y ffmpeg. Al configurar el endpoint del modelo, elige endpoint personalizado:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;URL: http://localhost:8080/v1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;API Key: 12345678
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Model: autodetect
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Para el &lt;code&gt;llama-server&lt;/code&gt; local, la API Key puede ser cualquier valor de relleno. Tras configurarlo, puedes conectar Telegram, WeChat, QQ, Discord y otros canales para que Hermes Agent use el modelo local y ejecute tareas.&lt;/p&gt;
&lt;h2 id=&#34;arrancar-automaticamente-el-servicio-del-modelo&#34;&gt;Arrancar automaticamente el servicio del modelo
&lt;/h2&gt;&lt;p&gt;Puedes escribir un script para iniciar el servicio al abrir la terminal WSL2.&lt;/p&gt;
&lt;p&gt;Crea el script:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cat &amp;gt; ~/start-llm.sh &lt;span class=&#34;s&#34;&gt;&amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;echo &amp;#34;Starting Qwen3.6-27B llama-server...&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;~/llama.cpp/build/bin/llama-server \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;--model ~/models/Qwen3.6-27B-UD-Q4_K_XL.gguf \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;--n-gpu-layers 99 \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;--ctx-size 65536 \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;--flash-attn on \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;--temp 1.0 \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;--top-p 0.95 \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;--top-k 20 \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;--presence-penalty 1.5 \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;--port 8080 \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;--host 0.0.0.0 &amp;amp;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;echo &amp;#34;llama-server started, PID: $!&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;echo &amp;#34;API: http://localhost:8080/v1&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;echo &amp;#34;Chat UI: http://localhost:8080&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s&#34;&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;chmod +x ~/start-llm.sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Escribe en &lt;code&gt;.bashrc&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;# Auto-start llama-server&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; ~/.bashrc
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;if ! pgrep -f &amp;#34;llama-server&amp;#34; &amp;gt; /dev/null 2&amp;gt;&amp;amp;1; then&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; ~/.bashrc
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;    ~/start-llm.sh&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; ~/.bashrc
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;fi&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; ~/.bashrc
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Asi, cada vez que abras WSL2, si &lt;code&gt;llama-server&lt;/code&gt; no esta en ejecucion se iniciara automaticamente; si ya esta corriendo, se omitira para evitar duplicados.&lt;/p&gt;
&lt;h2 id=&#34;notas&#34;&gt;Notas
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;El modelo 27B exige bastante VRAM; 24GB va mas estable. Con menos VRAM, usa un modelo mas pequeno.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--ctx-size 65536&lt;/code&gt; aumenta mucho la presion de VRAM y RAM. Si no es estable, baja primero a &lt;code&gt;32768&lt;/code&gt; o menos.&lt;/li&gt;
&lt;li&gt;CUDA Toolkit dentro de WSL2 y el driver de Windows deben estar correctos; si falta uno, la compilacion o ejecucion CUDA puede fallar.&lt;/li&gt;
&lt;li&gt;Cuando Hermes Agent se conecta al servicio local, en esencia llama a una API compatible con OpenAI. Lo clave es que &lt;code&gt;http://localhost:8080/v1&lt;/code&gt; responda bien.&lt;/li&gt;
&lt;li&gt;Si quieres acceder desde el telefono u otros dispositivos, debes configurar firewall de Windows, direccion LAN y aislamiento de seguridad. No expongas el servicio local directamente a Internet.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;enlaces-relacionados&#34;&gt;Enlaces relacionados
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Original: &lt;a class=&#34;link&#34; href=&#34;https://www.freedidi.com/24036.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Hermes + Qwen3.6：本地最强 Agent 组合！零成本、无限 Token，太香了！&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;llama.cpp: &lt;a class=&#34;link&#34; href=&#34;https://github.com/ggerganov/llama.cpp&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ggerganov/llama.cpp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Hermes Agent: &lt;a class=&#34;link&#34; href=&#34;https://github.com/NousResearch/hermes-agent&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NousResearch/hermes-agent&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ejemplo Qwen3.6 GGUF: &lt;a class=&#34;link&#34; href=&#34;https://huggingface.co/unsloth/Qwen3.6-27B-GGUF&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;unsloth/Qwen3.6-27B-GGUF&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Cómo usar DeepSeek V4 Pro en Cline</title>
        <link>https://knightli.com/es/2026/05/01/use-deepseek-v4-pro-in-cline/</link>
        <pubDate>Fri, 01 May 2026 20:59:06 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/01/use-deepseek-v4-pro-in-cline/</guid>
        <description>&lt;p&gt;Cline ya admite el proveedor OpenAI Compatible. La API de DeepSeek también es compatible con llamadas al estilo del SDK de OpenAI, así que conectar &lt;code&gt;deepseek-v4-pro&lt;/code&gt; a Cline no es complicado: elige OpenAI Compatible y completa la Base URL de DeepSeek, la API Key y el nombre del modelo.&lt;/p&gt;
&lt;p&gt;Los pasos siguientes cubren tanto la interfaz de la extensión para VS Code como Cline CLI.&lt;/p&gt;
&lt;h2 id=&#34;preparar-una-api-key-de-deepseek&#34;&gt;Preparar una API Key de DeepSeek
&lt;/h2&gt;&lt;p&gt;Primero, crea una API Key en la plataforma de DeepSeek.&lt;/p&gt;
&lt;p&gt;Necesitas tres valores:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Elemento&lt;/th&gt;
          &lt;th&gt;Valor&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Provider&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;OpenAI Compatible&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Base URL&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;https://api.deepseek.com&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Model ID&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;deepseek-v4-pro&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;La documentación oficial de DeepSeek indica que la serie V4 usa la interfaz existente compatible con OpenAI. Mantén &lt;code&gt;base_url&lt;/code&gt; como &lt;code&gt;https://api.deepseek.com&lt;/code&gt; y establece &lt;code&gt;model&lt;/code&gt; en &lt;code&gt;deepseek-v4-pro&lt;/code&gt; o &lt;code&gt;deepseek-v4-flash&lt;/code&gt; al llamarlo.&lt;/p&gt;
&lt;h2 id=&#34;configurarlo-en-la-extensión-de-cline&#34;&gt;Configurarlo en la extensión de Cline
&lt;/h2&gt;&lt;p&gt;Si usas la extensión de Cline en VS Code, configúrala así:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Abre Cline desde la barra lateral de VS Code.&lt;/li&gt;
&lt;li&gt;Entra en la configuración de Cline o en la configuración de modelos.&lt;/li&gt;
&lt;li&gt;Selecciona &lt;code&gt;OpenAI Compatible&lt;/code&gt; como proveedor.&lt;/li&gt;
&lt;li&gt;Introduce tu API Key de DeepSeek.&lt;/li&gt;
&lt;li&gt;Configura Base URL como:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;https://api.deepseek.com
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ol start=&#34;6&#34;&gt;
&lt;li&gt;Configura Model ID como:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deepseek-v4-pro
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ol start=&#34;7&#34;&gt;
&lt;li&gt;Guarda la configuración y ejecuta una prueba sencilla en Cline.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Empieza con una tarea de solo lectura y bajo riesgo:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Please read the current project directory structure and summarize what type of project this is. Do not modify any files.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si Cline puede leer y responder con normalidad, la conexión del modelo funciona.&lt;/p&gt;
&lt;h2 id=&#34;configurarlo-en-cline-cli&#34;&gt;Configurarlo en Cline CLI
&lt;/h2&gt;&lt;p&gt;Si usas Cline CLI, ejecuta &lt;code&gt;cline provider configure openai-compatible&lt;/code&gt; para entrar en la configuración interactiva.&lt;/p&gt;
&lt;p&gt;Ejemplo:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cline provider configure openai-compatible
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Completa:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;API Key: sk-...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Base URL: https://api.deepseek.com
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Model ID: deepseek-v4-pro
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Después de configurarlo, prueba con una tarea de solo lectura:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cline &lt;span class=&#34;s2&#34;&gt;&amp;#34;Summarize this repository structure without changing files.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si quieres reducir el coste al principio, puedes cambiar temporalmente Model ID a:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deepseek-v4-flash
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Luego vuelve a &lt;code&gt;deepseek-v4-pro&lt;/code&gt; para planificación compleja, verificación de hechos, colaboración con varias herramientas o cambios de código de alto riesgo.&lt;/p&gt;
&lt;h2 id=&#34;división-de-modelos-recomendada&#34;&gt;División de modelos recomendada
&lt;/h2&gt;&lt;p&gt;DeepSeek V4 Pro y Flash funcionan mejor con una separación clara.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Modelo&lt;/th&gt;
          &lt;th&gt;Mejor para&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;deepseek-v4-flash&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Lectura rutinaria de código, pequeños arreglos por lotes, generación de scripts, resúmenes de contexto, cambios frontend de bajo riesgo&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;deepseek-v4-pro&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Planificación de arquitectura, bugs complejos, refactors entre archivos, verificación de hechos, llamadas multi-herramienta, cambios de alto riesgo&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;En herramientas de Agent como Cline, el coste suele venir del contexto largo, lecturas repetidas de archivos, generación de planes y llamadas de herramientas en varias rondas. Si la tarea es ligera, usa Flash para volumen; si necesita mejor juicio, cambia a Pro.&lt;/p&gt;
&lt;h2 id=&#34;cómo-configurar-la-longitud-de-contexto&#34;&gt;Cómo configurar la longitud de contexto
&lt;/h2&gt;&lt;p&gt;DeepSeek V4 Pro y Flash admiten contexto largo. Si Cline exige un valor manual de ventana de contexto, puedes interpretarlo según el contexto de 1M indicado en la página oficial de modelos de DeepSeek.&lt;/p&gt;
&lt;p&gt;En la práctica, no conviene meter todos los archivos en contexto desde el inicio. Cline lee archivos según la tarea, y un flujo mejor suele ser:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;primero pedirle que inspeccione la estructura del directorio;&lt;/li&gt;
&lt;li&gt;luego pedirle que localice los archivos relevantes;&lt;/li&gt;
&lt;li&gt;finalmente dejar que modifique solo los archivos objetivo.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto ahorra tokens y mantiene más claro el límite de la tarea.&lt;/p&gt;
&lt;h2 id=&#34;problemas-comunes&#34;&gt;Problemas comunes
&lt;/h2&gt;&lt;h3 id=&#34;1-modelo-no-encontrado&#34;&gt;1. Modelo no encontrado
&lt;/h3&gt;&lt;p&gt;Primero comprueba que Model ID sea exactamente:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;deepseek-v4-pro
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;No escribas &lt;code&gt;DeepSeek V4 Pro&lt;/code&gt;, &lt;code&gt;deepseek-v4&lt;/code&gt; ni otro nombre mostrado.&lt;/p&gt;
&lt;h3 id=&#34;2-401-o-fallo-de-autenticación&#34;&gt;2. 401 o fallo de autenticación
&lt;/h3&gt;&lt;p&gt;Comprueba la API Key:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;si se copió completa;&lt;/li&gt;
&lt;li&gt;si contiene espacios adicionales;&lt;/li&gt;
&lt;li&gt;si se introdujo en la configuración de proveedor que Cline está usando;&lt;/li&gt;
&lt;li&gt;si la cuenta de DeepSeek tiene saldo disponible.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;3-fallo-de-conexión&#34;&gt;3. Fallo de conexión
&lt;/h3&gt;&lt;p&gt;Comprueba la Base URL:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;https://api.deepseek.com
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;No añadas &lt;code&gt;/v1/chat/completions&lt;/code&gt; al final. El proveedor OpenAI Compatible de Cline construirá por sí mismo las solicitudes de la interfaz compatible.&lt;/p&gt;
&lt;h3 id=&#34;4-las-llamadas-de-cline-son-demasiado-caras&#34;&gt;4. Las llamadas de Cline son demasiado caras
&lt;/h3&gt;&lt;p&gt;Puedes pasar las tareas rutinarias a &lt;code&gt;deepseek-v4-flash&lt;/code&gt; y usar &lt;code&gt;deepseek-v4-pro&lt;/code&gt; solo para tareas complejas.&lt;/p&gt;
&lt;p&gt;Además, haz que la descripción de la tarea sea lo más clara posible:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Only modify files related to the login page. Do not refactor unrelated modules. First provide a plan, and modify code only after confirmation.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Las tareas de Agent son más caras cuando los límites son poco claros. Cuanto más claro sea el límite, menos archivos leerá, menos llamadas de herramienta hará y más controlable será el coste.&lt;/p&gt;
&lt;h3 id=&#34;5-error-reasoning_content-must-be-passed-back&#34;&gt;5. Error: reasoning_content must be passed back
&lt;/h3&gt;&lt;p&gt;Si ves un error como este:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;#34;message&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;400 The `reasoning_content` in the thinking mode must be passed back to the API.&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;#34;code&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;invalid_request_error&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;#34;modelId&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;deepseek-v4-pro&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Normalmente no es un problema de Key, cuota o Base URL. Significa que el modo de pensamiento de DeepSeek V4 Pro y el historial multi-ronda de llamadas de herramientas del cliente actual no están alineados.&lt;/p&gt;
&lt;p&gt;La documentación oficial de DeepSeek indica:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;el modo de pensamiento está &lt;code&gt;enabled&lt;/code&gt; por defecto;&lt;/li&gt;
&lt;li&gt;el modo de pensamiento devuelve &lt;code&gt;reasoning_content&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;si ocurre una llamada de herramienta en una ronda, las solicitudes posteriores deben devolver el &lt;code&gt;reasoning_content&lt;/code&gt; de ese mensaje del asistente;&lt;/li&gt;
&lt;li&gt;si el cliente no lo devuelve correctamente, la API devuelve 400.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Cuando Cline se conecta mediante el proveedor OpenAI Compatible, este error puede aparecer en la segunda ronda o después de llamadas de herramienta si la versión actual no conserva y reenvía por completo el &lt;code&gt;reasoning_content&lt;/code&gt; de DeepSeek.&lt;/p&gt;
&lt;p&gt;Prueba en este orden:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Actualiza Cline a la versión más reciente;&lt;/li&gt;
&lt;li&gt;confirma que estás usando &lt;code&gt;OpenAI Compatible&lt;/code&gt;, no el proveedor normal &lt;code&gt;OpenAI&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;si Cline admite cuerpo de solicitud personalizado, intenta desactivar el modo de pensamiento:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nt&#34;&gt;&amp;#34;thinking&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nt&#34;&gt;&amp;#34;type&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;disabled&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ol start=&#34;4&#34;&gt;
&lt;li&gt;si Cline no admite parámetros extra en el body, usa temporalmente otro modelo o un servicio proxy compatible;&lt;/li&gt;
&lt;li&gt;vuelve a &lt;code&gt;deepseek-v4-pro&lt;/code&gt; cuando Cline admita reenviar &lt;code&gt;reasoning_content&lt;/code&gt; de DeepSeek V4.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Ten en cuenta que desactivar el modo de pensamiento puede reducir la capacidad de razonamiento complejo, pero puede esquivar problemas de compatibilidad del cliente cuando &lt;code&gt;reasoning_content&lt;/code&gt; no se devuelve.&lt;/p&gt;
&lt;h2 id=&#34;configuración-copiable&#34;&gt;Configuración copiable
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Provider: OpenAI Compatible
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;API Key: sk-your DeepSeek API Key
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Base URL: https://api.deepseek.com
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Model ID: deepseek-v4-pro
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Para modo de bajo coste:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Provider: OpenAI Compatible
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;API Key: sk-your DeepSeek API Key
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Base URL: https://api.deepseek.com
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Model ID: deepseek-v4-flash
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;Solo hay tres pasos clave para llamar a DeepSeek V4 Pro en Cline:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;elegir &lt;code&gt;OpenAI Compatible&lt;/code&gt; como proveedor;&lt;/li&gt;
&lt;li&gt;establecer Base URL en &lt;code&gt;https://api.deepseek.com&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;establecer Model ID en &lt;code&gt;deepseek-v4-pro&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Después de configurarlo, prueba con una tarea de solo lectura antes de darle cambios reales de código. Si ejecutas tareas de Agent con frecuencia, separa Flash y Pro: Flash maneja trabajo ligero y frecuente, mientras Pro se ocupa del juicio complejo y las tareas de respaldo.&lt;/p&gt;
&lt;p&gt;Referencias:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.cline.bot/provider-config/openai-compatible&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cline Docs: OpenAI Compatible Provider&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://docs.cline.bot/provider-config/overview&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Cline Docs: Provider Configuration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://api-docs.deepseek.com/news/news202605&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DeepSeek API Docs: News&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://api-docs.deepseek.com/quick_start/pricing/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DeepSeek API Docs: Models &amp;amp; Pricing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Cómo las rebajas de DeepSeek V4 reescriben el modelo de costes de los AI Agents</title>
        <link>https://knightli.com/es/2026/05/01/deepseek-v4-price-cuts-ai-agent-economics/</link>
        <pubDate>Fri, 01 May 2026 19:47:47 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/01/deepseek-v4-price-cuts-ai-agent-economics/</guid>
        <description>&lt;p&gt;DeepSeek V4 no llegó con un lanzamiento especialmente ruidoso. No hubo gran evento ni una historia de benchmarks que aplastara al instante a todos los competidores. Pero unos días después apareció la parte que realmente afecta a la industria: rebajas repetidas de precio.&lt;/p&gt;
&lt;p&gt;El punto de este cambio no es que &amp;ldquo;el modelo se volvió un poco más fuerte&amp;rdquo;, sino que &amp;ldquo;el coste de uso fue empujado a otro nivel&amp;rdquo;. Cuando los precios por token bajan lo suficiente para que una tarea ordinaria de Agent termine por unos pocos centavos o un par de yuanes, la lógica de negocio detrás de muchos Coding Plans y Token Plans necesita reconsiderarse.&lt;/p&gt;
&lt;h2 id=&#34;el-día-de-lanzamiento-no-fue-explosivo&#34;&gt;El día de lanzamiento no fue explosivo
&lt;/h2&gt;&lt;p&gt;La primera ola de comentarios sobre DeepSeek V4 no fue especialmente intensa. Mucha gente esperaba un impacto como el de R1: liderazgo general en benchmarks, validación del cómputo doméstico y avances simultáneos en multimodalidad y capacidades de Agent. Tras el lanzamiento real, sin embargo, se pareció más a una actualización sólida.&lt;/p&gt;
&lt;p&gt;V4 Pro es sin duda un modelo fuerte, especialmente en programación, matemáticas, contexto largo y agentic coding. Pero no es el tipo de producto que hace que todos los modelos pares parezcan obsoletos de inmediato. Por eso, el día de lanzamiento la discusión se sintió algo incómoda: la gente quería elogiarlo, pero era difícil encontrar un ángulo lo bastante explosivo.&lt;/p&gt;
&lt;p&gt;El verdadero punto de inflexión no fue el lanzamiento, sino los ajustes de precio que llegaron después.&lt;/p&gt;
&lt;h2 id=&#34;las-rebajas-sucesivas-son-la-clave&#34;&gt;Las rebajas sucesivas son la clave
&lt;/h2&gt;&lt;p&gt;Después de publicarse DeepSeek V4, los precios empezaron a moverse hacia abajo. Según la página oficial de precios de DeepSeek y la información resumida en el artículo fuente, los precios aproximados de aquel momento eran:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;DeepSeek V4 Flash: alrededor de 1 yuan por 1 millón de tokens de entrada; alrededor de 0,02 yuan por 1 millón de tokens tras un cache hit;&lt;/li&gt;
&lt;li&gt;DeepSeek V4 Pro: alrededor de 3 yuanes por 1 millón de tokens de entrada; alrededor de 0,025 yuan por 1 millón de tokens tras un cache hit;&lt;/li&gt;
&lt;li&gt;el precio de entrada con cache hit en toda la familia de modelos cayó a una décima parte del precio de lanzamiento;&lt;/li&gt;
&lt;li&gt;V4 Pro estuvo en un periodo de descuento del 75%, extendido hasta el 31 de mayo de 2026 a las 23:59.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Los precios de API en dólares estadounidenses muestran la diferencia con más claridad:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Modelo&lt;/th&gt;
          &lt;th style=&#34;text-align: right&#34;&gt;Entrada cacheada&lt;/th&gt;
          &lt;th style=&#34;text-align: right&#34;&gt;Entrada no cacheada&lt;/th&gt;
          &lt;th style=&#34;text-align: right&#34;&gt;Salida&lt;/th&gt;
          &lt;th style=&#34;text-align: right&#34;&gt;Contexto&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;deepseek-v4-flash&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$0.0028 / 1M tokens&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$0.14 / 1M tokens&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$0.28 / 1M tokens&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;1M&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;deepseek-v4-pro&lt;/code&gt; precio promocional&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$0.003625 / 1M tokens&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$0.435 / 1M tokens&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$0.87 / 1M tokens&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;1M&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;deepseek-v4-pro&lt;/code&gt; precio regular&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$0.0145 / 1M tokens&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$1.74 / 1M tokens&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$3.48 / 1M tokens&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;1M&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Aquí importan dos detalles.&lt;/p&gt;
&lt;p&gt;Primero, los $0.435 / $0.87 de V4 Pro son precio promocional, no el precio regular a largo plazo. En las notas oficiales de DeepSeek, este descuento del 75% fue extendido hasta el 31 de mayo de 2026 a las 15:59 UTC.&lt;/p&gt;
&lt;p&gt;Segundo, el precio con cache hit es la variable clave del modelo de costes de Agent. La entrada cacheada de Flash baja hasta $0.0028 / 1M tokens, mientras el precio promocional cacheado de Pro es $0.003625 / 1M tokens. Eso significa que contexto de proyecto repetido, definiciones de herramientas, system prompts y resúmenes históricos ya no necesitan cobrarse al precio completo de entrada.&lt;/p&gt;
&lt;p&gt;Lo más importante de esta política de precios es que vuelve &amp;ldquo;insensible&amp;rdquo; el coste en tokens de muchas tareas. Antes, los desarrolladores temían que una tarea de Agent consumiera mucho contexto, leyera y escribiera código repetidamente y llamara herramientas con frecuencia. Ahora, mientras la tasa de cache hit sea lo bastante alta, el coste puede empujarse muy abajo.&lt;/p&gt;
&lt;h2 id=&#34;comparación-de-precios-con-gpt-y-claude&#34;&gt;Comparación de precios con GPT y Claude
&lt;/h2&gt;&lt;p&gt;Los precios de DeepSeek por sí solos no transmiten toda la brecha. El contraste se vuelve mucho más claro al ponerlos junto a modelos cerrados comunes del mismo periodo.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Modelo&lt;/th&gt;
          &lt;th style=&#34;text-align: right&#34;&gt;Entrada&lt;/th&gt;
          &lt;th style=&#34;text-align: right&#34;&gt;Entrada cacheada&lt;/th&gt;
          &lt;th style=&#34;text-align: right&#34;&gt;Salida&lt;/th&gt;
          &lt;th&gt;Mejor para&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;deepseek-v4-flash&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$0.14 / M&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$0.0028 / M&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$0.28 / M&lt;/td&gt;
          &lt;td&gt;Agents de alta frecuencia, programación rutinaria, tareas por lotes&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;deepseek-v4-pro&lt;/code&gt; precio promocional&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$0.435 / M&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$0.003625 / M&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$0.87 / M&lt;/td&gt;
          &lt;td&gt;Programación compleja, planificación, verificación de hechos&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;deepseek-v4-pro&lt;/code&gt; precio regular&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$1.74 / M&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$0.0145 / M&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$3.48 / M&lt;/td&gt;
          &lt;td&gt;Línea base de coste Pro tras la promoción&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;GPT-5.5&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$5 / M&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$0.50 / M&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$30 / M&lt;/td&gt;
          &lt;td&gt;Tareas complejas de alta calidad, razonamiento general&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;GPT-5.4&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$2.50 / M&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$0.25 / M&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$15 / M&lt;/td&gt;
          &lt;td&gt;Opción intermedia para programación y trabajo profesional&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;GPT-5.4 mini&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$0.75 / M&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$0.075 / M&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$4.50 / M&lt;/td&gt;
          &lt;td&gt;Modelo general y de subtareas de menor coste&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Claude Opus 4.7&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$5 / M&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$0.50 / M&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$25 / M&lt;/td&gt;
          &lt;td&gt;Escritura de alta calidad, razonamiento complejo, tareas largas&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Claude Sonnet 4.6&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$3 / M&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$0.30 / M&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$15 / M&lt;/td&gt;
          &lt;td&gt;Programación, Agents, trabajo general&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Claude Haiku 4.5&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$1 / M&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$0.10 / M&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;$5 / M&lt;/td&gt;
          &lt;td&gt;Tareas ligeras, resumen, clasificación&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;El número más llamativo de esta tabla es el precio de salida. Los Agents no solo leen contexto; también generan planes, parches, explicaciones, logs y siguientes acciones. Si hay mucha salida, los $0.87 / M promocionales de DeepSeek V4 Pro son drásticamente más baratos que los $30 / M de GPT-5.5 o los $15 / M de Claude Sonnet 4.6.&lt;/p&gt;
&lt;p&gt;Incluso al precio regular de salida de V4 Pro, $3.48 / M, sigue claramente por debajo de GPT-5.4, GPT-5.5 y Claude Sonnet / Opus. Si la tarea puede manejarse con Flash, el precio de salida baja aún más hasta $0.28 / M.&lt;/p&gt;
&lt;p&gt;La brecha de entrada cacheada es todavía más extrema. DeepSeek V4 Flash cuesta $0.0028 / M en entrada cacheada, mientras GPT-5.5 y Claude Opus 4.7 cuestan ambos $0.50 / M. No están en el mismo orden de magnitud. Para Agents que leen repetidamente el mismo repositorio de código, esta brecha importa más que en un chat normal.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-las-tareas-de-agent-se-ven-especialmente-afectadas&#34;&gt;Por qué las tareas de Agent se ven especialmente afectadas
&lt;/h2&gt;&lt;p&gt;Los AI Agents son distintos del chat ordinario. El chat normal suele ser un flujo de pregunta y respuesta con contexto de entrada relativamente limitado. Las tareas de Agent leen archivos de proyecto repetidamente, generan planes, llaman herramientas, inspeccionan resultados y vuelven a modificar código.&lt;/p&gt;
&lt;p&gt;Estas tareas tienen dos rasgos:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;gran consumo de tokens;&lt;/li&gt;
&lt;li&gt;mucho contexto repetido.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;El segundo punto es crucial. En un proyecto de código, el modelo lee una y otra vez los mismos archivos, estructura de directorios, logs de error y resultados de modificación. Si la plataforma admite cache hits, el coste de entrada repetida cae de forma pronunciada.&lt;/p&gt;
&lt;p&gt;El artículo fuente mencionaba una experiencia real: conectar DeepSeek V4 Pro y Flash a una herramienta parecida a Claude Code, pedirle que descargara un repositorio de prompts y lo convirtiera en un sitio local de búsqueda. La tarea se completó con un coste total de poco más de 0,8 yuanes, y Pro alcanzó una tasa de cache hit del 98,7%.&lt;/p&gt;
&lt;p&gt;Este ejemplo ilustra un punto práctico: cuanto más se parece una tarea de Agent a &amp;ldquo;trabajo repetido alrededor del mismo proyecto&amp;rdquo;, más valiosos se vuelven los cache hits. Si generar un sitio, arreglar un bug o cambiar un frontend cuesta solo unos centavos o unos pocos yuanes, los planes de suscripción pierden atractivo.&lt;/p&gt;
&lt;p&gt;Podemos estimar la brecha con una tarea simplificada. Supongamos que una tarea de coding agent incluye:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;500.000 tokens de entrada, de los cuales 80% pueden cachearse;&lt;/li&gt;
&lt;li&gt;50.000 tokens de salida;&lt;/li&gt;
&lt;li&gt;sin llamadas de herramientas, costes de búsqueda ni markup de plataforma, solo coste de tokens del modelo.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Los costes aproximados son:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Modelo&lt;/th&gt;
          &lt;th style=&#34;text-align: right&#34;&gt;Coste estimado&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;DeepSeek V4 Flash&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;alrededor de $0.03&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;DeepSeek V4 Pro precio promocional&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;alrededor de $0.09&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;DeepSeek V4 Pro precio regular&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;alrededor de $0.36&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;GPT-5.4 mini&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;alrededor de $0.30&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;GPT-5.4&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;alrededor de $1.01&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;GPT-5.5&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;alrededor de $1.75&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Claude Sonnet 4.6&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;alrededor de $1.11&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Claude Opus 4.7&lt;/td&gt;
          &lt;td style=&#34;text-align: right&#34;&gt;alrededor de $1.65&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Esta estimación no significa que DeepSeek sea mejor para todas las tareas. Calidad del modelo, estabilidad de tool calls, capacidad de recuperación en contexto largo, estilo de código y fiabilidad factual necesitan evaluación separada. Pero desde el coste, DeepSeek V4 empuja muy abajo el coste marginal de &amp;ldquo;dejar correr al Agent unas rondas más&amp;rdquo;. Eso animará a diseñar flujos más largos, autochecks más frecuentes y más soluciones candidatas sin preocuparse por la factura de tokens cada vez.&lt;/p&gt;
&lt;h2 id=&#34;la-diferencia-entre-coding-plans-y-token-plans&#34;&gt;La diferencia entre Coding Plans y Token Plans
&lt;/h2&gt;&lt;p&gt;Muchos productos de IA ofrecen ahora dos tipos de planes: Coding Plans y Token Plans.&lt;/p&gt;
&lt;p&gt;La diferencia aproximada es:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;los Coding Plans suelen estar orientados principalmente a programación;&lt;/li&gt;
&lt;li&gt;los Token Plans suelen cubrir más capacidades, como STT, TTS, generación de imágenes, búsqueda, embeddings y RAG;&lt;/li&gt;
&lt;li&gt;STT significa speech to text;&lt;/li&gt;
&lt;li&gt;TTS significa text to speech;&lt;/li&gt;
&lt;li&gt;los Coding Plans a menudo restringen al usuario a escenarios de programación, mientras otras capacidades requieren compras separadas.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Desde el negocio, un Coding Plan se parece más a un buffet. Los usuarios pagan una tarifa fija por adelantado, mientras el proveedor apuesta a que la mayoría no agotará la cuota. Algunos usuarios consumen más, otros menos, y la plataforma todavía puede ganar dinero en promedio.&lt;/p&gt;
&lt;p&gt;Pero si los precios pay-as-you-go por token bajan lo suficiente, los usuarios empiezan a calcular: ¿por qué tengo que comprar un plan? Si el coste mensual real es solo unos pocos yuanes o una decena, un plan de 40 o 200 yuanes puede dejar de valer la pena.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-las-rebajas-desafían-el-modelo-de-suscripción&#34;&gt;Por qué las rebajas desafían el modelo de suscripción
&lt;/h2&gt;&lt;p&gt;Los planes de suscripción dependen de una premisa: los usuarios sienten que cada uso individual es caro, o no quieren calcular el coste de cada llamada. Cuando los tokens son caros, un plan da tranquilidad. Cuando los tokens son casi insignificantes, pay-as-you-go se vuelve más natural.&lt;/p&gt;
&lt;p&gt;La rebaja de DeepSeek V4 revela de hecho el coste subyacente:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;las tareas de Agent pueden ser muy baratas;&lt;/li&gt;
&lt;li&gt;el contexto largo no es necesariamente demasiado caro de usar;&lt;/li&gt;
&lt;li&gt;los cache hits pueden reducir mucho el coste;&lt;/li&gt;
&lt;li&gt;los desarrolladores comunes no necesitan necesariamente una suscripción fija;&lt;/li&gt;
&lt;li&gt;el punto de entrada del modelo puede desplazarse de una &amp;ldquo;plataforma de planes&amp;rdquo; a una &amp;ldquo;API de bajo coste&amp;rdquo;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto incomodará a plataformas construidas alrededor de Coding Plans. Si los usuarios ven que las llamadas pay-as-you-go son más baratas y libres, tienen menos razones para quedar atados a la suscripción de una plataforma.&lt;/p&gt;
&lt;h2 id=&#34;cómo-elegir-entre-flash-y-pro&#34;&gt;Cómo elegir entre Flash y Pro
&lt;/h2&gt;&lt;p&gt;Una forma práctica de usar DeepSeek V4 es dividir el trabajo entre Flash y Pro.&lt;/p&gt;
&lt;p&gt;Flash es adecuado para tareas frecuentes, ligeras y repetibles:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;corregir bugs;&lt;/li&gt;
&lt;li&gt;escribir código frontend;&lt;/li&gt;
&lt;li&gt;escribir scripts;&lt;/li&gt;
&lt;li&gt;comprensión rutinaria de código;&lt;/li&gt;
&lt;li&gt;procesar información ordinaria en contexto largo;&lt;/li&gt;
&lt;li&gt;ejecutar gran cantidad de subtareas.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Flash es barato, rápido y también admite contexto muy largo. Para agents de programación cotidianos, muchas tareas no necesitan Pro desde el inicio.&lt;/p&gt;
&lt;p&gt;Pro es mejor para juicio complejo y trabajo de respaldo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;planificación multi-ronda;&lt;/li&gt;
&lt;li&gt;flujos complejos de Agent;&lt;/li&gt;
&lt;li&gt;múltiples llamadas de función;&lt;/li&gt;
&lt;li&gt;verificación de hechos;&lt;/li&gt;
&lt;li&gt;investigación financiera;&lt;/li&gt;
&lt;li&gt;producción de contenido que requiere conocimiento y juicio más fuertes;&lt;/li&gt;
&lt;li&gt;cambios de código de alto riesgo.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Una configuración razonable es: Flash maneja volumen, Pro maneja fallback. Empieza tareas ordinarias con Flash y cambia a Pro para planificación de largo alcance, juicio complejo, verificación de hechos o colaboración multi-herramienta. Así se controla el coste sin renunciar a calidad de modelo.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-deepseek-puede-poner-estos-precios&#34;&gt;Por qué DeepSeek puede poner estos precios
&lt;/h2&gt;&lt;p&gt;DeepSeek tiene una estructura de negocio distinta a muchas grandes plataformas. No tiene e-commerce, redes sociales, video corto, cloud computing, teléfonos, coches, suites de oficina, sistemas operativos, navegadores ni un gran ecosistema SaaS empresarial.&lt;/p&gt;
&lt;p&gt;Eso significa que no necesita encerrar a los usuarios en una plataforma completa. Puede simplemente vender capacidad de modelo de texto: usa modelos de texto baratos aquí y llama cualquier otra capacidad en otro lugar.&lt;/p&gt;
&lt;p&gt;Las grandes plataformas suelen pensar distinto. Si compras su Coding Plan o Token Plan, entras en su ecosistema de cloud, búsqueda, generación de imágenes, voz, base de datos y herramientas de desarrollo. El plan no solo vende el modelo; compite por el punto de entrada del usuario.&lt;/p&gt;
&lt;p&gt;El enfoque de DeepSeek es más directo: bajar el precio de los modelos de texto e intentar convertirse en el punto de entrada por defecto para Agents. Una vez ocupado ese punto de entrada, muchos desarrolladores y toolchains se adaptarán naturalmente alrededor.&lt;/p&gt;
&lt;h2 id=&#34;modelos-abiertos-y-el-punto-de-entrada-por-defecto&#34;&gt;Modelos abiertos y el punto de entrada por defecto
&lt;/h2&gt;&lt;p&gt;Si DeepSeek V4 mantiene una ruta de modelo abierto, proveedores cloud y plataformas de terceros pueden desplegarlo por su cuenta y ofrecer servicios. Para DeepSeek, eso es distribución y posible desviación a la vez.&lt;/p&gt;
&lt;p&gt;Aquí es donde importa una API oficial de bajo precio. Si el precio oficial ya es lo bastante bajo, otras plataformas tendrán difícil ofrecer una ventaja clara aunque puedan desplegar el modelo. Los usuarios tenderán a usar directamente el punto de entrada por defecto, barato y estable.&lt;/p&gt;
&lt;p&gt;Esto es especialmente cierto para herramientas de Agent. Las tareas de Agent dependen de contexto largo, caching, llamadas de herramientas y throughput estable. Una vez que un modelo es lo bastante barato en estos escenarios, tiene opción de convertirse en la opción por defecto.&lt;/p&gt;
&lt;h2 id=&#34;los-coding-plans-aún-no-son-inútiles&#34;&gt;Los Coding Plans aún no son inútiles
&lt;/h2&gt;&lt;p&gt;Esto no significa que los Coding Plans desaparezcan inmediatamente. Todavía encajan con algunos usuarios.&lt;/p&gt;
&lt;p&gt;Si algunos usuarios son realmente intensivos y agotan su cuota todos los días, una suscripción fija puede seguir siendo económica. Igual que un buffet: si nadie pudiera comer suficiente para amortizarlo, nadie lo compraría.&lt;/p&gt;
&lt;p&gt;El problema es que la mayoría de usuarios no son tan extremadamente frecuentes. Usuarios de baja frecuencia, desarrolladores ligeros y personas que ocasionalmente escriben scripts o modifican proyectos encajan mejor con pay-as-you-go. Después de que DeepSeek reduzca los costes por uso, el atractivo de los planes se debilita.&lt;/p&gt;
&lt;p&gt;El futuro probablemente será una elección por capas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;usuarios intensivos de alta frecuencia seguirán comprando Coding Plans;&lt;/li&gt;
&lt;li&gt;usuarios ordinarios se moverán a APIs de bajo coste;&lt;/li&gt;
&lt;li&gt;las herramientas de Agent elegirán automáticamente Flash / Pro según la tarea;&lt;/li&gt;
&lt;li&gt;los planes de plataforma tendrán que ofrecer más valor no relacionado con el modelo, como workflows, integración IDE, despliegue, gestión de equipos y auditoría de seguridad.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;resumen&#34;&gt;Resumen
&lt;/h2&gt;&lt;p&gt;DeepSeek V4 no creó su mayor impacto mediante benchmarks. Lo que realmente cambió las expectativas de la industria fue la reducción de precios posterior.&lt;/p&gt;
&lt;p&gt;Cuando los tokens de entrada y el precio con cache hit bajan mucho, cambia el coste de usar AI Agents. Contexto largo, análisis de proyectos de código y llamadas multi-ronda de herramientas que antes parecían caras pueden convertirse en costes cotidianos de unos centavos o unos pocos yuanes.&lt;/p&gt;
&lt;p&gt;Esto desafía directamente la lógica de negocio de Coding Plans y Token Plans. Si los usuarios pueden pagar por uso, combinar libremente modelos y herramientas, y mantener costes lo bastante bajos, quizá no quieran quedar atados a un plan de plataforma específico.&lt;/p&gt;
&lt;p&gt;Lo que DeepSeek V4 toca realmente esta vez no es solo el ranking de capacidades del modelo, sino la estructura de costes de los AI Agents y la batalla por el punto de entrada por defecto.&lt;/p&gt;
&lt;p&gt;Referencias:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://api-docs.deepseek.com/quick_start/pricing/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;DeepSeek API Docs: Models &amp;amp; Pricing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://openai.com/api/pricing/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;OpenAI API Pricing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://platform.claude.com/docs/en/about-claude/pricing&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Anthropic Claude API Pricing&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>NVIDIA lanza Nemotron 3 Nano Omni: un modelo abierto de razonamiento omnimodal para agentes</title>
        <link>https://knightli.com/es/2026/05/01/nvidia-nemotron-3-nano-omni-multimodal-agents/</link>
        <pubDate>Fri, 01 May 2026 12:07:15 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/01/nvidia-nemotron-3-nano-omni-multimodal-agents/</guid>
        <description>&lt;p&gt;NVIDIA lanzó &lt;code&gt;Nemotron 3 Nano Omni&lt;/code&gt;, un modelo abierto de razonamiento omnimodal diseñado para flujos de AI Agents.
Su foco no es solo responder preguntas de texto, sino poner lenguaje, visión y audio en un mismo marco de razonamiento para trabajar con entradas más cercanas al trabajo real.&lt;/p&gt;
&lt;p&gt;Por posicionamiento, &lt;code&gt;Nemotron 3 Nano Omni&lt;/code&gt; parece un modelo base preparado para agentes. Puede entender información de pantallas, documentos, imágenes, voz y vídeo, y convertirla en resultados de razonamiento accionables.&lt;/p&gt;
&lt;h2 id=&#34;especificaciones-del-modelo&#34;&gt;Especificaciones del modelo
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;Nemotron 3 Nano Omni&lt;/code&gt; usa arquitectura MoE. NVIDIA lista estos puntos:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Item&lt;/th&gt;
          &lt;th&gt;Information&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Model name&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;Nemotron 3 Nano Omni&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Architecture&lt;/td&gt;
          &lt;td&gt;MoE&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Parameter scale&lt;/td&gt;
          &lt;td&gt;30B total / 3B active&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Modalities&lt;/td&gt;
          &lt;td&gt;Text, image, audio, video&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Context length&lt;/td&gt;
          &lt;td&gt;256K tokens&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;License&lt;/td&gt;
          &lt;td&gt;Apache 2.0&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Main deployment direction&lt;/td&gt;
          &lt;td&gt;AI Agents, multimodal reasoning, enterprise agents&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Lo más llamativo es &lt;code&gt;30B-A3B&lt;/code&gt;: el modelo tiene unos 30B parámetros totales, pero activa alrededor de 3B por paso de inferencia. Es un equilibrio entre capacidad y coste.&lt;/p&gt;
&lt;p&gt;Pero &lt;code&gt;active params&lt;/code&gt; en MoE no significa que la VRAM pueda estimarse como si fuera solo un modelo de 3B. Hay que contar pesos de expertos, KV cache, módulos de visión y audio, contexto y sobrecarga del framework.&lt;/p&gt;
&lt;h2 id=&#34;no-resuelve-un-problema-de-una-sola-modalidad&#34;&gt;No resuelve un problema de una sola modalidad
&lt;/h2&gt;&lt;p&gt;Los LLM tradicionales procesan sobre todo texto. Los multimodales añaden imagen. &lt;code&gt;Nemotron 3 Nano Omni&lt;/code&gt; apunta a algo más amplio: entrada omnimodal, con texto, imágenes, audio y vídeo dentro de un razonamiento unificado.&lt;/p&gt;
&lt;p&gt;Esto importa para agentes porque las tareas reales suelen incluir:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;leer botones, tablas y ventanas en pantalla;&lt;/li&gt;
&lt;li&gt;analizar PDFs, capturas, gráficos y webs;&lt;/li&gt;
&lt;li&gt;escuchar instrucciones o reuniones;&lt;/li&gt;
&lt;li&gt;entender acciones y tiempos en vídeo;&lt;/li&gt;
&lt;li&gt;combinar esas señales para decidir el siguiente paso.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si un modelo solo maneja una modalidad, el agente necesita mucho pegamento entre modelos especializados. Un modelo omnimodal reduce ese coste de integración.&lt;/p&gt;
&lt;h2 id=&#34;pensado-para-operación-de-ordenador-e-inteligencia-documental&#34;&gt;Pensado para operación de ordenador e inteligencia documental
&lt;/h2&gt;&lt;p&gt;NVIDIA menciona explícitamente tareas de operación de ordenador. Estas requieren entender interfaces:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;qué controles aparecen en pantalla;&lt;/li&gt;
&lt;li&gt;en qué estado está la ventana actual;&lt;/li&gt;
&lt;li&gt;qué botón o menú debe usarse;&lt;/li&gt;
&lt;li&gt;qué significan tablas, diálogos y campos de entrada.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto es difícil de evitar cuando los agentes entran en despliegues reales. Para operar software de oficina, navegadores, backends empresariales o herramientas de desarrollo, el agente debe entender la interfaz, no solo leer documentación.&lt;/p&gt;
&lt;p&gt;La inteligencia documental tiene una lógica parecida. Los materiales empresariales mezclan texto, tablas, imágenes, páginas escaneadas y gráficos. Un modelo omnimodal puede poner todo eso en un mismo contexto para revisión de contratos, análisis de informes, facturas, QA de conocimiento y automatización de procesos.&lt;/p&gt;
&lt;h2 id=&#34;audio-y-vídeo-acercan-los-agentes-a-escenarios-reales&#34;&gt;Audio y vídeo acercan los agentes a escenarios reales
&lt;/h2&gt;&lt;p&gt;Las entradas de audio y vídeo amplían mucho los usos:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;resúmenes de reuniones;&lt;/li&gt;
&lt;li&gt;análisis de llamadas de atención al cliente;&lt;/li&gt;
&lt;li&gt;comprensión de comandos de voz;&lt;/li&gt;
&lt;li&gt;organización de contenido educativo;&lt;/li&gt;
&lt;li&gt;análisis de vídeos instructivos;&lt;/li&gt;
&lt;li&gt;inspección de seguridad o industrial;&lt;/li&gt;
&lt;li&gt;revisión de grabaciones de pantalla;&lt;/li&gt;
&lt;li&gt;razonamiento temporal en tareas de varios pasos.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si estas tareas dependen solo de transcripciones, se pierde información visual y temporal. Un modelo omnimodal puede combinar voz, fotogramas y texto para dar al agente una visión más completa.&lt;/p&gt;
&lt;h2 id=&#34;despliegue-y-ecosistema&#34;&gt;Despliegue y ecosistema
&lt;/h2&gt;&lt;p&gt;NVIDIA sitúa &lt;code&gt;Nemotron 3 Nano Omni&lt;/code&gt; dentro de un ecosistema abierto y usa licencia Apache 2.0. Para desarrolladores y empresas, esto reduce la barrera de experimentación, integración y desarrollo secundario.&lt;/p&gt;
&lt;p&gt;También está muy ligado al ecosistema de inferencia de NVIDIA. En despliegues empresariales aparecen preguntas como:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;si corre de forma eficiente en GPUs NVIDIA;&lt;/li&gt;
&lt;li&gt;si soporta contexto largo y entrada multimodal;&lt;/li&gt;
&lt;li&gt;si conecta con frameworks de agentes existentes;&lt;/li&gt;
&lt;li&gt;si procesa documentos internos, audio/vídeo y capturas de UI;&lt;/li&gt;
&lt;li&gt;si puede desplegarse en entornos privados.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;NVIDIA afirma que el modelo puede alcanzar hasta 9x el throughput de modelos abiertos omnimodales comparables. El valor real dependerá del hardware, contexto, modalidades y framework, pero la dirección es clara: unir modelos abiertos multimodales con infraestructura de inferencia empresarial.&lt;/p&gt;
&lt;h2 id=&#34;casos-de-uso-adecuados&#34;&gt;Casos de uso adecuados
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;Nemotron 3 Nano Omni&lt;/code&gt; encaja mejor en:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;agentes que entienden texto, imagen, audio y vídeo al mismo tiempo;&lt;/li&gt;
&lt;li&gt;inteligencia documental empresarial y QA de conocimiento;&lt;/li&gt;
&lt;li&gt;operación de ordenador basada en capturas o interfaces web;&lt;/li&gt;
&lt;li&gt;análisis multimodal de reuniones, atención al cliente y docencia;&lt;/li&gt;
&lt;li&gt;comprensión de vídeo, revisión de workflows y razonamiento temporal;&lt;/li&gt;
&lt;li&gt;equipos que necesitan licencia abierta y despliegue privado.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;No es necesariamente lo mejor para todo usuario. Para chat local, completado de código o QA simple, un modelo de lenguaje de una sola modalidad puede ser más ligero y rápido.&lt;/p&gt;
&lt;h2 id=&#34;qué-significa-para-ai-agents&#34;&gt;Qué significa para AI Agents
&lt;/h2&gt;&lt;p&gt;Para que los AI Agents entren realmente en escenarios de trabajo, no basta con escribir texto. Necesitan entender interfaces, voz, documentos y cambios en vídeo, y convertirlo en la siguiente acción.&lt;/p&gt;
&lt;p&gt;Ahí es donde &lt;code&gt;Nemotron 3 Nano Omni&lt;/code&gt; importa. No es solo hacer el modelo más grande: es unificar muchos tipos de entrada que los agentes encuentran en tareas reales.&lt;/p&gt;
&lt;p&gt;Desde este ángulo, el lanzamiento de NVIDIA no es solo &amp;ldquo;otro modelo multimodal&amp;rdquo;. Es parte del esfuerzo por conectar modelos abiertos, inferencia GPU, agentes empresariales y despliegue privado. Lo siguiente a observar será su rendimiento en frameworks de agentes, workflows empresariales y despliegues locales.&lt;/p&gt;
&lt;p&gt;Referencias:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://blogs.nvidia.cn/blog/nemotron-3-nano-omni-multimodal-ai-agents/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;NVIDIA Technical Blog: NVIDIA Nemotron 3 Nano Omni&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>FinceptTerminal: terminal financiera open source, investigaci贸n cuantitativa y banco de trabajo para AI Agents</title>
        <link>https://knightli.com/es/2026/05/01/finceptterminal-open-source-financial-terminal/</link>
        <pubDate>Fri, 01 May 2026 03:47:18 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/01/finceptterminal-open-source-financial-terminal/</guid>
        <description>&lt;p&gt;&lt;code&gt;FinceptTerminal&lt;/code&gt; es un proyecto de terminal financiera de código abierto de Fincept Corporation.&lt;/p&gt;
&lt;p&gt;Según el README, no es un simple panel de cotizaciones de mercado. Es una plataforma de escritorio integral para análisis financiero, investigación quant, flujos de trabajo de trading y AI Agents. La Versión 4 está construida con C++20 y Qt6 como una aplicación de escritorio nativa, mientras incrusta el ecosistema Python para análisis, scripting, machine learning y modelado financiero.&lt;/p&gt;
&lt;p&gt;Si necesitamos una comparación, se asemeja más a un banco de trabajo (workbench) de investigación financiera de código abierto: conectando fuentes de datos en un lado, y gestionando gráficos, carteras (portfolios), investigación quant, trading, análisis de inteligencia y flujos de trabajo automatizados en el otro.&lt;/p&gt;
&lt;p&gt;Primero debe quedar claro algo: herramientas como esta pueden usarse para investigación, análisis, educación y construcción de herramientas internas, pero ninguna salida debe tratarse directamente como asesoramiento de inversión. Los mercados financieros son riesgosos, y los datos, modelos, estrategias y la ejecución requieren verificación independiente.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;qué-problema-resuelve&#34;&gt;¿Qué problema resuelve?
&lt;/h2&gt;&lt;p&gt;La investigación financiera a menudo está dispersa en muchas herramientas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Los datos de mercado se encuentran en una aplicación&lt;/li&gt;
&lt;li&gt;El código de investigación se encuentra en Jupyter&lt;/li&gt;
&lt;li&gt;Los gráficos se encuentran en otra herramienta&lt;/li&gt;
&lt;li&gt;El análisis de cartera se realiza en hojas de cálculo&lt;/li&gt;
&lt;li&gt;Los registros de trading se encuentran en los sistemas de corretaje&lt;/li&gt;
&lt;li&gt;Las noticias y la inteligencia se encuentran en el navegador&lt;/li&gt;
&lt;li&gt;El análisis de IA se encuentra en una ventana de chat&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Este enfoque funciona, pero la colaboración y la reproducibilidad son difíciles.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;FinceptTerminal&lt;/code&gt; intenta integrar estas capacidades en una única terminal de escritorio, para que los usuarios puedan completar flujos de trabajo relacionados con el acceso a datos, el análisis, el modelado, la visualización, la colaboración de Agentes y el trading en el mismo entorno.&lt;/p&gt;
&lt;p&gt;Su objetivo no es reemplazar cada sistema profesional, sino proporcionar una base de código abierto y extensible para una terminal financiera.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;arquitectura-técnica&#34;&gt;Arquitectura técnica
&lt;/h2&gt;&lt;p&gt;El README menciona que v4 usa C++20 y Qt6.&lt;/p&gt;
&lt;p&gt;Esto significa que no es un panel web puro, sino una aplicación de escritorio nativa. Para una terminal financiera, las aplicaciones nativas tienen varias ventajas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Mayor estabilidad en la capacidad de respuesta de la UI&lt;/li&gt;
&lt;li&gt;Mejor adaptación para ventanas complejas y diseños multipanel&lt;/li&gt;
&lt;li&gt;Acceso más fácil a archivos locales y recursos del sistema&lt;/li&gt;
&lt;li&gt;Capacidad para integrar componentes de alto rendimiento&lt;/li&gt;
&lt;li&gt;Mejor adecuada para flujos de trabajo de escritorio de larga duración&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Al mismo tiempo, el proyecto también integra Python.&lt;/p&gt;
&lt;p&gt;Esto es importante. En la investigación financiera y el análisis quant, Python es uno de los lenguajes principales de facto. El análisis de datos, el machine learning, las estadísticas, el backtesting, la creación de gráficos (charting) y la modelización financiera dependen en gran medida del ecosistema Python. C++/Qt maneja el framework de la aplicación y la experiencia de escritorio, mientras que Python se encarga de la investigación y la extensibilidad. Esa es una combinación muy práctica.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;data-connectors&#34;&gt;Data connectors
&lt;/h2&gt;&lt;p&gt;El README indica que el proyecto proporciona más de 100 data connectors.&lt;/p&gt;
&lt;p&gt;El valor de una terminal financiera depende en gran medida del acceso a datos. Sin datos, incluso la mejor UI y los mejores models son solo una cáscara vacía.&lt;/p&gt;
&lt;p&gt;Estos conectores suelen poder cubrir diferentes fuentes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Market quotes&lt;/li&gt;
&lt;li&gt;Macroeconomic data&lt;/li&gt;
&lt;li&gt;Company financials&lt;/li&gt;
&lt;li&gt;News and intelligence&lt;/li&gt;
&lt;li&gt;Exchange data&lt;/li&gt;
&lt;li&gt;Crypto asset data&lt;/li&gt;
&lt;li&gt;Research data sources&lt;/li&gt;
&lt;li&gt;Internal or custom APIs&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Para los usuarios, los data connectors reducen el flujo de trabajo de &amp;ldquo;descargar CSV, limpiarlo manualmente y luego importarlo de nuevo&amp;rdquo;, haciendo que el análisis se acerque al tiempo real y a la automatización.&lt;/p&gt;
&lt;p&gt;Dicho esto, la calidad, la licencia, la latencia, la cobertura y el costo de los datos financieros son todos críticos. Antes de utilizar cualquier fuente de datos, su licencia y los límites de uso deben ser confirmados.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;módulo-ai-agents&#34;&gt;Módulo AI Agents
&lt;/h2&gt;&lt;p&gt;El proyecto hace hincapié en AI Agents, lo que también es donde difiere de las terminales financieras tradicionales.&lt;/p&gt;
&lt;p&gt;Las terminales tradicionales son interfaces operadas principalmente por humanos: las personas miran los datos y emiten juicios. Con AI Agents, la herramienta puede asumir más trabajo de estilo asistente:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Resumir información de mercado&lt;/li&gt;
&lt;li&gt;Explicar informes y anuncios financieros&lt;/li&gt;
&lt;li&gt;Generar resúmenes de investigación&lt;/li&gt;
&lt;li&gt;Ayudar a filtrar datos&lt;/li&gt;
&lt;li&gt;Asistir con scripts de análisis&lt;/li&gt;
&lt;li&gt;Organizar flujos de trabajo de trading o de investigación&lt;/li&gt;
&lt;li&gt;Pasar contexto entre módulos&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto no significa que la IA pueda reemplazar a los analistas o a los traders.&lt;/p&gt;
&lt;p&gt;Una postura más razonable es esta: AI Agents ayudan a reducir el trabajo de organización repetitivo y proporcionan análisis preliminares y consultas interactivas, pero las conclusiones importantes aún requieren validación de datos, validación de modelos y juicio humano.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;capacidades-de-investigación-cuantitativa&#34;&gt;Capacidades de investigación cuantitativa
&lt;/h2&gt;&lt;p&gt;FinceptTerminal también está orientado a la investigación quant.&lt;/p&gt;
&lt;p&gt;La investigación quant generalmente incluye:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Limpieza de datos&lt;/li&gt;
&lt;li&gt;Construcción de factores&lt;/li&gt;
&lt;li&gt;Hipótesis de estrategia&lt;/li&gt;
&lt;li&gt;Backtesting&lt;/li&gt;
&lt;li&gt;Evaluación de riesgos&lt;/li&gt;
&lt;li&gt;Optimización de portafolio&lt;/li&gt;
&lt;li&gt;Estimación de costos de trading&lt;/li&gt;
&lt;li&gt;Visualización de resultados&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si una terminal puede integrar conexiones de datos, análisis en Python, gráficos y flujos de trabajo, puede ser muy útil para la investigación quant. Los investigadores pueden pasar paso a paso de los datos a la validación de la estrategia en un solo entorno.&lt;/p&gt;
&lt;p&gt;Sin embargo, el mayor peligro en la investigación quant es algo que &amp;ldquo;parece efectivo&amp;rdquo;. Si una estrategia no maneja estrictamente la validación fuera de muestra (out-of-sample validation), los costos de trading, el deslizamiento (slippage), el sesgo de supervivencia (survivorship bias), el sobreajuste (overfitting) y la fuga de datos (data leakage), incluso un hermoso backtest no es confiable.&lt;/p&gt;
&lt;p&gt;Por lo tanto, este tipo de herramienta debe tratarse como una plataforma de investigación, no como una máquina automática para ganar dinero.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;quantlib-y-modelado-financiero&#34;&gt;QuantLib y modelado financiero
&lt;/h2&gt;&lt;p&gt;El README menciona capacidades relacionadas con QuantLib.&lt;/p&gt;
&lt;p&gt;QuantLib es una librería de código abierto común en ingeniería financiera. Se utiliza a menudo para tasas de interés, bonos, opciones, valoración de derivados, construcción de curvas, cálculo de riesgo y áreas relacionadas.&lt;/p&gt;
&lt;p&gt;Esto significa que FinceptTerminal no se trata solo de ver cotizaciones de acciones. También intenta cubrir escenarios de modelado financiero más profesionales.&lt;/p&gt;
&lt;p&gt;Estas capacidades son adecuadas para:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Aprender ingeniería financiera&lt;/li&gt;
&lt;li&gt;Experimentos en valoración de derivados&lt;/li&gt;
&lt;li&gt;Cálculo de métricas de curva y riesgo&lt;/li&gt;
&lt;li&gt;Análisis de riesgo de cartera&lt;/li&gt;
&lt;li&gt;Prototipado de modelos de investigación&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Sin embargo, el modelado financiero en sí mismo tiene una alta barrera. Los parámetros del modelo, las suposiciones del mercado, las fuentes de datos y la lógica de precios afectan todos los resultados. Una herramienta puede reducir los costos operativos, pero no puede reemplazar el juicio profesional.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;node-workflows&#34;&gt;Node workflows
&lt;/h2&gt;&lt;p&gt;El README también menciona los workflows basados en Node.&lt;/p&gt;
&lt;p&gt;Los Node workflows son adecuados para dividir tareas complejas en procesos visuales:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Read data&lt;/li&gt;
&lt;li&gt;Clean data&lt;/li&gt;
&lt;li&gt;Run models&lt;/li&gt;
&lt;li&gt;Generate charts&lt;/li&gt;
&lt;li&gt;Trigger AI analysis&lt;/li&gt;
&lt;li&gt;Output reports&lt;/li&gt;
&lt;li&gt;Send notifications&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Para escenarios financieros, este enfoque tiene dos ventajas.&lt;/p&gt;
&lt;p&gt;Primero, el proceso se vuelve visible. El análisis complejo ya no está oculto solo dentro de una pila de scripts, y los usuarios pueden ver cómo fluyen los datos.&lt;/p&gt;
&lt;p&gt;Segundo, es adecuado para la automatización. Los procesos de investigación repetitivos se pueden guardar, reutilizar y ajustar.&lt;/p&gt;
&lt;p&gt;Si estos workflows se pueden combinar con Python scripts, data connectors, Agents y reporting systems, este tipo de node workflow puede convertirse en un módulo muy valioso dentro de una terminal financiera.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;trading-y-gestión-de-portafolio&#34;&gt;Trading y gestión de portafolio
&lt;/h2&gt;&lt;p&gt;El proyecto también menciona capacidades relacionadas con el trading y la gestión de portafolio.&lt;/p&gt;
&lt;p&gt;Esta es el área que requiere la mayor cautela.&lt;/p&gt;
&lt;p&gt;La gestión de portafolio puede ayudar a los usuarios a comprender la exposición de activos, rendimientos, drawdowns, volatilidad, correlación y concentración de riesgos. Los módulos de trading pueden involucrar órdenes, cuentas, ejecución y registros.&lt;/p&gt;
&lt;p&gt;Pero siempre que esté involucrado el trading real, deben considerarse lo siguiente:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Latencia de datos&lt;/li&gt;
&lt;li&gt;Riesgo de ejecución de órdenes&lt;/li&gt;
&lt;li&gt;Permisos de API&lt;/li&gt;
&lt;li&gt;Costos de trading&lt;/li&gt;
&lt;li&gt;Slippage&lt;/li&gt;
&lt;li&gt;Liquidez&lt;/li&gt;
&lt;li&gt;Límites de control de riesgo&lt;/li&gt;
&lt;li&gt;Auditoría y registros (logs)&lt;/li&gt;
&lt;li&gt;Disparadores accidentales de estrategias&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Las características de trading en entornos de desarrollo e investigación no deben equipararse con sistemas de trading de grado de producción. Antes de conectarse al trading en vivo, se requieren pruebas estrictas, aislamiento de permisos, mecanismos de control de riesgo y revisión manual.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;en-qué-se-diferencia-de-bloomberg-terminal&#34;&gt;¿En qué se diferencia de Bloomberg Terminal?
&lt;/h2&gt;&lt;p&gt;Muchos proyectos de terminales financieros se comparan con Bloomberg Terminal.&lt;/p&gt;
&lt;p&gt;Pero el posicionamiento es diferente.&lt;/p&gt;
&lt;p&gt;El valor de Bloomberg Terminal no es solo su interfaz de software. También incluye:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cobertura de datos&lt;/li&gt;
&lt;li&gt;Licenciamiento de datos&lt;/li&gt;
&lt;li&gt;Red de noticias&lt;/li&gt;
&lt;li&gt;Ecosistema de trading&lt;/li&gt;
&lt;li&gt;Soporte al cliente&lt;/li&gt;
&lt;li&gt;Flujos de trabajo de instituciones financieras&lt;/li&gt;
&lt;li&gt;Confianza industrial acumulada a lo largo del tiempo&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;FinceptTerminal es más parecido a un framework de terminal financiero de código abierto y una plataforma de investigación. Sus fortalezas son la extensibilidad, la personalización, la localización y la integración con flujos de trabajo de Python y AI.&lt;/p&gt;
&lt;p&gt;No debe entenderse simplemente como un reemplazo gratuito para Bloomberg.&lt;/p&gt;
&lt;p&gt;Una visión más razonable es esta: si quieres estudiar cómo se construyen los terminales financieros, o si quieres crear tu propio banco de trabajo de análisis financiero, FinceptTerminal proporciona un punto de partida de código abierto.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;licenciamiento-y-límites-comerciales&#34;&gt;Licenciamiento y límites comerciales
&lt;/h2&gt;&lt;p&gt;El README menciona que el proyecto utiliza AGPL y un modelo de licenciamiento comercial.&lt;/p&gt;
&lt;p&gt;AGPL tiene requisitos explícitos para servicios de red y obras derivadas. Si solo lo utilizas para aprender, investigación o experimentos personales, generalmente no es un problema importante. Pero si planeas convertirlo en un producto comercial, una plataforma interna o un servicio externo, necesitas leer la licencia cuidadosamente.&lt;/p&gt;
&lt;p&gt;Las herramientas financieras a menudo entran en sistemas empresariales internos. En ese caso, las licencias de código abierto, las licencias comerciales, las licencias de datos y las licencias de modelo deben revisarse todas juntas, en lugar de solo preguntar si el código puede ejecutarse.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;a-quién-debe-prestar-atención&#34;&gt;¿A quién debe prestar atención?
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;FinceptTerminal&lt;/code&gt; es adecuado para:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Desarrolladores interesados en la arquitectura de terminales financieras&lt;/li&gt;
&lt;li&gt;Personas que realizan investigación cuantitativa o experimentos de ingeniería financiera&lt;/li&gt;
&lt;li&gt;Personas que desean integrar análisis de Python en herramientas de escritorio&lt;/li&gt;
&lt;li&gt;Personas que exploran flujos de trabajo de AI Agent + finanzas&lt;/li&gt;
&lt;li&gt;Equipos que desarrollan plataformas internas de análisis financiero&lt;/li&gt;
&lt;li&gt;Personas que aprenden el desarrollo de aplicaciones financieras en C++/Qt&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si solo desea seguir cotizaciones de algunas acciones, el software de mercado ordinario puede ser más sencillo.&lt;/p&gt;
&lt;p&gt;Si quiere entender cómo se integra un terminal financiero datos, gráficos, modelos, Agents, trading y flujos de trabajo, este proyecto vale más la pena estudiar.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;cosas-a-tener-en-cuenta-al-usarlo&#34;&gt;Cosas a tener en cuenta al usarlo
&lt;/h2&gt;&lt;p&gt;Primero, distingue la investigación del trading.&lt;/p&gt;
&lt;p&gt;Los entornos de investigación pueden tolerar experimentos y fallos. Los entornos de trading no pueden. No conectes una herramienta de investigación a cuentas reales antes de que haya sido verificada.&lt;/p&gt;
&lt;p&gt;Segundo, toma en serio la licencia de datos.&lt;/p&gt;
&lt;p&gt;Los datos financieros no pueden simplemente ser raspados y utilizados comercialmente. Las diferentes fuentes de datos tienen diferentes términos de licencia, especialmente los datos de mercado, las noticias, los estados financieros y los datos de intercambio.&lt;/p&gt;
&lt;p&gt;Tercero, no confíes ciegamente en los AI Agents.&lt;/p&gt;
&lt;p&gt;La IA puede ayudar a organizar la información, pero las conclusiones financieras deben basarse en datos, modelos, riesgos y validación fáctica.&lt;/p&gt;
&lt;p&gt;Cuarto, presta atención a la seguridad.&lt;/p&gt;
&lt;p&gt;Si una herramienta se conecta a cuentas, API keys, interfaces de trading o datos internos, la gestión de claves, el aislamiento de permisos, los logs y los límites de red deben manejarse correctamente.&lt;/p&gt;
&lt;p&gt;Quinto, comprende la licencia open-source.&lt;/p&gt;
&lt;p&gt;AGPL tiene implicaciones importantes para el uso comercial y el despliegue de servicios. Antes de la productización, los problemas de licencia deben manejarse primero.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;referencia&#34;&gt;Referencia
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/Fincept-Corporation/FinceptTerminal&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Fincept-Corporation/FinceptTerminal&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;pensamiento-final&#34;&gt;Pensamiento final
&lt;/h2&gt;&lt;p&gt;Lo que hace que &lt;code&gt;FinceptTerminal&lt;/code&gt; merezca la pena es que integra terminales financieros, investigación quant en Python, AI Agents, data connectors y node workflows en el mismo concepto de plataforma de escritorio de código abierto.&lt;/p&gt;
&lt;p&gt;Está mejor orientado como punto de partida para la investigación de tecnología financiera y la creación de herramientas internas, que como un producto terminado que pueda reemplazar directamente los terminales financieros profesionales o los sistemas de trading en vivo.
false&lt;/p&gt;
</description>
        </item>
        <item>
        <title>mattpocock/skills: una colecci贸n pr谩ctica de habilidades para agentes de codificaci贸n con IA</title>
        <link>https://knightli.com/es/2026/05/01/mattpocock-skills-ai-agent-coding-workflows/</link>
        <pubDate>Fri, 01 May 2026 03:43:20 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/01/mattpocock-skills-ai-agent-coding-workflows/</guid>
        <description>&lt;p&gt;&lt;code&gt;mattpocock/skills&lt;/code&gt; es una colección pública de habilidades de agentes de codificación IA de Matt Pocock.&lt;/p&gt;
&lt;p&gt;No es una aplicación completa ni un nuevo cliente de chat. Es un conjunto de habilidades funcionales que pueden ser utilizadas por asistentes de codificación IA. La idea es práctica: desglosar problemas comunes de codificación de IA en pequeñas habilidades que un Agent puede llamar en la tarea adecuada, en lugar de depender de un solo prompt enorme cada vez.&lt;/p&gt;
&lt;p&gt;Si a menudo utilizas Claude Code, Codex, Cursor o herramientas de codificación IA similares, vale la pena observar este tipo de colección de habilidades. Lo que realmente afecta la experiencia de codificación con IA a menudo no es si el modelo puede escribir código, sino si puede avanzar en la tarea según tu estilo de trabajo preferido.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;qué-problema-resuelve&#34;&gt;Qué Problema Resuelve
&lt;/h2&gt;&lt;p&gt;Los asistentes de codificación de IA son potentes, pero pueden cometer errores fácilmente.&lt;/p&gt;
&lt;p&gt;Las situaciones comunes incluyen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Comenzar cambios de código sin entender el requisito&lt;/li&gt;
&lt;li&gt;Modificar demasiados archivos a la vez&lt;/li&gt;
&lt;li&gt;Producir mucha explicación pero poca acción útil&lt;/li&gt;
&lt;li&gt;Intentar cosas a ciegas después de errores&lt;/li&gt;
&lt;li&gt;No ejecutar pruebas o verificaciones a tiempo&lt;/li&gt;
&lt;li&gt;Ignorar patrones de proyecto existentes&lt;/li&gt;
&lt;li&gt;Introducir abstracciones innecesarias para terminar una tarea&lt;/li&gt;
&lt;li&gt;Escribir código sin revisar realmente los riesgos después&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Estos problemas no siempre son causados por una débil capacidad del modelo. A menudo, el flujo de trabajo no está lo suficientemente restringido.&lt;/p&gt;
&lt;p&gt;El valor de &lt;code&gt;mattpocock/skills&lt;/code&gt; es que transforma estos modos de fallo comunes en métodos operativos reutilizables, haciendo que el Agent se comporte más como un colaborador de ingeniería experimentado en diferentes escenarios.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;qué-son-los-skills&#34;&gt;¿Qué son los Skills
&lt;/h2&gt;&lt;p&gt;En el contexto de AI Agent, un skill se puede entender como una instrucción de tarea reutilizable, un método de trabajo o un flujo de trabajo profesional.&lt;/p&gt;
&lt;p&gt;No tiene por qué ser un código plugin, y no siempre necesita llamar a un servicio externo. En muchos casos, un skill es simplemente un conjunto claro de reglas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cuándo usarlo&lt;/li&gt;
&lt;li&gt;Qué hacer primero&lt;/li&gt;
&lt;li&gt;Qué no hacer&lt;/li&gt;
&lt;li&gt;Qué salida se requiere&lt;/li&gt;
&lt;li&gt;Cómo juzgar la finalización de la tarea&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto es algo parecido a una normal prompt template, pero la granularidad está más cerca de una capacidad de tarea.&lt;/p&gt;
&lt;p&gt;Las normal prompt templates suelen copiarse y pegarse manualmente por el usuario. Los skills son mejores como parte de una toolbox de agente, lo que permite al Agent elegir el flujo de trabajo correcto para la tarea.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;por-qué-es-importante-la-pequeñez-y-la-componibilidad&#34;&gt;Por qué es importante la pequeñez y la componibilidad
&lt;/h2&gt;&lt;p&gt;El README enfatiza que estas habilidades son pequeñas y componibles.&lt;/p&gt;
&lt;p&gt;Esta dirección es importante.&lt;/p&gt;
&lt;p&gt;Si una habilidad intenta manejarlo todo, rápidamente se convierte en un nuevo prompt gigante: largo, vago y difícil de mantener. La ventaja de las habilidades pequeñas son los límites claros.&lt;/p&gt;
&lt;p&gt;Por ejemplo, una habilidad puede centrarse en:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Planificar primero&lt;/li&gt;
&lt;li&gt;Arreglar errores de TypeScript&lt;/li&gt;
&lt;li&gt;Ejecutar pruebas y corregir basándose en los resultados&lt;/li&gt;
&lt;li&gt;Realizar revisión de código (code review)&lt;/li&gt;
&lt;li&gt;Resumir convenciones del proyecto&lt;/li&gt;
&lt;li&gt;Mejorar prompts&lt;/li&gt;
&lt;li&gt;Eliminar abstracciones innecesarias&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Estas habilidades se pueden combinar según la tarea. Una tarea simple puede necesitar solo una habilidad, mientras que una tarea compleja puede encadenar varias.&lt;/p&gt;
&lt;p&gt;Esto se acerca más al trabajo de ingeniería real. No utilizas el mismo flujo de trabajo (workflow) para cada problema; eliges las herramientas según la situación.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;manteniendo-al-ingeniero-en-control&#34;&gt;Manteniendo al Ingeniero en Control
&lt;/h2&gt;&lt;p&gt;Una dirección importante de este repositorio es mantener al ingeniero en control.&lt;/p&gt;
&lt;p&gt;La codificación con IA puede derivarse fácilmente en dos extremos.&lt;/p&gt;
&lt;p&gt;El primero es completamente manual. La IA solo ayuda a escribir unas pocas líneas de código, mientras que todo el contexto, la planificación y la verificación todavía dependen de ti.&lt;/p&gt;
&lt;p&gt;El segundo es completamente automatizado (hands-off). Tú envías una tarea a un Agent, lo dejas cambiar muchas cosas, y luego te enfrentas a un &lt;code&gt;diff&lt;/code&gt; que es difícil de revisar.&lt;/p&gt;
&lt;p&gt;Las habilidades ayudan a encontrar una posición intermedia más estable.&lt;/p&gt;
&lt;p&gt;Permiten que la IA asuma más flujo de trabajo repetitivo, mientras la sigue limitando con reglas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Entender la tarea antes de actuar&lt;/li&gt;
&lt;li&gt;Leer los archivos relevantes antes de editar&lt;/li&gt;
&lt;li&gt;Mantener el alcance de la modificación controlado&lt;/li&gt;
&lt;li&gt;Informar sobre la incertidumbre&lt;/li&gt;
&lt;li&gt;Verificar después de los cambios&lt;/li&gt;
&lt;li&gt;No refactorizar código no relacionado solo para demostrar&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto no debilita a la IA. Hace que las acciones de la IA sean más fáciles de revisar y asumir para los humanos.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;problemas-de-alineación&#34;&gt;Problemas de Alineación
&lt;/h2&gt;&lt;p&gt;El primer tipo de fallo de codificación de IA suele ser un fallo de alineación.&lt;/p&gt;
&lt;p&gt;El usuario quiere un cambio muy específico, pero el Agent puede entenderlo como una refactorización más amplia. El usuario solo quiere que se arregle un bug, pero cambia estilos en el proceso. El usuario quiere que se siga la arquitectura existente, pero introduce un patrón nuevo.&lt;/p&gt;
&lt;p&gt;Las habilidades pueden ayudar al Agent a hacer varias cosas al comienzo de una tarea:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Restatear el objetivo&lt;/li&gt;
&lt;li&gt;Identificar el alcance del impacto&lt;/li&gt;
&lt;li&gt;Reconocer los patrones de implementación existentes&lt;/li&gt;
&lt;li&gt;Proporcionar un plan&lt;/li&gt;
&lt;li&gt;Aclarar lo que no se hará&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Este paso es como una autocomprobación del ingeniero antes de comenzar el trabajo.&lt;/p&gt;
&lt;p&gt;Si el Agent no puede declarar claramente los límites de la tarea y comienza a escribir código directamente, es fácil que la tarea se desvíe.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;problemas-del-bucle-de-retroalimentación&#34;&gt;Problemas del Bucle de Retroalimentación
&lt;/h2&gt;&lt;p&gt;La IA no debe escribir código únicamente mediante la generación one-shot.&lt;/p&gt;
&lt;p&gt;En el desarrollo real, los bucles de retroalimentación son importantes:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Cambiar una pequeña parte&lt;/li&gt;
&lt;li&gt;Ejecutar pruebas o type checks&lt;/li&gt;
&lt;li&gt;Leer los errores&lt;/li&gt;
&lt;li&gt;Corregirlos&lt;/li&gt;
&lt;li&gt;Verificar de nuevo&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Muchos Agents fallan porque omiten la retroalimentación intermedia. Cambian muchas cosas a la vez y luego resumen por intuición que &amp;ldquo;it should work&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Las Skills pueden hacer explícito el bucle de retroalimentación. Por ejemplo, pueden exigir al Agent que:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ejecute comprobaciones relevantes después de la modificación&lt;/li&gt;
&lt;li&gt;Lea los mensajes de error primero si las comprobaciones fallan&lt;/li&gt;
&lt;li&gt;Evite cambiar ciegamente archivos no relacionados&lt;/li&gt;
&lt;li&gt;Verifique de nuevo después de cada ronda de correcciones&lt;/li&gt;
&lt;li&gt;Informe los resultados finales de la verificación&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto hace que la codificación con IA se parezca más al depurado (debugging) real y menos a la escritura one-shot.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;problemas-de-control-de-arquitectura&#34;&gt;Problemas de Control de Arquitectura
&lt;/h2&gt;&lt;p&gt;AI es bueno generando abstracciones, y también bueno sobregenerando abstracciones.&lt;/p&gt;
&lt;p&gt;Para completar un requisito pequeño, puede crear una capa de servicio (service layer), funciones auxiliares (helper functions), objetos de configuración, &lt;em&gt;type wrappers&lt;/em&gt; y adaptadores, haciendo que el código sea mucho más complejo que el requisito en sí.&lt;/p&gt;
&lt;p&gt;Esto es especialmente peligroso en proyectos grandes. Las abstracciones generadas por AI a menudo parecen profesionales, pero pueden no coincidir con el estilo del proyecto existente y pueden aumentar el costo de mantenimiento.&lt;/p&gt;
&lt;p&gt;Las buenas habilidades recuerdan al Agent que:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Preferir patrones existentes&lt;/li&gt;
&lt;li&gt;Evitar nuevas abstracciones innecesarias&lt;/li&gt;
&lt;li&gt;Evitar la refactorización de áreas no relacionadas&lt;/li&gt;
&lt;li&gt;Ajustar el cambio al tamaño de la tarea&lt;/li&gt;
&lt;li&gt;Comprender el código antes de diseñar la estructura&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto reduce la producción que parece ingenierizada pero que en realidad es más difícil de mantener.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;por-qué-son-importantes-las-habilidades-de-revisión&#34;&gt;Por qué son importantes las habilidades de revisión
&lt;/h2&gt;&lt;p&gt;Escribir código y revisar código son estados diferentes.&lt;/p&gt;
&lt;p&gt;Cuando un Agent escribe código, generalmente tiende a demostrar que su implementación funciona. Puede explicar por qué el cambio debería funcionar, pero no siempre busca activamente riesgos.&lt;/p&gt;
&lt;p&gt;El propósito de una habilidad de revisión es cambiar el rol del Agent:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Encontrar posibles errores (bugs)&lt;/li&gt;
&lt;li&gt;Encontrar regresiones de comportamiento&lt;/li&gt;
&lt;li&gt;Encontrar pruebas faltantes&lt;/li&gt;
&lt;li&gt;Encontrar casos límite (edge cases)&lt;/li&gt;
&lt;li&gt;Encontrar mayor complejidad&lt;/li&gt;
&lt;li&gt;Encontrar inconsistencias con las convenciones existentes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto es importante para la programación con IA porque la IA genera código rápidamente. Sin revisión, los usuarios pueden sentirse fácilmente abrumados por grandes &lt;em&gt;diffs&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Una buena salida de revisión debe listar los problemas primero, no alabar la implementación primero. Debe ayudar al ingeniero a decidir si el cambio se puede fusionar (&lt;em&gt;merged&lt;/em&gt;).&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;diferencia-con-los-archivos-de-reglas-normales&#34;&gt;Diferencia con los archivos de reglas normales
&lt;/h2&gt;&lt;p&gt;Muchas herramientas de codificación de IA admiten reglas, instrucciones o memoria.&lt;/p&gt;
&lt;p&gt;Estos archivos generalmente registran reglas a largo plazo, como:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Stack tecnológico del proyecto&lt;/li&gt;
&lt;li&gt;Convenciones de nomenclatura&lt;/li&gt;
&lt;li&gt;Comandos de prueba&lt;/li&gt;
&lt;li&gt;Directorios que no deben modificarse&lt;/li&gt;
&lt;li&gt;Preferencias de estilo de respuesta&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Las habilidades (Skills) se centran más en el flujo de trabajo de la tarea.&lt;/p&gt;
&lt;p&gt;Las reglas le dicen al Agent &amp;ldquo;cómo comportarse a largo plazo&amp;rdquo;, mientras que las habilidades le dicen al Agent &amp;ldquo;cómo ejecutar este tipo de tarea&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Ambos funcionan mejor juntos.&lt;/p&gt;
&lt;p&gt;Por ejemplo, las reglas pueden indicar que el proyecto usa &lt;code&gt;pnpm test&lt;/code&gt;, mientras que una habilidad de revisión requiere verificar la cobertura de pruebas después de los cambios. Entonces el Agent sabe no solo el comando, sino también cuándo usarlo.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;escenarios-adecuados&#34;&gt;Escenarios Adecuados
&lt;/h2&gt;&lt;p&gt;Los repositorios como &lt;code&gt;mattpocock/skills&lt;/code&gt; son adecuados para:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Uso frecuente de AI coding tools&lt;/li&gt;
&lt;li&gt;Agents que trabajan en codebases reales&lt;/li&gt;
&lt;li&gt;Reducir ediciones de AI fuera de alcance&lt;/li&gt;
&lt;li&gt;Hacer que el Agent verifique los resultados de forma más activa&lt;/li&gt;
&lt;li&gt;Convertir tus hábitos de ingeniería en skills&lt;/li&gt;
&lt;li&gt;Aprender cómo otros diseñan workflows de agentes&lt;/li&gt;
&lt;li&gt;Convertir prompts temporales en una colección de skills mantenible&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si solo pides ocasionalmente a AI que escriba una función pequeña, quizás no necesites mantener skills.&lt;/p&gt;
&lt;p&gt;Pero si ya tratas a AI como un socio de desarrollo a largo plazo, las skills se vuelven cada vez más importantes. Son como un método de trabajo reutilizable para el Agent.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;cómo-aprender-de-este-repositorio&#34;&gt;Cómo aprender de este repositorio
&lt;/h2&gt;&lt;p&gt;Incluso si no utilizas cada habilidad directamente, puedes aprender varias cosas de este repositorio.&lt;/p&gt;
&lt;p&gt;Primero, anota los modos de fallo.&lt;/p&gt;
&lt;p&gt;No solo te quejes cuando la AI comete un error. Convierte los patrones que a menudo se equivoca en reglas, para que una habilidad pueda evitarlos la próxima vez.&lt;/p&gt;
&lt;p&gt;Segundo, mantén las habilidades cortas.&lt;/p&gt;
&lt;p&gt;Una habilidad debe resolver un problema claro. Cuanto más corta sea, más fácil será llamarla correctamente y mantenerla.&lt;/p&gt;
&lt;p&gt;Tercero, haz que el formato de salida sea claro.&lt;/p&gt;
&lt;p&gt;Si quieres que el Agent enumere un plan primero, ejecute después y resuma los resultados de verificación al final, escribe esa estructura claramente. Los requisitos vagos suelen producir resultados vagos.&lt;/p&gt;
&lt;p&gt;Cuarto, conserva puntos de traspaso humano.&lt;/p&gt;
&lt;p&gt;Una buena habilidad no debe permitir que la AI funcione sola durante demasiado tiempo. Cuando haya incertidumbre, un alcance de impacto expandido, pruebas fallidas o una decisión de producto, debe detenerse y explicar la situación.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;notas-de-uso&#34;&gt;Notas de uso
&lt;/h2&gt;&lt;p&gt;Primero, no conviertas todo en habilidades (skills).&lt;/p&gt;
&lt;p&gt;Demasiadas habilidades hacen que el sistema sea complejo, y el Agent podría no saber cuál elegir. Empieza con los escenarios más frecuentes y más problemáticos.&lt;/p&gt;
&lt;p&gt;Segundo, las habilidades necesitan iteración.&lt;/p&gt;
&lt;p&gt;La primera versión de una habilidad puede no ser buena. Observa cómo la IA la ejecuta realmente, luego elimina, añade y reescribe gradualmente.&lt;/p&gt;
&lt;p&gt;Tercero, no permitas que las habilidades reemplacen el juicio de la ingeniería.&lt;/p&gt;
&lt;p&gt;Las habilidades pueden mejorar el flujo de trabajo, pero no pueden garantizar una implementación correcta. Las pruebas (tests), la revisión, las comprobaciones de compilación (build checks) y el juicio humano siguen siendo importantes.&lt;/p&gt;
&lt;p&gt;Cuarto, presta atención a las diferencias entre los Agents.&lt;/p&gt;
&lt;p&gt;Claude Code, Codex, Cursor y Copilot soportan las instrucciones, las habilidades y las reglas de manera diferente. La misma idea se puede reutilizar, pero el formato específico debe ajustarse para cada herramienta.&lt;/p&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;referencia&#34;&gt;Referencia
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/mattpocock/skills&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;mattpocock/skills&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;false&lt;/p&gt;
&lt;h2 id=&#34;pensamiento-final&#34;&gt;Pensamiento Final
&lt;/h2&gt;&lt;p&gt;Lo que hace que &lt;code&gt;mattpocock/skills&lt;/code&gt; merezca la pena es no un único prompt mágico dentro de él, sino la idea práctica de codificación con IA que demuestra: dividir la experiencia de ingeniería en pequeñas habilidades y luego permitir que el Agent las combine según el escenario.&lt;/p&gt;
&lt;p&gt;A medida que la codificación con IA pasa de ser una asistencia ocasional a formar parte del flujo de trabajo diario, las habilidades se convierten en herramientas importantes para limitar a los Agents, mantener a los ingenieros en control y mejorar la calidad de la retroalimentación.
false&lt;/p&gt;
</description>
        </item>
        <item>
        <title>free-claude-code: conectar Claude Code a OpenRouter, DeepSeek y modelos locales mediante un proxy</title>
        <link>https://knightli.com/es/2026/05/01/free-claude-code-anthropic-compatible-proxy/</link>
        <pubDate>Fri, 01 May 2026 03:41:49 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/01/free-claude-code-anthropic-compatible-proxy/</guid>
        <description>&lt;p&gt;&lt;code&gt;free-claude-code&lt;/code&gt; es un Anthropic-compatible proxy para usar con &lt;code&gt;Claude Code&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;La idea no es crackear Claude Code ni ofrecer un servicio Claude oficial gratuito, sino iniciar localmente un proxy compatible con la forma de la API de Anthropic y reenviar las solicitudes de Claude Code a otros backends de modelos. El README menciona backends como NVIDIA NIM, OpenRouter, DeepSeek, LM Studio, llama.cpp y Ollama.&lt;/p&gt;
&lt;p&gt;En pocas palabras, resuelve este problema: te gusta la experiencia de Claude Code en la terminal, pero quieres conectar las peticiones del modelo a otro provider o a un modelo local.&lt;/p&gt;
&lt;h2 id=&#34;qué-problema-resuelve&#34;&gt;Qué problema resuelve
&lt;/h2&gt;&lt;p&gt;La experiencia interactiva de Claude Code es muy adecuada para tareas de desarrollo.&lt;/p&gt;
&lt;p&gt;Puede leer código en la terminal, modificar archivos, ejecutar comandos y avanzar según el contexto del proyecto. El problema es que muchos usuarios no necesariamente quieren usar siempre el mismo backend de modelo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Quieren probar distintos modelos en OpenRouter&lt;/li&gt;
&lt;li&gt;Quieren usar modelos como DeepSeek para reducir costes&lt;/li&gt;
&lt;li&gt;Quieren conectar las peticiones a Ollama local&lt;/li&gt;
&lt;li&gt;Quieren ejecutar modelos locales con LM Studio o llama.cpp&lt;/li&gt;
&lt;li&gt;Quieren unificar en el entorno de desarrollo una entrada de proxy&lt;/li&gt;
&lt;li&gt;Quieren comparar el rendimiento de distintos modelos dentro del flujo de Claude Code&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;El posicionamiento de &lt;code&gt;free-claude-code&lt;/code&gt; es añadir una capa de proxy compatible entre Claude Code y estos servicios de modelos.&lt;/p&gt;
&lt;p&gt;Así, Claude Code sigue enviando solicitudes con estilo Anthropic, y el proxy se encarga de adaptarlas a distintos backends.&lt;/p&gt;
&lt;h2 id=&#34;funcionamiento&#34;&gt;Funcionamiento
&lt;/h2&gt;&lt;p&gt;Puede entenderse como tres capas:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;El frontend es Claude Code&lt;/li&gt;
&lt;li&gt;En medio está el proxy &lt;code&gt;free-claude-code&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;El backend es OpenRouter, DeepSeek, un modelo local u otro servicio de modelo&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Claude Code cree que está accediendo a una API Anthropic-compatible.&lt;/p&gt;
&lt;p&gt;El proxy recibe la solicitud, elige el provider objetivo según la configuración, transforma los campos necesarios y devuelve la respuesta a Claude Code.&lt;/p&gt;
&lt;p&gt;La ventaja de esta estructura es que no necesitas modificar Claude Code ni exigir que cada servicio de modelo soporte Claude Code de forma nativa. Mientras el proxy pueda alinear la interfaz, puede conectar más modelos al mismo flujo de trabajo.&lt;/p&gt;
&lt;h2 id=&#34;backends-soportados&#34;&gt;Backends soportados
&lt;/h2&gt;&lt;p&gt;Las direcciones listadas en el README incluyen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;NVIDIA NIM&lt;/li&gt;
&lt;li&gt;OpenRouter&lt;/li&gt;
&lt;li&gt;DeepSeek&lt;/li&gt;
&lt;li&gt;LM Studio&lt;/li&gt;
&lt;li&gt;llama.cpp&lt;/li&gt;
&lt;li&gt;Ollama&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Estos backends representan varias formas de uso.&lt;/p&gt;
&lt;p&gt;OpenRouter se parece más a una entrada agregadora de modelos, útil para probar distintos modelos comerciales y open source.&lt;/p&gt;
&lt;p&gt;DeepSeek conviene a quienes se preocupan por capacidad en chino, capacidad de código y coste.&lt;/p&gt;
&lt;p&gt;LM Studio, llama.cpp y Ollama se inclinan hacia la ruta de modelos locales. Sirven para ejecutar modelos en tu propia máquina o en un entorno de intranet, reducir dependencia de APIs externas y facilitar experimentos offline.&lt;/p&gt;
&lt;p&gt;NVIDIA NIM está más orientado a inferencia empresarial y despliegue con GPU.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-un-anthropic-compatible-proxy&#34;&gt;Por qué un Anthropic-compatible proxy
&lt;/h2&gt;&lt;p&gt;Claude Code está diseñado alrededor de la interfaz y los hábitos de modelo de Anthropic.&lt;/p&gt;
&lt;p&gt;Si quieres conectarlo a otros modelos, el problema más directo es que las interfaces no coinciden:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Campos de solicitud distintos&lt;/li&gt;
&lt;li&gt;Nombres de modelo distintos&lt;/li&gt;
&lt;li&gt;Formatos de streaming distintos&lt;/li&gt;
&lt;li&gt;Expresión de tool use distinta&lt;/li&gt;
&lt;li&gt;Formatos de error distintos&lt;/li&gt;
&lt;li&gt;Límites de tokens y contexto distintos&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;El valor de la capa proxy está ahí.&lt;/p&gt;
&lt;p&gt;Mantiene la interfaz vista por Claude Code con una forma cercana a Anthropic y adapta el backend. Para el usuario, después de configurar el proxy, puede probar distintos modelos dentro del mismo flujo de Claude Code.&lt;/p&gt;
&lt;h2 id=&#34;escenarios-adecuados&#34;&gt;Escenarios adecuados
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;free-claude-code&lt;/code&gt; es adecuado para:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Querer usar el flujo de terminal de Claude Code&lt;/li&gt;
&lt;li&gt;Probar modelos no Anthropic dentro de Claude Code&lt;/li&gt;
&lt;li&gt;Reducir costes de llamadas de modelo&lt;/li&gt;
&lt;li&gt;Conectar Claude Code a OpenRouter&lt;/li&gt;
&lt;li&gt;Integrar DeepSeek u otros servicios de modelo compatibles&lt;/li&gt;
&lt;li&gt;Usar Ollama, LM Studio o llama.cpp para ejecutar modelos locales&lt;/li&gt;
&lt;li&gt;Configurar para un equipo una entrada unificada de proxy de modelos&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si solo usas Claude Code oficial normalmente y no tienes necesidades especiales de provider, coste o despliegue local, quizá no necesites este tipo de proxy.&lt;/p&gt;
&lt;p&gt;Pero si comparas modelos con frecuencia o quieres que Claude Code acceda a modelos locales y de terceros, este tipo de herramienta es útil.&lt;/p&gt;
&lt;h2 id=&#34;diferencia-frente-a-usar-directamente-openrouter-u-ollama&#34;&gt;Diferencia frente a usar directamente OpenRouter u Ollama
&lt;/h2&gt;&lt;p&gt;Usar directamente OpenRouter, Ollama o LM Studio normalmente significa conversar con el modelo o llamarlo mediante API.&lt;/p&gt;
&lt;p&gt;El punto central de &lt;code&gt;free-claude-code&lt;/code&gt; no es sustituir esos servicios, sino conectarlos al flujo de desarrollo de Claude Code.&lt;/p&gt;
&lt;p&gt;La diferencia está en:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sigues usando la experiencia de terminal de Claude Code&lt;/li&gt;
&lt;li&gt;La IA puede realizar tareas alrededor del repositorio de código&lt;/li&gt;
&lt;li&gt;El backend de modelo puede cambiarse por otro provider&lt;/li&gt;
&lt;li&gt;Los modelos locales también tienen oportunidad de entrar en el flujo de Claude Code&lt;/li&gt;
&lt;li&gt;La configuración se concentra en la capa proxy, no se cambia por separado en cada herramienta&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Por eso se parece más a un puente que a un nuevo cliente de chat.&lt;/p&gt;
&lt;h2 id=&#34;precauciones-con-modelos-locales&#34;&gt;Precauciones con modelos locales
&lt;/h2&gt;&lt;p&gt;Conectar Claude Code a modelos locales es atractivo, pero también tiene límites prácticos.&lt;/p&gt;
&lt;p&gt;Primero, diferencia de capacidad del modelo.&lt;/p&gt;
&lt;p&gt;Las tareas de Claude Code no son solo chat; incluyen entender código, planificar cambios, editar archivos y procesar salidas de comandos. Un modelo local pequeño no necesariamente puede completar estas tareas de forma estable.&lt;/p&gt;
&lt;p&gt;Segundo, ventana de contexto.&lt;/p&gt;
&lt;p&gt;Las tareas de código consumen mucho contexto. Si la ventana del modelo es demasiado pequeña, puede no leer archivos completos, perder restricciones o olvidar contexto durante varias rondas.&lt;/p&gt;
&lt;p&gt;Tercero, compatibilidad con tool use.&lt;/p&gt;
&lt;p&gt;El flujo de Claude Code depende de llamadas a herramientas y comportamiento estructurado. Aunque un backend pueda chatear, no necesariamente sigue bien protocolos de tool calling.&lt;/p&gt;
&lt;p&gt;Cuarto, velocidad y hardware.&lt;/p&gt;
&lt;p&gt;La velocidad del modelo local depende de la máquina, el método de cuantización y el tamaño del modelo. Si una tarea de código responde demasiado lento, la experiencia se degrada de forma notable.&lt;/p&gt;
&lt;p&gt;Por eso, los modelos locales son más adecuados para experimentos, tareas de bajo riesgo y escenarios concretos. Para tareas de código realmente complejas, todavía hay que elegir con cuidado según la capacidad del modelo.&lt;/p&gt;
&lt;h2 id=&#34;límites-de-uso&#34;&gt;Límites de uso
&lt;/h2&gt;&lt;p&gt;Este tipo de proyecto puede malinterpretarse fácilmente por el título, así que conviene aclarar los límites.&lt;/p&gt;
&lt;p&gt;Primero, no es cuota gratuita oficial de Claude Code.&lt;/p&gt;
&lt;p&gt;Solo reenvía las solicitudes de Claude Code a otros backends de modelos. Al usar OpenRouter, DeepSeek, NVIDIA NIM u otras APIs, sigues teniendo que cumplir precios, cuotas y condiciones de uso de esos servicios.&lt;/p&gt;
&lt;p&gt;Segundo, no es una herramienta para saltarse autorización.&lt;/p&gt;
&lt;p&gt;Al usar cualquier proxy, hay que cumplir las licencias y términos de Claude Code, del proveedor de modelo y del propio proyecto. No debería entenderse como una forma de evitar restricciones oficiales.&lt;/p&gt;
&lt;p&gt;Tercero, el proxy procesará el contenido de tus solicitudes.&lt;/p&gt;
&lt;p&gt;Código, salida de comandos y contexto del proyecto pueden pasar por el proxy y por el servicio backend. Al desplegarlo, hay que considerar logs, claves, red y límites de privacidad. Para código de empresa o proyectos sensibles, es mejor usar un entorno controlado.&lt;/p&gt;
&lt;p&gt;Cuarto, el rendimiento de distintos modelos puede variar mucho.&lt;/p&gt;
&lt;p&gt;La misma operación de Claude Code puede comportarse de forma completamente distinta al cambiar de modelo. No asumas que todos los modelos pueden sustituir a Claude.&lt;/p&gt;
&lt;h2 id=&#34;relación-con-proxies-como-litellm&#34;&gt;Relación con proxies como LiteLLM
&lt;/h2&gt;&lt;p&gt;Desde el punto de vista de diseño, &lt;code&gt;free-claude-code&lt;/code&gt; pertenece a la categoría de &amp;ldquo;proxies de interfaz compatible&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;El objetivo común de estas herramientas es reducir el acoplamiento entre la aplicación superior y los servicios de modelos inferiores. La aplicación superior solo se enfrenta a una interfaz relativamente unificada, y los providers de abajo pueden cambiarse por configuración.&lt;/p&gt;
&lt;p&gt;Cada proyecto tiene un foco distinto. Algunos se orientan a gateway de modelos general, otros a OpenAI-compatible API, y otros se adaptan específicamente a herramientas como Claude Code.&lt;/p&gt;
&lt;p&gt;Lo interesante de &lt;code&gt;free-claude-code&lt;/code&gt; es que coloca el escenario objetivo directamente en Claude Code, no en un proxy de chat genérico.&lt;/p&gt;
&lt;h2 id=&#34;usuarios-adecuados&#34;&gt;Usuarios adecuados
&lt;/h2&gt;&lt;p&gt;Es más adecuado para usuarios con cierta capacidad de configuración:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Conocen Claude Code&lt;/li&gt;
&lt;li&gt;Saben configurar API key y provider de modelos&lt;/li&gt;
&lt;li&gt;Entienden cómo arrancar un proxy y variables de entorno&lt;/li&gt;
&lt;li&gt;Pueden diagnosticar problemas de red, puertos, nombres de modelo y streaming&lt;/li&gt;
&lt;li&gt;Quieren comparar el rendimiento de distintos modelos en tareas de código&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si solo quieres algo listo para usar, la configuración oficial suele ser más tranquila.&lt;/p&gt;
&lt;p&gt;Si estás dispuesto a montar proxy, cambiar modelos, ajustar parámetros y quieres llevar Claude Code a más entornos de modelo, este proyecto merece estudio.&lt;/p&gt;
&lt;h2 id=&#34;referencia&#34;&gt;Referencia
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/Alishahryar1/free-claude-code&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Alishahryar1/free-claude-code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;una-última-frase&#34;&gt;Una última frase
&lt;/h2&gt;&lt;p&gt;El valor de &lt;code&gt;free-claude-code&lt;/code&gt; no está en la palabra &amp;ldquo;free&amp;rdquo;, sino en construir un puente entre Claude Code y más backends de modelos.&lt;/p&gt;
&lt;p&gt;Cuando quieres conservar la experiencia de desarrollo de Claude Code y al mismo tiempo probar OpenRouter, DeepSeek, modelos locales o servicios de inferencia empresariales, este tipo de Anthropic-compatible proxy tiene sentido.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Compound Engineering Plugin: convertir la programación con IA en un ciclo de planificación, ejecución y revisión</title>
        <link>https://knightli.com/es/2026/05/01/compound-engineering-plugin-ai-coding-workflow/</link>
        <pubDate>Fri, 01 May 2026 03:15:39 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/01/compound-engineering-plugin-ai-coding-workflow/</guid>
        <description>&lt;p&gt;&lt;code&gt;Compound Engineering Plugin&lt;/code&gt; es un plugin de flujo de trabajo de programación con IA publicado como open source por Every Inc.&lt;/p&gt;
&lt;p&gt;No se centra en &amp;ldquo;hacer que la IA escriba un fragmento de código más rápido&amp;rdquo;, sino en colocar la programación con IA dentro de un ciclo más parecido al de un equipo de ingeniería: primero planificar, luego implementar, después revisar y finalmente conservar la experiencia aprendida. Para quienes usan con frecuencia herramientas como Claude Code, Codex, Cursor o Copilot, este tipo de plugin resuelve un problema de flujo de trabajo, no solo de prompts.&lt;/p&gt;
&lt;p&gt;Las herramientas de programación con IA son cada vez más fuertes, pero en proyectos reales lo más difícil no suele ser generar código, sino lograr que siga de forma continua las reglas del proyecto, entienda los límites de la tarea, evite repetir errores y acumule contexto durante iteraciones largas.&lt;/p&gt;
&lt;h2 id=&#34;qué-problema-resuelve&#34;&gt;Qué problema resuelve
&lt;/h2&gt;&lt;p&gt;Muchas personas usan asistentes de programación con IA más o menos así:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Describen directamente el requisito&lt;/li&gt;
&lt;li&gt;Dejan que la IA modifique código&lt;/li&gt;
&lt;li&gt;Miran si el resultado puede ejecutarse&lt;/li&gt;
&lt;li&gt;Si hay error, añaden más instrucciones&lt;/li&gt;
&lt;li&gt;En la siguiente tarea vuelven a explicar desde cero&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Este método puede completar tareas pequeñas, pero en proyectos complejos aparecen problemas con facilidad:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;El requisito no se divide primero con claridad y la IA empieza a modificar directamente&lt;/li&gt;
&lt;li&gt;Falta una review sistemática después de los cambios&lt;/li&gt;
&lt;li&gt;Las reglas del proyecto dependen de que el usuario las recuerde una y otra vez&lt;/li&gt;
&lt;li&gt;El mismo tipo de error vuelve a aparecer en la siguiente ocasión&lt;/li&gt;
&lt;li&gt;Falta un método de trabajo común entre varias herramientas Agent&lt;/li&gt;
&lt;li&gt;La experiencia no se convierte en reglas reutilizables&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;Compound Engineering Plugin&lt;/code&gt; quiere resolver precisamente estos problemas. Divide la programación con IA en varias etapas, para que el Agent no solo ejecute comandos, sino que participe en un proceso de ingeniería más completo.&lt;/p&gt;
&lt;h2 id=&#34;qué-es-compound-engineering&#34;&gt;Qué es Compound Engineering
&lt;/h2&gt;&lt;p&gt;Según la descripción del README del proyecto, Compound Engineering puede entenderse como un método de desarrollo de software asistido por IA.&lt;/p&gt;
&lt;p&gt;Destaca un ciclo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Planificación: entender primero el objetivo, dividir tareas y confirmar la ruta&lt;/li&gt;
&lt;li&gt;Ejecución: modificar código según el plan, ejecutar comandos y tratar problemas&lt;/li&gt;
&lt;li&gt;Revisión: comprobar calidad de implementación, riesgos y cobertura de pruebas&lt;/li&gt;
&lt;li&gt;Aprendizaje: convertir la experiencia en reglas reutilizables para el futuro&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Este ciclo se parece mucho a la forma de trabajo de un equipo de ingeniería real.&lt;/p&gt;
&lt;p&gt;Un ingeniero fiable no recibe un requisito y empieza a cambiar cosas sin rumbo, ni entrega directamente después de modificar. Primero evalúa el alcance de impacto, luego implementa, después revisa riesgos y resultados de pruebas, y finalmente registra los problemas encontrados. Los AI Agent también necesitan restricciones similares.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-hace-falta-un-plugin&#34;&gt;Por qué hace falta un plugin
&lt;/h2&gt;&lt;p&gt;Un prompt puede decirle a la IA &amp;ldquo;planifica antes de ejecutar&amp;rdquo;, pero el prompt por sí mismo no siempre es estable.&lt;/p&gt;
&lt;p&gt;Cuando la conversación se alarga y el contexto se vuelve complejo, el modelo puede saltarse la planificación, ignorar reglas o volverse demasiado confiado para terminar la tarea. El valor del plugin está en fijar el proceso para que distintos entornos Agent sigan un método parecido.&lt;/p&gt;
&lt;p&gt;Este tipo de plugin suele dividir el flujo de trabajo en comandos, reglas, plantillas o subprocesos. El usuario no necesita escribir cada vez un prompt completo, sino que activa una etapa mediante una entrada fija.&lt;/p&gt;
&lt;p&gt;Por ejemplo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pedir primero al Agent que genere un plan&lt;/li&gt;
&lt;li&gt;Implementar después paso a paso según el plan&lt;/li&gt;
&lt;li&gt;Activar review tras terminar los cambios&lt;/li&gt;
&lt;li&gt;Volver a corregir cuando se encuentren problemas&lt;/li&gt;
&lt;li&gt;Escribir las experiencias valiosas en memoria o reglas&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto hace que la programación con IA se parezca más a una &amp;ldquo;colaboración controlada&amp;rdquo; que a una conversación de una sola vez.&lt;/p&gt;
&lt;h2 id=&#34;qué-entornos-agent-soporta&#34;&gt;Qué entornos Agent soporta
&lt;/h2&gt;&lt;p&gt;El README menciona que el proyecto soporta varios entornos de programación con IA, incluyendo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Claude Code&lt;/li&gt;
&lt;li&gt;Codex&lt;/li&gt;
&lt;li&gt;Cursor&lt;/li&gt;
&lt;li&gt;GitHub Copilot&lt;/li&gt;
&lt;li&gt;Amp&lt;/li&gt;
&lt;li&gt;Factory&lt;/li&gt;
&lt;li&gt;Qwen Code&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Este punto es importante.&lt;/p&gt;
&lt;p&gt;Muchas herramientas de flujo de trabajo están atadas a un solo cliente; al cambiar de herramienta, las reglas dejan de reutilizarse. &lt;code&gt;Compound Engineering Plugin&lt;/code&gt; se parece más a un método de ingeniería transversal a distintos Agent, llevando procesos similares de planificación, ejecución y revisión a varias herramientas.&lt;/p&gt;
&lt;p&gt;Si usas varios asistentes de programación con IA al mismo tiempo, este tipo de flujo unificado gana valor. Las herramientas tienen capacidades distintas, pero las normas del proyecto, los hábitos de review y el método de división de tareas deberían ser lo más consistentes posible.&lt;/p&gt;
&lt;h2 id=&#34;para-qué-sirve-la-etapa-de-planificación&#34;&gt;Para qué sirve la etapa de planificación
&lt;/h2&gt;&lt;p&gt;El valor de la planificación es evitar que la IA actúe demasiado pronto.&lt;/p&gt;
&lt;p&gt;En tareas complejas, las preguntas realmente importantes suelen ser:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Qué archivos hay que modificar&lt;/li&gt;
&lt;li&gt;Qué módulos pueden verse afectados&lt;/li&gt;
&lt;li&gt;Cuál es el patrón existente&lt;/li&gt;
&lt;li&gt;Si hay pruebas&lt;/li&gt;
&lt;li&gt;Dónde están los riesgos&lt;/li&gt;
&lt;li&gt;Si hay que leer documentación antes&lt;/li&gt;
&lt;li&gt;Si puede dividirse en pasos más pequeños&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si el Agent no piensa primero estas preguntas y se pone a escribir código directamente, es fácil que produzca una implementación que parece terminada, pero que se aleja de la estructura del proyecto.&lt;/p&gt;
&lt;p&gt;El plan no tiene que ser largo. Un buen plan debería ser corto, concreto y ejecutable. Su objetivo no es fabricar documentación, sino dar límites a la implementación posterior.&lt;/p&gt;
&lt;h2 id=&#34;qué-evitar-en-la-etapa-de-ejecución&#34;&gt;Qué evitar en la etapa de ejecución
&lt;/h2&gt;&lt;p&gt;Cuando la IA ejecuta tareas de código, aparecen con facilidad varios problemas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Refactorizar código no relacionado de paso&lt;/li&gt;
&lt;li&gt;Sobrescribir cambios existentes del usuario&lt;/li&gt;
&lt;li&gt;Cambiar solo el happy path&lt;/li&gt;
&lt;li&gt;Ignorar manejo de errores&lt;/li&gt;
&lt;li&gt;No seguir el estilo existente del proyecto&lt;/li&gt;
&lt;li&gt;No ejecutar validaciones necesarias&lt;/li&gt;
&lt;li&gt;Probar a ciegas tras encontrar errores&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Un plugin de flujo de trabajo no puede garantizar que estos problemas desaparezcan por completo, pero puede reducir su frecuencia mediante reglas y restricciones por etapa.&lt;/p&gt;
&lt;p&gt;Por ejemplo, la etapa de ejecución puede pedir al Agent que avance paso a paso según el plan; si descubre algo fuera del alcance previsto, primero explica el riesgo; si modifica módulos compartidos, añade pruebas o al menos ejecuta validaciones relacionadas.&lt;/p&gt;
&lt;p&gt;Esta restricción es especialmente importante en codebases grandes. Cuanto más rápido escribe código la IA, más necesita un proceso que limite su inercia.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-importa-la-etapa-de-review&#34;&gt;Por qué importa la etapa de review
&lt;/h2&gt;&lt;p&gt;Muchos fallos de programación con IA no ocurren porque el código no pueda ejecutarse en absoluto, sino porque los detalles están mal:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;No se tratan condiciones límite&lt;/li&gt;
&lt;li&gt;Las actualizaciones de estado no son consistentes&lt;/li&gt;
&lt;li&gt;El contrato de API se cambia en silencio&lt;/li&gt;
&lt;li&gt;Las pruebas no cubren rutas clave&lt;/li&gt;
&lt;li&gt;Los mensajes de error no son claros&lt;/li&gt;
&lt;li&gt;No se mencionan riesgos de rendimiento o seguridad&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La etapa de review cambia al Agent de &amp;ldquo;modo autor&amp;rdquo; a &amp;ldquo;modo revisor&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;El modo autor tiende a justificar su propia implementación; el modo revisor debe buscar activamente defectos, riesgos de regresión y pruebas omitidas. Separar estas dos etapas suele ser más fiable que pedir en una misma respuesta que implemente y se autoevalúe.&lt;/p&gt;
&lt;p&gt;Para el usuario, la salida de review también es más valiosa. Ayuda a decidir rápidamente si este cambio merece integrarse o si necesita otra ronda de trabajo.&lt;/p&gt;
&lt;h2 id=&#34;el-sentido-de-aprendizaje-y-memoria&#34;&gt;El sentido de aprendizaje y memoria
&lt;/h2&gt;&lt;p&gt;La palabra &amp;ldquo;Compound&amp;rdquo; del nombre del proyecto sugiere una idea importante: la experiencia de ingeniería debería crecer con efecto compuesto.&lt;/p&gt;
&lt;p&gt;Si cada vez que la IA comete un error solo lo arregla en ese momento, pero la próxima vez comete el mismo error, la mejora de eficiencia es limitada. Un mejor método es conservar la experiencia útil:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Convenciones de directorios del proyecto&lt;/li&gt;
&lt;li&gt;Métodos de diagnóstico para ciertos errores&lt;/li&gt;
&lt;li&gt;Comandos de prueba y precauciones&lt;/li&gt;
&lt;li&gt;Archivos generados que no deben tocarse&lt;/li&gt;
&lt;li&gt;Preferencias de estilo de código&lt;/li&gt;
&lt;li&gt;Patrones de implementación habituales&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Estas experiencias pueden convertirse en reglas, memoria, documentación o plantillas. En tareas posteriores, el Agent lee primero ese conocimiento acumulado y luego empieza a trabajar.&lt;/p&gt;
&lt;p&gt;Esa es la clave para que la programación con IA pase de &amp;ldquo;pregunta y respuesta puntual&amp;rdquo; a &amp;ldquo;colaboración de largo plazo&amp;rdquo;.&lt;/p&gt;
&lt;h2 id=&#34;escenarios-adecuados&#34;&gt;Escenarios adecuados
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;Compound Engineering Plugin&lt;/code&gt; es adecuado para:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Usar AI Agent para escribir código de forma continua&lt;/li&gt;
&lt;li&gt;Modificar un mismo proyecto durante muchas rondas&lt;/li&gt;
&lt;li&gt;Querer que la IA planifique antes de implementar&lt;/li&gt;
&lt;li&gt;Querer que después de modificar entre automáticamente en mentalidad de review&lt;/li&gt;
&lt;li&gt;Equipos que quieren unificar el flujo de programación con IA&lt;/li&gt;
&lt;li&gt;Personas que usan a la vez Claude Code, Codex, Cursor y otras herramientas&lt;/li&gt;
&lt;li&gt;Querer convertir experiencia del proyecto en reglas reutilizables&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si solo pides ocasionalmente a la IA que escriba un pequeño script, el flujo completo puede parecer pesado.&lt;/p&gt;
&lt;p&gt;Pero si estás tratando al asistente de programación con IA como un compañero diario de desarrollo, el ciclo de planificación, ejecución, revisión y aprendizaje se vuelve claramente útil.&lt;/p&gt;
&lt;h2 id=&#34;diferencia-frente-a-plantillas-de-prompt-comunes&#34;&gt;Diferencia frente a plantillas de prompt comunes
&lt;/h2&gt;&lt;p&gt;Las plantillas de prompt comunes suelen resolver &amp;ldquo;cómo expresar bien la tarea&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Por ejemplo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Piensa paso a paso&lt;/li&gt;
&lt;li&gt;Lee primero los archivos&lt;/li&gt;
&lt;li&gt;Mantén el estilo de código&lt;/li&gt;
&lt;li&gt;Ejecuta pruebas&lt;/li&gt;
&lt;li&gt;Resume los cambios&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Estas indicaciones son útiles, pero siguen dependiendo de que el usuario las use correctamente cada vez.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Compound Engineering Plugin&lt;/code&gt; se sitúa más en la capa de flujo de trabajo. Organiza estos requisitos en un proceso repetible y lo adapta a distintas herramientas Agent. Así, no partes de cero escribiendo prompts cada vez, sino que avanzas dentro de un proceso.&lt;/p&gt;
&lt;p&gt;En pocas palabras, una plantilla de prompt se parece a un recordatorio; un plugin de flujo de trabajo se parece a un sistema.&lt;/p&gt;
&lt;h2 id=&#34;precauciones-al-usarlo&#34;&gt;Precauciones al usarlo
&lt;/h2&gt;&lt;p&gt;Primero, no conviertas el proceso en una carga.&lt;/p&gt;
&lt;p&gt;Las tareas pequeñas no siempre necesitan un plan completo y una review larga. Un buen flujo de trabajo debería ajustarse a la complejidad de la tarea: resolver rápido los problemas simples y usar el ciclo completo en problemas complejos.&lt;/p&gt;
&lt;p&gt;Segundo, la review no sustituye a las pruebas.&lt;/p&gt;
&lt;p&gt;Una review hecha por Agent puede encontrar muchos problemas, pero aun así puede omitir errores reales de ejecución. El juicio final depende de pruebas, type checking, resultados de build y revisión humana.&lt;/p&gt;
&lt;p&gt;Tercero, hay que limpiar reglas de forma continua.&lt;/p&gt;
&lt;p&gt;Acumular experiencia es importante, pero demasiadas reglas también se convierten en ruido. Reglas obsoletas, repetidas o que solo servían para una tarea puntual deberían ordenarse periódicamente.&lt;/p&gt;
&lt;p&gt;Cuarto, consistencia entre herramientas no significa identidad total.&lt;/p&gt;
&lt;p&gt;Claude Code, Codex, Cursor, Copilot y otras herramientas tienen capacidades e interacciones diferentes. Lo que se unifica es el método de trabajo, no necesariamente cada comando ni cada detalle de configuración.&lt;/p&gt;
&lt;h2 id=&#34;qué-equipos-pueden-aprovecharlo&#34;&gt;Qué equipos pueden aprovecharlo
&lt;/h2&gt;&lt;p&gt;Si un equipo ya permite que AI Agent modifique código real, no basta con discutir &amp;ldquo;qué modelo es más fuerte&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Debería preocuparse más por:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Si la IA entiende la tarea antes de modificar&lt;/li&gt;
&lt;li&gt;Si respeta límites del proyecto mientras modifica&lt;/li&gt;
&lt;li&gt;Si revisa riesgos activamente después de modificar&lt;/li&gt;
&lt;li&gt;Si aprende de errores históricos&lt;/li&gt;
&lt;li&gt;Si el equipo tiene una norma común de uso de Agent&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ahí está el sentido de proyectos como &lt;code&gt;Compound Engineering Plugin&lt;/code&gt;. Llevan la programación con IA desde una habilidad personal hacia un proceso reutilizable por el equipo.&lt;/p&gt;
&lt;h2 id=&#34;referencia&#34;&gt;Referencia
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/EveryInc/compound-engineering-plugin&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;EveryInc/compound-engineering-plugin&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;una-última-frase&#34;&gt;Una última frase
&lt;/h2&gt;&lt;p&gt;Lo que merece atención de &lt;code&gt;Compound Engineering Plugin&lt;/code&gt; no es que añada un comando más de programación con IA, sino que organiza la programación con IA como un proceso de ingeniería que puede mejorar en ciclos.&lt;/p&gt;
&lt;p&gt;Cuando los AI Agent empiezan a participar en proyectos reales, planificación, ejecución, revisión y acumulación de experiencia importan más que generar código una sola vez.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>TradingAgents-CN: un marco multiagente de investigación de trading financiero para usuarios chinos</title>
        <link>https://knightli.com/es/2026/05/01/tradingagents-cn-multi-agent-financial-research-framework/</link>
        <pubDate>Fri, 01 May 2026 03:14:15 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/01/tradingagents-cn-multi-agent-financial-research-framework/</guid>
        <description>&lt;p&gt;&lt;code&gt;TradingAgents-CN&lt;/code&gt; es un marco de investigación de trading financiero multiagente orientado a usuarios chinos.&lt;/p&gt;
&lt;p&gt;Su objetivo no es dar una respuesta simple a &amp;ldquo;qué acción comprar&amp;rdquo;, sino usar varios AI Agent para simular un equipo de análisis financiero más completo: alguien observa los fundamentales, alguien mira el análisis técnico, alguien sigue noticias y sentimiento, y alguien se encarga del riesgo y de la decisión final. Para quienes quieren estudiar LLM + Agent + análisis financiero, este tipo de proyecto es una buena puerta de entrada experimental.&lt;/p&gt;
&lt;p&gt;Primero hay que dejar algo claro: estas herramientas son adecuadas para aprendizaje, investigación y análisis asistido, y no deben tratarse como asesoramiento real de trading. Los mercados financieros tienen riesgo, y las salidas del modelo también pueden ser erróneas, retrasadas o demasiado confiadas.&lt;/p&gt;
&lt;h2 id=&#34;qué-problema-resuelve&#34;&gt;Qué problema resuelve
&lt;/h2&gt;&lt;p&gt;Un modelo de chat común también puede analizar acciones, por supuesto.&lt;/p&gt;
&lt;p&gt;Puedes preguntar directamente: &amp;ldquo;Ayúdame a analizar si cierta empresa se puede comprar.&amp;rdquo; El modelo dará una respuesta que parece completa. Pero ese enfoque tiene varios problemas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La cadena de análisis no es transparente&lt;/li&gt;
&lt;li&gt;Las distintas dimensiones se mezclan con facilidad&lt;/li&gt;
&lt;li&gt;Falta división de roles&lt;/li&gt;
&lt;li&gt;Falta choque entre puntos de vista favorables y contrarios&lt;/li&gt;
&lt;li&gt;Las advertencias de riesgo pueden quedarse en una formalidad&lt;/li&gt;
&lt;li&gt;Es difícil reproducir el mismo proceso de análisis&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La idea de &lt;code&gt;TradingAgents-CN&lt;/code&gt; es dividir el análisis financiero en varios roles, dejar que distintos Agent se encarguen de distintas perspectivas y formar el resultado mediante colaboración, discusión y síntesis.&lt;/p&gt;
&lt;p&gt;Esto se acerca más al proceso real de investigación de inversión. Un juicio de inversión normalmente no mira solo una noticia o un indicador técnico, sino que combina fundamentales de la empresa, entorno de mercado, tendencia de precios, sentimiento de capital, riesgo regulatorio y control de posición.&lt;/p&gt;
&lt;h2 id=&#34;qué-significa-análisis-multiagente&#34;&gt;Qué significa análisis multiagente
&lt;/h2&gt;&lt;p&gt;Multiagente no significa simplemente dejar que varios modelos hablen por turnos.&lt;/p&gt;
&lt;p&gt;Una práctica más valiosa es asignar responsabilidades claras a distintos Agent. Por ejemplo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Agent de análisis de mercado: observa tendencias de mercado, cambios de precio y entorno general&lt;/li&gt;
&lt;li&gt;Agent de análisis fundamental: observa negocio de la empresa, datos financieros y valor de largo plazo&lt;/li&gt;
&lt;li&gt;Agent de análisis de noticias: observa anuncios, noticias, opinión pública e impacto de eventos&lt;/li&gt;
&lt;li&gt;Agent de análisis técnico: observa tendencias, indicadores, soportes, resistencias y señales de trading&lt;/li&gt;
&lt;li&gt;Agent de gestión de riesgo: observa volatilidad, drawdown, posición e incertidumbre&lt;/li&gt;
&lt;li&gt;Agent de decisión: integra distintas opiniones y forma el juicio final&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esta estructura puede reducir el problema de que un único modelo &amp;ldquo;diga todas las conclusiones de una vez&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Cuando distintos roles analizan el mismo objetivo, el sistema puede presentar juicios multidimensionales con más facilidad y también exponer discrepancias. Para quien aprende, esto suele aportar más que leer solo un resumen.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-hace-falta-una-versión-china&#34;&gt;Por qué hace falta una versión china
&lt;/h2&gt;&lt;p&gt;El análisis financiero está muy ligado al entorno lingüístico.&lt;/p&gt;
&lt;p&gt;Las fuentes de información que siguen los usuarios chinos, los hábitos del mercado, los nombres de acciones, los sistemas de negociación, el estilo de las noticias y los términos comunes son distintos de los del entorno inglés. Al usar directamente un marco en inglés, aparecen a menudo varios problemas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Los nombres y códigos de acciones chinas no se procesan con fluidez&lt;/li&gt;
&lt;li&gt;Se mezclan contextos de acciones A, acciones de Hong Kong y acciones estadounidenses&lt;/li&gt;
&lt;li&gt;La comprensión de noticias financieras chinas es inestable&lt;/li&gt;
&lt;li&gt;No es cómodo integrar fuentes de datos nacionales&lt;/li&gt;
&lt;li&gt;El estilo de salida no encaja con los hábitos de lectura de usuarios chinos&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;El valor de &lt;code&gt;TradingAgents-CN&lt;/code&gt; está en adaptar este proceso de análisis financiero multiagente al usuario chino. Hace más fácil construir, ejecutar y entender todo el flujo experimental de análisis de trading.&lt;/p&gt;
&lt;h2 id=&#34;para-qué-se-puede-usar&#34;&gt;Para qué se puede usar
&lt;/h2&gt;&lt;p&gt;Este proyecto es más adecuado para investigación y análisis asistido que para órdenes automáticas.&lt;/p&gt;
&lt;p&gt;Usos relativamente adecuados:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Aprender cómo colaboran los sistemas multiagente&lt;/li&gt;
&lt;li&gt;Investigar el rendimiento de LLM en análisis financiero&lt;/li&gt;
&lt;li&gt;Organizar información de una acción desde múltiples ángulos&lt;/li&gt;
&lt;li&gt;Comparar diferencias entre modelos en tareas de investigación de inversión&lt;/li&gt;
&lt;li&gt;Construir tu propio prototipo de Agent de análisis financiero&lt;/li&gt;
&lt;li&gt;Revisar información histórica y puntos de riesgo de un activo&lt;/li&gt;
&lt;li&gt;Practicar la división del proceso de investigación de inversión en tareas ejecutables&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si estás estudiando trading cuantitativo, ingeniería financiera, AI Agent o desarrollo de aplicaciones LLM, este tipo de proyecto puede ayudarte a entender la estructura de ingeniería detrás de un &amp;ldquo;asistente de investigación de inversión con IA&amp;rdquo;.&lt;/p&gt;
&lt;h2 id=&#34;para-qué-no-es-adecuado&#34;&gt;Para qué no es adecuado
&lt;/h2&gt;&lt;p&gt;No es adecuado tratarlo directamente como una herramienta para ganar dinero de forma segura.&lt;/p&gt;
&lt;p&gt;Especialmente no es adecuado para:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Comprar o vender con toda la posición solo según la salida&lt;/li&gt;
&lt;li&gt;Sustituir tu propio juicio de riesgo por la conclusión del modelo&lt;/li&gt;
&lt;li&gt;Tratar predicciones de precio de corto plazo como resultados seguros&lt;/li&gt;
&lt;li&gt;Ignorar costes de transacción, slippage y liquidez&lt;/li&gt;
&lt;li&gt;Conectarlo a una cuenta real sin backtesting&lt;/li&gt;
&lt;li&gt;Sustituir una estrategia de inversión de largo plazo por una conclusión de análisis puntual&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Los LLM son buenos organizando información, generando explicaciones y simulando procesos de razonamiento, pero no poseen de forma natural una capacidad estable para predecir mercados. En los mercados financieros hay mucho ruido, eventos repentinos y juego conductual; la salida del modelo solo puede ser una referencia más.&lt;/p&gt;
&lt;h2 id=&#34;diferencia-frente-a-un-marco-cuantitativo-común&#34;&gt;Diferencia frente a un marco cuantitativo común
&lt;/h2&gt;&lt;p&gt;Los marcos cuantitativos tradicionales prestan más atención a datos, factores, backtesting, optimización de carteras y ejecución de trading.&lt;/p&gt;
&lt;p&gt;Por ejemplo, puedes definir reglas de estrategia:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ruptura de media móvil&lt;/li&gt;
&lt;li&gt;Factor de momentum&lt;/li&gt;
&lt;li&gt;Factor de valor&lt;/li&gt;
&lt;li&gt;Filtro de volatilidad&lt;/li&gt;
&lt;li&gt;Stop loss y take profit&lt;/li&gt;
&lt;li&gt;Gestión de posición&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Después usas datos históricos para hacer backtesting.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;TradingAgents-CN&lt;/code&gt; se inclina más hacia un &amp;ldquo;marco de análisis con agentes&amp;rdquo;. Lo que le importa es cómo hacer que varios LLM Agent colaboren alrededor de una tarea financiera, cómo simular una discusión de research y cómo organizar noticias, fundamentales, análisis técnico y juicio de riesgo.&lt;/p&gt;
&lt;p&gt;No son enfoques que se sustituyan entre sí.&lt;/p&gt;
&lt;p&gt;Un uso más realista es: el sistema cuantitativo tradicional se encarga de reglas verificables y backtesting; el sistema de Agent se encarga de organización de información, generación de informes, comparación de opiniones y apoyo a la decisión. Que finalmente pueda entrar en trading real depende todavía de backtesting riguroso, control de riesgo y revisión humana.&lt;/p&gt;
&lt;h2 id=&#34;diferencia-frente-a-preguntar-directamente-a-chatgpt&#34;&gt;Diferencia frente a preguntar directamente a ChatGPT
&lt;/h2&gt;&lt;p&gt;Preguntar directamente al modelo tiene la menor barrera de entrada, pero el proceso es muy laxo.&lt;/p&gt;
&lt;p&gt;Preguntas una vez y responde una vez. Si cambias la forma de preguntar, la conclusión puede cambiar. Es difícil garantizar que analice siempre desde las mismas dimensiones, y también es difícil hacer que interprete de forma estable varios roles que se equilibran entre sí.&lt;/p&gt;
&lt;p&gt;El valor de &lt;code&gt;TradingAgents-CN&lt;/code&gt; es estructurar el flujo de análisis:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Roles más claros&lt;/li&gt;
&lt;li&gt;Pasos más reproducibles&lt;/li&gt;
&lt;li&gt;Fuentes de información más fáciles de organizar&lt;/li&gt;
&lt;li&gt;Choque de opiniones más natural&lt;/li&gt;
&lt;li&gt;Revisión de riesgo más fácil de separar&lt;/li&gt;
&lt;li&gt;Salida más parecida al resultado de un proceso de investigación de inversión&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto es útil para aprendizaje e investigación. Puedes observar cómo distintos Agent influyen en la conclusión final, y también sustituir modelos, ajustar prompts o modificar la división de roles para comparar cambios en los resultados.&lt;/p&gt;
&lt;h2 id=&#34;riesgos-a-vigilar-al-usarlo&#34;&gt;Riesgos a vigilar al usarlo
&lt;/h2&gt;&lt;p&gt;Primero, calidad de datos.&lt;/p&gt;
&lt;p&gt;El análisis financiero depende mucho de los datos. Si datos de mercado, reportes financieros, noticias o anuncios son incompletos o no están actualizados, por muy fluido que sea el análisis del Agent, puede estar construido sobre una base equivocada.&lt;/p&gt;
&lt;p&gt;Segundo, alucinaciones del modelo.&lt;/p&gt;
&lt;p&gt;Un LLM puede inventar hechos inexistentes, malinterpretar el significado de los datos o tomar información antigua como nueva. Cuando se trata de acciones concretas, hay que volver a la fuente de datos para verificar.&lt;/p&gt;
&lt;p&gt;Tercero, sobreexplicación.&lt;/p&gt;
&lt;p&gt;El modelo es muy bueno dando explicaciones &amp;ldquo;que parecen razonables&amp;rdquo;, pero los cambios de precio del mercado no necesariamente vienen de las razones que enumera. No confundas explicación posterior con prueba causal.&lt;/p&gt;
&lt;p&gt;Cuarto, brecha entre backtesting y trading real.&lt;/p&gt;
&lt;p&gt;Incluso si una estrategia se comporta bien con datos históricos, en trading real seguirá enfrentándose a slippage, comisiones, liquidez, suspensiones, límites de subida/bajada y mercados extremos.&lt;/p&gt;
&lt;p&gt;Quinto, licencia y límites comerciales.&lt;/p&gt;
&lt;p&gt;El README menciona que el proyecto usa una licencia mixta. Las condiciones para aprendizaje personal, investigación y uso comercial pueden ser distintas. Si planeas incorporarlo en un producto o servicio comercial, primero lee con cuidado la licencia del proyecto.&lt;/p&gt;
&lt;h2 id=&#34;a-quién-le-conviene-estudiarlo&#34;&gt;A quién le conviene estudiarlo
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;TradingAgents-CN&lt;/code&gt; es adecuado para:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Desarrolladores que quieren aprender arquitectura de AI Agent&lt;/li&gt;
&lt;li&gt;Personas que quieren estudiar la capacidad de LLM en análisis financiero&lt;/li&gt;
&lt;li&gt;Usuarios de trading cuantitativo que quieren incorporar análisis de lenguaje natural&lt;/li&gt;
&lt;li&gt;Equipos que quieren construir herramientas auxiliares de investigación de inversión&lt;/li&gt;
&lt;li&gt;Personas interesadas en cómo la colaboración multirol afecta decisiones&lt;/li&gt;
&lt;li&gt;Usuarios que quieren experimentar con trading Agent en entorno chino&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si tu objetivo es obtener una simple sugerencia de compra o venta, este proyecto quizá no sea la mejor forma de abrirlo. Lo que más merece atención es el proceso, los roles, la colaboración y el control de riesgo, no la conclusión de una salida puntual.&lt;/p&gt;
&lt;h2 id=&#34;cómo-puede-ampliarse&#34;&gt;Cómo puede ampliarse
&lt;/h2&gt;&lt;p&gt;Este tipo de marco tiene muchas direcciones de expansión:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Integrar más fuentes de datos fiables&lt;/li&gt;
&lt;li&gt;Añadir soporte para modelos locales&lt;/li&gt;
&lt;li&gt;Añadir módulo de backtesting&lt;/li&gt;
&lt;li&gt;Afinar reglas distintas para acciones A, Hong Kong y Estados Unidos&lt;/li&gt;
&lt;li&gt;Añadir Agent de análisis sectorial&lt;/li&gt;
&lt;li&gt;Añadir gestión de cartera y control de posición&lt;/li&gt;
&lt;li&gt;Reforzar citas de informes y trazabilidad de datos&lt;/li&gt;
&lt;li&gt;Combinar conclusiones de Agent con señales cuantitativas tradicionales&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Un sistema financiero de IA realmente valioso normalmente no deja que el modelo decida todo por sí solo, sino que lo inserta en un proceso verificable, trazable y controlado por riesgo.&lt;/p&gt;
&lt;h2 id=&#34;referencia&#34;&gt;Referencia
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/hsliuping/TradingAgents-CN&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;hsliuping/TradingAgents-CN&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;una-última-frase&#34;&gt;Una última frase
&lt;/h2&gt;&lt;p&gt;Lo que merece atención de &lt;code&gt;TradingAgents-CN&lt;/code&gt; no es si puede predecir la siguiente vela K, sino que divide el análisis financiero en un proceso de colaboración multiagente.&lt;/p&gt;
&lt;p&gt;Tratarlo como herramienta de aprendizaje e investigación es más razonable que tratarlo como una máquina automática de ganar dinero.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>qmd: Búsqueda de documentos de rebajas locales para agentes de IA</title>
        <link>https://knightli.com/es/2026/05/01/qmd-markdown-search-for-ai-agents/</link>
        <pubDate>Fri, 01 May 2026 03:12:57 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/01/qmd-markdown-search-for-ai-agents/</guid>
        <description>&lt;p&gt;&lt;code&gt;qmd&lt;/code&gt; es una herramienta de búsqueda de documentos Markdown locales, con los agentes AI como sus principales usuarios objetivo.&lt;/p&gt;
&lt;p&gt;Resuelve un problema específico: cuando un proyecto contiene muchos documentos &lt;code&gt;.md&lt;/code&gt;, los asistentes de codificación de IA a menudo no saben qué archivo leer, qué sección citar o qué instrucciones están actualizadas. grep de texto completo puede encontrar palabras clave, pero no comprende bien el significado. Poner toda la documentación en contexto desperdicia espacio en la ventana e introduce fácilmente contenido irrelevante.&lt;/p&gt;
&lt;p&gt;La idea detrás de &lt;code&gt;qmd&lt;/code&gt; es indexar primero los documentos de Markdown y luego devolver los fragmentos más relevantes a través de una interfaz de búsqueda para que los utilice la IA. Puede usarse como una herramienta de línea de comandos, integrarse a través de un SDK o exponerse como un servidor MCP para clientes que admiten MCP.&lt;/p&gt;
&lt;h2 id=&#34;qué-problema-resuelve&#34;&gt;¿Qué problema resuelve?
&lt;/h2&gt;&lt;p&gt;Los proyectos reales suelen tener más de uno o dos archivos README.&lt;/p&gt;
&lt;p&gt;Es posible que tengas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Notas de arquitectura&lt;/li&gt;
&lt;li&gt;Documentación API&lt;/li&gt;
&lt;li&gt;Convenciones de desarrollo&lt;/li&gt;
&lt;li&gt;Procedimientos de implementación&lt;/li&gt;
&lt;li&gt;Registros de decisiones de arquitectura.&lt;/li&gt;
&lt;li&gt;Notas de solución de problemas&lt;/li&gt;
&lt;li&gt;Documentos de requisitos&lt;/li&gt;
&lt;li&gt;Instrucciones de uso de IA&lt;/li&gt;
&lt;li&gt;Notas y recordatorios de la cadena de herramientas.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Los humanos pueden buscar documentos a través de directorios, pero los agentes de IA necesitan un punto de entrada de recuperación claro. En caso contrario, podrán:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Leer el documento equivocado&lt;/li&gt;
&lt;li&gt;Falta de restricciones clave&lt;/li&gt;
&lt;li&gt;Utilice instrucciones obsoletas&lt;/li&gt;
&lt;li&gt;Poner el contenido irrelevante en contexto.&lt;/li&gt;
&lt;li&gt;Inventar reglas en respuestas basadas en la experiencia.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Aquí es donde &amp;ldquo;qmd&amp;rdquo; resulta útil. Convierte los documentos locales de Markdown en una fuente de conocimiento con capacidad de búsqueda, de modo que la IA puede buscar primero cuando necesita contexto y luego responder o actuar en función de fragmentos coincidentes.&lt;/p&gt;
&lt;h2 id=&#34;enfoque-de-búsqueda&#34;&gt;Enfoque de búsqueda
&lt;/h2&gt;&lt;p&gt;El archivo README dice que &amp;ldquo;qmd&amp;rdquo; combina varios métodos de recuperación:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Búsqueda de palabras clave BM25&lt;/li&gt;
&lt;li&gt;Búsqueda de vectores&lt;/li&gt;
&lt;li&gt;Reclasificación de LLM&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;BM25 es bueno para palabras clave claras. Si busca el nombre de una función, una clave de configuración, un código de error o un nombre de archivo, suele ser directo y eficaz.&lt;/p&gt;
&lt;p&gt;La búsqueda de vectores es mejor para cuestiones semánticas. Por ejemplo, si pregunta &amp;ldquo;¿cómo maneja este proyecto la validación de permisos?&amp;rdquo;, es posible que la documentación no contenga esa frase exacta, pero puede contener descripciones relacionadas sobre autenticación, control de acceso y comprobaciones de roles.&lt;/p&gt;
&lt;p&gt;La reclasificación de LLM se utiliza para reordenar los resultados de los candidatos. Los dos primeros pasos encuentran contenido potencialmente relevante y luego el modelo juzga qué fragmentos coinciden mejor con la pregunta actual.&lt;/p&gt;
&lt;p&gt;Esta combinación es más adecuada para los agentes de IA que la simple búsqueda de palabras clave, porque las preguntas de los agentes suelen ser intenciones de tareas en lugar de palabras clave fijas.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-rebajas&#34;&gt;¿Por qué rebajas?
&lt;/h2&gt;&lt;p&gt;Markdown es el formato de documentación más común en proyectos de desarrollo.&lt;/p&gt;
&lt;p&gt;Es lo suficientemente simple como para almacenarlo en Git y lo suficientemente estructurado como para incluir encabezados, listas, bloques de código, enlaces y tablas. Para la IA, Markdown también es más fácil de analizar que los archivos PDF, las instantáneas web o las capturas de pantalla.&lt;/p&gt;
&lt;p&gt;Debido a que &lt;code&gt;qmd&lt;/code&gt; se centra en Markdown, puede procesar la documentación del desarrollador de forma más directa:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Dividir el contenido por títulos y párrafos.&lt;/li&gt;
&lt;li&gt;Preservar bloques de código&lt;/li&gt;
&lt;li&gt;Preservar rutas de documentos&lt;/li&gt;
&lt;li&gt;Devolver fragmentos adecuados para citar&lt;/li&gt;
&lt;li&gt;Informar al Agente de qué documento proviene una respuesta.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto es más estable que pedirle a la IA que escanee aleatoriamente un repositorio y ahorra más contexto que poner todos los documentos en un mensaje a la vez.&lt;/p&gt;
&lt;h2 id=&#34;tres-puntos-de-entrada&#34;&gt;Tres puntos de entrada
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;qmd&lt;/code&gt; proporciona tres puntos de entrada: CLI, SDK y servidor MCP.&lt;/p&gt;
&lt;h3 id=&#34;1-cli&#34;&gt;1. CLI
&lt;/h3&gt;&lt;p&gt;La CLI es adecuada para uso directo de terminal y para scripts.&lt;/p&gt;
&lt;p&gt;Puede indexar un directorio de documentación y luego buscar contenido relacionado con comandos. Para los desarrolladores, la CLI es la forma más sencilla de validar la herramienta: primero vea si puede encontrar los documentos correctos y luego considere integrarla en flujos de trabajo más complejos.&lt;/p&gt;
&lt;p&gt;Este tipo de herramienta es útil dentro de proyectos locales. Por ejemplo, antes de cambiar el código puedes buscar documentos de diseño; antes de depurar, busque notas de solución de problemas; Antes de escribir una API, busque las convenciones de la API.&lt;/p&gt;
&lt;h3 id=&#34;2-sdk&#34;&gt;2. SDK
&lt;/h3&gt;&lt;p&gt;El SDK es adecuado para integrar &lt;code&gt;qmd&lt;/code&gt; en sus propias herramientas.&lt;/p&gt;
&lt;p&gt;Si está creando un asistente de desarrollo interno, un sistema de preguntas y respuestas sobre documentación, un robot de revisión de código o una base de conocimiento del proyecto, puede llamar a la capacidad de búsqueda a través del SDK en lugar de pedir a los usuarios que ejecuten comandos directamente.&lt;/p&gt;
&lt;p&gt;El SDK brinda más control sobre:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Buscar directorios&lt;/li&gt;
&lt;li&gt;Consultar contenido&lt;/li&gt;
&lt;li&gt;Número de resultados devueltos&lt;/li&gt;
&lt;li&gt;Formato de resultado&lt;/li&gt;
&lt;li&gt;Si se deben pasar los resultados a un modelo para su resumen.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto se adapta a escenarios que necesitan una integración más profunda.&lt;/p&gt;
&lt;h3 id=&#34;3-servidor-mcp&#34;&gt;3. Servidor MCP
&lt;/h3&gt;&lt;p&gt;MCP es el punto de entrada más valioso para los agentes de IA.&lt;/p&gt;
&lt;p&gt;A través del servidor MCP, los clientes que admiten MCP pueden llamar a &lt;code&gt;qmd&lt;/code&gt; como herramienta de búsqueda de documentos. Esto permite a un agente buscar documentos de Markdown locales antes de actuar, en lugar de adivinar las reglas del proyecto.&lt;/p&gt;
&lt;p&gt;Un flujo de trabajo típico podría ser:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;El usuario le pide a la IA que modifique una función.&lt;/li&gt;
&lt;li&gt;AI llama a &amp;ldquo;qmd&amp;rdquo; para buscar documentos de diseño relacionados&lt;/li&gt;
&lt;li&gt;&lt;code&gt;qmd&lt;/code&gt; devuelve los fragmentos de Markdown más relevantes&lt;/li&gt;
&lt;li&gt;La IA modifica el código en función de esas restricciones de documentos.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Esto es más natural que pegar manualmente todas las reglas en una nueva sesión y se adapta mejor a proyectos a largo plazo.&lt;/p&gt;
&lt;h2 id=&#34;escenarios-adecuados&#34;&gt;Escenarios adecuados
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;qmd&lt;/code&gt; es adecuado para:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Proyectos con muchos documentos Markdown.&lt;/li&gt;
&lt;li&gt;Agentes de IA que a menudo necesitan buscar reglas del proyecto.&lt;/li&gt;
&lt;li&gt;Equipos que quieran respuestas de IA para citar documentos locales.&lt;/li&gt;
&lt;li&gt;Documentación distribuida en varios directorios.&lt;/li&gt;
&lt;li&gt;Reutilizar la misma capacidad de recuperación en CLI, SDK y MCP&lt;/li&gt;
&lt;li&gt;Reducir la tendencia de los asistentes de codificación de IA a adivinar las convenciones del proyecto.&lt;/li&gt;
&lt;li&gt;Conexión de bases de conocimientos locales a Claude Desktop, Claude Code u otros clientes MCP&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si su proyecto solo tiene un README corto, pedirle directamente a AI que lea el archivo es suficiente.&lt;/p&gt;
&lt;p&gt;Pero si la documentación ha crecido hasta llegar a docenas o cientos de archivos, o si desea que el Agente busque documentos antes de actuar, este tipo de herramienta de indexación adquiere sentido.&lt;/p&gt;
&lt;h2 id=&#34;diferencia-de-grep&#34;&gt;Diferencia de grep
&lt;/h2&gt;&lt;p&gt;Herramientas como &lt;code&gt;grep&lt;/code&gt; y &lt;code&gt;rg&lt;/code&gt; son excelentes para una búsqueda exacta.&lt;/p&gt;
&lt;p&gt;Si sabe que necesita &lt;code&gt;DATABASE_URL&lt;/code&gt;, &lt;code&gt;authMiddleware&lt;/code&gt;, &lt;code&gt;404&lt;/code&gt; o &lt;code&gt;docker compose&lt;/code&gt;, la búsqueda de palabras clave suele ser la más rápida.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;qmd&lt;/code&gt; es mejor cuando no sabes las palabras exactas.&lt;/p&gt;
&lt;p&gt;Por ejemplo, puedes preguntar:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;¿Cuál es el proceso de lanzamiento de este proyecto?&lt;/li&gt;
&lt;li&gt;¿Qué convenciones se aplican al agregar una nueva API?&lt;/li&gt;
&lt;li&gt;¿Se documentó antes la estrategia de almacenamiento en caché?&lt;/li&gt;
&lt;li&gt;¿Qué documentos debería leer la IA antes de cambiar el código?&lt;/li&gt;
&lt;li&gt;¿Dónde está la base de diseño de un módulo?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Estas preguntas suelen requerir una recuperación semántica en lugar de hacer coincidir una palabra. La combinación BM25 + vector + reclasificación en &lt;code&gt;qmd&lt;/code&gt; tiene como objetivo hacer que estas preguntas encuentren el contexto correcto más fácilmente.&lt;/p&gt;
&lt;h2 id=&#34;relación-con-rag&#34;&gt;Relación con RAG
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;qmd&lt;/code&gt; puede verse como un componente RAG liviano para documentos Markdown.
No intenta crear un sistema completo de preguntas y respuestas para usted. Se centra en un paso: encontrar fragmentos de documentos relevantes. La forma en que se utilizan esos fragmentos posteriormente puede ser manejada por CLI, SDK, un cliente MCP o su propio flujo de trabajo del Agente.&lt;/p&gt;
&lt;p&gt;Este posicionamiento es práctico. Muchos proyectos no necesitan un gran sistema de base de conocimientos; solo necesitan IA para buscar documentos locales con mayor precisión y rapidez, y luego devolver los resultados a la tarea actual.&lt;/p&gt;
&lt;h2 id=&#34;notas-de-uso&#34;&gt;Notas de uso
&lt;/h2&gt;&lt;p&gt;En primer lugar, la calidad de la documentación sigue siendo importante.&lt;/p&gt;
&lt;p&gt;Una herramienta de recuperación sólo puede encontrar contenido existente. Si los documentos están desactualizados, duplicados o contradictorios, es posible que la IA aún reciba un contexto incorrecto. Antes de conectar &lt;code&gt;qmd&lt;/code&gt; a un Agente, primero limpie los documentos clave.&lt;/p&gt;
&lt;p&gt;En segundo lugar, no amplíe demasiado el alcance del índice.&lt;/p&gt;
&lt;p&gt;Indexar cada archivo Markdown en el repositorio no siempre es mejor. La documentación de dependencia, las notas temporales y los borradores de soluciones antiguos pueden contaminar los resultados. Un mejor enfoque es definir qué directorios son fuentes de documentación confiables.&lt;/p&gt;
&lt;p&gt;En tercer lugar, los resultados de la búsqueda deben preservar las fuentes.&lt;/p&gt;
&lt;p&gt;Cuando la IA utiliza fragmentos de documentos, debe saber de qué archivo y sección provienen. Esto hace que la revisión humana sea rastreable y reduce el riesgo de que &amp;ldquo;esto parezca la conclusión de un documento, pero es sólo un resumen modelo&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Cuarto, no reemplacen completamente el juicio humano.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;qmd&lt;/code&gt; puede mejorar la calidad de la recuperación del contexto, pero no reemplaza la fuente de la verdad. Los cambios importantes aún requieren código actualizado, resultados de pruebas y los requisitos más recientes.&lt;/p&gt;
&lt;h2 id=&#34;equipos-adecuados&#34;&gt;Equipos adecuados
&lt;/h2&gt;&lt;p&gt;Si su equipo ya ha comenzado a incluir agentes de IA en los flujos de trabajo de desarrollo diarios, herramientas como &lt;code&gt;qmd&lt;/code&gt; pueden resultar valiosas.&lt;/p&gt;
&lt;p&gt;Están especialmente indicados para equipos que:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Escribir mucha documentación.&lt;/li&gt;
&lt;li&gt;Tener una larga historia de proyectos.&lt;/li&gt;
&lt;li&gt;Necesita gente nueva e inteligencia artificial para comprender rápidamente el contexto.&lt;/li&gt;
&lt;li&gt;Mantener registros de decisiones de arquitectura.&lt;/li&gt;
&lt;li&gt;Tener muchos documentos de convención de Markdown.&lt;/li&gt;
&lt;li&gt;Quiero que AI verifique las reglas antes de modificar el código.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Su objetivo no es hacer que la IA lo sepa todo. Es hacer que la IA adivine menos y busque más.&lt;/p&gt;
&lt;h2 id=&#34;referencia&#34;&gt;Referencia
&lt;/h2&gt;&lt;p&gt;-&lt;a class=&#34;link&#34; href=&#34;https://github.com/tobi/qmd&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;tobi/qmd&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;pensamiento-final&#34;&gt;Pensamiento final
&lt;/h2&gt;&lt;p&gt;El valor de &lt;code&gt;qmd&lt;/code&gt; es que convierte los documentos Markdown locales en un punto de entrada de búsqueda al que los agentes de IA pueden llamar de manera confiable.&lt;/p&gt;
&lt;p&gt;Cuando la documentación del proyecto pasa de “instrucciones para humanos” a “una fuente de contexto que pueden buscar tanto humanos como IA”, los asistentes de codificación de IA pueden seguir las reglas del proyecto más fácilmente.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Dominio de los ganchos de Claude Code: una introducción a los 13 eventos del ciclo de vida de los ganchos y al control de automatización</title>
        <link>https://knightli.com/es/2026/05/01/claude-code-hooks-mastery-guide/</link>
        <pubDate>Fri, 01 May 2026 03:11:27 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/01/claude-code-hooks-mastery-guide/</guid>
        <description>&lt;p&gt;&lt;code&gt;claude-code-hooks-mastery&lt;/code&gt; es un proyecto de aprendizaje centrado en &lt;code&gt;Claude Code Hooks&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;No es sólo una colección de guiones dispersos. Explica el ciclo de vida del gancho de Claude Code, los métodos de configuración, los patrones de script y los escenarios de automatización comunes en un solo lugar. Para las personas que quieren que Claude Code sea más controlable y más parecido a un asistente de ingeniería, vale la pena leer este tipo de material.&lt;/p&gt;
&lt;p&gt;Claude Code ya puede leer código, editar archivos y ejecutar comandos de forma predeterminada. Pero si desea que verifique permisos automáticamente, bloquee operaciones riesgosas, inyecte reglas de proyecto, ejecute pruebas o le recuerde las convenciones del equipo en momentos específicos, las instrucciones de chat por sí solas no son lo suficientemente estables. El valor de los ganchos es que convierten las “reglas que necesito recordarle a la IA cada vez” en un flujo de trabajo ejecutable.&lt;/p&gt;
&lt;h2 id=&#34;qué-problemas-resuelven-los-ganchos&#34;&gt;Qué problemas resuelven los ganchos
&lt;/h2&gt;&lt;p&gt;Después de usar Claude Code por un tiempo, los puntos débiles comunes incluyen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cada nueva sesión necesita repetir las mismas reglas del proyecto.&lt;/li&gt;
&lt;li&gt;Te preocupa que pueda ejecutar comandos que no debería ejecutar.&lt;/li&gt;
&lt;li&gt;Quieres verificaciones antes y después de la edición de archivos.&lt;/li&gt;
&lt;li&gt;Quiere formatear, realizar pruebas o realizar análisis de seguridad antes de confirmar&lt;/li&gt;
&lt;li&gt;Quieres que las convenciones del equipo sean un flujo de trabajo fijo en lugar de recordatorios verbales.&lt;/li&gt;
&lt;li&gt;Quiere contexto antes y después de las llamadas a herramientas para iniciar sesión o bloquear&lt;/li&gt;
&lt;li&gt;Quiere que tareas complejas activen subagentes o scripts dedicados&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Los ganchos están diseñados para estas &amp;ldquo;acciones automáticas en momentos fijos&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Puedes considerarlos como enlaces de eventos en el flujo de trabajo de Claude Code. Cuando se inicia una sesión, un usuario envía un mensaje, el modelo está a punto de llamar a una herramienta, finaliza una llamada a una herramienta o un agente está a punto de detenerse, Claude Code puede ejecutar los scripts que usted configuró.&lt;/p&gt;
&lt;h2 id=&#34;los-13-eventos-del-ciclo-de-vida-del-gancho&#34;&gt;Los 13 eventos del ciclo de vida del gancho
&lt;/h2&gt;&lt;p&gt;Uno de los puntos principales del proyecto README es que cubre sistemáticamente los 13 eventos de gancho del Código Claude.&lt;/p&gt;
&lt;p&gt;Estos eventos abarcan varias etapas, desde el inicio de la sesión hasta las llamadas a las herramientas, y desde la entrada del usuario hasta la terminación del agente. Por finalidad, se pueden agrupar a grandes rasgos como:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Inicio de sesión: inicializa el entorno e inyecta el contexto del proyecto.&lt;/li&gt;
&lt;li&gt;Entrada del usuario: inspeccionar indicaciones, agregar reglas y realizar auditorías&lt;/li&gt;
&lt;li&gt;Antes de las llamadas a la herramienta: comprobaciones de permisos, bloqueo de comandos y validación de seguridad.&lt;/li&gt;
&lt;li&gt;Después de las llamadas a la herramienta: registrar resultados, activar el formateo y ejecutar la verificación&lt;/li&gt;
&lt;li&gt;Finalización de tareas: resumir, limpiar, notificar o guardar estado&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Este diseño de ciclo de vida significa que no es necesario incluir todas las reglas en un mensaje muy largo.&lt;/p&gt;
&lt;p&gt;Por ejemplo, el control de permisos debe realizarse antes de las llamadas a la herramienta. Las comprobaciones de formato son mejores después de editar los archivos. La inyección de reglas del proyecto es mejor al inicio de la sesión o después de la entrada del usuario. Poner reglas en el punto de enlace correcto suele ser más confiable que meter todo en un indicador del sistema.&lt;/p&gt;
&lt;h2 id=&#34;dónde-vive-la-configuración&#34;&gt;Dónde vive la configuración
&lt;/h2&gt;&lt;p&gt;Los ganchos de Claude Code generalmente se configuran a través de archivos de configuración.&lt;/p&gt;
&lt;p&gt;Las ubicaciones comunes incluyen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Configuración a nivel de usuario: &lt;code&gt;~/.claude/settings.json&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Configuración a nivel de proyecto: &lt;code&gt;.claude/settings.json&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La configuración a nivel de usuario es buena para las preferencias personales, como reglas generales de seguridad, bloqueo de comandos y rutas de registro.&lt;/p&gt;
&lt;p&gt;La configuración a nivel de proyecto es mejor para reglas específicas del repositorio, como qué pruebas se deben ejecutar, qué directorios no se pueden editar, cómo se manejan los archivos generados y qué comprobaciones se requieren antes de la confirmación.
Si usa Claude Code en un equipo, es mejor colocar la configuración a nivel de proyecto en el repositorio. De esa manera, todos inician el proyecto con las mismas limitaciones de colaboración de IA en lugar de depender de la memoria personal.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-son-importantes-los-scripts-de-un-solo-archivo&#34;&gt;Por qué son importantes los scripts de un solo archivo
&lt;/h2&gt;&lt;p&gt;El proyecto enfatiza los scripts de un solo archivo &amp;ldquo;UV&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;El beneficio es una implementación simple. Un único archivo Python puede declarar dependencias y ejecutarse sin mantener un entorno complejo para un enlace. Esto encaja bien con los ganchos porque muchos ganchos solo hacen una pequeña cosa:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Comprobar si un comando está permitido&lt;/li&gt;
&lt;li&gt;Determinar si la ruta de un archivo es segura&lt;/li&gt;
&lt;li&gt;Leer las reglas del proyecto y devolvérselas a Claude.&lt;/li&gt;
&lt;li&gt;Escanear la salida en busca de información confidencial&lt;/li&gt;
&lt;li&gt;Ejecutar formateo o pruebas después de las ediciones.&lt;/li&gt;
&lt;li&gt;Escribir eventos en registros.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Cuanto más pequeño sea un script de enlace, más fácil será de mantener y es menos probable que se convierta en un sistema nuevo y complicado.&lt;/p&gt;
&lt;h2 id=&#34;qué-pueden-hacer-los-ganchos-con-la-automatización&#34;&gt;¿Qué pueden hacer los ganchos con la automatización?
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;claude-code-hooks-mastery&lt;/code&gt; muestra muchas direcciones. En el trabajo real, los más comunes se encuentran a continuación.&lt;/p&gt;
&lt;h3 id=&#34;1-control-de-permisos-y-seguridad&#34;&gt;1. Control de permisos y seguridad
&lt;/h3&gt;&lt;p&gt;Este es el uso más directo de los ganchos.&lt;/p&gt;
&lt;p&gt;Antes de que Claude Code ejecute un comando, un gancho puede inspeccionar el contenido del comando. Si contiene acciones de alto riesgo, como eliminar, restablecer, limpiar o sobrescribir, puede bloquear la ejecución o requerir confirmación manual.&lt;/p&gt;
&lt;p&gt;Se pueden aplicar reglas similares a las rutas de archivos:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;No modificar la configuración de producción.&lt;/li&gt;
&lt;li&gt;No escribir en archivos secretos&lt;/li&gt;
&lt;li&gt;No eliminar scripts de migración&lt;/li&gt;
&lt;li&gt;No tocar directorios específicos&lt;/li&gt;
&lt;li&gt;No ejecute comandos de red no aprobados&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Anteponer esta protección a las llamadas a herramientas es más confiable que escribir &amp;ldquo;no realizar operaciones peligrosas&amp;rdquo; en un mensaje.&lt;/p&gt;
&lt;h3 id=&#34;2-inyección-de-contexto&#34;&gt;2. Inyección de contexto
&lt;/h3&gt;&lt;p&gt;Muchos proyectos tienen información de fondo fija:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pila de tecnología&lt;/li&gt;
&lt;li&gt;Convenciones de codificación&lt;/li&gt;
&lt;li&gt;Comandos de prueba&lt;/li&gt;
&lt;li&gt;Estrategia de ramificación&lt;/li&gt;
&lt;li&gt;Estructura del directorio&lt;/li&gt;
&lt;li&gt;Acciones prohibidas&lt;/li&gt;
&lt;li&gt;Reglas para archivos generados.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Decirle esto a Claude Code manualmente cada vez es molesto y fácil de olvidar. Los ganchos pueden inyectar automáticamente el contexto necesario al inicio de la sesión o después de que el usuario envía un mensaje.&lt;/p&gt;
&lt;p&gt;Esto es como darle a Claude Code un manual de trabajo a nivel de proyecto. No reemplaza el README ni la documentación de desarrollo, pero ayuda a la IA a ingresar al estado correcto antes de ejecutar una tarea.&lt;/p&gt;
&lt;h3 id=&#34;3-verificación-después-de-las-ediciones&#34;&gt;3. Verificación después de las ediciones
&lt;/h3&gt;&lt;p&gt;Después de que Claude Code modifica archivos, los ganchos pueden activar comprobaciones automáticamente.&lt;/p&gt;
&lt;p&gt;Las acciones comunes incluyen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ejecutar formateo&lt;/li&gt;
&lt;li&gt;Ejecutar pelusa&lt;/li&gt;
&lt;li&gt;Ejecutar pruebas unitarias.&lt;/li&gt;
&lt;li&gt;Verificar errores de tipo&lt;/li&gt;
&lt;li&gt;Escanear archivos generados&lt;/li&gt;
&lt;li&gt;Validar formato Markdown o JSON&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto ayuda a reducir los errores de bajo nivel. Cuando la IA edita varios archivos, una verificación ligera después de la modificación puede revelar problemas antes.&lt;/p&gt;
&lt;p&gt;Sin embargo, los ganchos no deberían ejecutar tareas pesadas de forma predeterminada. Ejecutar el conjunto de pruebas completo después de cada cambio de archivo puede ralentizar la experiencia. Un mejor enfoque es elegir comprobaciones según el tipo de archivo, el directorio y el riesgo de la tarea.&lt;/p&gt;
&lt;h3 id=&#34;4-validación-de-las-reglas-del-equipo&#34;&gt;4. Validación de las reglas del equipo
&lt;/h3&gt;&lt;p&gt;Si un equipo ya tiene convenciones claras, algunas de ellas pueden colocarse en ganchos.&lt;/p&gt;
&lt;p&gt;Por ejemplo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Confirmar formato de mensaje&lt;/li&gt;
&lt;li&gt;Reglas de estilo de código&lt;/li&gt;
&lt;li&gt;No editar directamente ciertos archivos generados&lt;/li&gt;
&lt;li&gt;La documentación debe actualizarse en conjunto.&lt;/li&gt;
&lt;li&gt;Los cambios de API deben actualizar las pruebas.&lt;/li&gt;
&lt;li&gt;Ciertos directorios sólo pueden ser generados por herramientas específicas
Esto hace que Claude Code se parezca más a una parte del flujo de trabajo del equipo que a un asistente externo sin restricciones.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Por supuesto, los ganchos no deberían reemplazar a la CI. Son mejores para recordatorios locales y bloqueo temprano. La validación final aún debe pertenecer a los sistemas de CI, revisión y prueba.&lt;/p&gt;
&lt;h3 id=&#34;5-subagentes-y-tareas-dedicadas&#34;&gt;5. Subagentes y tareas dedicadas
&lt;/h3&gt;&lt;p&gt;El archivo README también menciona contenido relacionado con subagentes.&lt;/p&gt;
&lt;p&gt;Este tipo de uso es adecuado para enviar tareas complejas a flujos de trabajo más especializados. Por ejemplo, la conversación principal puede comprender el requisito, mientras que un enlace o una configuración desencadenan tareas dedicadas de verificación, auditoría, resumen o documentación.&lt;/p&gt;
&lt;p&gt;Para los usuarios individuales, el primer paso útil no es la compleja orquestación de agentes. Es mejor entregar primero a los ganchos acciones repetitivas, claras y de bajo riesgo. Una vez que las reglas se estabilicen, puede producirse una automatización más compleja.&lt;/p&gt;
&lt;h2 id=&#34;línea-de-estado-y-estilos-de-salida&#34;&gt;Línea de estado y estilos de salida
&lt;/h2&gt;&lt;p&gt;El proyecto también cubre la línea de estado y los estilos de salida.&lt;/p&gt;
&lt;p&gt;Esto puede parecer un pequeño detalle de la experiencia, pero es importante para el uso a largo plazo del Código Claude. Una línea de estado puede mostrar el contexto actual, el estado de la tarea, información del entorno o sugerencias. Los estilos de salida pueden hacer que las respuestas de Claude Code se ajusten mejor a sus hábitos de trabajo.&lt;/p&gt;
&lt;p&gt;Si colaboras con IA en el mismo terminal todos los días, estos detalles afectan la eficiencia. Las buenas sugerencias de estado reducen los errores y le ayudan a determinar rápidamente si la sesión actual se encuentra en el proyecto, rama y entorno correctos.&lt;/p&gt;
&lt;h2 id=&#34;no-hagas-que-los-ganchos-sean-demasiado-pesados&#34;&gt;No hagas que los ganchos sean demasiado pesados
&lt;/h2&gt;&lt;p&gt;Los ganchos son poderosos, pero no son el lugar para poner todo.&lt;/p&gt;
&lt;p&gt;Las buenas reglas son:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Las acciones de alta frecuencia deben ser rápidas.&lt;/li&gt;
&lt;li&gt;El bloqueo de seguridad debe ser claro.&lt;/li&gt;
&lt;li&gt;La salida debe ser corta.&lt;/li&gt;
&lt;li&gt;Los motivos del fallo deben ser legibles.&lt;/li&gt;
&lt;li&gt;Los scripts deben tener una única responsabilidad.&lt;/li&gt;
&lt;li&gt;Las comprobaciones exhaustivas deben ser comandos explícitos o tareas de CI&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si un enlace tarda más de diez segundos cada vez, los usuarios pronto querrán desactivarlo. Si un gancho tiene reglas de bloqueo vagas, tanto Claude Code como el usuario tendrán dificultades para entender qué hacer a continuación.&lt;/p&gt;
&lt;p&gt;Los ganchos son mejores para tareas con límites claros: permitir o rechazar, agregar contexto, registrar eventos, ejecutar comprobaciones ligeras y sugerir el siguiente paso.&lt;/p&gt;
&lt;h2 id=&#34;quién-debería-usarlo&#34;&gt;¿Quién debería usarlo?
&lt;/h2&gt;&lt;p&gt;Si solo ocasionalmente le pides a Claude Code que edite un pequeño fragmento de código, es posible que aún no necesites estudiar los ganchos en profundidad.&lt;/p&gt;
&lt;p&gt;Pero este proyecto es útil si:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Utilice Claude Code con frecuencia&lt;/li&gt;
&lt;li&gt;A menudo deja que la IA modifique el código del proyecto real.&lt;/li&gt;
&lt;li&gt;Preocupación por que la IA ejecute comandos peligrosos&lt;/li&gt;
&lt;li&gt;Quiere inyectar automáticamente reglas de equipo en los flujos de trabajo de IA&lt;/li&gt;
&lt;li&gt;Quiere que las comprobaciones se ejecuten automáticamente después de las ediciones&lt;/li&gt;
&lt;li&gt;Quiere convertir recordatorios repetidos en configuración&lt;/li&gt;
&lt;li&gt;Están creando un flujo de trabajo de codificación de IA más estable.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Los ganchos son especialmente significativos en proyectos colaborativos. Pueden convertir parte de la experiencia del equipo en guiones en lugar de depender de que cada persona se lo recuerde a la IA manualmente.&lt;/p&gt;
&lt;h2 id=&#34;notas-de-uso&#34;&gt;Notas de uso
&lt;/h2&gt;&lt;p&gt;Primero, comience con los ganchos de seguridad.&lt;/p&gt;
&lt;p&gt;En comparación con la automatización compleja, el bloqueo de comandos, la protección de rutas y las comprobaciones de archivos confidenciales son más fáciles de implementar y reducen el riesgo de inmediato.&lt;/p&gt;
&lt;p&gt;En segundo lugar, comprometa cuidadosamente las reglas a nivel de proyecto.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;.claude/settings.json&lt;/code&gt; afecta a todos los que usan el repositorio. Antes de comprometer reglas, asegúrese de que no restrinjan demasiado el desarrollo normal ni dependan de rutas que solo existen en su máquina.&lt;/p&gt;
&lt;p&gt;En tercer lugar, mantenga la salida del gancho concisa.
Claude Code consume esta salida. Si es demasiado largo, contamina el contexto. Si es demasiado vago, no guía el siguiente paso. Lo mejor es devolver sólo el juicio necesario y la siguiente recomendación.&lt;/p&gt;
&lt;p&gt;Cuarto, mantenga los ganchos depurables.&lt;/p&gt;
&lt;p&gt;Cuando los ganchos aumentan en número, los problemas pueden provenir de la configuración, los scripts, los permisos, las rutas, las dependencias o el propio Claude Code. Los registros claros facilitan mucho la depuración posterior.&lt;/p&gt;
&lt;h2 id=&#34;referencia&#34;&gt;Referencia
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/disler/claude-code-hooks-mastery&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;disler/claude-code-hooks-mastery&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;pensamiento-final&#34;&gt;Pensamiento final
&lt;/h2&gt;&lt;p&gt;El valor de &amp;ldquo;Claude Code Hooks&amp;rdquo; es convertir &amp;ldquo;reglas que espero que la IA recuerde siempre&amp;rdquo; en flujos de trabajo que realmente se ejecutan.&lt;/p&gt;
&lt;p&gt;Si ya utiliza Claude Code en proyectos reales, los ganchos son un paso clave desde &amp;ldquo;un asistente de codificación que puede conversar&amp;rdquo; hasta &amp;ldquo;un colaborador de ingeniería limitado&amp;rdquo;.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Claude-Mem: Agregar memoria a largo plazo entre sesiones al código Claude</title>
        <link>https://knightli.com/es/2026/05/01/claude-mem-persistent-memory-for-claude-code/</link>
        <pubDate>Fri, 01 May 2026 03:01:02 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/05/01/claude-mem-persistent-memory-for-claude-code/</guid>
        <description>&lt;p&gt;&lt;code&gt;Claude-Mem&lt;/code&gt; es un sistema de memoria persistente para &lt;code&gt;Claude Code&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Intenta resolver un problema muy específico: cada vez que un asistente de codificación de IA inicia una nueva sesión, a menudo olvida decisiones de arquitectura anteriores, obstáculos pasados, preferencias de proyecto y contexto de implementación.&lt;br&gt;
Si un proyecto dura mucho tiempo, explicar repetidamente los mismos antecedentes se convierte en una pérdida de tiempo.&lt;/p&gt;
&lt;p&gt;La idea detrás de &lt;code&gt;Claude-Mem&lt;/code&gt; es comprimir las conversaciones de Claude Code en recuerdos, almacenarlas en una base de datos local y en un almacén de vectores, y luego recuperarlas a través de una herramienta de búsqueda.&lt;/p&gt;
&lt;h2 id=&#34;qué-problema-resuelve&#34;&gt;¿Qué problema resuelve?
&lt;/h2&gt;&lt;p&gt;Claude Code es bueno en tareas de código, pero el contexto de la sesión aún es limitado.&lt;/p&gt;
&lt;p&gt;Los puntos débiles comunes incluyen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Una nueva sesión no sabe lo que hicieron las sesiones anteriores.&lt;/li&gt;
&lt;li&gt;Las decisiones de diseño del proyecto deben explicarse repetidamente.&lt;/li&gt;
&lt;li&gt;Los problemas que ya fueron depurados son fáciles de repetir&lt;/li&gt;
&lt;li&gt;Las tareas de larga duración carecen de continuidad.&lt;/li&gt;
&lt;li&gt;El conocimiento del proyecto es difícil de acumular a través de conversaciones.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;Claude-Mem&lt;/code&gt; está diseñado en torno a estos problemas.&lt;/p&gt;
&lt;p&gt;No se trata simplemente de guardar registros de chat. En cambio, comprime las conversaciones en fragmentos de memoria que son más fáciles de recuperar. Cuando sea necesario más adelante, la búsqueda semántica puede recuperar el contexto relevante.&lt;/p&gt;
&lt;h2 id=&#34;cómo-funciona&#34;&gt;Cómo funciona
&lt;/h2&gt;&lt;p&gt;Según el diseño README, &amp;ldquo;Claude-Mem&amp;rdquo; consta principalmente de varias partes.&lt;/p&gt;
&lt;p&gt;La primera parte son los ganchos.&lt;/p&gt;
&lt;p&gt;Se integra con el flujo de sesión de Claude Code y captura datos de la conversación en el momento adecuado.&lt;/p&gt;
&lt;p&gt;La segunda parte es un trabajador en segundo plano.&lt;/p&gt;
&lt;p&gt;El trabajador procesa el contenido de la conversación en bruto y lo convierte en recuerdos más breves y fáciles de buscar.&lt;/p&gt;
&lt;p&gt;La tercera parte es el almacenamiento local.&lt;/p&gt;
&lt;p&gt;El proyecto utiliza &lt;code&gt;SQLite&lt;/code&gt; para metadatos estructurados y &lt;code&gt;Chroma&lt;/code&gt; para indexación de vectores. Esto preserva la información básica de la sesión al tiempo que admite la recuperación semántica.&lt;/p&gt;
&lt;p&gt;La cuarta parte es &amp;ldquo;mem-search&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Este es el punto de entrada de consulta para Claude Code. Cuando se necesita un contexto antiguo, se pueden buscar recuerdos relevantes a través de esta herramienta.&lt;/p&gt;
&lt;p&gt;El flujo general se puede entender así:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Las sesiones de Claude Code generan contenido&lt;/li&gt;
&lt;li&gt;Los ganchos capturan datos de la sesión&lt;/li&gt;
&lt;li&gt;El trabajador lo comprime y organiza de forma asincrónica.&lt;/li&gt;
&lt;li&gt;Los recuerdos se escriben en SQLite y Chroma.&lt;/li&gt;
&lt;li&gt;Las sesiones posteriores los recuperan mediante &lt;code&gt;mem-search&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;cuándo-es-útil&#34;&gt;¿Cuándo es útil?
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;Claude-Mem&lt;/code&gt; es adecuado para proyectos de larga duración, no para tareas pequeñas y puntuales.&lt;/p&gt;
&lt;p&gt;Por ejemplo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Un repositorio se desarrolla durante muchos días.&lt;/li&gt;
&lt;li&gt;La estructura del código es compleja y tiene muchos antecedentes.&lt;/li&gt;
&lt;li&gt;Es necesario recordar las convenciones del proyecto, los hábitos de nomenclatura y las elecciones de arquitectura.&lt;/li&gt;
&lt;li&gt;Claude Code se utiliza a menudo para corregir errores, funciones y documentación.&lt;/li&gt;
&lt;li&gt;Quieres que la IA recuerde por qué se cambió algo antes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si solo le pide a Claude Code que haga un cambio de una línea, la memoria a largo plazo no es muy significativa.&lt;br&gt;
Pero si tratas a Claude Code como un colaborador a largo plazo, resulta útil.&lt;/p&gt;
&lt;h2 id=&#34;instalación-y-puesta-en-marcha&#34;&gt;Instalación y puesta en marcha
&lt;/h2&gt;&lt;p&gt;El README proporciona un flujo de instalación directo:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install -g claude-mem
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;claude-mem install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Empiece con:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;claude-mem start
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Verificar estado:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;claude-mem status
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Deténgalo cuando sea necesario:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;claude-mem stop
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;El objetivo detrás de estos comandos es conectar el sistema de memoria como un servicio local de larga duración al flujo de trabajo de Claude Code.&lt;/p&gt;
&lt;h2 id=&#34;cómo-utilizar-mem-search&#34;&gt;Cómo utilizar &lt;code&gt;mem-search&lt;/code&gt;
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;mem-search&lt;/code&gt; es el punto de entrada clave para recuperar la memoria.&lt;/p&gt;
&lt;p&gt;No pretende reemplazar la búsqueda ordinaria. Permite a Claude Code consultar conversaciones pasadas por significado.&lt;/p&gt;
&lt;p&gt;Por ejemplo, Claude Code puede buscar:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Por qué un módulo fue diseñado de cierta manera&lt;/li&gt;
&lt;li&gt;Cómo se depuró un error anteriormente&lt;/li&gt;
&lt;li&gt;Reglas de nomenclatura acordadas en el proyecto.&lt;/li&gt;
&lt;li&gt;Compensaciones técnicas discutidas anteriormente&lt;/li&gt;
&lt;li&gt;El trasfondo detrás de una refactorización.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto es diferente de la simple búsqueda de palabras clave.&lt;br&gt;
Si la compresión de memoria y la indexación de vectores funcionan bien, puede recuperar contenido semánticamente relacionado incluso si no recuerda la redacción exacta.&lt;/p&gt;
&lt;h2 id=&#34;en-qué-se-diferencia-de-la-documentación-del-proyecto&#34;&gt;¿En qué se diferencia de la documentación del proyecto?
&lt;/h2&gt;&lt;p&gt;La documentación del proyecto es buena para sacar conclusiones estables.&lt;/p&gt;
&lt;p&gt;Por ejemplo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Notas de arquitectura&lt;/li&gt;
&lt;li&gt;Procedimientos de implementación&lt;/li&gt;
&lt;li&gt;Convenciones API&lt;/li&gt;
&lt;li&gt;Estructura de la base de datos&lt;/li&gt;
&lt;li&gt;Reglas de desarrollo&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;Claude-Mem&lt;/code&gt; es mejor para el contexto creado durante las conversaciones.&lt;/p&gt;
&lt;p&gt;Por ejemplo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Por qué se rechazó un plan&lt;/li&gt;
&lt;li&gt;Cómo se solucionó un problema temporal&lt;/li&gt;
&lt;li&gt;La discusión detrás de una implementación.&lt;/li&gt;
&lt;li&gt;Las preferencias del proyecto aún no están escritas en los documentos.&lt;/li&gt;
&lt;li&gt;Antecedentes de tareas acumulados en múltiples conversaciones&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Los dos no se reemplazan el uno al otro.&lt;br&gt;
Un buen flujo de trabajo es escribir conocimientos estables en los documentos del proyecto y utilizar el sistema de memoria para ayudar a recuperar el contexto conversacional.&lt;/p&gt;
&lt;h2 id=&#34;cosas-a-tener-en-cuenta&#34;&gt;Cosas a tener en cuenta
&lt;/h2&gt;&lt;p&gt;En primer lugar, una mayor memoria a largo plazo no siempre es mejor.&lt;/p&gt;
&lt;p&gt;Si cada conversación se guarda sin distinción, la recuperación posterior puede resultar ruidosa. Los recuerdos más valiosos son las decisiones del proyecto, los antecedentes de la implementación, el historial de depuración y las preferencias a largo plazo.&lt;/p&gt;
&lt;p&gt;En segundo lugar, la memoria no puede reemplazar el código y la documentación.&lt;/p&gt;
&lt;p&gt;El contexto antiguo encontrado por la IA es sólo una referencia. El juicio final aún depende del código actual, los resultados de las pruebas y los requisitos más recientes.&lt;/p&gt;
&lt;p&gt;En tercer lugar, preste atención a la privacidad y los datos locales.&lt;/p&gt;
&lt;p&gt;Dado que almacena el contenido de la conversación, debes saber qué proyectos son adecuados para él y qué información confidencial no debe entrar en la conversación.&lt;/p&gt;
&lt;p&gt;Cuarto, los sistemas de memoria necesitan mantenimiento.&lt;/p&gt;
&lt;p&gt;A medida que avanza un proyecto, los viejos recuerdos pueden quedar obsoletos. Si el contexto obsoleto se reutiliza incorrectamente, puede inducir a error en tareas posteriores.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-es-importante-este-tipo-de-herramienta&#34;&gt;Por qué es importante este tipo de herramienta
&lt;/h2&gt;&lt;p&gt;Las herramientas de codificación de IA están pasando de preguntas y respuestas únicas a una colaboración a largo plazo.&lt;/p&gt;
&lt;p&gt;En preguntas y respuestas únicas, el modelo solo necesita responder la pregunta actual.&lt;br&gt;
En una colaboración a largo plazo, es necesario conocer el historial del proyecto, las decisiones anteriores, las preferencias del equipo y los obstáculos que ya se han encontrado.&lt;/p&gt;
&lt;p&gt;Aquí es donde importan herramientas como &lt;code&gt;Claude-Mem&lt;/code&gt;: convierten el &amp;ldquo;recordar el contexto&amp;rdquo; de una capacidad de chat temporal en un sistema local que puede instalarse, ejecutarse y buscarse.&lt;/p&gt;
&lt;p&gt;Para proyectos de ingeniería reales, esto es más práctico que simplemente alargar la ventana de contexto del modelo.&lt;br&gt;
No es necesario contextualizar mucha información de una sola vez; es necesario recuperarlo en el momento adecuado.&lt;/p&gt;
&lt;h2 id=&#34;quién-debería-intentarlo&#34;&gt;¿Quién debería intentarlo?
&lt;/h2&gt;&lt;p&gt;Quizás quieras probarlo si:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Usas Claude Code con frecuencia&lt;/li&gt;
&lt;li&gt;A menudo trabajas en el mismo proyecto durante varios días.&lt;/li&gt;
&lt;li&gt;El contexto del proyecto es complejo.&lt;/li&gt;
&lt;li&gt;Explicas repetidamente los mismos antecedentes a la IA.&lt;/li&gt;
&lt;li&gt;Quieres preservar la experiencia de las conversaciones.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si solo usas Claude Code ocasionalmente, o el proyecto es pequeño, es posible que aún no necesites este tipo de sistema.&lt;/p&gt;
&lt;h2 id=&#34;referencia&#34;&gt;Referencia
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/thedotmack/claude-mem&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;thedotmack/claude-mem&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;pensamiento-final&#34;&gt;Pensamiento final
&lt;/h2&gt;&lt;p&gt;El objetivo de &lt;code&gt;Claude-Mem&lt;/code&gt; no es &amp;ldquo;guardar registros de chat&amp;rdquo;. Ayuda a Claude Code a recuperar contexto útil en tareas posteriores.
A medida que la codificación de IA pase de tareas únicas a colaboraciones en proyectos de larga duración, los sistemas de memoria serán cada vez más importantes.&lt;br&gt;
No pueden reemplazar la documentación y las pruebas, pero pueden reducir las explicaciones repetidas y hacer que la IA se sienta más como un asistente que comprende el historial del proyecto.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Claude.md no es mejor cuando es más largo: cómo escribir archivos de memoria global para codificación AI</title>
        <link>https://knightli.com/es/2026/04/29/how-to-write-claude-md-for-ai-coding/</link>
        <pubDate>Wed, 29 Apr 2026 21:07:37 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/04/29/how-to-write-claude-md-for-ai-coding/</guid>
        <description>&lt;p&gt;Recientemente vi una discusión sobre archivos de memoria global para codificación de IA: después de que los proyectos agregan archivos como &lt;code&gt;Claude.md&lt;/code&gt; o &lt;code&gt;AGENTS.md&lt;/code&gt;, los resultados no necesariamente mejoran. En algunos casos, las tasas de éxito pueden incluso disminuir mientras que el costo del razonamiento aumenta.&lt;/p&gt;
&lt;p&gt;Al principio, esto parece contradictorio. Generalmente asumimos que si le damos a la IA más antecedentes del proyecto, más reglas y más explicaciones, debería escribir el código con mayor precisión.&lt;br&gt;
El verdadero problema es que &lt;code&gt;Claude.md&lt;/code&gt; no es un documento ordinario. Es un archivo de memoria global que se inyecta en el contexto de cada conversación. Cuanto más contiene, más tiene que leer el modelo cada vez; cuanto más vago sea, más juicio tendrá que hacer el modelo; y si contiene flujos de trabajo que no siempre deberían ejecutarse, el modelo puede desencadenar acciones innecesarias en tareas no relacionadas.&lt;/p&gt;
&lt;p&gt;Entonces, la parte difícil de escribir &lt;code&gt;Claude.md&lt;/code&gt; es no completarlo. Se trata de decidir qué piezas de información merecen ocupar contexto de forma permanente.&lt;/p&gt;
&lt;h2 id=&#34;qué-es-claudemd&#34;&gt;¿Qué es Claude.md?
&lt;/h2&gt;&lt;p&gt;En las herramientas de codificación de IA, archivos como &lt;code&gt;Claude.md&lt;/code&gt; y &lt;code&gt;AGENTS.md&lt;/code&gt; son esencialmente archivos de memoria global.&lt;/p&gt;
&lt;p&gt;La conversación normal entra en el contexto, pero la longitud del contexto es limitada. Una vez que la conversación se vuelve larga, el contenido histórico se comprime y se pierden algunos detalles. Un archivo de memoria global fija reglas importantes para que el modelo pueda verlas al comienzo de cada tarea.&lt;/p&gt;
&lt;p&gt;Esto significa dos cosas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;El contenido escrito allí es más difícil de olvidar.&lt;/li&gt;
&lt;li&gt;El contenido escrito allí también cuesta algo en cada tarea.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;No es como un README que se lee sólo cuando es necesario. Se parece más a un conjunto de limitaciones laborales de larga duración. Una vez que algo se coloca allí, afecta el juicio del modelo por defecto.&lt;/p&gt;
&lt;p&gt;Por lo tanto, &lt;code&gt;Claude.md&lt;/code&gt; no es una introducción al proyecto, ni una colección de consejos, ni un lugar para deshacerse de cada proceso de desarrollo. Sólo debe almacenar reglas que el modelo probablemente viole repetidamente si no las conoce.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-puede-empeorar-las-cosas&#34;&gt;Por qué puede empeorar las cosas
&lt;/h2&gt;&lt;p&gt;Un archivo de memoria global mal escrito suele provocar tres tipos de problemas.&lt;/p&gt;
&lt;p&gt;Primero, consume contexto.&lt;/p&gt;
&lt;p&gt;Si &lt;code&gt;Claude.md&lt;/code&gt; tiene mil líneas, esas líneas permanecen en el contexto del modelo durante mucho tiempo. Es posible que se reduzcan el código, los mensajes de error y los requisitos que realmente son relevantes para la tarea actual. El contexto no es espacio libre. Cuanto más grande sea el archivo de reglas globales, más fácil será diluir la tarea actual.&lt;/p&gt;
&lt;p&gt;En segundo lugar, puede desencadenar comportamientos innecesarios.&lt;/p&gt;
&lt;p&gt;Por ejemplo, un archivo global podría decir:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Before every task, fully read the project directory.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;After every change, run a complete end-to-end test.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Estas líneas parecen responsables, pero en un archivo de memoria global se convierten en &amp;ldquo;hacer esto para cada tarea&amp;rdquo;. Incluso si la tarea consiste solo en cambiar una línea de copia, el modelo puede realizar exploraciones y pruebas innecesarias debido a estas reglas. El resultado es un trabajo más lento, un costo más alto y, a veces, más interferencia.&lt;/p&gt;
&lt;p&gt;En tercer lugar, aumenta la carga del juicio.&lt;/p&gt;
&lt;p&gt;Declaraciones como &amp;ldquo;mantener el código elegante, conciso, mantenible y extensible&amp;rdquo; suenan correctas, pero son restricciones débiles. Cada vez que el modelo genera código, tiene que decidir qué significa elegante o extensible, sin recibir un límite claro.&lt;/p&gt;
&lt;p&gt;Un mejor enfoque es escribir prohibiciones o contraejemplos concretos en lugar de virtudes abstractas. Por ejemplo:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Do not add a generic abstraction for a single call site.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Do not change shared parsing logic without test coverage.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Do not put temporary scripts in the application source directory.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Estas reglas son más específicas y más fáciles de seguir.&lt;/p&gt;
&lt;h2 id=&#34;qué-debería-entrar&#34;&gt;¿Qué debería entrar?
&lt;/h2&gt;&lt;p&gt;Puedes usar un estándar simple para decidir si algo pertenece a &lt;code&gt;Claude.md&lt;/code&gt;:&lt;/p&gt;
&lt;p&gt;Si la IA comete repetidamente el mismo error sin ella, entonces vale la pena anotarlo.&lt;/p&gt;
&lt;p&gt;El contenido adecuado para un archivo de memoria global suele tener estas características:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Es duradero&lt;/li&gt;
&lt;li&gt;Está fuertemente ligado al repositorio actual.&lt;/li&gt;
&lt;li&gt;No se puede inferir naturalmente de la estructura del código.&lt;/li&gt;
&lt;li&gt;Cambia claramente el comportamiento del modelo.&lt;/li&gt;
&lt;li&gt;Es preferiblemente una restricción, prohibición, regla de ruta o comando fijo.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Por ejemplo:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;For all Hugo posts, only edit index.zh-cn.md and do not automatically generate other language versions.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Article front matter must include title/date/draft/tags/categories/slug/description.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Do not modify generated artifacts under public/.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;On PowerShell, use scripts/deploy.ps1 for deployment.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Estas no son sugerencias vagas. Están vinculados a cómo funciona realmente el repositorio. Si el modelo no los conoce puede cometer errores; una vez que los conoce, puede evitar verdaderos errores.&lt;/p&gt;
&lt;h2 id=&#34;qué-debería-quedar-fuera&#34;&gt;¿Qué debería quedar fuera?
&lt;/h2&gt;&lt;p&gt;Mucha gente convierte &lt;code&gt;Claude.md&lt;/code&gt; en un manual de proyecto. Esto suele ser innecesario.&lt;/p&gt;
&lt;p&gt;El contenido que generalmente no pertenece allí incluye:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Visión y antecedentes del proyecto.&lt;/li&gt;
&lt;li&gt;Descripciones de estructuras de directorios grandes.&lt;/li&gt;
&lt;li&gt;Planes de tareas temporales&lt;/li&gt;
&lt;li&gt;Pasos únicos de depuración&lt;/li&gt;
&lt;li&gt;Lemas de calidad de código abstracto.&lt;/li&gt;
&lt;li&gt;Flujos de trabajo largos que solo son necesarios en algunas situaciones.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Por ejemplo, una descripción como &amp;ldquo;este es un proyecto de comercio electrónico con módulos de producto, pedido y usuario&amp;rdquo; ayuda muy poco con una tarea de codificación concreta. Durante el desarrollo real, el modelo debe depender de los requisitos, especificaciones, estructura del código y pruebas actuales, no de una introducción aproximada del proyecto en la memoria global.&lt;/p&gt;
&lt;p&gt;Lo mismo se aplica a la estructura de directorios. A menos que un directorio tenga una convención especial, como &amp;ldquo;los componentes compartidos deben importarse desde este directorio&amp;rdquo;, no es necesario escribir el árbol completo en el archivo. El modelo puede leer el directorio del proyecto. Es fácil que una descripción de directorio estática quede obsoleta.&lt;/p&gt;
&lt;h2 id=&#34;los-flujos-de-trabajo-pertenecen-a-habilidades-o-comandos&#34;&gt;Los flujos de trabajo pertenecen a habilidades o comandos
&lt;/h2&gt;&lt;p&gt;Si una sección dice &amp;ldquo;primero haz esto, luego aquello y luego haz la tercera cosa&amp;rdquo;, es posible que no pertenezca a &lt;code&gt;Claude.md&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Los flujos de trabajo de larga duración se pueden convertir en habilidades, scripts o comandos. El beneficio es que la memoria global solo necesita conservar el nombre y la condición de activación, mientras que los pasos detallados se cargan solo cuando es necesario.&lt;/p&gt;
&lt;p&gt;Por ejemplo:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;When the user asks to translate a Hugo post, use the post-translate skill.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;When the user asks to deploy the site, run the hugo-rsync-deploy workflow.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Esto es más liviano que poner los procesos completos de traducción e implementación en &lt;code&gt;Claude.md&lt;/code&gt;. La memoria global sigue siendo corta y los flujos de trabajo detallados se encuentran en herramientas activables.&lt;/p&gt;
&lt;p&gt;El nuevo flujo de inicialización de Claude también avanza en esta dirección. No solo genera un &lt;code&gt;Claude.md&lt;/code&gt;; también intenta dividir los flujos de trabajo reutilizables en habilidades y los eventos fijos en ganchos. La idea subyacente es clara: la memoria global debería ser un punto de entrada, mientras que los detalles deberían cargarse según demanda.&lt;/p&gt;
&lt;h2 id=&#34;claudemd-necesita-iteración&#34;&gt;Claude.md necesita iteración
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;Claude.md&lt;/code&gt; no debe escribirse una vez y luego ignorarse.&lt;/p&gt;
&lt;p&gt;Un mejor enfoque es ser breve al principio y dejar que las tareas reales expongan los problemas. Si ocurre un error una vez, manéjelo manualmente. Si el mismo tipo de error aparece dos o más veces, puede merecer convertirse en una regla global.&lt;/p&gt;
&lt;p&gt;Este tipo de iteración es más útil que escribir un enorme conjunto de reglas al principio. Al principio, no sabes qué reglas son realmente útiles o qué líneas se convertirán en ruido. A medida que el proyecto crece, la colaboración aumenta y el comportamiento del modelo se vuelve más claro, puede agregar gradualmente problemas de alta frecuencia.&lt;/p&gt;
&lt;p&gt;También hay una tendencia importante: cuanto más fuerte sea el modelo, más corto debería ser el archivo de memoria global.
Muchos requisitos que alguna vez tuvieron que escribirse en indicaciones ahora son manejados naturalmente por el modelo. Continuar poniendo esos requisitos básicos en &lt;code&gt;Claude.md&lt;/code&gt; solo aumenta la carga de contexto. La memoria global debería reducirse a medida que mejora la capacidad del modelo, manteniendo solo lo que es exclusivo de este repositorio y no se puede inferir automáticamente.&lt;/p&gt;
&lt;h2 id=&#34;una-forma-más-práctica-de-escribirlo&#34;&gt;Una forma más práctica de escribirlo
&lt;/h2&gt;&lt;p&gt;Al escribir &lt;code&gt;Claude.md&lt;/code&gt;, piense en este orden:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;¿Qué convenciones especiales tiene este repositorio?&lt;/li&gt;
&lt;li&gt;¿Qué errores ha cometido el modelo más de una vez?&lt;/li&gt;
&lt;li&gt;¿Qué directorios, archivos o comandos nunca deben usarse indebidamente?&lt;/li&gt;
&lt;li&gt;¿Qué flujos de trabajo deberían convertirse en habilidades, guiones o comandos en lugar de un contexto permanente?&lt;/li&gt;
&lt;li&gt;¿Qué partes son meras introducciones y pueden eliminarse?&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;El archivo final puede tener sólo unas pocas docenas de líneas. No es necesario explicar completamente el proyecto. Necesita limitar el comportamiento con precisión.&lt;/p&gt;
&lt;p&gt;Un buen &lt;code&gt;Claude.md&lt;/code&gt; podría verse así:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;# Working Rules
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- Only edit files related to the current task.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- Do not modify generated artifact directories such as public/ or resources/.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- Hugo post rewrites only process index.zh-cn.md and do not generate other language versions.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- If deployment is involved, run the Hugo build first, then execute the existing rsync script.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;- When there are existing user changes, do not revert them. Continue from the current state.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Es breve, pero cada línea afecta el comportamiento real. Ese es el tipo de contenido que vale la pena mantener en contexto permanentemente.&lt;/p&gt;
&lt;h2 id=&#34;pensamiento-final&#34;&gt;Pensamiento final
&lt;/h2&gt;&lt;p&gt;El valor de &lt;code&gt;Claude.md&lt;/code&gt; no es hacer que la IA &amp;ldquo;sepa más&amp;rdquo;. Se trata de hacer que la IA &amp;ldquo;evite errores corregidos&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;No es una base de conocimientos ni una enciclopedia de proyectos. Es un archivo de restricciones de larga duración para la codificación AI.&lt;br&gt;
Cuanto más específico, breve y cercano a los errores reales sea, más útil será. Cuanto más genérica, más larga y más parecida a una introducción de proyecto sea, más probable será que ralentice el modelo o incluso empeore los resultados.&lt;/p&gt;
&lt;p&gt;Trate la memoria global como un recurso escaso, no como un bloc de notas ilimitado. Ese puede ser el principio más importante para escribir un buen &lt;code&gt;Claude.md&lt;/code&gt;.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Codex está empezando a controlar la computadora. ¿Qué significa eso para el futuro?</title>
        <link>https://knightli.com/es/2026/04/29/codex-computer-use-update/</link>
        <pubDate>Wed, 29 Apr 2026 11:28:25 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/04/29/codex-computer-use-update/</guid>
        <description>&lt;p&gt;La parte más importante de esta actualización del Codex no es que agregó otro botón común y corriente. Es que el Codex está empezando a avanzar hacia &amp;ldquo;controlar la computadora&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;En el pasado, usar IA generalmente significaba hacer preguntas en un cuadro de chat, copiar, pegar y luego operar manualmente el software.&lt;br&gt;
Ahora ese límite se está ampliando: la IA no solo te responde. Puede operar aplicaciones de escritorio según su objetivo.&lt;/p&gt;
&lt;p&gt;A corto plazo, esta es una característica nueva. A largo plazo, puede cambiar la cantidad de personas que usan computadoras.&lt;/p&gt;
&lt;h2 id=&#34;qué-es-esta-característica&#34;&gt;¿Qué es esta característica?
&lt;/h2&gt;&lt;p&gt;En pocas palabras, la capacidad de uso de computadoras de Codex le permite acceder y operar el entorno de escritorio.&lt;/p&gt;
&lt;p&gt;Puede hacer cosas como:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;seleccionar y controlar una aplicación&lt;/li&gt;
&lt;li&gt;recibir tareas en lenguaje natural&lt;/li&gt;
&lt;li&gt;abrir navegadores, herramientas de inteligencia artificial, archivos locales u otro software&lt;/li&gt;
&lt;li&gt;ingrese texto, haga clic en botones y espere resultados&lt;/li&gt;
&lt;li&gt;conectar varios pasos en una tarea&lt;/li&gt;
&lt;li&gt;seguir ejecutándose en segundo plano sin necesidad de que el usuario siga cada paso manualmente&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Su función no es solo escribir un texto para usted, sino también completar un flujo de operación para usted.&lt;/p&gt;
&lt;p&gt;Esa es la diferencia clave entre un Agente y un chatbot común y corriente:&lt;br&gt;
un chatbot da principalmente respuestas; un Agente está más cerca de &amp;ldquo;recibir un objetivo y luego ejecutarlo&amp;rdquo;.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-esto-es-importante&#34;&gt;Por qué esto es importante
&lt;/h2&gt;&lt;p&gt;En el pasado, gran parte de la automatización requería que supieras escribir guiones.&lt;/p&gt;
&lt;p&gt;Por ejemplo, supongamos que desea completar un flujo de trabajo entre software:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;abrir una página web&lt;/li&gt;
&lt;li&gt;encontrar información&lt;/li&gt;
&lt;li&gt;copiar contenido&lt;/li&gt;
&lt;li&gt;pásalo a otra herramienta de IA&lt;/li&gt;
&lt;li&gt;guardar un archivo&lt;/li&gt;
&lt;li&gt;abre el directorio local y comprueba el resultado&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Para automatizar esto de forma tradicional, es posible que necesite scripts de navegador, API, programas locales e incluso automatización de ventanas.&lt;/p&gt;
&lt;p&gt;Pero muchos usuarios comunes y corrientes no saben cómo escribir estas cosas.&lt;br&gt;
Incluso si lo hacen, puede que no valga la pena escribir un guión para una tarea temporal.&lt;/p&gt;
&lt;p&gt;Aquí es donde importa el uso de la computadora: empuja la &amp;ldquo;capacidad similar a un script&amp;rdquo; hacia el lenguaje natural.&lt;/p&gt;
&lt;p&gt;No es necesario que le diga exactamente dónde hacer clic.&lt;br&gt;
Puede decirle qué resultado desea y dejar que intente completar la tarea.&lt;/p&gt;
&lt;h2 id=&#34;flujos-de-trabajo-que-pueden-cambiar&#34;&gt;Flujos de trabajo que pueden cambiar
&lt;/h2&gt;&lt;p&gt;Creo que los primeros flujos de trabajo que cambiarán no serán trabajos extremadamente serios o de alto riesgo, sino tareas molestas, fragmentadas, repetitivas y para las que no vale la pena escribir un programa dedicado.&lt;/p&gt;
&lt;h3 id=&#34;1-mover-información-a-través-del-software&#34;&gt;1. Mover información a través del software
&lt;/h3&gt;&lt;p&gt;El caso más típico es el de mover información entre aplicaciones.&lt;/p&gt;
&lt;p&gt;Anteriormente, podía alternar entre un navegador, un documento, una ventana de chat y una carpeta local.&lt;br&gt;
En el futuro, podrás encargar este tipo de tarea a un Agente:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;encontrar cierto tipo de información&lt;/li&gt;
&lt;li&gt;resumirlo en un documento&lt;/li&gt;
&lt;li&gt;guárdelo en un directorio específico&lt;/li&gt;
&lt;li&gt;abre el resultado para que lo revises&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Este trabajo no es difícil, pero requiere atención.&lt;br&gt;
El valor de un Agente es que absorbe estas pequeñas operaciones.&lt;/p&gt;
&lt;h3 id=&#34;2-coordinación-entre-múltiples-herramientas-de-ia&#34;&gt;2. Coordinación entre múltiples herramientas de IA
&lt;/h3&gt;&lt;p&gt;El flujo de trabajo real de muchas personas ya no se basa en una única herramienta de inteligencia artificial.&lt;/p&gt;
&lt;p&gt;Puede verse así:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;una herramienta escribe código&lt;/li&gt;
&lt;li&gt;una herramienta busca información&lt;/li&gt;
&lt;li&gt;una herramienta genera imágenes&lt;/li&gt;
&lt;li&gt;una herramienta organiza documentos&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Anteriormente, estas herramientas se conectaban mediante copiar y pegar manualmente.&lt;br&gt;
En el futuro, un Agente puede convertirse en la capa intermedia: abre herramientas, pasa contexto, espera resultados y organiza resultados.
Esto puede convertir &amp;ldquo;múltiples herramientas de IA trabajando juntas&amp;rdquo; de un proceso manual a un proceso semiautomático.&lt;/p&gt;
&lt;h3 id=&#34;3-automatización-del-software-de-oficina&#34;&gt;3. Automatización del software de oficina
&lt;/h3&gt;&lt;p&gt;Las hojas de cálculo, las presentaciones, los documentos y el correo electrónico comparten una característica: son potentes, pero muchas operaciones están fragmentadas.&lt;/p&gt;
&lt;p&gt;Si los agentes pueden controlar este software de forma fiable, la barrera a la automatización de oficinas disminuirá notablemente.&lt;/p&gt;
&lt;p&gt;No es necesario recordar dónde está un menú ni aprender atajos complicados.&lt;br&gt;
Solo necesitas describir el objetivo, como por ejemplo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;convierta esta hoja de cálculo en un informe mensual&lt;/li&gt;
&lt;li&gt;hacer un resumen de una página de este documento&lt;/li&gt;
&lt;li&gt;combinar estos materiales en una explicación claramente estructurada&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Las tediosas operaciones de los botones quedarán gradualmente ocultas detrás del lenguaje natural.&lt;/p&gt;
&lt;h2 id=&#34;qué-significa-para-los-usuarios-comunes&#34;&gt;Qué significa para los usuarios comunes
&lt;/h2&gt;&lt;p&gt;Para los usuarios comunes, este tipo de característica puede tener un impacto más directo que &amp;ldquo;el modelo se volvió un poco más inteligente&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Porque reduce la barrera operativa, no sólo la barrera del conocimiento.&lt;/p&gt;
&lt;p&gt;Muchas personas pueden describir lo que quieren, pero no saben dónde hacer clic o cómo combinar funciones dentro del software.&lt;br&gt;
Si los Agentes pueden hacerse cargo de esta parte, el uso de una computadora puede convertirse en:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;I describe the goal
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Agent operates the software
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;I check the result
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Esto está más cerca de la productividad real que un simple chat.&lt;/p&gt;
&lt;h2 id=&#34;su-impacto-en-el-software&#34;&gt;Su impacto en el software
&lt;/h2&gt;&lt;p&gt;Si este tipo de capacidad del Agente continúa madurando, el software en sí también se verá afectado.&lt;/p&gt;
&lt;p&gt;En el pasado, el diseño de software se basaba principalmente en el clic humano.&lt;br&gt;
En el futuro, es posible que también sea necesario que el software sirva para la operación del Agente.&lt;/p&gt;
&lt;p&gt;Esto significa:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;los elementos de la interfaz deben ser más claros&lt;/li&gt;
&lt;li&gt;la retroalimentación de operación debe ser más estable&lt;/li&gt;
&lt;li&gt;los permisos locales deben ser más granulares&lt;/li&gt;
&lt;li&gt;el software puede proporcionar interfaces más adecuadas para las llamadas de los agentes&lt;/li&gt;
&lt;li&gt;A los usuarios les puede interesar más si la IA puede operar el software sin problemas&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A largo plazo, los límites entre las aplicaciones pueden volverse más delgados.&lt;br&gt;
Es posible que a los usuarios les importe menos &amp;ldquo;qué aplicación debo abrir&amp;rdquo; y más &amp;ldquo;qué tarea quiero completar&amp;rdquo;.&lt;/p&gt;
&lt;h2 id=&#34;no-lo-exageres-todavía&#34;&gt;No lo exageres todavía
&lt;/h2&gt;&lt;p&gt;Por supuesto, todavía no es momento de dejarlo ir por completo.&lt;/p&gt;
&lt;p&gt;Este tipo de capacidad todavía tiene varias limitaciones claras:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;la estabilidad aún necesita observación&lt;/li&gt;
&lt;li&gt;las tareas complejas pueden fallar en el medio&lt;/li&gt;
&lt;li&gt;los límites de los permisos deben manejarse con cuidado&lt;/li&gt;
&lt;li&gt;Las operaciones de eliminación de cuentas, pagos y archivos no deben delegarse a la ligera.&lt;/li&gt;
&lt;li&gt;el consumo de cuotas no es algo que puedas ignorar por completo&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Entonces, en esta etapa, el mejor caso de uso es no dejar que se haga cargo de toda la computadora, sino permitir que maneje tareas de bajo riesgo, revisables y con muchos pasos.&lt;/p&gt;
&lt;p&gt;Por ejemplo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;organización de materiales&lt;/li&gt;
&lt;li&gt;generar borradores&lt;/li&gt;
&lt;li&gt;mover contenido entre herramientas&lt;/li&gt;
&lt;li&gt;abrir y comprobar archivos&lt;/li&gt;
&lt;li&gt;ejecutar flujos de trabajo semiautomáticos que pueden ser revisados por un humano&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;una-última-línea&#34;&gt;Una última línea
&lt;/h2&gt;&lt;p&gt;La verdadera importancia de esta actualización del Codex es que empuja a la IA de &amp;ldquo;responder preguntas&amp;rdquo; a &amp;ldquo;operar el entorno&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;A corto plazo, es una característica del uso de la computadora.&lt;br&gt;
A largo plazo, puede marcar un cambio en la forma en que se utilizan las computadoras personales.&lt;/p&gt;
&lt;p&gt;En el futuro, es posible que dediquemos menos tiempo a recordar botones, buscar menús y cambiar de ventana.&lt;br&gt;
Más a menudo, describiremos el objetivo, dejaremos que un Agente lo ejecute y luego dejaremos que los humanos tomen el juicio final.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>¿Por qué existe una habilidad del Codex en el directorio pero aún no aparece?</title>
        <link>https://knightli.com/es/2026/04/29/codex-skill-not-loaded-because-of-utf-8-bom/</link>
        <pubDate>Wed, 29 Apr 2026 11:18:00 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/04/29/codex-skill-not-loaded-because-of-utf-8-bom/</guid>
        <description>&lt;p&gt;Este problema era fácil de pasar por alto: varias habilidades ya estaban ubicadas en &lt;code&gt;~/.codex/skills&lt;/code&gt;, pero después de abrir un nuevo hilo del Codex, la barra lateral todavía mostraba solo un pequeño subconjunto de ellas.&lt;/p&gt;
&lt;p&gt;Al principio, parecía un problema de caché o de indexación. La causa real fue más específica: varios archivos &lt;code&gt;SKILL.md&lt;/code&gt; comenzaron con una lista de materiales UTF-8. El cargador de habilidades de Codex 0.111.0 no omitió esa secuencia de bytes, por lo que calculó erróneamente que los archivos no tenían contenido YAML válido.&lt;/p&gt;
&lt;h2 id=&#34;síntoma&#34;&gt;Síntoma
&lt;/h2&gt;&lt;p&gt;El directorio local contenía estas habilidades:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;~/.codex/skills/git-commit-push/SKILL.md
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;~/.codex/skills/hugo-rsync-deploy/SKILL.md
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;~/.codex/skills/bilibili-speech-transcriber/SKILL.md
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;~/.codex/skills/product-cutout-normalize/SKILL.md
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Pero después de abrir un hilo nuevo, las habilidades realmente expuestas fueron solo:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bilibili-speech-transcriber
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;product-cutout-normalize
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;En otras palabras, un archivo existente en el disco no significa que la sesión actual pueda cargarlo correctamente. Codex analiza primero la portada de cada &lt;code&gt;SKILL.md&lt;/code&gt;. Si el análisis falla, esa habilidad se excluye directamente.&lt;/p&gt;
&lt;h2 id=&#34;investigación&#34;&gt;Investigación
&lt;/h2&gt;&lt;p&gt;Iniciar una nueva sesión con &lt;code&gt;codex exec&lt;/code&gt; mostró un error más directo. En VS Code u otros IDE, es posible que estos registros no sean visibles:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;failed to load skill C:\Users\knightli\.codex\skills\git-commit-push\SKILL.md: missing YAML frontmatter delimited by ---
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;failed to load skill C:\Users\knightli\.codex\skills\hugo-rsync-deploy\SKILL.md: missing YAML frontmatter delimited by ---
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Visualmente, estos archivos parecían tener un encabezado normal:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-md&#34; data-lang=&#34;md&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;name: post-rewrite
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;description: ...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;El verdadero problema estaba en el nivel de bytes.&lt;/p&gt;
&lt;p&gt;El comienzo de un archivo fallido fue:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;EF-BB-BF-2D-2D-2D
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;El comienzo de un archivo que se cargó correctamente fue:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2D-2D-2D
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;2D-2D-2D&lt;/code&gt; es &lt;code&gt;---&lt;/code&gt;. El &lt;code&gt;EF-BB-BF&lt;/code&gt; anterior es la lista de materiales UTF-8.&lt;/p&gt;
&lt;h2 id=&#34;causa&#34;&gt;Causa
&lt;/h2&gt;&lt;p&gt;En Codex 0.111.0, el cargador de habilidades espera que el primer byte de &lt;code&gt;SKILL.md&lt;/code&gt; sea el primer &lt;code&gt;-&lt;/code&gt; en &lt;code&gt;---&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Si el archivo comienza con una lista de materiales UTF-8, el comienzo real será:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;BOM + ---
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Entonces, el cargador piensa que el archivo no comienza con el delimitador inicial e informa:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;missing YAML frontmatter delimited by ---
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;El contenido de la habilidad no era incorrecto y el directorio tampoco era incorrecto. Un pequeño detalle de codificación impidió que el analizador reconociera el archivo.&lt;/p&gt;
&lt;h2 id=&#34;arreglar&#34;&gt;Arreglar
&lt;/h2&gt;&lt;p&gt;Convierta los archivos &lt;code&gt;SKILL.md&lt;/code&gt; afectados a UTF-8 sin BOM.&lt;/p&gt;
&lt;p&gt;En PowerShell, esto se puede hacer así:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$paths&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;vm&#34;&gt;@&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;s1&#34;&gt;&amp;#39;C:\Users\knightli\.codex\skills\git-commit-push\SKILL.md&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;s1&#34;&gt;&amp;#39;C:\Users\knightli\.codex\skills\hugo-rsync-deploy\SKILL.md&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;$utf8NoBom&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;New-Object&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;System&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;Text&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;py&#34;&gt;UTF8Encoding&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;vm&#34;&gt;$false&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;foreach&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$p&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$paths&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nv&#34;&gt;$text&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;no&#34;&gt;IO.File&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]::&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;ReadAllText&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$p&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;no&#34;&gt;Text.Encoding&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]::&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;UTF8&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;no&#34;&gt;IO.File&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]::&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;WriteAllText&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$p&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$text&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$utf8NoBom&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Después del procesamiento, el encabezado del archivo debería cambiar de:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;EF-BB-BF-2D-2D-2D
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;a:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;2D-2D-2D
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;verificación&#34;&gt;Verificación
&lt;/h2&gt;&lt;p&gt;Después de reiniciar una sesión del Codex, las habilidades visibles se restauraron en:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git-commit-push-zh
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hugo-rsync-deploy
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bilibili-speech-transcriber
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;product-cutout-normalize
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si la barra lateral todavía muestra la lista anterior, cierre la barra lateral o ventana actual del Codex y vuelva a abrir el proyecto. La lista de habilidades generalmente se carga cuando comienza la sesión, por lo que es posible que los cambios realizados en mitad de una sesión no se actualicen inmediatamente.&lt;/p&gt;
&lt;h2 id=&#34;una-última-línea&#34;&gt;Una última línea
&lt;/h2&gt;&lt;p&gt;Este tipo de problema es fácil de confundir con &amp;ldquo;El Codex no se volvió a indexar&amp;rdquo; o &amp;ldquo;la habilidad no se instaló correctamente&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Al solucionar problemas, verifique primero estas tres cosas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;si &lt;code&gt;SKILL.md&lt;/code&gt; está realmente en el directorio correcto&lt;/li&gt;
&lt;li&gt;si el archivo tiene un texto inicial &lt;code&gt;---&lt;/code&gt; válido en la parte superior&lt;/li&gt;
&lt;li&gt;si el archivo es UTF-8 sin BOM&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La clave en este caso fue el tercer punto: el archivo se veía bien, pero su primer byte no era &amp;ldquo;-&amp;rdquo;, por lo que Codex no lo trató como una habilidad válida.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>¿Cuál es la diferencia entre ~/.codex/skills y Project .codex/skills en Codex?</title>
        <link>https://knightli.com/es/2026/04/29/difference-between-global-and-project-codex-skills/</link>
        <pubDate>Wed, 29 Apr 2026 11:08:00 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/04/29/difference-between-global-and-project-codex-skills/</guid>
        <description>&lt;p&gt;Al organizar las habilidades del Codex, la gente suele quedarse estancada en dos preguntas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;¿Cuál es la diferencia entre &lt;code&gt;~/.codex/skills&lt;/code&gt; y &lt;code&gt;project/.codex/skills&lt;/code&gt;?&lt;/li&gt;
&lt;li&gt;¿Por qué existe una habilidad en el directorio pero no aparece en la sesión actual?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Aquí está la versión corta.&lt;/p&gt;
&lt;h2 id=&#34;la-diferencia&#34;&gt;La diferencia
&lt;/h2&gt;&lt;p&gt;La forma más sencilla de recordarlo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;~/.codex/skills&lt;/code&gt; es tu biblioteca de habilidades global&lt;/li&gt;
&lt;li&gt;&lt;code&gt;project/.codex/skills&lt;/code&gt; es la biblioteca de habilidades local para ese repositorio&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;codexskills&#34;&gt;&lt;code&gt;~/.codex/skills&lt;/code&gt;
&lt;/h3&gt;&lt;p&gt;Úselo para:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Habilidades que reutilizas personalmente en todos los proyectos.&lt;/li&gt;
&lt;li&gt;flujos de trabajo generales que no están vinculados a un repositorio específico&lt;/li&gt;
&lt;li&gt;flujos de trabajo que claramente pertenecen a sus propios hábitos&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Por ejemplo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;post-reescritura&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;post-traducir&lt;/code&gt;
-&lt;code&gt;git-commit-push&lt;/code&gt;
-&lt;code&gt;hugo-rsync-deploy&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;bilibili-transcriptor-de-voz&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;El rasgo clave de este tipo de habilidad es: &lt;strong&gt;todavía tiene sentido fuera del proyecto actual.&lt;/strong&gt;&lt;/p&gt;
&lt;h3 id=&#34;proyectocodexskills&#34;&gt;&lt;code&gt;proyecto/.codex/skills&lt;/code&gt;
&lt;/h3&gt;&lt;p&gt;Úselo para:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;flujos de trabajo que solo se aplican a este repositorio&lt;/li&gt;
&lt;li&gt;reglas estrechamente acopladas a la estructura, scripts o plantillas del proyecto actual&lt;/li&gt;
&lt;li&gt;Habilidades que deben ser compartidas por el equipo.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Por ejemplo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;un flujo de trabajo de publicación específico para este repositorio&lt;/li&gt;
&lt;li&gt;una plantilla de generación que solo funciona en este proyecto&lt;/li&gt;
&lt;li&gt;pasos de automatización estrechamente vinculados a scripts de proyectos privados&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;El rasgo clave de este tipo de habilidad es: &lt;strong&gt;deja de ser significativo una vez que sale de este repositorio.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&#34;cuándo-utilizar-habilidades-globales-y-cuándo-utilizar-habilidades-de-proyecto&#34;&gt;Cuándo utilizar habilidades globales y cuándo utilizar habilidades de proyecto
&lt;/h2&gt;&lt;p&gt;Esta regla general es suficiente:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Si se trata de tus hábitos personales, ponlo en &lt;code&gt;~/.codex/skills&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Si se trata de reglas del repositorio, colóquelo en &lt;code&gt;project/.codex/skills&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Si se puede reutilizar en todos los proyectos, prefiera global&lt;/li&gt;
&lt;li&gt;Si debe ser compartido por varias personas y evolucionar con el repositorio, prefiera el nivel de proyecto&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;el-repositorio-actual&#34;&gt;El repositorio actual
&lt;/h2&gt;&lt;p&gt;Basado en el estado actual:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;su máquina tiene &lt;code&gt;~/.codex/skills&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;este repositorio no tiene &lt;code&gt;.codex/skills&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Así que ahora mismo dependes principalmente de las habilidades globales.&lt;/p&gt;
&lt;p&gt;Eso significa que flujos de trabajo como &amp;ldquo;post-reescritura&amp;rdquo;, &amp;ldquo;post-traducción&amp;rdquo; y &amp;ldquo;git-commit-push&amp;rdquo; son actualmente más bien parte de su flujo de trabajo personal, no algo incluido explícitamente con este repositorio.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-existe-una-habilidad-en-el-disco-pero-puede-no-aparecer-en-la-sesión-actual&#34;&gt;Por qué existe una habilidad en el disco pero puede no aparecer en la sesión actual
&lt;/h2&gt;&lt;p&gt;Hay dos cosas diferentes aquí:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Existente en el disco&lt;/strong&gt;: el archivo de habilidad existe en un directorio local&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Expuesto a la sesión&lt;/strong&gt;: la sesión actual lo registró en la lista de habilidades disponibles&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Estos no son lo mismo.&lt;/p&gt;
&lt;p&gt;Entonces esto puede suceder:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ya existe una habilidad en &lt;code&gt;~/.codex/skills&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;pero no aparece en la lista después de &lt;code&gt;/&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Por lo general, esto no significa que la habilidad esté rota. Más a menudo significa: &lt;strong&gt;la sesión actual no la ha vuelto a indexar.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id=&#34;cómo-hacer-que-una-habilidad-esté-disponible-en-la-sesión-actual&#34;&gt;Cómo hacer que una habilidad esté disponible en la sesión actual
&lt;/h2&gt;&lt;p&gt;La lista de verificación práctica es breve.&lt;/p&gt;
&lt;h3 id=&#34;1-colóquelo-en-el-directorio-correcto&#34;&gt;1. Colóquelo en el directorio correcto
&lt;/h3&gt;&lt;p&gt;Mundiales:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;~/.codex/skills/&amp;lt;skill-name&amp;gt;/SKILL.md
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Nivel de proyecto:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;project/.codex/skills/&amp;lt;skill-name&amp;gt;/SKILL.md
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;2-haga-que-el-encabezado-skillmd-sea-reconocible&#34;&gt;2. Haga que el encabezado &lt;code&gt;SKILL.md&lt;/code&gt; sea reconocible
&lt;/h3&gt;&lt;p&gt;Como mínimo, necesita:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-md&#34; data-lang=&#34;md&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;name: your-skill-name
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;description: What this skill does
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;3-abra-una-nueva-sesión-después-de-crearla-o-editarla&#34;&gt;3. Abra una nueva sesión después de crearla o editarla
&lt;/h3&gt;&lt;p&gt;En muchos casos, una habilidad no aparece porque la sesión actual ya fijó su lista de habilidades disponibles cuando comenzó.&lt;/p&gt;
&lt;p&gt;Entonces, si crea una habilidad en medio de una sesión, es posible que ya exista en el disco, pero es posible que esta sesión no la reconozca.&lt;/p&gt;
&lt;p&gt;El flujo de trabajo más confiable es:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Ponga en práctica la habilidad&lt;/li&gt;
&lt;li&gt;Finalizar la sesión actual&lt;/li&gt;
&lt;li&gt;Vuelva a ingresar al proyecto.&lt;/li&gt;
&lt;li&gt;Abre una nueva sesión&lt;/li&gt;
&lt;li&gt;Compruebe si aparece debajo de &lt;code&gt;/&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;4-implemente-las-habilidades-para-el-proyecto-antes-de-comenzar&#34;&gt;4. Implemente las habilidades para el proyecto antes de comenzar
&lt;/h3&gt;&lt;p&gt;Si desea que &lt;code&gt;project/.codex/skills&lt;/code&gt; se reconozca de manera más confiable, coloque esas habilidades en el proyecto antes de ingresar al repositorio e iniciar la sesión.&lt;/p&gt;
&lt;h2 id=&#34;una-última-línea&#34;&gt;Una última línea
&lt;/h2&gt;&lt;p&gt;La conclusión más corta es:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;~/.codex/skills&lt;/code&gt; es tu biblioteca de habilidades personales&lt;/li&gt;
&lt;li&gt;&lt;code&gt;project/.codex/skills&lt;/code&gt; es la biblioteca de reglas local del repositorio&lt;/li&gt;
&lt;li&gt;una habilidad existente en el directorio no significa que la sesión actual siempre la mostrará&lt;/li&gt;
&lt;li&gt;la solución más común es colocarlo en el directorio correcto, escribir un &lt;code&gt;SKILL.md&lt;/code&gt; válido y luego iniciar una nueva sesión&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Ralph y la colaboración entre múltiples agentes: cómo mantener la IA funcionando de manera confiable durante tareas largas</title>
        <link>https://knightli.com/es/2026/04/27/ralph-multi-agent-long-running-ai-workflows/</link>
        <pubDate>Mon, 27 Apr 2026 08:19:02 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/04/27/ralph-multi-agent-long-running-ai-workflows/</guid>
        <description>&lt;p&gt;Si ha estado utilizando agentes de codificación últimamente, rápidamente se encontrará con una pregunta muy práctica: &lt;strong&gt;La IA puede funcionar, claro, pero ¿cómo se puede mantener funcionando durante horas sin desviarse, olvidar requisitos o rehacer el mismo trabajo?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ésa es la verdadera pregunta detrás de muchas discusiones sobre &amp;ldquo;Ralph&amp;rdquo; y la colaboración entre múltiples agentes. La cuestión no es simplemente comparar qué modelo es más fuerte. La pregunta más útil es esta: &lt;strong&gt;¿cómo se diseña un flujo de trabajo que permita a la IA mantenerse estable durante tareas largas?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Si analizamos el problema, normalmente hay dos rutas principales:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;El enfoque &lt;code&gt;Ralph&lt;/code&gt;: seguir iniciando sesiones nuevas y conectar el contexto a través del sistema de archivos&lt;/li&gt;
&lt;li&gt;El enfoque de múltiples agentes: dejar que un agente líder coordine mientras los agentes trabajadores dividen la ejecución&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Dicho de manera más simple, la pregunta no es &amp;ldquo;qué modelo es más poderoso&amp;rdquo;, sino &amp;ldquo;¿cómo se organiza la IA para que se comporte más como un pequeño equipo que pueda seguir cumpliendo?&amp;rdquo;.&lt;/p&gt;
&lt;h2 id=&#34;01-por-qué-las-tareas-largas-se-descarrilan&#34;&gt;01 Por qué las tareas largas se descarrilan
&lt;/h2&gt;&lt;p&gt;En tareas breves, muchos problemas quedan ocultos. Usted da una instrucción, el modelo lee algunos archivos, cambia algunas líneas y el trabajo está hecho.&lt;/p&gt;
&lt;p&gt;Una vez que la tarea se hace más larga, los modos de falla comunes comienzan a acumularse:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Las conversaciones se hacen más largas y el contexto comienza a abultarse.&lt;/li&gt;
&lt;li&gt;Los requisitos anteriores quedan eliminados por la información más reciente.&lt;/li&gt;
&lt;li&gt;Un agente tiene que planificar, implementar y probar al mismo tiempo.&lt;/li&gt;
&lt;li&gt;Sin un paso de aceptación claro, &amp;ldquo;está hecho&amp;rdquo; a menudo significa simplemente &amp;ldquo;dice que está hecho&amp;rdquo;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Entonces, cuando la IA funciona durante mucho tiempo, el verdadero desafío no suele ser la calidad del modelo de un solo disparo. Se trata de &lt;strong&gt;división de tareas, transferencia de estados, separación de roles y bucles de retroalimentación&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id=&#34;02-el-enfoque-ralph-dividir-las-tareas-largas-en-rondas-cortas&#34;&gt;02 El enfoque Ralph: dividir las tareas largas en rondas cortas
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;Ralph&lt;/code&gt; encaja bien cuando el problema principal es un contexto sucio y sobrecargado.&lt;/p&gt;
&lt;p&gt;Su patrón central es sencillo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sigue lanzando nuevas sesiones de agentes en bucle&lt;/li&gt;
&lt;li&gt;Deje que cada ronda se encargue solo de una tarea lo suficientemente pequeña&lt;/li&gt;
&lt;li&gt;Almacene el estado cruzado en archivos en lugar de forzar todo en una sola conversación&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;El beneficio es inmediato: cada ronda comienza con un contexto nuevo, por lo que la sesión permanece más centrada y es menos probable que se vea arrastrada por la vieja historia.&lt;/p&gt;
&lt;p&gt;Si ya ha visto proyectos estilo &amp;ldquo;Ralph&amp;rdquo;, la estructura le resultará familiar:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Las tareas actuales viven en archivos estructurados.&lt;/li&gt;
&lt;li&gt;Los aprendizajes intermedios van a los archivos de progreso.&lt;/li&gt;
&lt;li&gt;Los cambios de código permanecen en el historial de git.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En otras palabras, &amp;ldquo;Ralph&amp;rdquo; no intenta que un agente recuerde todo para siempre. Exterioriza la memoria a propósito para que la sesión en sí sea más ligera.&lt;/p&gt;
&lt;p&gt;Este tipo de configuración funciona especialmente bien cuando:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La obra ya se puede dividir en pequeñas historias.&lt;/li&gt;
&lt;li&gt;Cada historia puede caber dentro de una ventana de contexto.&lt;/li&gt;
&lt;li&gt;El proyecto ya cuenta con pruebas, verificación de tipos u otras comprobaciones.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Es una solución al problema de &lt;strong&gt;cómo hacer que la IA siga avanzando ronda a ronda&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id=&#34;03-el-enfoque-de-múltiples-agentes-dividir-el-trabajo-que-un-agente-no-puede-realizar-solo&#34;&gt;03 El enfoque de múltiples agentes: dividir el trabajo que un agente no puede realizar solo
&lt;/h2&gt;&lt;p&gt;La otra ruta es la colaboración entre múltiples agentes.&lt;/p&gt;
&lt;p&gt;En este tipo de diseño de flujo de trabajo, el patrón más prometedor suele ser el siguiente: el agente principal no debe hacer todo el trabajo directamente. En cambio, coordina mientras otros agentes se encargan del desarrollo, las pruebas, la verificación y la aceptación.&lt;/p&gt;
&lt;p&gt;Esto difiere de &lt;code&gt;Ralph&lt;/code&gt; en un aspecto importante:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;Ralph&lt;/code&gt; se siente más como una iteración en serie&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;El trabajo con múltiples agentes se parece más a una división paralela del trabajo.
Cuando la tarea contiene naturalmente diferentes roles, la colaboración entre múltiples agentes se vuelve más fácil de usar. Por ejemplo:&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Un agente desglosa la tarea y escribe el plan de ejecución.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Un agente implementa el cambio real.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Un agente prueba y valida el resultado.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Un agente comprueba si el resultado sigue coincidiendo con el objetivo original.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La cuestión no es abrir más ventanas porque sí. El valor real es la separación de roles. Las tareas que antes recaían sobre un solo agente ahora se pueden dividir en etapas más claras.&lt;/p&gt;
&lt;p&gt;Una vez que los límites de los roles están claros, varios problemas se aclaran:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La persona que escribe no tiene que ser la misma que revisa&lt;/li&gt;
&lt;li&gt;La parte de pruebas no tiene que reconstruir el requisito completo cada vez.&lt;/li&gt;
&lt;li&gt;Es menos probable que el agente principal se ahogue en los detalles de la implementación.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esta es una solución al problema de &lt;strong&gt;cómo hacer que la IA coopere más como un equipo pequeño&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id=&#34;04-la-verdadera-clave-no-es-el-paralelismo-sino-el-diseño-de-tareas&#34;&gt;04 La verdadera clave no es el paralelismo, sino el diseño de tareas
&lt;/h2&gt;&lt;p&gt;Ya sea que elija &lt;code&gt;Ralph&lt;/code&gt; o la colaboración entre múltiples agentes, lo más fácil de subestimar es esto: &lt;strong&gt;el diseño del flujo de trabajo importa más que abrir más agentes.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Si la división de tareas es incorrecta, agregar más agentes sólo crea un paralelismo con la confusión.&lt;/p&gt;
&lt;p&gt;Una avería más estable suele tener algunas características:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Una tarea se asigna a un objetivo claro&lt;/li&gt;
&lt;li&gt;Un rol posee una categoría de salida&lt;/li&gt;
&lt;li&gt;Cada ronda tiene una condición clara de finalización.&lt;/li&gt;
&lt;li&gt;La producción de una ronda puede ser consumida directamente por la siguiente.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Por ejemplo, en lugar de darle a la IA una instrucción gigante como &amp;ldquo;construir toda la característica&amp;rdquo;, una estructura más estable suele ser:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Primero, rompa los requisitos y los límites.&lt;/li&gt;
&lt;li&gt;Luego dividir la implementación&lt;/li&gt;
&lt;li&gt;Luego dividir las pruebas&lt;/li&gt;
&lt;li&gt;Entonces haz de la aceptación su propio paso.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La ventaja es que cuando algo sale mal, resulta más fácil saber si el problema radica en los criterios de comprensión, implementación, prueba o entrega.&lt;/p&gt;
&lt;h2 id=&#34;05-por-qué-la-aceptación-es-tan-importante&#34;&gt;05 Por qué la aceptación es tan importante
&lt;/h2&gt;&lt;p&gt;Muchos flujos de trabajo de IA fallan no porque no haya sucedido nada antes, sino porque el último paso careció de un pase de confirmación genuinamente independiente.&lt;/p&gt;
&lt;p&gt;En tareas largas, suele haber una gran brecha entre &amp;ldquo;se produjo un resultado&amp;rdquo; y &amp;ldquo;el resultado es realmente utilizable&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Por eso, una dirección especialmente importante es separar el desarrollo de la aceptación. Incluso sin un proceso complejo, vale la pena hacerse al menos estas preguntas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;¿Realmente completó la tarea original?&lt;/li&gt;
&lt;li&gt;¿Solo parchó la superficie sin solucionar la causa raíz?&lt;/li&gt;
&lt;li&gt;¿Las pruebas cubrieron sólo el camino más feliz?&lt;/li&gt;
&lt;li&gt;¿Se cambiaron silenciosamente los requisitos upstream a lo largo del camino?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Sin esa capa, la IA puede seguir declarando éxito fácilmente dentro de un flujo de trabajo prolongado.&lt;/p&gt;
&lt;h2 id=&#34;06-cómo-elegir-entre-los-dos&#34;&gt;06 Cómo elegir entre los dos
&lt;/h2&gt;&lt;p&gt;Si desea una regla general rápida:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Si su principal problema es la sobrecarga del contexto y la deriva de las sesiones largas, comience con &amp;ldquo;Ralph&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Si su principal problema es que un agente desempeña demasiadas funciones, comience con la colaboración de varios agentes.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Más específicamente:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Ralph&lt;/code&gt; se adapta al trabajo que es claro, granular y fácil de avanzar paso a paso&lt;/li&gt;
&lt;li&gt;La colaboración entre múltiples agentes se adapta al trabajo con fuertes límites de roles y una necesidad de paralelismo y verificación cruzada.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En la práctica, estos dos enfoques no siempre son competidores. Una configuración madura suele combinarlos:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Utilice un bucle exterior estilo &amp;ldquo;Ralph&amp;rdquo; para impulsar la tarea más grande.&lt;/li&gt;
&lt;li&gt;Utilice la colaboración de múltiples agentes dentro de cada ronda para investigación, implementación, prueba y aceptación.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Eso les brinda a ambos un mejor control sobre el contexto prolongado y una mejor colaboración dentro de una sola ronda.&lt;/p&gt;
&lt;h2 id=&#34;07-resumen-de-una-oración&#34;&gt;07 Resumen de una oración
&lt;/h2&gt;&lt;p&gt;Lo que hace que valga la pena estudiar estos enfoques no es que recomienden &amp;ldquo;Ralph&amp;rdquo; o la colaboración entre múltiples agentes de forma aislada. Es que dejan muy clara una verdad práctica: &lt;strong&gt;mantener la IA estable durante tareas largas depende menos del modelo en sí y más de si se diseñó bien el contexto, las tareas, los roles y la aceptación&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Si ya está pidiendo a &amp;ldquo;Claude Code&amp;rdquo;, &amp;ldquo;Codex&amp;rdquo; u otros agentes de codificación que manejen tareas más largas del mundo real, este tipo de pensamiento de flujo de trabajo suele ser más valioso que simplemente cambiar a un modelo más sólido.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Qué es Ralph: convertir Claude Code y Amp en un circuito de desarrollo autónomo repetible</title>
        <link>https://knightli.com/es/2026/04/27/ralph-autonomous-agent-loop-claude-code-amp/</link>
        <pubDate>Mon, 27 Apr 2026 08:08:55 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/04/27/ralph-autonomous-agent-loop-claude-code-amp/</guid>
        <description>&lt;p&gt;Si últimamente ha estado prestando atención a los flujos de trabajo de agentes de codificación de larga duración, &lt;code&gt;snarktank/ralph&lt;/code&gt; es un proyecto que vale la pena analizar de cerca. No es otro contenedor de modelo ni otra interfaz de usuario de chat. En cambio, organiza &amp;ldquo;Claude Code&amp;rdquo; o &amp;ldquo;Amp&amp;rdquo; en un bucle autónomo que sigue recorriendo las historias en un &amp;ldquo;PRD&amp;rdquo; hasta que todo está hecho.&lt;/p&gt;
&lt;p&gt;Su idea central es simple: &lt;strong&gt;no obligar al mismo agente a seguir trabajando dentro de un contexto cada vez más largo y desordenado. En su lugar, inicie una nueva sesión de codificación de IA para cada iteración.&lt;/strong&gt; Eso evita que el contexto se hinche y hace que los límites de las tareas sean mucho más claros.&lt;/p&gt;
&lt;h2 id=&#34;01-qué-es-ralph&#34;&gt;01 ¿Qué es Ralph?
&lt;/h2&gt;&lt;p&gt;Ralph se describe a sí mismo muy claramente: es un bucle de agente de IA autónomo que ejecuta repetidamente una herramienta de codificación de IA hasta que se completan los elementos de un &amp;ldquo;PRD&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;El repositorio actualmente admite dos herramientas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Amplificador CLI&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Código Claude&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Cada iteración inicia una nueva instancia. En otras palabras, no depende de una conversación interminable. En cambio, mantiene la memoria en estado externo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;historia de git&lt;/li&gt;
&lt;li&gt;&lt;code&gt;progreso.txt&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;prd.json&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ese detalle importa mucho. Cuando la gente deja que un agente ejecute tareas grandes, el principal problema a menudo no es que el modelo no pueda codificar. Es que la sesión se vuelve más pesada con el tiempo, empieza a perder contexto, olvida requerimientos y repite trabajo. Ralph está diseñado casi exclusivamente en torno a ese problema.&lt;/p&gt;
&lt;h2 id=&#34;02-cómo-funciona&#34;&gt;02 Cómo funciona
&lt;/h2&gt;&lt;p&gt;El flujo de trabajo de Ralph tiene tres pasos.&lt;/p&gt;
&lt;h3 id=&#34;1-escribe-primero-un-prd&#34;&gt;1. Escribe primero un PRD
&lt;/h3&gt;&lt;p&gt;El archivo README sugiere comenzar con la habilidad &amp;ldquo;prd&amp;rdquo; incluida para generar un documento de requisitos y dividir la función en historias más pequeñas.&lt;/p&gt;
&lt;h3 id=&#34;2-convierta-el-prd-a-prdjson&#34;&gt;2. Convierta el PRD a &lt;code&gt;prd.json&lt;/code&gt;
&lt;/h3&gt;&lt;p&gt;Luego, la habilidad &lt;code&gt;ralph&lt;/code&gt; convierte el Markdown PRD en un &lt;code&gt;prd.json&lt;/code&gt; estructurado. Ese archivo almacena las historias de los usuarios y si cada una ha pasado.&lt;/p&gt;
&lt;h3 id=&#34;3-ejecute-el-script-de-bucle&#34;&gt;3. Ejecute el script de bucle
&lt;/h3&gt;&lt;p&gt;La ejecución real está a cargo de &lt;code&gt;ralph.sh&lt;/code&gt;. Los comandos se ven así:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./scripts/ralph/ralph.sh &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;max_iterations&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./scripts/ralph/ralph.sh --tool claude &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;max_iterations&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;El valor predeterminado es 10 iteraciones. En cada ronda, Ralph hace aproximadamente lo siguiente:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Crea una rama desde &lt;code&gt;branchName&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Elija la historia de mayor prioridad donde &amp;ldquo;pasa: falso&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;Implemente solo esa historia&lt;/li&gt;
&lt;li&gt;Ejecute controles de calidad, como verificación de tipos y pruebas.&lt;/li&gt;
&lt;li&gt;Comprometerse si pasan los controles&lt;/li&gt;
&lt;li&gt;Actualiza &lt;code&gt;prd.json&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Adjunte lo aprendido a &lt;code&gt;progress.txt&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Continuar a la siguiente ronda.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Entonces Ralph no está tratando de terminar todo de una vez. Comprime el trabajo en muchos bucles pequeños que pueden caber dentro de una única ventana de contexto.&lt;/p&gt;
&lt;h2 id=&#34;03-qué-hace-que-ralph-sea-interesante&#34;&gt;03 ¿Qué hace que Ralph sea interesante?
&lt;/h2&gt;&lt;h3 id=&#34;1-cada-ronda-utiliza-un-contexto-nuevo&#34;&gt;1. Cada ronda utiliza un contexto nuevo
&lt;/h3&gt;&lt;p&gt;Esta es la elección de diseño que define a Ralph. El archivo README enfatiza que cada iteración es una instancia de IA completamente nueva y que la memoria entre iteraciones reside solo en git, &lt;code&gt;progress.txt&lt;/code&gt; y &lt;code&gt;prd.json&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Esto es muy diferente del patrón común de mantener el &amp;ldquo;Código Claude&amp;rdquo; u otra herramienta dentro de una larga conversación. Una vez que las tareas aumentan, ese enfoque a menudo se ralentiza debido a su propia historia y gradualmente pierde enfoque. Ralph acepta que ninguna ronda debería recordar todo y, en su lugar, mueve la memoria a archivos.&lt;/p&gt;
&lt;h3 id=&#34;2-obliga-a-que-las-tareas-sean-pequeñas&#34;&gt;2. Obliga a que las tareas sean pequeñas
&lt;/h3&gt;&lt;p&gt;Los documentos dicen explícitamente que cada elemento PRD debe ser lo suficientemente pequeño como para terminar dentro de una ventana de contexto. Tareas como agregar un filtro, actualizar una acción del servidor o agregar una columna de base de datos tienen aproximadamente el tamaño correcto. Tareas como reconstruir toda la API o crear un panel completo son demasiado grandes.
Esa restricción es práctica. Muchos bucles de agentes autónomos fallan no porque el bucle sea malo, sino porque la división de tareas es demasiado burda y cada ronda lleva demasiado a la vez.&lt;/p&gt;
&lt;h3 id=&#34;3-preserva-el-aprendizaje-no-solo-el-código&#34;&gt;3. Preserva el aprendizaje, no solo el código
&lt;/h3&gt;&lt;p&gt;Más allá de &lt;code&gt;progress.txt&lt;/code&gt;, el README también hace hincapié en la actualización de &lt;code&gt;AGENTS.md&lt;/code&gt;. La razón es sencilla: las iteraciones futuras y los futuros desarrolladores leerán esas notas, por lo que los patrones, errores y convenciones descubiertos en cada ronda deben anotarse en el proyecto mismo.&lt;/p&gt;
&lt;p&gt;Dicho de otra manera, Ralph no sólo intenta mantener a un agente codificando continuamente. También intenta ayudar al agente a desarrollar memoria de trabajo sobre el código base a lo largo del tiempo.&lt;/p&gt;
&lt;h2 id=&#34;04-cuando-encaja-mejor&#34;&gt;04 Cuando encaja mejor
&lt;/h2&gt;&lt;p&gt;Ralph encaja bien cuando su tarea se ve así:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ya se puede dividir en un conjunto claro de historias de usuarios.&lt;/li&gt;
&lt;li&gt;El código base tiene bucles de retroalimentación confiables, como pruebas, verificación de tipos o CI&lt;/li&gt;
&lt;li&gt;Quiere que el agente siga avanzando sin poner todo en una larga conversación.&lt;/li&gt;
&lt;li&gt;Estás de acuerdo con el progreso iterativo en lugar de exigir una finalización de una sola vez.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Por otro lado, si el requisito aún es vago, o el trabajo depende de discusiones frecuentes y cambios constantes de dirección, es posible que Ralph no sea el primero a quien recurrir. Se adapta mejor una vez que los requisitos ya están definidos y la ejecución debe ser constante.&lt;/p&gt;
&lt;h2 id=&#34;05-en-qué-se-diferencia-del-uso-normal-del-código-claude&#34;&gt;05 En qué se diferencia del uso normal del código Claude
&lt;/h2&gt;&lt;p&gt;Con &lt;code&gt;Claude Code&lt;/code&gt; simple, el patrón habitual es simple: abra una sesión y déjela seguir leyendo código, editando archivos y ejecutando comandos. Esto funciona muy bien para tareas pequeñas y medianas, pero las tareas más grandes suelen tener dos problemas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;El contexto sigue creciendo&lt;/li&gt;
&lt;li&gt;Las decisiones intermedias son más difíciles de preservar de forma estructurada.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ralph convierte &amp;ldquo;Claude Code&amp;rdquo; o &amp;ldquo;Amp&amp;rdquo; en algo más parecido a un ejecutor por lotes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La fuente de la tarea es &lt;code&gt;prd.json&lt;/code&gt;, no instrucciones de chat ad hoc.&lt;/li&gt;
&lt;li&gt;Cada iteración reconoce solo una historia.&lt;/li&gt;
&lt;li&gt;El estado de finalización se vuelve a escribir en los archivos.&lt;/li&gt;
&lt;li&gt;Los aprendizajes van en &lt;code&gt;progress.txt&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Los cambios de código se conservan en git&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Entonces, en la práctica, se siente menos como un nuevo asistente de IA y más como un controlador de iteración agregado sobre un agente de codificación.&lt;/p&gt;
&lt;h2 id=&#34;06-un-requisito-importante&#34;&gt;06 Un requisito importante
&lt;/h2&gt;&lt;p&gt;Que Ralph funcione bien depende menos del bucle en sí y más de la calidad de sus bucles de retroalimentación. El archivo README dice esto de manera muy directa: sin verificación de tipo, pruebas y CI, los errores se agravarán en iteraciones posteriores.&lt;/p&gt;
&lt;p&gt;Para tareas frontend, el repositorio incluso recomienda agregar la verificación del navegador a los criterios de aceptación. Sin una verificación real, un agente puede confundir fácilmente &amp;ldquo;parece hecho&amp;rdquo; con &amp;ldquo;realmente funciona&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Ese punto es importante. Ralph no es una automatización mágica. Es más como un multiplicador de fuerza para la disciplina de ingeniería que ya tienes. Si su proyecto ya tiene desgloses de tareas claros y controles confiables, Ralph se vuelve mucho más útil. Si faltan esos fundamentos, el bucle sólo repetirá la confusión.&lt;/p&gt;
&lt;h2 id=&#34;07-resumen-de-una-oración&#34;&gt;07 Resumen de una oración
&lt;/h2&gt;&lt;p&gt;Lo que hace que valga la pena estudiar &amp;ldquo;Ralph&amp;rdquo; no es que introduzca una enorme cantidad de infraestructura nueva. Toma una idea simple pero útil y la convierte en un flujo de trabajo práctico: &lt;strong&gt;deje que &lt;code&gt;Claude Code&lt;/code&gt; o &lt;code&gt;Amp&lt;/code&gt; manejen una pequeña historia por ronda, mantenga el enfoque en un contexto nuevo y preserve la continuidad a través de &lt;code&gt;git&lt;/code&gt;, &lt;code&gt;prd.json&lt;/code&gt; y &lt;code&gt;progress.txt&lt;/code&gt;.&lt;/strong&gt;
Si ya está utilizando agentes de codificación en proyectos reales y sigue estancado en cómo impulsar tareas largas de manera confiable, vale la pena tomar prestado el enfoque de Ralph.&lt;/p&gt;
&lt;h2 id=&#34;referencias&#34;&gt;Referencias
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Repositorio de GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/snarktank/ralph&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/snarktank/ralph&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Diagrama de flujo interactivo: &lt;a class=&#34;link&#34; href=&#34;https://snarktank.github.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://snarktank.github.io&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>nuwa-skill: convertir &#34;destilar a una persona&#34; de idea en workflow ejecutable</title>
        <link>https://knightli.com/es/2026/04/22/nuwa-skill-distill-how-someone-thinks/</link>
        <pubDate>Wed, 22 Apr 2026 16:20:00 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/04/22/nuwa-skill-distill-how-someone-thinks/</guid>
        <description>&lt;p&gt;&lt;code&gt;[alchaincyf/nuwa-skill](https://github.com/alchaincyf/nuwa-skill)&lt;/code&gt; puede hacer pensar primero en una cosa: usar AI para responder con la voz de una persona famosa. Pero lo realmente interesante no es si suena convincente. La clave es que intenta convertir &amp;ldquo;destilar cómo piensa una persona&amp;rdquo; en un workflow repetible.&lt;/p&gt;
&lt;p&gt;Si eso funciona, el valor va mucho más allá de unos prompts entretenidos de personaje. Significa tomar el marco de juicio de alguien, sus prioridades, heurísticas comunes y hábitos de comunicación, y convertirlos en una skill que puede invocarse una y otra vez. Lo que quieres no es una frase que suene como algo que esa persona diría, sino algo más cercano a una interfaz operativa para &amp;ldquo;si esta persona analizara el problema, qué miraría primero, cómo haría tradeoffs y qué cuestionaría&amp;rdquo;.&lt;/p&gt;
&lt;h2 id=&#34;resuelve-modelado-no-imitación&#34;&gt;Resuelve modelado, no imitación
&lt;/h2&gt;&lt;p&gt;Muchos llamados persona prompts son básicamente capas de estilo.&lt;/p&gt;
&lt;p&gt;Suelen pedir al modelo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;hablar en el tono de alguien&lt;/li&gt;
&lt;li&gt;citar más sus frases características&lt;/li&gt;
&lt;li&gt;imitar la formulación que usa en público&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Eso luce bien en demos, pero suele caerse en trabajo real. La razón es simple: el tono es superficie, mientras la estructura de juicio es el núcleo. Una persona es memorable no porque le gusten ciertas palabras, sino porque aborda problemas de formas reconocibles y consistentes.&lt;/p&gt;
&lt;p&gt;La dirección de &lt;code&gt;nuwa-skill&lt;/code&gt; se acerca más a extraer esos métodos estables. Le importa menos &amp;ldquo;cómo sonar como ellos&amp;rdquo; y más &amp;ldquo;cómo pensar como ellos&amp;rdquo;.&lt;/p&gt;
&lt;h2 id=&#34;un-workflow-más-completo&#34;&gt;Un workflow más completo
&lt;/h2&gt;&lt;p&gt;Según la descripción del repositorio, &lt;code&gt;nuwa-skill&lt;/code&gt; busca construir un flujo end-to-end: introducir el nombre de una persona, hacer automáticamente la investigación, extracción y validación, y finalmente organizar el resultado como una skill usable dentro de Claude Code.&lt;/p&gt;
&lt;p&gt;Detrás de esa idea hay varios cambios importantes.&lt;/p&gt;
&lt;p&gt;Primero, asume que la persona destilada no tiene que ser tu compañero de trabajo. Mucha gente encuentra esta idea como &amp;ldquo;capturar cómo trabaja un compañero fuerte&amp;rdquo;. Eso es valioso, pero limitado: el pool de muestras es pequeño y normalmente cubre solo experiencia interna del equipo. &lt;code&gt;nuwa-skill&lt;/code&gt; amplía el objetivo a un rango mucho mayor de personas, como fundadores, inversores, científicos, product managers y escritores.&lt;/p&gt;
&lt;p&gt;Segundo, enfatiza automatización en lugar de pedir al usuario que fabrique prompts a mano. Lo que vuelve práctica esta capacidad no es una redacción bonita, sino poder hacer de forma consistente recolección de fuentes, síntesis de puntos de vista, extracción de patrones y validación de resultados. En cuanto un paso depende totalmente del trabajo manual, el coste de reutilización sube rápido.&lt;/p&gt;
&lt;p&gt;Tercero, intenta que la salida sea una skill y no una conversación única. La primera puede reutilizarse, combinarse e iterarse. La segunda normalmente solo funciona en el contexto actual y se deshace después de unos turnos.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-importa-esta-dirección&#34;&gt;Por qué importa esta dirección
&lt;/h2&gt;&lt;p&gt;Si tratas la AI como máquina de preguntas y respuestas, el caso natural es &amp;ldquo;dame una respuesta&amp;rdquo;. Pero si la tratas como un banco de trabajo, la pregunta pasa a ser &amp;ldquo;dame una forma de mirar este problema&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Ahí se inclina el valor de &lt;code&gt;nuwa-skill&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Por ejemplo, ante una decisión de producto quizá no quieras una respuesta estándar. Quizá quieras varios marcos analíticos muy distintos:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;una persona empieza por compounding a largo plazo&lt;/li&gt;
&lt;li&gt;otra por restricciones de recursos&lt;/li&gt;
&lt;li&gt;otra por consistencia de experiencia de usuario&lt;/li&gt;
&lt;li&gt;otra por timing de entrada al mercado&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si esos marcos pueden empaquetarse de forma fiable, la AI deja de ser &amp;ldquo;algo que escribe un párrafo&amp;rdquo; y se vuelve &amp;ldquo;algo que ayuda a cambiar de perspectiva rápido&amp;rdquo;. Eso es mucho más útil que imitar citas famosas, porque afecta directamente la calidad de decisión.&lt;/p&gt;
&lt;h2 id=&#34;lo-más-convincente-convertir-conocimiento-tácito-en-activos-invocables&#34;&gt;Lo más convincente: convertir conocimiento tácito en activos invocables
&lt;/h2&gt;&lt;p&gt;Muchas capacidades de alto valor son difíciles de escribir como SOP.&lt;/p&gt;
&lt;p&gt;Que alguien juzgue consistentemente mejor que otros no suele deberse a que conozca más reglas explícitas, sino a que ha construido un sistema tácito de filtrado durante años:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;qué señales merecen atención primero&lt;/li&gt;
&lt;li&gt;qué ruido debe ignorarse de inmediato&lt;/li&gt;
&lt;li&gt;qué preguntas deben descomponerse&lt;/li&gt;
&lt;li&gt;qué preguntas deben invertirse&lt;/li&gt;
&lt;li&gt;qué conclusiones deben esperar más evidencia&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esta capacidad es difícil de preservar porque las personas no siempre pueden explicarla claramente. Justo por eso la extracción estructurada es valiosa. Lo atractivo de &lt;code&gt;nuwa-skill&lt;/code&gt; es que no intenta mover conocimiento superficial, sino reorganizar hábitos cognitivos.&lt;/p&gt;
&lt;h2 id=&#34;dónde-encaja-mejor&#34;&gt;Dónde encaja mejor
&lt;/h2&gt;&lt;p&gt;Creo que este tipo de skill es especialmente útil en varios escenarios.&lt;/p&gt;
&lt;h3 id=&#34;1-revisión-multiperspectiva-antes-de-una-decisión&#34;&gt;1. Revisión multiperspectiva antes de una decisión
&lt;/h3&gt;&lt;p&gt;Si ya tienes un plan pero temes estar pensando solo por el camino que conoces, cambiar a distintas &amp;ldquo;perspectivas persona&amp;rdquo; para revisar el mismo asunto es más valioso que pedir al modelo que siga expandiendo tu redacción original.&lt;/p&gt;
&lt;h3 id=&#34;2-aprender-el-marco-de-juicio-de-cierto-tipo-de-experto&#34;&gt;2. Aprender el marco de juicio de cierto tipo de experto
&lt;/h3&gt;&lt;p&gt;Mucha gente aprende de expertos coleccionando citas, viendo entrevistas y copiando resúmenes. Al final, a menudo solo recuerda algunas frases bonitas. Cuando un patrón de pensamiento se vuelve una skill, aprender se parece más a &amp;ldquo;invocarlo repetidamente con preguntas reales&amp;rdquo; que a &amp;ldquo;apilar notas estáticas&amp;rdquo;.&lt;/p&gt;
&lt;h3 id=&#34;3-compartir-un-estilo-analítico-en-un-equipo&#34;&gt;3. Compartir un estilo analítico en un equipo
&lt;/h3&gt;&lt;p&gt;Lo que muchos equipos carecen no es solo documentación, sino una respuesta compartida a &amp;ldquo;cómo solemos pensar cuando encontramos un problema&amp;rdquo;. Si este workflow madura más, también podría usarse a la inversa para preservar métodos de operadores internos fuertes. Está claro que el proyecto no quiere limitar la idea a casos internos.&lt;/p&gt;
&lt;h2 id=&#34;la-parte-difícil-de-proyectos-así&#34;&gt;La parte difícil de proyectos así
&lt;/h2&gt;&lt;p&gt;Por supuesto, una dirección atractiva no significa que los problemas difíciles ya estén resueltos.&lt;/p&gt;
&lt;p&gt;El desafío real no es instalar una skill. Es:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;si las fuentes son suficientemente fiables&lt;/li&gt;
&lt;li&gt;si los patrones extraídos son estables y no ilusiones de textos dispersos&lt;/li&gt;
&lt;li&gt;si el modelo realmente usa el marco de una persona o solo repite impresiones comunes&lt;/li&gt;
&lt;li&gt;si las fronteras entre distintas personas se difuminan dentro del modelo&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La pregunta clave no es &amp;ldquo;¿puede generar algo plausible?&amp;rdquo;, sino &amp;ldquo;¿puede el marco cognitivo producido por esta skill sobrevivir reutilización en muchas tareas?&amp;rdquo; Si el proyecto profundiza en validación, su credibilidad mejorará mucho.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-va-más-allá-de-una-librería-de-templates-de-prompt&#34;&gt;Por qué va más allá de una librería de templates de prompt
&lt;/h2&gt;&lt;p&gt;En el pasado, muchos proyectos manejaban esta capacidad como una librería de prompts: una persona, un prompt, y el usuario lo copia al chat. El problema es que una librería de templates sigue siendo un activo estático. Se actualiza despacio, la validación es débil y cuesta convertirla en un workflow de producción.&lt;/p&gt;
&lt;p&gt;Lo que &lt;code&gt;nuwa-skill&lt;/code&gt; empuja más lejos es convertir &amp;ldquo;destilación de persona&amp;rdquo; de un problema de template en un problema de workflow.&lt;/p&gt;
&lt;p&gt;Cuando el centro de gravedad cambia de &amp;ldquo;escribir un prompt&amp;rdquo; a &amp;ldquo;generar, validar e iterar sistemáticamente una skill persona&amp;rdquo;, todo empieza a parecer más ingeniería que inspiración. Para cualquiera que quiera usarlo a largo plazo, ese es el cambio más importante.&lt;/p&gt;
&lt;h2 id=&#34;cierre&#34;&gt;Cierre
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;nuwa-skill&lt;/code&gt; es interesante no porque convierta la AI en un show de imitación de celebridades, sino porque acerca &amp;ldquo;cómo aprender cómo piensa alguien&amp;rdquo; a algo ejecutable, reutilizable e iterable.&lt;/p&gt;
&lt;p&gt;Si muchos persona prompts resuelven &amp;ldquo;cómo hablar como alguien&amp;rdquo;, este proyecto quiere resolver &amp;ldquo;cómo mirar problemas como alguien&amp;rdquo;. Lo primero es genial para demos. Lo segundo está mucho más cerca de una herramienta real de productividad.&lt;/p&gt;
&lt;h2 id=&#34;referencias&#34;&gt;Referencias
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Repositorio GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/alchaincyf/nuwa-skill&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/alchaincyf/nuwa-skill&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;README del proyecto: &lt;a class=&#34;link&#34; href=&#34;https://github.com/alchaincyf/nuwa-skill/blob/main/README.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/alchaincyf/nuwa-skill/blob/main/README.md&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Definición de Skill: &lt;a class=&#34;link&#34; href=&#34;https://github.com/alchaincyf/nuwa-skill/blob/main/SKILL.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/alchaincyf/nuwa-skill/blob/main/SKILL.md&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Notas del proyecto RAGFlow: funciones y uso de un motor RAG open source</title>
        <link>https://knightli.com/es/2026/04/15/ragflow-rag-engine-guide/</link>
        <pubDate>Wed, 15 Apr 2026 22:09:25 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/04/15/ragflow-rag-engine-guide/</guid>
        <description>&lt;p&gt;&lt;code&gt;RAGFlow&lt;/code&gt; es un motor RAG open source de &lt;code&gt;infiniflow&lt;/code&gt;. Su objetivo no es ofrecer una simple capa de &amp;ldquo;sube documentos y haz preguntas&amp;rdquo;, sino reunir parsing de documentos, chunking, recuperación, reranking, trazabilidad de citas, configuración de modelos, capacidades de agentes e integración API en un flujo completo.&lt;/p&gt;
&lt;p&gt;Si estás construyendo una base de conocimiento empresarial, Q&amp;amp;A sobre documentos, un asistente de soporte, recuperación de información interna o una capa de contexto más fiable para un LLM, RAGFlow es una de las opciones open source que merece atención seria.&lt;/p&gt;
&lt;h2 id=&#34;01-qué-problema-resuelve-ragflow&#34;&gt;01 Qué problema resuelve RAGFlow
&lt;/h2&gt;&lt;p&gt;La mayoría de sistemas RAG tropiezan con tres problemas comunes:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;El parsing de documentos es inestable, especialmente con PDFs, escaneos, tablas, imágenes y layouts complejos.&lt;/li&gt;
&lt;li&gt;La estrategia de chunking es opaca, así que la recuperación puede parecer correcta mientras el contexto real está incompleto.&lt;/li&gt;
&lt;li&gt;Las respuestas no tienen citas confiables, lo que dificulta verificar de dónde viene la respuesta.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;RAGFlow se centra justo en esos problemas. El README del proyecto enfatiza &lt;code&gt;Deep document understanding&lt;/code&gt;, chunking basado en plantillas, visualización de chunks, grounding de citas y recuperación multipath con reranking. En otras palabras, le importa más que una entrada de alta calidad lleve a respuestas de alta calidad que simplemente conectar una base vectorial a una UI de chat.&lt;/p&gt;
&lt;h2 id=&#34;02-funciones-principales&#34;&gt;02 Funciones principales
&lt;/h2&gt;&lt;h3 id=&#34;1-comprensión-profunda-de-documentos&#34;&gt;1. Comprensión profunda de documentos
&lt;/h3&gt;&lt;p&gt;RAGFlow puede extraer conocimiento de datos no estructurados complejos. El README lista formatos como Word, PPT, Excel, TXT, imágenes, documentos escaneados, datos estructurados y páginas web.&lt;/p&gt;
&lt;p&gt;Esto importa mucho para bases de conocimiento empresariales. El material real rara vez es Markdown limpio. Suele mezclar contratos, informes, tablas, PDFs escaneados, manuales de producto, capturas y contenido web. Si el parsing es débil, tanto la recuperación como las respuestas del LLM sufrirán.&lt;/p&gt;
&lt;h3 id=&#34;2-chunking-basado-en-plantillas&#34;&gt;2. Chunking basado en plantillas
&lt;/h3&gt;&lt;p&gt;RAGFlow ofrece chunking basado en plantillas. El valor está en que el chunking no es una caja negra: distintos tipos de documentos pueden usar estrategias distintas.&lt;/p&gt;
&lt;p&gt;Por ejemplo, artículos, papers, tablas, documentos Q&amp;amp;A, explicaciones de imágenes y cláusulas contractuales necesitan límites y granularidad de chunk diferentes. El chunking por plantillas ayuda a reducir frases rotas, pérdida de contexto de tablas y separación entre títulos y cuerpo.&lt;/p&gt;
&lt;h3 id=&#34;3-citas-trazables&#34;&gt;3. Citas trazables
&lt;/h3&gt;&lt;p&gt;RAGFlow enfatiza citas fundamentadas, es decir, respuestas que pueden rastrearse hasta pasajes fuente. También ofrece visualización de chunks, facilitando inspeccionar y ajustar resultados de parsing y chunking.&lt;/p&gt;
&lt;p&gt;Esto es especialmente importante en producción. El Q&amp;amp;A interno empresarial no solo necesita producir algo que parezca correcto; también debe ser verificable. Para políticas, cumplimiento, finanzas, documentación técnica y soporte al cliente, las citas y la trazabilidad son casi obligatorias.&lt;/p&gt;
&lt;h3 id=&#34;4-flujo-rag-automatizado&#34;&gt;4. Flujo RAG automatizado
&lt;/h3&gt;&lt;p&gt;RAGFlow convierte el ciclo de vida RAG en un flujo más completo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Crear una base de conocimiento&lt;/li&gt;
&lt;li&gt;Subir o sincronizar datos&lt;/li&gt;
&lt;li&gt;Parsear documentos&lt;/li&gt;
&lt;li&gt;Revisar y ajustar chunks&lt;/li&gt;
&lt;li&gt;Configurar modelos LLM y embedding&lt;/li&gt;
&lt;li&gt;Ejecutar recuperación multipath y reranking&lt;/li&gt;
&lt;li&gt;Crear asistentes de chat&lt;/li&gt;
&lt;li&gt;Integrar mediante APIs en sistemas de negocio&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Eso lo acerca más a una plataforma RAG que a una librería aislada. Para equipos importan tanto la UI como la API: personas no técnicas pueden mantener la base de conocimiento y los ingenieros pueden integrar la capacidad en sistemas existentes.&lt;/p&gt;
&lt;h3 id=&#34;5-extensiones-de-agent-mcp-y-workflow&#34;&gt;5. Extensiones de Agent, MCP y workflow
&lt;/h3&gt;&lt;p&gt;Las actualizaciones recientes de RAGFlow ya incluyen Agentic workflow, MCP, Agent Memory y componentes de ejecución de código. Eso sugiere que ya no se limita al Q&amp;amp;A tradicional de bases de conocimiento y también se mueve hacia escenarios orientados a agentes.&lt;/p&gt;
&lt;p&gt;Un patrón típico es que un agente use RAGFlow como capa fiable de conocimiento empresarial: recuperar contexto cuando lo necesita, generar respuestas con citas y combinarlo con herramientas o pasos de workflow cuando sea necesario.&lt;/p&gt;
&lt;h2 id=&#34;03-flujo-básico-de-uso&#34;&gt;03 Flujo básico de uso
&lt;/h2&gt;&lt;p&gt;Según la documentación oficial de quickstart, el uso común de RAGFlow puede resumirse en estos pasos.&lt;/p&gt;
&lt;h3 id=&#34;1-preparar-el-entorno&#34;&gt;1. Preparar el entorno
&lt;/h3&gt;&lt;p&gt;Los requisitos básicos listados en el README oficial son:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CPU &amp;gt;= 4 cores&lt;/li&gt;
&lt;li&gt;RAM &amp;gt;= 16 GB&lt;/li&gt;
&lt;li&gt;Disk &amp;gt;= 50 GB&lt;/li&gt;
&lt;li&gt;Docker &amp;gt;= 24.0.0&lt;/li&gt;
&lt;li&gt;Docker Compose &amp;gt;= v2.26.1&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si quieres usar el sandbox para el ejecutor de código, también necesitas &lt;code&gt;gVisor&lt;/code&gt;. Otra nota práctica es que las imágenes Docker oficiales apuntan principalmente a plataformas x86. Para ARM64, la documentación recomienda construir la imagen por cuenta propia.&lt;/p&gt;
&lt;h3 id=&#34;2-clonar-el-proyecto&#34;&gt;2. Clonar el proyecto
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/infiniflow/ragflow.git
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; ragflow/docker
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;3-revisar-vmmax_map_count&#34;&gt;3. Revisar &lt;code&gt;vm.max_map_count&lt;/code&gt;
&lt;/h3&gt;&lt;p&gt;El despliegue de RAGFlow depende de componentes como Elasticsearch u OpenSearch, así que en Linux normalmente hay que verificar:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sysctl vm.max_map_count
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si el valor está por debajo de &lt;code&gt;262144&lt;/code&gt;, puedes configurarlo temporalmente:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo sysctl -w vm.max_map_count&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;262144&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si quieres que persista tras reiniciar, añádelo a &lt;code&gt;/etc/sysctl.conf&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;4-arrancar-con-docker-compose&#34;&gt;4. Arrancar con Docker Compose
&lt;/h3&gt;&lt;p&gt;Puedes iniciar directamente el modo CPU:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker compose -f docker-compose.yml up -d
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si quieres aceleración GPU para tareas DeepDoc, el README muestra cómo activar &lt;code&gt;DEVICE=gpu&lt;/code&gt; en &lt;code&gt;.env&lt;/code&gt; antes del arranque:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sed -i &lt;span class=&#34;s1&#34;&gt;&amp;#39;1i DEVICE=gpu&amp;#39;&lt;/span&gt; .env
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker compose -f docker-compose.yml up -d
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Luego inspecciona los logs:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker logs -f docker-ragflow-cpu-1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Cuando los servicios estén listos, abre la dirección de la máquina en el navegador. Con la configuración predeterminada suele ser:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;http://IP_OF_YOUR_MACHINE
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;5-configurar-claves-api-de-modelos&#34;&gt;5. Configurar claves API de modelos
&lt;/h3&gt;&lt;p&gt;RAGFlow necesita configuración de LLM y modelos de embedding. El README menciona elegir la fábrica LLM predeterminada en &lt;code&gt;service_conf.yaml.template&lt;/code&gt; y actualizar el &lt;code&gt;API_KEY&lt;/code&gt; correspondiente.&lt;/p&gt;
&lt;p&gt;En la práctica, necesitas configurar modelos según tu proveedor:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Modelo de chat&lt;/li&gt;
&lt;li&gt;Modelo de embedding&lt;/li&gt;
&lt;li&gt;Modelo de rerank&lt;/li&gt;
&lt;li&gt;Modelo multimodal, si quieres entender imágenes dentro de PDFs o DOCX&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;6-crear-la-base-de-conocimiento-y-subir-documentos&#34;&gt;6. Crear la base de conocimiento y subir documentos
&lt;/h3&gt;&lt;p&gt;Después de arrancar el servicio, el flujo típico es:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Iniciar sesión en la Web UI.&lt;/li&gt;
&lt;li&gt;Crear un dataset o base de conocimiento.&lt;/li&gt;
&lt;li&gt;Subir documentos o configurar una sincronización de fuente de datos.&lt;/li&gt;
&lt;li&gt;Esperar a que termine el parsing.&lt;/li&gt;
&lt;li&gt;Inspeccionar los chunks y ajustarlos si hace falta.&lt;/li&gt;
&lt;li&gt;Crear un asistente de chat y asociar la base de conocimiento.&lt;/li&gt;
&lt;li&gt;Probar calidad de respuesta y fuentes de cita.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Si necesitas integrarlo con un sistema de negocio, puedes continuar con la API o SDK de RAGFlow y conectar recuperación y chat a tu propia aplicación.&lt;/p&gt;
&lt;h2 id=&#34;04-escenarios-adecuados&#34;&gt;04 Escenarios adecuados
&lt;/h2&gt;&lt;p&gt;RAGFlow encaja con necesidades como:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Q&amp;amp;A de bases de conocimiento internas empresariales&lt;/li&gt;
&lt;li&gt;Manuales de producto, documentación técnica y recuperación de FAQ&lt;/li&gt;
&lt;li&gt;Asistentes de soporte al cliente y preventa&lt;/li&gt;
&lt;li&gt;Q&amp;amp;A trazable sobre contratos, informes y políticas&lt;/li&gt;
&lt;li&gt;Manejo unificado de materiales multiformato&lt;/li&gt;
&lt;li&gt;Equipos que quieren mantenimiento vía UI e integración API&lt;/li&gt;
&lt;li&gt;Sistemas que quieren usar RAG como capa de contexto para agentes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Es especialmente adecuado cuando los formatos documentales son complejos, las citas importan y las personas quieren inspeccionar o intervenir en los resultados de parsing.&lt;/p&gt;
&lt;h2 id=&#34;05-qué-vigilar&#34;&gt;05 Qué vigilar
&lt;/h2&gt;&lt;p&gt;Primero, RAGFlow no es un script ligero. Tiene requisitos reales de infraestructura. La recomendación oficial es al menos 4 cores CPU, 16 GB de RAM y 50 GB de disco. Si solo quieres Q&amp;amp;A sobre una pequeña cantidad de Markdown, una plataforma completa puede ser innecesaria.&lt;/p&gt;
&lt;p&gt;Segundo, la calidad documental sigue importando. RAGFlow puede mejorar parsing y chunking, pero no puede hacer mágicamente fiable material fuente de baja calidad, obsoleto o contradictorio. El gobierno de la base de conocimiento sigue siendo importante antes de producción.&lt;/p&gt;
&lt;p&gt;Tercero, la selección de modelos afecta directamente la calidad. Las elecciones de embedding, rerank, chat y multimodal influyen en recuperación y respuestas. RAGFlow da el flujo, pero el resultado final sigue dependiendo de datos, modelos y ajuste.&lt;/p&gt;
&lt;p&gt;Cuarto, los despliegues en producción deben cuidar permisos y seguridad de datos. Las bases de conocimiento empresariales suelen contener documentos internos, así que el modelo de despliegue, control de acceso, logs, claves API y políticas de datos del proveedor deben diseñarse de antemano.&lt;/p&gt;
&lt;h2 id=&#34;06-conclusión-rápida&#34;&gt;06 Conclusión rápida
&lt;/h2&gt;&lt;p&gt;La fortaleza de RAGFlow es convertir las partes más difíciles de RAG en capacidades de plataforma: parsing de documentos complejos, chunking explicable, grounding de citas, recuperación multipath, reranking, configuración de modelos, Web UI, acceso API y extensiones de agentes.&lt;/p&gt;
&lt;p&gt;Si necesitas una base de conocimiento empresarial verificable y mantenible que pueda conectarse a sistemas de negocio, RAGFlow es más completo que una configuración de &amp;ldquo;base vectorial más chat UI simple&amp;rdquo;. En cambio, si solo necesitas Q&amp;amp;A personal a pequeña escala sobre datos simples, un framework RAG más ligero puede ser más eficiente en recursos.&lt;/p&gt;
&lt;h2 id=&#34;enlaces-relacionados&#34;&gt;Enlaces relacionados
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Proyecto GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/infiniflow/ragflow&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/infiniflow/ragflow&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Documentación oficial: &lt;a class=&#34;link&#34; href=&#34;https://ragflow.io/docs/dev/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://ragflow.io/docs/dev/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Demo online: &lt;a class=&#34;link&#34; href=&#34;https://cloud.ragflow.io&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://cloud.ragflow.io&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Notas del proyecto Firecrawl: APIs de búsqueda web, scraping e interacción para AI Agents</title>
        <link>https://knightli.com/es/2026/04/15/firecrawl-ai-web-data-api/</link>
        <pubDate>Wed, 15 Apr 2026 13:45:03 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/04/15/firecrawl-ai-web-data-api/</guid>
        <description>&lt;p&gt;&lt;code&gt;Firecrawl&lt;/code&gt; tiene un propósito claro: convertir páginas web en datos que los AI Agents puedan consumir con más facilidad. No es solo un script crawler. Envuelve búsqueda, scraping de una página, crawling de sitios, interacción con páginas, extracción estructurada y flujos de agentes en APIs, para que modelos y sistemas de automatización gasten menos esfuerzo lidiando con ruido web.&lt;/p&gt;
&lt;h2 id=&#34;01-qué-problema-resuelve&#34;&gt;01 Qué problema resuelve
&lt;/h2&gt;&lt;p&gt;Muchas aplicaciones AI necesitan leer páginas web, pero los sitios reales son desordenados: contenido renderizado con JavaScript, pop-ups, paginación, estado de login, defensas anti-bot, archivos PDF o DOCX, y mucha navegación, anuncios, scripts y estilos que no tienen que ver con el contenido principal.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;Firecrawl&lt;/code&gt; intenta resolver este problema de capa intermedia. La aplicación pide datos de una página, un sitio o un tema; Firecrawl se encarga de abrir, scrapear, limpiar y devolver salida en formatos más fáciles de usar para LLMs, como Markdown, HTML, screenshots o JSON.&lt;/p&gt;
&lt;p&gt;El valor de este tipo de herramienta no está solo en si puede solicitar una URL. La pregunta real es si puede convertir páginas complejas en datos utilizables de forma fiable. Para RAG, búsqueda AI, investigación competitiva, recolección automatizada de información y monitoreo de contenido web, esta capa suele convertirse en la fontanería incómoda del sistema.&lt;/p&gt;
&lt;h2 id=&#34;02-funciones-principales&#34;&gt;02 Funciones principales
&lt;/h2&gt;&lt;p&gt;El README de Firecrawl agrupa sus capacidades en varias áreas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Search&lt;/code&gt;: busca en la web y devuelve contenido completo de páginas desde los resultados.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Scrape&lt;/code&gt;: convierte una URL individual en Markdown, HTML, screenshots o JSON estructurado.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Interact&lt;/code&gt;: scrapea una página y luego usa prompts o código para hacer clic, scroll, escribir, esperar y realizar otras acciones.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Agent&lt;/code&gt;: describe lo que quieres y deja que el agente busque, navegue y devuelva el resultado.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Crawl&lt;/code&gt;: scrapea múltiples páginas dentro de un sitio.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Map&lt;/code&gt;: descubre rápidamente URLs de un sitio web.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Batch Scrape&lt;/code&gt;: scrapea grandes lotes de URLs de forma asíncrona.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A primera vista parece un servicio de scraping. Pero como conjunto completo de funciones, está más cerca de un punto de entrada de datos para aplicaciones AI: search descubre fuentes, scraping limpia contenido, interaction maneja páginas dinámicas y Agent empuja toda la tarea de &amp;ldquo;encontrar información&amp;rdquo; un paso más hacia la automatización.&lt;/p&gt;
&lt;h2 id=&#34;03-por-qué-encaja-con-ai-agents&#34;&gt;03 Por qué encaja con AI Agents
&lt;/h2&gt;&lt;p&gt;Los crawlers tradicionales suelen asumir que ya conoces la URL y entiendes la estructura de la página. Los flujos con agentes a menudo son diferentes. Un usuario puede pedir simplemente: &amp;ldquo;Encuentra las diferencias entre los últimos planes de precios en la página de precios de una empresa&amp;rdquo;. Entonces el sistema tiene que buscar, abrir páginas, comparar contenido y devolver fuentes.&lt;/p&gt;
&lt;p&gt;El endpoint &lt;code&gt;Agent&lt;/code&gt; de Firecrawl está diseñado para este tipo de tarea. Puede aceptar solo un prompt en lenguaje natural, o puede restringirse a URLs concretas. Si se necesitan resultados estructurados, también puede trabajar con un schema para devolver campos fijos.&lt;/p&gt;
&lt;p&gt;Esto da dos beneficios a la capa de aplicación:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;No necesitas escribir un parser separado para cada sitio.&lt;/li&gt;
&lt;li&gt;El resultado devuelto es más fácil de enviar a un LLM, una base de datos o un flujo de automatización posterior.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Por supuesto, esto no significa que reemplace todos los crawlers personalizados. Para tareas muy acotadas, de alta frecuencia y gran escala con campos muy estables, escribir lógica de parsing dedicada puede seguir siendo más barato y más fácil de controlar. Firecrawl encaja mejor cuando las fuentes están dispersas, las estructuras cambian a menudo y quieres conectar datos web a un flujo AI rápidamente.&lt;/p&gt;
&lt;h2 id=&#34;04-mcp-cli-e-integraciones&#34;&gt;04 MCP, CLI e integraciones
&lt;/h2&gt;&lt;p&gt;Firecrawl también se mueve claramente hacia el ecosistema de herramientas para agentes. El README ofrece configuración de MCP Server, junto con comandos de inicialización Skill/CLI para agentes de programación AI.&lt;/p&gt;
&lt;p&gt;Esto significa que no está pensado solo para llamadas API backend. También quiere conectarse directamente a Claude Code, OpenCode, Antigravity, clientes MCP y flujos similares. Para personas que piden con frecuencia a agentes investigar, scrapear y organizar contenido web, esta integración es más ligera que escribir llamadas API a mano.&lt;/p&gt;
&lt;p&gt;También enumera integraciones con plataformas como Zapier, n8n y Lovable. Esa dirección es práctica: los datos web no siempre van a código. Pueden fluir a tablas de automatización, workflows low-code, sistemas de contenido o bases de conocimiento internas.&lt;/p&gt;
&lt;h2 id=&#34;05-open-source-self-hosting-y-licencias&#34;&gt;05 Open source, self-hosting y licencias
&lt;/h2&gt;&lt;p&gt;Firecrawl es open source. El repositorio principal usa principalmente la licencia &lt;code&gt;AGPL-3.0&lt;/code&gt;; el README también señala que los SDKs y algunos componentes UI usan &lt;code&gt;MIT&lt;/code&gt;, con detalles según los archivos LICENSE de cada directorio.&lt;/p&gt;
&lt;p&gt;Esto importa. Si solo usas el servicio cloud, las preocupaciones principales son coste de API, fiabilidad y límites de cumplimiento. Si planeas self-hostearlo y ofrecer un servicio a otros, las obligaciones de &lt;code&gt;AGPL-3.0&lt;/code&gt; necesitan revisión cuidadosa.&lt;/p&gt;
&lt;p&gt;El README también recuerda a los usuarios que respeten políticas de sitios web, políticas de privacidad y términos de uso, y dice que Firecrawl respeta &lt;code&gt;robots.txt&lt;/code&gt; por defecto. Cuanto más potente se vuelve este tipo de herramienta, más importante es diseñar límites de cumplimiento y scraping dentro del sistema desde el inicio, no parchearlos después del lanzamiento.&lt;/p&gt;
&lt;h2 id=&#34;06-casos-de-uso-adecuados&#34;&gt;06 Casos de uso adecuados
&lt;/h2&gt;&lt;p&gt;Consideraría Firecrawl primero en estos escenarios:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Scrapear contenido web para un sistema RAG y querer Markdown limpio directamente.&lt;/li&gt;
&lt;li&gt;Construir asistentes de búsqueda o investigación AI que necesiten leer páginas completas tras buscar.&lt;/li&gt;
&lt;li&gt;Scrapear sitios con mucho JavaScript sin mantener tú mismo un clúster de navegadores.&lt;/li&gt;
&lt;li&gt;Monitorear información pública como competidores, precios, documentación, noticias y páginas de empleo.&lt;/li&gt;
&lt;li&gt;Dar a clientes MCP o agentes de programación AI capacidad de lectura web en tiempo real.&lt;/li&gt;
&lt;li&gt;Validar rápidamente un producto de datos web antes de construir infraestructura crawler.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Los casos menos adecuados también son claros:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;El sitio objetivo tiene muy pocos campos, estructura estable y puede manejarse con un script simple.&lt;/li&gt;
&lt;li&gt;El volumen de scraping es enorme y la sensibilidad al coste importa más que el coste de desarrollo y mantenimiento.&lt;/li&gt;
&lt;li&gt;El negocio necesita control muy fino sobre fuentes, estrategia de reintentos, comportamiento anti-bot y trazas de auditoría.&lt;/li&gt;
&lt;li&gt;Requisitos de licencia o cumplimiento no permiten componentes AGPL o servicios cloud externos.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;07-conclusión-rápida&#34;&gt;07 Conclusión rápida
&lt;/h2&gt;&lt;p&gt;El valor central de Firecrawl es productizar el camino desordenado de &amp;ldquo;página web&amp;rdquo; a &amp;ldquo;datos utilizables por AI&amp;rdquo;. Pone búsqueda, scraping, limpieza, interacción, procesamiento por lotes e investigación estilo agente en una sola interfaz, lo cual es cómodo para desarrolladores de aplicaciones AI.&lt;/p&gt;
&lt;p&gt;Si tu proyecto necesita a menudo que los modelos lean páginas web reales, especialmente cuando las fuentes están dispersas, las estructuras son inestables y MCP o flujos de agentes están involucrados, Firecrawl merece estar en tu caja de herramientas. Si la tarea es solo recolección masiva de bajo coste desde sitios fijos, un crawler tradicional o un parser dedicado puede seguir siendo la mejor opción.&lt;/p&gt;
&lt;h2 id=&#34;enlaces-relacionados&#34;&gt;Enlaces relacionados
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Proyecto GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/firecrawl/firecrawl&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/firecrawl/firecrawl&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Qué es OpenHarness: qué puede hacer este agent harness open source</title>
        <link>https://knightli.com/es/2026/04/12/openharness-basic-functions/</link>
        <pubDate>Sun, 12 Apr 2026 23:45:00 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/04/12/openharness-basic-functions/</guid>
        <description>&lt;p&gt;Si has estado siguiendo herramientas de agentes AI open source últimamente, &lt;code&gt;HKUDS/OpenHarness&lt;/code&gt; es un proyecto que vale la pena observar. No es simplemente otro envoltorio de chat. En su lugar, separa la capa de infraestructura para un agente ejecutable, extensible y gobernable en un &lt;strong&gt;Agent Harness&lt;/strong&gt; open source independiente.&lt;/p&gt;
&lt;p&gt;Según el README oficial, OpenHarness ofrece un conjunto ligero pero bastante completo de capacidades de agente, incluidas llamadas a herramientas, carga de skills, memoria, gobierno de permisos y coordinación multi-agente. El &lt;code&gt;ohmo&lt;/code&gt; incluido es la aplicación de asistente personal AI construida sobre esa base.&lt;/p&gt;
&lt;h2 id=&#34;01-qué-es-openharness&#34;&gt;01 Qué es OpenHarness
&lt;/h2&gt;&lt;p&gt;Puedes pensar en OpenHarness como la capa de runtime que da manos, memoria y límites a un modelo fundacional.&lt;/p&gt;
&lt;p&gt;Un modelo puede ser bueno razonando y generando texto, pero si quieres que funcione como un agente de larga duración, normalmente necesita estas capacidades alrededor:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Llamar herramientas en lugar de solo producir texto&lt;/li&gt;
&lt;li&gt;Leer y escribir archivos, ejecutar comandos y usar búsqueda y acceso web&lt;/li&gt;
&lt;li&gt;Preservar contexto y memoria entre sesiones largas&lt;/li&gt;
&lt;li&gt;Aplicar controles de permisos a acciones riesgosas&lt;/li&gt;
&lt;li&gt;Dividir tareas grandes entre varios sub-agentes en paralelo&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;El objetivo de OpenHarness es convertir esa capa de ingeniería alrededor del modelo en una implementación Python clara, open source e inspeccionable. Está más cerca de un sustrato operativo para agentes que de una experiencia de modelo o una interfaz de chat concreta.&lt;/p&gt;
&lt;h2 id=&#34;02-funciones-básicas-del-proyecto&#34;&gt;02 Funciones básicas del proyecto
&lt;/h2&gt;&lt;p&gt;Según la página de GitHub y el README actuales, OpenHarness se centra en las siguientes áreas de capacidad.&lt;/p&gt;
&lt;h3 id=&#34;1-agent-loop&#34;&gt;1. Agent Loop
&lt;/h3&gt;&lt;p&gt;Este es el bucle de ejecución central que permite a un agente seguir trabajando durante múltiples pasos. Los puntos destacados oficiales incluyen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bucles de llamadas a herramientas con streaming&lt;/li&gt;
&lt;li&gt;Reintentos de API con backoff exponencial&lt;/li&gt;
&lt;li&gt;Ejecución paralela de herramientas&lt;/li&gt;
&lt;li&gt;Contabilidad de tokens y seguimiento de costes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;El punto práctico es que el agente no queda limitado a una respuesta única. Puede observar, razonar, llamar herramientas, leer resultados y seguir iterando dentro de la misma tarea.&lt;/p&gt;
&lt;h3 id=&#34;2-herramientas-skills-y-plugins&#34;&gt;2. Herramientas, Skills y Plugins
&lt;/h3&gt;&lt;p&gt;OpenHarness dedica bastante esfuerzo a la capa de herramientas. La página del proyecto dice que ya incluye herramientas integradas para archivos, Shell, búsqueda, acceso web y MCP, y que soporta carga bajo demanda de archivos de skill en Markdown.&lt;/p&gt;
&lt;p&gt;Su valor no está solo en tener muchas herramientas, sino en que el modelo de composición es bastante abierto:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Puedes usar directamente las herramientas integradas&lt;/li&gt;
&lt;li&gt;Puedes cargar skills para una tarea específica&lt;/li&gt;
&lt;li&gt;Puedes extender hooks, skills y agentes mediante plugins&lt;/li&gt;
&lt;li&gt;Es compatible con el ecosistema &lt;code&gt;anthropics/skills&lt;/code&gt; y plugins relacionados&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si quieres convertir flujos repetidos en capacidades reutilizables en lugar de volver a describirlos en prompts cada vez, esta capa resulta especialmente útil.&lt;/p&gt;
&lt;h3 id=&#34;3-contexto-y-memoria&#34;&gt;3. Contexto y memoria
&lt;/h3&gt;&lt;p&gt;Este es uno de los diferenciadores más importantes de OpenHarness. Las palabras clave oficiales incluyen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;descubrimiento e inyección de &lt;code&gt;CLAUDE.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;compresión automática de contexto&lt;/li&gt;
&lt;li&gt;memoria persistente mediante &lt;code&gt;MEMORY.md&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;recuperación de sesiones y continuación de historial&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Eso significa que no solo reacciona a la entrada actual. Está diseñado para preservar convenciones de proyecto, tareas históricas y preferencias a largo plazo, lo que lo hace más adecuado para trabajo continuo en lugar de empezar siempre desde cero.&lt;/p&gt;
&lt;h3 id=&#34;4-gobierno-de-permisos-y-límites-de-seguridad&#34;&gt;4. Gobierno de permisos y límites de seguridad
&lt;/h3&gt;&lt;p&gt;Cuando un agente empieza a interactuar con filesystem, terminal y red, el gobierno se vuelve crítico. OpenHarness ofrece:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;múltiples modos de permisos&lt;/li&gt;
&lt;li&gt;controles de reglas basados en rutas y comandos&lt;/li&gt;
&lt;li&gt;hooks &lt;code&gt;PreToolUse&lt;/code&gt; / &lt;code&gt;PostToolUse&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;prompts interactivos de aprobación&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En otras palabras, no se trata solo de permitir que el agente haga cosas. También define qué puede hacerse directamente y qué debería requerir confirmación primero.&lt;/p&gt;
&lt;h3 id=&#34;5-coordinación-multi-agente&#34;&gt;5. Coordinación multi-agente
&lt;/h3&gt;&lt;p&gt;OpenHarness también soporta delegar trabajo a sub-agentes. Los materiales públicos actuales mencionan capacidades como:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;creación y delegación de sub-agentes&lt;/li&gt;
&lt;li&gt;registro de equipos y gestión de tareas&lt;/li&gt;
&lt;li&gt;ciclo de vida de tareas en segundo plano&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Para trabajo más complejo, esto significa que puede ir más allá de un único agente serial e intentar colaboración paralela.&lt;/p&gt;
&lt;h3 id=&#34;6-flujos-multi-proveedor&#34;&gt;6. Flujos multi-proveedor
&lt;/h3&gt;&lt;p&gt;OpenHarness no trata a los proveedores como simples etiquetas de API. Los abstrae como combinaciones de workflow + profile. Según el README, las direcciones actuales incluyen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Claude / compatible con Anthropic&lt;/li&gt;
&lt;li&gt;compatible con OpenAI&lt;/li&gt;
&lt;li&gt;Codex Subscription&lt;/li&gt;
&lt;li&gt;GitHub Copilot&lt;/li&gt;
&lt;li&gt;backends compatibles como Moonshot(Kimi), GLM y MiniMax&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Eso hace que se sienta más como un framework runtime multi-modelo y multi-entrada para agentes, no como algo atado a un único proveedor.&lt;/p&gt;
&lt;h3 id=&#34;7-react-tui-y-modo-no-interactivo&#34;&gt;7. React TUI y modo no interactivo
&lt;/h3&gt;&lt;p&gt;OpenHarness incluye una interfaz de terminal. Ejecutar &lt;code&gt;oh&lt;/code&gt; abre una TUI React/Ink, y el README oficial dice que soporta:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;selector de comandos&lt;/li&gt;
&lt;li&gt;confirmación de permisos&lt;/li&gt;
&lt;li&gt;cambio de modelo&lt;/li&gt;
&lt;li&gt;cambio de proveedor&lt;/li&gt;
&lt;li&gt;recuperación de sesión&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si no quieres entrar en una interfaz interactiva, también puedes usar el modo no interactivo para ejecutar una tarea una vez y devolver el resultado como salida estándar, JSON o JSON en streaming, algo útil para scripting y automatización.&lt;/p&gt;
&lt;h2 id=&#34;03-qué-es-ohmo&#34;&gt;03 Qué es &lt;code&gt;ohmo&lt;/code&gt;
&lt;/h2&gt;&lt;p&gt;Si OpenHarness es la capa de infraestructura, &lt;code&gt;ohmo&lt;/code&gt; es la aplicación de agente personal construida encima.&lt;/p&gt;
&lt;p&gt;La página del proyecto es muy clara sobre su posicionamiento: no es solo un chatbot genérico, sino un asistente personal que puede seguir trabajando durante conversaciones largas. La descripción oficial dice que puede interactuar contigo mediante canales como Feishu, Slack, Telegram y Discord, y realizar tareas como:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;crear una rama mediante fork&lt;/li&gt;
&lt;li&gt;escribir código&lt;/li&gt;
&lt;li&gt;ejecutar pruebas&lt;/li&gt;
&lt;li&gt;abrir un PR&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;El README también destaca que &lt;code&gt;ohmo&lt;/code&gt; puede ejecutarse sobre tu suscripción existente de Claude Code o Codex, por lo que no necesariamente necesitas provisionar una nueva clave API. Para personas que ya usan esas suscripciones, eso reduce bastante la barrera.&lt;/p&gt;
&lt;h2 id=&#34;04-en-qué-escenarios-encaja&#34;&gt;04 En qué escenarios encaja
&lt;/h2&gt;&lt;p&gt;Por las capacidades públicas actuales, OpenHarness encaja bien para personas que:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Quieren estudiar de qué está hecho realmente un agente de nivel producción&lt;/li&gt;
&lt;li&gt;Quieren construir su propio runtime de agentes open source y extensible&lt;/li&gt;
&lt;li&gt;Quieren herramientas, skills, memoria, permisos y coordinación multi-agente en un solo framework&lt;/li&gt;
&lt;li&gt;No quieren quedar atadas a un único proveedor de modelos o forma de cliente&lt;/li&gt;
&lt;li&gt;Quieren construir agentes verticales o asistentes personales sobre una arquitectura existente&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si tu objetivo es simplemente encontrar un asistente terminado que pueda chatear de inmediato, OpenHarness en sí quizá no sea la opción más ligera. Pero si te importa más la infraestructura de agentes, el control de ingeniería y la extensibilidad a largo plazo, es un proyecto muy valioso para estudiar.&lt;/p&gt;
&lt;h2 id=&#34;05-una-forma-rápida-de-entender-su-posicionamiento&#34;&gt;05 Una forma rápida de entender su posicionamiento
&lt;/h2&gt;&lt;p&gt;En una frase:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;OpenHarness convierte modelos fundacionales en agentes que realmente pueden ejecutar trabajo, mientras &lt;code&gt;ohmo&lt;/code&gt; empaqueta esa capacidad en un asistente personal que puede seguir trabajando contigo con el tiempo.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;También puedes pensarlo como dos capas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;OpenHarness: un Agent Harness open source, esencialmente la capa de infraestructura&lt;/li&gt;
&lt;li&gt;ohmo: una app de agente personal construida sobre esa infraestructura&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A fecha de &lt;strong&gt;12 de abril de 2026&lt;/strong&gt;, la página de GitHub muestra que el proyecto ya había avanzado a &lt;strong&gt;v0.1.6 (10 de abril de 2026)&lt;/strong&gt;, con énfasis continuo en compresión automática de contexto, soporte de transporte MCP, React TUI y estabilidad de runtime para flujos multi-agente. Eso sugiere que todavía evoluciona rápido, pero su dirección ya es bastante clara.&lt;/p&gt;
&lt;h2 id=&#34;referencias&#34;&gt;Referencias
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Repositorio GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/HKUDS/OpenHarness&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/HKUDS/OpenHarness&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;README en inglés: &lt;a class=&#34;link&#34; href=&#34;https://github.com/HKUDS/OpenHarness/blob/main/README.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/HKUDS/OpenHarness/blob/main/README.md&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;README en chino: &lt;a class=&#34;link&#34; href=&#34;https://github.com/HKUDS/OpenHarness/blob/main/README.zh-CN.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/HKUDS/OpenHarness/blob/main/README.zh-CN.md&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Primeros pasos con Playwright CLI: instalación, Skills, sesiones y comandos esenciales</title>
        <link>https://knightli.com/es/2026/04/12/playwright-cli-getting-started/</link>
        <pubDate>Sun, 12 Apr 2026 14:36:58 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/04/12/playwright-cli-getting-started/</guid>
        <description>&lt;p&gt;Si has usado Claude Code, GitHub Copilot u otros agentes de programación para automatización de navegador, &lt;code&gt;microsoft/playwright-cli&lt;/code&gt; es una herramienta que vale la pena observar. No es el ayudante de navegador tradicional pensado principalmente para humanos escribiendo comandos a mano. Es una CLI de Playwright diseñada para agentes de programación, con énfasis en menor sobrecarga de tokens, una interfaz de comandos más ligera e integración con flujos basados en Skills.&lt;/p&gt;
&lt;p&gt;Según el README oficial, la idea central de Playwright CLI es clara: frente a MCP, que puede empujar grandes esquemas de herramientas y estructura de página al contexto del modelo, el enfoque CLI es más compacto y encaja mejor con flujos de agentes que alternan constantemente entre codebases grandes, pruebas y automatización de navegador.&lt;/p&gt;
&lt;h2 id=&#34;01-qué-es-playwright-cli&#34;&gt;01 Qué es Playwright CLI
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;playwright-cli&lt;/code&gt; es una herramienta open source de línea de comandos para Playwright creada por Microsoft. La descripción oficial es &amp;ldquo;CLI for common Playwright actions&amp;rdquo;. Se usa principalmente para tareas como:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Abrir páginas y controlar el navegador&lt;/li&gt;
&lt;li&gt;Grabar y generar código Playwright&lt;/li&gt;
&lt;li&gt;Capturar snapshots de página para obtener referencias de elementos&lt;/li&gt;
&lt;li&gt;Tomar capturas de pantalla y exportar PDFs&lt;/li&gt;
&lt;li&gt;Trabajar con agentes de programación para automatización de pruebas e interacción web&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;El README actual de GitHub es muy explícito sobre su posicionamiento: si usas agentes de programación, la CLI suele encajar mejor que Playwright MCP; si necesitas estado persistente, introspección más rica y bucles agentic de larga duración, MCP sigue teniendo su lugar.&lt;/p&gt;
&lt;p&gt;En otras palabras, Playwright CLI se siente más como una interfaz de automatización de navegador construida para asistentes AI de programación, no solo como una herramienta para que ingenieros hagan clic manualmente.&lt;/p&gt;
&lt;h2 id=&#34;02-dónde-destaca&#34;&gt;02 Dónde destaca
&lt;/h2&gt;&lt;h3 id=&#34;1-encaja-mejor-con-flujos-de-agentes&#34;&gt;1. Encaja mejor con flujos de agentes
&lt;/h3&gt;&lt;p&gt;El README oficial enumera &lt;code&gt;Token-efficient&lt;/code&gt; como una característica clave. No obliga a meter todos los datos de la página en el contexto del LLM. En su lugar, permite que el agente opere el navegador mediante comandos más cortos y enfocados.&lt;/p&gt;
&lt;p&gt;Esto importa mucho para agentes de programación. En proyectos reales, un agente no solo controla el navegador. También tiene que leer código, editar archivos, ejecutar pruebas e inspeccionar logs. Si la interfaz del navegador consume demasiado contexto, todo el flujo se vuelve menos eficiente.&lt;/p&gt;
&lt;h3 id=&#34;2-funciona-bien-con-skills&#34;&gt;2. Funciona bien con Skills
&lt;/h3&gt;&lt;p&gt;El README destaca específicamente &lt;code&gt;playwright-cli install --skills&lt;/code&gt;. Eso muestra que Microsoft no lo trata solo como otra utilidad de shell, sino como algo que Claude Code, GitHub Copilot y agentes similares pueden consumir directamente mediante un flujo basado en Skills.&lt;/p&gt;
&lt;p&gt;Si tu configuración ya depende de Skills, Playwright CLI debería encajar de forma natural.&lt;/p&gt;
&lt;h3 id=&#34;3-la-gestión-de-sesiones-es-bastante-completa&#34;&gt;3. La gestión de sesiones es bastante completa
&lt;/h3&gt;&lt;p&gt;Playwright CLI soporta sesiones. De forma predeterminada, el perfil del navegador permanece en memoria, así que cookies y storage state se conservan entre varias llamadas CLI dentro de la misma sesión. Si añades &lt;code&gt;--persistent&lt;/code&gt;, el perfil puede guardarse en disco y reutilizarse tras reiniciar el navegador.&lt;/p&gt;
&lt;p&gt;Esto lo vuelve mucho más práctico que herramientas que abren un navegador para un solo comando y luego descartan todo. También encaja mejor con ciclos largos de depuración y flujos de agentes más extensos.&lt;/p&gt;
&lt;h3 id=&#34;4-incluye-un-panel-visual-de-monitoreo&#34;&gt;4. Incluye un panel visual de monitoreo
&lt;/h3&gt;&lt;p&gt;El README ofrece &lt;code&gt;playwright-cli show&lt;/code&gt;, que abre un panel para observar y controlar todas las sesiones de navegador en ejecución. Esto es especialmente útil cuando un agente ejecuta automatización en segundo plano, porque puedes intervenir, inspeccionar el progreso y ayudar a depurar en lugar de trabajar a ciegas.&lt;/p&gt;
&lt;h2 id=&#34;03-instalación-y-requisitos&#34;&gt;03 Instalación y requisitos
&lt;/h2&gt;&lt;p&gt;Según el README actual de GitHub, los requisitos básicos de Playwright CLI son:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Node.js 18 o más reciente&lt;/li&gt;
&lt;li&gt;Claude Code, GitHub Copilot u otro agente de programación&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Los comandos de instalación son:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm install -g @playwright/cli@latest
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli --help
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Hay un error fácil que conviene destacar:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;El paquete recomendado oficialmente ahora es &lt;code&gt;@playwright/cli&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;No lo confundas con el antiguo paquete npm deprecado &lt;code&gt;playwright-cli&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Así que el paquete correcto es el scoped package, no el paquete histórico antiguo.&lt;/p&gt;
&lt;h2 id=&#34;04-cómo-empezar-a-usarlo&#34;&gt;04 Cómo empezar a usarlo
&lt;/h2&gt;&lt;h3 id=&#34;1-instalar-skills&#34;&gt;1. Instalar skills
&lt;/h3&gt;&lt;p&gt;Si quieres que un agente de programación use Playwright CLI directamente, la recomendación oficial es instalar primero las skills:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli install --skills
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;El README dice explícitamente que Claude Code, GitHub Copilot y herramientas similares usarán las skills instaladas localmente.&lt;/p&gt;
&lt;h3 id=&#34;2-dejar-que-el-agente-llame-directamente-a-la-cli&#34;&gt;2. Dejar que el agente llame directamente a la CLI
&lt;/h3&gt;&lt;p&gt;Si no quieres manejar Skills primero, también puedes pedir al agente que lea la ayuda de la CLI directamente:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Test the &amp;#34;add todo&amp;#34; flow on https://demo.playwright.dev/todomvc using playwright-cli.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Check playwright-cli --help for available commands.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;El README llama a esto &amp;ldquo;Skills-less operation&amp;rdquo;. La idea es que incluso sin skills preinstaladas, la CLI puede describirse lo bastante bien para que un agente la use.&lt;/p&gt;
&lt;h3 id=&#34;3-probar-manualmente-un-flujo-mínimo&#34;&gt;3. Probar manualmente un flujo mínimo
&lt;/h3&gt;&lt;p&gt;El README incluye un ejemplo con TodoMVC que funciona muy bien como primera demostración práctica:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli open https://demo.playwright.dev/todomvc/ --headed
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli &lt;span class=&#34;nb&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Buy groceries&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli press Enter
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli &lt;span class=&#34;nb&#34;&gt;type&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Water flowers&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli press Enter
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli check e21
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli check e35
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli screenshot
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Esta secuencia es útil porque muestra rápidamente cómo trabaja Playwright CLI:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;open&lt;/code&gt; abre la página&lt;/li&gt;
&lt;li&gt;&lt;code&gt;type&lt;/code&gt; y &lt;code&gt;press&lt;/code&gt; gestionan entrada de texto&lt;/li&gt;
&lt;li&gt;&lt;code&gt;check&lt;/code&gt; usa una referencia de elemento para alternar checkboxes&lt;/li&gt;
&lt;li&gt;&lt;code&gt;screenshot&lt;/code&gt; guarda el resultado&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;05---headed-sesiones-y-panel-de-monitoreo&#34;&gt;05 &lt;code&gt;--headed&lt;/code&gt;, sesiones y panel de monitoreo
&lt;/h2&gt;&lt;h3 id=&#34;--headed&#34;&gt;&lt;code&gt;--headed&lt;/code&gt;
&lt;/h3&gt;&lt;p&gt;Playwright CLI es headless por defecto. Si quieres ver directamente la ventana del navegador, debes pasar &lt;code&gt;--headed&lt;/code&gt; al usar &lt;code&gt;open&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli open https://playwright.dev --headed
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Esto es especialmente útil al depurar selectores, flujos de login o cualquier interacción que sea más fácil inspeccionar visualmente.&lt;/p&gt;
&lt;h3 id=&#34;sesiones&#34;&gt;sesiones
&lt;/h3&gt;&lt;p&gt;El README oficial da mucha importancia a las sesiones. Puedes usar distintas sesiones para aislar diferentes proyectos o sitios:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli open https://playwright.dev
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli -s&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;example open https://example.com --persistent
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli list
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si dejas que un agente trabaje durante más tiempo, también puedes pasar la sesión mediante una variable de entorno:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;PLAYWRIGHT_CLI_SESSION&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;todo-app claude .
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Comandos útiles de gestión de sesiones:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli list
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli close-all
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli kill-all
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;En la práctica:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;list&lt;/code&gt; muestra todas las sesiones&lt;/li&gt;
&lt;li&gt;&lt;code&gt;close-all&lt;/code&gt; cierra todos los navegadores de forma ordenada&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kill-all&lt;/code&gt; termina forzosamente todos los procesos de navegador&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;panel-de-monitoreo&#34;&gt;Panel de monitoreo
&lt;/h3&gt;&lt;p&gt;Si quieres ver qué está haciendo realmente el agente en el navegador, puedes ejecutar:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli show
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Según el README, este panel tiene dos vistas principales:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Session grid: muestra sesiones activas por workspace, con vista previa en vivo, URL y título de página&lt;/li&gt;
&lt;li&gt;Session detail: muestra una vista en vivo de una sesión seleccionada y permite tomar control del ratón y teclado&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Eso significa que Playwright CLI no solo es usable desde la línea de comandos. También tiene una capa de observabilidad bastante madura.&lt;/p&gt;
&lt;h2 id=&#34;06-qué-comandos-conviene-memorizar-primero&#34;&gt;06 Qué comandos conviene memorizar primero
&lt;/h2&gt;&lt;p&gt;Si es tu primera vez con Playwright CLI, no necesitas memorizar todos los comandos. Estos son los principales:&lt;/p&gt;
&lt;h3 id=&#34;páginas-e-interacción&#34;&gt;Páginas e interacción
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli open &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;url&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli goto &amp;lt;url&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli click &amp;lt;ref&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli fill &amp;lt;ref&amp;gt; &amp;lt;text&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli &lt;span class=&#34;nb&#34;&gt;type&lt;/span&gt; &amp;lt;text&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli hover &amp;lt;ref&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli press &amp;lt;key&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;obtener-estructura-de-página&#34;&gt;Obtener estructura de página
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli snapshot
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli snapshot &amp;lt;ref&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli snapshot --depth&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;N
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli &lt;span class=&#34;nb&#34;&gt;eval&lt;/span&gt; &amp;lt;func&amp;gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;ref&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;snapshot&lt;/code&gt; es especialmente importante porque muchas operaciones posteriores dependen de referencias de elementos almacenadas como &lt;code&gt;ref&lt;/code&gt;. En la práctica, normalmente capturas un snapshot primero y luego usas los identificadores devueltos para hacer clic, rellenar, marcar o tomar capturas.&lt;/p&gt;
&lt;h3 id=&#34;guardar-salida&#34;&gt;Guardar salida
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli screenshot
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli pdf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;pestañas&#34;&gt;Pestañas
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli tab-list
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli tab-new &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;url&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli tab-close &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;index&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;playwright-cli tab-select &amp;lt;index&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;07-quién-debería-probarlo&#34;&gt;07 Quién debería probarlo
&lt;/h2&gt;&lt;p&gt;Playwright CLI merece probarse especialmente en estos escenarios:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Usas Claude Code, Copilot u otro agente de programación para pruebas E2E&lt;/li&gt;
&lt;li&gt;Quieres una interfaz de automatización de navegador más ligera sin empujar grandes estructuras de página al contexto del modelo&lt;/li&gt;
&lt;li&gt;Quieres que una sesión de navegador persista entre múltiples comandos&lt;/li&gt;
&lt;li&gt;Quieres monitorear tareas web impulsadas por agentes mediante un panel mientras se ejecutan&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si tu pregunta principal es cómo hacer que la automatización de navegador funcione de forma eficiente con agentes de programación, Playwright CLI probablemente se sentirá más natural que los flujos tradicionales de depuración manual.&lt;/p&gt;
&lt;h2 id=&#34;referencias&#34;&gt;Referencias
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/microsoft/playwright-cli&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/microsoft/playwright-cli&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;README: &lt;a class=&#34;link&#34; href=&#34;https://github.com/microsoft/playwright-cli/blob/main/README.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/microsoft/playwright-cli/blob/main/README.md&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Qué es Hermes Agent: resumen, fortalezas, primeros pasos y comparación con OpenClaw</title>
        <link>https://knightli.com/es/2026/04/12/hermes-agent-intro-guide-vs-openclaw/</link>
        <pubDate>Sun, 12 Apr 2026 14:07:58 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/04/12/hermes-agent-intro-guide-vs-openclaw/</guid>
        <description>&lt;p&gt;Si has estado siguiendo agentes AI open source recientemente, &lt;code&gt;Hermes Agent&lt;/code&gt; es un proyecto al que vale la pena prestar atención. Creado por Nous Research, su atractivo principal no es simplemente ser otro envoltorio de chat, sino intentar reunir memoria a largo plazo, skills reutilizables, archivos de contexto, extensiones MCP, una pasarela de mensajería y sub-agentes paralelos en un único runtime de agentes.&lt;/p&gt;
&lt;p&gt;Según el README oficial, Hermes Agent tiene un objetivo muy claro: puede funcionar como un asistente CLI local en tu terminal, o como un asistente personal alojado en la nube y disponible a través de Telegram, Discord, Slack, WhatsApp, Signal y otros canales. Para usuarios que quieren combinar un asistente de programación, un asistente de automatización y un espacio personal de AI en un solo sistema, ese posicionamiento es atractivo.&lt;/p&gt;
&lt;h2 id=&#34;01-resumen-de-hermes-agent&#34;&gt;01 Resumen de Hermes Agent
&lt;/h2&gt;&lt;p&gt;Hermes Agent es un agente AI open source y auto-mejorable de Nous Research. Soporta varios proveedores de modelos, incluidos Nous Portal, OpenRouter, OpenAI y endpoints personalizados compatibles con OpenAI. También puede ejecutarse en distintos backends como terminal local, Docker, SSH, Daytona y Modal.&lt;/p&gt;
&lt;p&gt;Lo que separa a Hermes de muchos chatbots con herramientas es que no se centra solo en llamadas a herramientas dentro de una sesión. Da mucha más importancia a construir capacidades persistentes entre sesiones. La documentación oficial divide esta idea en varias partes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Memoria persistente: guarda información clave sobre el entorno, el proyecto y las preferencias del usuario mediante &lt;code&gt;MEMORY.md&lt;/code&gt; y &lt;code&gt;USER.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Sistema de skills: convierte flujos de trabajo exitosos en skills reutilizables que pueden cargarse bajo demanda.&lt;/li&gt;
&lt;li&gt;Archivos de contexto: lee automáticamente archivos como &lt;code&gt;AGENTS.md&lt;/code&gt;, &lt;code&gt;SOUL.md&lt;/code&gt; y &lt;code&gt;.cursorrules&lt;/code&gt; para inyectar convenciones del proyecto directamente en la sesión.&lt;/li&gt;
&lt;li&gt;Integración MCP: puede conectarse a cualquier servidor compatible con MCP para ampliar capacidades de bases de datos, GitHub, filesystem y scraping.&lt;/li&gt;
&lt;li&gt;Pasarela de mensajería: además de la CLI, puede usarse desde Telegram, Discord, Slack, WhatsApp, Signal, Email y otros puntos de entrada.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En una frase, Hermes Agent se siente más como una capa operativa de agentes de propósito general con memoria, skills, extensibilidad y acceso multicanal.&lt;/p&gt;
&lt;h2 id=&#34;02-dónde-destaca&#34;&gt;02 Dónde destaca
&lt;/h2&gt;&lt;h3 id=&#34;1-cubre-flujos-cli-y-flujos-de-mensajería&#34;&gt;1. Cubre flujos CLI y flujos de mensajería
&lt;/h3&gt;&lt;p&gt;Muchos proyectos de agentes se inclinan hacia asistencia de desarrollador en terminal o hacia bots de plataformas de chat. Hermes intenta combinar ambos. Puedes ejecutar &lt;code&gt;hermes&lt;/code&gt; directamente en la terminal, o continuar con el mismo asistente por Telegram o Discord después de iniciar la gateway.&lt;/p&gt;
&lt;p&gt;El beneficio práctico es que Hermes no se limita a ser útil solo cuando estás frente al ordenador. Si lo despliegas en la nube o en un VPS, puede convertirse en un asistente personal disponible de forma continua.&lt;/p&gt;
&lt;h3 id=&#34;2-está-diseñado-para-uso-a-largo-plazo&#34;&gt;2. Está diseñado para uso a largo plazo
&lt;/h3&gt;&lt;p&gt;Hermes hace más que chatear y llamar herramientas. También está construido alrededor de acumulación a largo plazo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Memoria persistente con límites, en lugar de meter contexto sin fin en cada conversación.&lt;/li&gt;
&lt;li&gt;Un sistema de skills que permite guardar y reutilizar flujos exitosos.&lt;/li&gt;
&lt;li&gt;Búsqueda en sesiones pasadas para recuperación y recuerdo.&lt;/li&gt;
&lt;li&gt;Archivos de contexto de proyecto que reducen la necesidad de repetir el mismo trasfondo.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto importa mucho para personas que trabajan repetidamente en los mismos repositorios, flujos y convenciones de equipo. Significa que el agente no solo ayuda una vez; puede familiarizarse gradualmente con tu entorno.&lt;/p&gt;
&lt;h3 id=&#34;3-el-soporte-mcp-le-da-gran-extensibilidad&#34;&gt;3. El soporte MCP le da gran extensibilidad
&lt;/h3&gt;&lt;p&gt;La documentación de Hermes soporta explícitamente MCP y describe modos de integración por stdio y HTTP. En la práctica, si un sistema externo ya tiene un servidor MCP, Hermes suele poder conectarse con un coste de integración mucho menor.&lt;/p&gt;
&lt;p&gt;Eso es más flexible que escribir un plugin personalizado para cada sistema. Para usuarios que ya tienen herramientas alrededor del ecosistema MCP, Hermes debería ser mucho más fácil de extender.&lt;/p&gt;
&lt;h3 id=&#34;4-es-amigable-para-usuarios-de-openclaw&#34;&gt;4. Es amigable para usuarios de OpenClaw
&lt;/h3&gt;&lt;p&gt;Esta parte es especialmente interesante. El README de Hermes ofrece directamente &lt;code&gt;hermes claw migrate&lt;/code&gt; y dice explícitamente que puede importar configuración, memoria, skills, claves API y ajustes de plataformas de mensajería desde OpenClaw.&lt;/p&gt;
&lt;p&gt;Eso sugiere que Hermes no intenta ignorar el ecosistema existente y empezar desde cero. Claramente posiciona a algunos usuarios de OpenClaw como audiencia de migración.&lt;/p&gt;
&lt;h2 id=&#34;03-cómo-empezar-rápido&#34;&gt;03 Cómo empezar rápido
&lt;/h2&gt;&lt;p&gt;El método de instalación recomendado oficialmente para Hermes Agent es muy directo:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; bash
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Según el README oficial, soporta Linux, macOS, WSL2 y Android Termux. Una nota importante es que Windows nativo no está soportado por ahora, así que se recomienda a los usuarios de Windows usar WSL2.&lt;/p&gt;
&lt;p&gt;Después de instalar, normalmente conviene refrescar primero la shell:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;source&lt;/span&gt; ~/.bashrc
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Luego puedes iniciarlo directamente:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hermes
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Si quieres pasar por un flujo de inicialización más completo paso a paso, el comando más sencillo es:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hermes setup
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Según la documentación y el README oficiales, una ruta simple de primera configuración sería:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Ejecuta &lt;code&gt;hermes setup&lt;/code&gt; para completar la configuración base.&lt;/li&gt;
&lt;li&gt;Usa &lt;code&gt;hermes model&lt;/code&gt; para elegir proveedor y modelo.&lt;/li&gt;
&lt;li&gt;Usa &lt;code&gt;hermes tools&lt;/code&gt; para activar los conjuntos de herramientas que quieras.&lt;/li&gt;
&lt;li&gt;Ejecuta &lt;code&gt;hermes&lt;/code&gt; para entrar en la CLI interactiva.&lt;/li&gt;
&lt;li&gt;Si quieres canales como Telegram o Discord, continúa con &lt;code&gt;hermes gateway&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Si ya usas OpenClaw, también vale la pena previsualizar el comando de migración:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hermes claw migrate --dry-run
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Así puedes inspeccionar qué se puede migrar antes de hacer una importación real.&lt;/p&gt;
&lt;h2 id=&#34;04-cómo-pensarlo-frente-a-openclaw&#34;&gt;04 Cómo pensarlo frente a OpenClaw
&lt;/h2&gt;&lt;p&gt;Según la documentación y el README oficiales, Hermes Agent y OpenClaw no son simplemente un caso de uno reemplazando al otro. Sus posicionamientos se solapan, pero sus prioridades son claramente diferentes.&lt;/p&gt;
&lt;h3 id=&#34;cómo-se-siente-hermes-agent&#34;&gt;Cómo se siente Hermes Agent
&lt;/h3&gt;&lt;p&gt;Hermes se siente más como un producto centrado en un núcleo de agente y un sistema de flujos de trabajo. Enfatiza:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;experiencia CLI&lt;/li&gt;
&lt;li&gt;acumulación de memoria y skills&lt;/li&gt;
&lt;li&gt;archivos de contexto de proyecto&lt;/li&gt;
&lt;li&gt;extensibilidad MCP&lt;/li&gt;
&lt;li&gt;sub-agentes paralelos&lt;/li&gt;
&lt;li&gt;cambio de backends de ejecución entre local, contenedor, remoto y serverless&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si tu objetivo principal es que el agente entienda mejor tu proyecto, reutilice capacidades con el tiempo y se conecte de forma más natural a MCP y flujos de desarrollo, Hermes probablemente encaje mejor.&lt;/p&gt;
&lt;h3 id=&#34;cómo-se-siente-openclaw&#34;&gt;Cómo se siente OpenClaw
&lt;/h3&gt;&lt;p&gt;OpenClaw se siente más como una plataforma centrada en un asistente personal AI más una pasarela de mensajería. Enfatiza:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;integración rica con canales de mensajería&lt;/li&gt;
&lt;li&gt;una Gateway siempre en ejecución&lt;/li&gt;
&lt;li&gt;una Control UI basada en navegador&lt;/li&gt;
&lt;li&gt;emparejamiento de dispositivos, acceso remoto y gestión de estado&lt;/li&gt;
&lt;li&gt;superficies más orientadas a asistente, como voz, acceso móvil y Canvas&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si tu objetivo principal es mantener un asistente personal AI disponible de forma fiable en varios canales y dispositivos, con un panel de control para gestionarlo, OpenClaw tiene una sensación de producto más fuerte en esa dirección.&lt;/p&gt;
&lt;h3 id=&#34;una-regla-práctica&#34;&gt;Una regla práctica
&lt;/h3&gt;&lt;p&gt;Puedes pensar en los dos así:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Hermes Agent: más como un espacio de trabajo de agentes de propósito general que crece con el uso&lt;/li&gt;
&lt;li&gt;OpenClaw: más como una plataforma de asistente personal AI multicanal y siempre disponible&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;La distinción no es absoluta, porque ambos proyectos siguen expandiéndose y Hermes también ofrece una ruta de migración desde OpenClaw. Pero según el material público actual, Hermes destaca más en memoria, skills, contexto, MCP y flujos de desarrollo, mientras OpenClaw parece más maduro en gateway, multicanal, Control UI y acceso a dispositivos.&lt;/p&gt;
&lt;h2 id=&#34;05-quién-debería-probarlo&#34;&gt;05 Quién debería probarlo
&lt;/h2&gt;&lt;p&gt;Hermes Agent merece probarse primero si encajas en alguno de estos perfiles:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ya dependes mucho de herramientas AI en la terminal y quieres un agente que entienda mejor tu codebase y reglas de proyecto.&lt;/li&gt;
&lt;li&gt;Quieres combinar &lt;code&gt;AGENTS.md&lt;/code&gt;, skills, memoria y MCP en un solo flujo.&lt;/li&gt;
&lt;li&gt;No quieres quedar bloqueado en un único proveedor de modelos y prefieres cambio flexible de proveedores.&lt;/li&gt;
&lt;li&gt;Ya usas OpenClaw y quieres explorar una dirección más centrada en flujos de agentes.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si te importa más el alcance móvil, la integración amplia con plataformas de mensajería, una consola de control en navegador y la sensación de un asistente personal siempre online, OpenClaw sigue teniendo mucho atractivo.&lt;/p&gt;
&lt;h2 id=&#34;referencias&#34;&gt;Referencias
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Hermes Agent GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/NousResearch/hermes-agent&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/NousResearch/hermes-agent&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Hermes Agent Docs: &lt;a class=&#34;link&#34; href=&#34;https://hermes-agent.nousresearch.com/docs/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://hermes-agent.nousresearch.com/docs/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Hermes Features Overview: &lt;a class=&#34;link&#34; href=&#34;https://hermes-agent.nousresearch.com/docs/user-guide/features/overview&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://hermes-agent.nousresearch.com/docs/user-guide/features/overview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Hermes MCP: &lt;a class=&#34;link&#34; href=&#34;https://hermes-agent.nousresearch.com/docs/user-guide/features/mcp/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://hermes-agent.nousresearch.com/docs/user-guide/features/mcp/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;OpenClaw GitHub: &lt;a class=&#34;link&#34; href=&#34;https://github.com/openclaw/openclaw&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/openclaw/openclaw&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;OpenClaw Getting Started: &lt;a class=&#34;link&#34; href=&#34;https://docs.openclaw.ai/start/quickstart&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://docs.openclaw.ai/start/quickstart&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;OpenClaw Control UI: &lt;a class=&#34;link&#34; href=&#34;https://docs.openclaw.ai/web/control-ui&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://docs.openclaw.ai/web/control-ui&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>OpenClaw Dreaming: las máquinas empiezan a soñar mientras los humanos pierden el sueño</title>
        <link>https://knightli.com/es/2026/04/12/openclaw-dreaming-machine-dreams-humans-lose-sleep/</link>
        <pubDate>Sun, 12 Apr 2026 12:41:34 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/04/12/openclaw-dreaming-machine-dreams-humans-lose-sleep/</guid>
        <description>&lt;p&gt;La memoria a largo plazo siempre ha sido un punto débil de los modelos grandes. A medida que crece el contexto, la memoria se vuelve más difícil de gestionar. Un agente puede parecer que lo recuerda todo y, aun así, volverse peor al juzgar qué importa y qué debería olvidarse.&lt;/p&gt;
&lt;p&gt;El 5 de abril, OpenClaw presentó una función experimental llamada Dreaming. No es solo un nombre llamativo. Es un sistema de gestión de memoria en segundo plano, inspirado en el sueño humano, diseñado para ayudar a los agentes a despertar con una memoria más limpia y útil.&lt;/p&gt;
&lt;h2 id=&#34;01-una-pipeline-basada-en-sueño-para-consolidar-memoria&#34;&gt;01 Una pipeline basada en sueño para consolidar memoria
&lt;/h2&gt;&lt;p&gt;Dreaming hace más que indexar datos. Divide el procesamiento de memoria en tres etapas que reflejan distintas funciones del sueño humano.&lt;/p&gt;
&lt;p&gt;Light Sleep: el sistema escanea conversaciones recientes y trazas de recuperación, elimina duplicados y construye una lista de candidatos. En esta etapa solo almacena información temporalmente y no modifica el archivo de memoria principal &lt;code&gt;MEMORY.md&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Deep Sleep: el sistema aplica filtros más estrictos para identificar información duradera. Solo avanzan las entradas que superan umbrales de puntuación, número de recuperaciones y diversidad de consultas. Antes de escribir nada, vuelve a revisar los logs más recientes para retirar contenido obsoleto. El resultado final se añade a &lt;code&gt;MEMORY.md&lt;/code&gt;, mientras que un resumen de sueño profundo se escribe en &lt;code&gt;DREAMS.md&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;REM: después de consolidar la memoria, el sistema busca vínculos ocultos entre trazas de comportamiento recientes. Extrae patrones y resúmenes reflexivos, y luego los guarda en una sección REM dedicada para ayudar al agente a responder con mejor estructura y más contexto.&lt;/p&gt;
&lt;p&gt;Dreaming también produce un diario de sueños legible por humanos. Cuando se acumula material suficiente, un sub-agente en segundo plano llama al modelo predeterminado y añade una breve entrada en lenguaje natural a &lt;code&gt;DREAMS.md&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;02-un-sistema-de-puntuación-para-decidir-qué-merece-quedarse&#34;&gt;02 Un sistema de puntuación para decidir qué merece quedarse
&lt;/h2&gt;&lt;p&gt;El punto real de Dreaming no es solo organizar memoria, sino filtrarla. En lugar de conservarlo todo, OpenClaw usa un modelo de puntuación ponderado para decidir qué pertenece al almacenamiento a largo plazo.&lt;/p&gt;
&lt;p&gt;Las seis dimensiones son:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Relevancia (30%): qué tan útil es la información cuando se recupera.&lt;/li&gt;
&lt;li&gt;Frecuencia (24%): qué tan a menudo aparece el elemento en señales de corto plazo.&lt;/li&gt;
&lt;li&gt;Diversidad de consultas (15%): si aparece en diferentes prompts y contextos.&lt;/li&gt;
&lt;li&gt;Recencia (15%): si la información sigue siendo fresca y accionable.&lt;/li&gt;
&lt;li&gt;Integración (10%): si permanece estable durante varios días.&lt;/li&gt;
&lt;li&gt;Riqueza conceptual (6%): qué tan denso y conectado es su grafo conceptual.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En la práctica, esto significa que el sistema intenta conservar información repetida, útil, actual y ampliamente aplicable, mientras deja que el ruido de menor valor se desvanezca.&lt;/p&gt;
&lt;h2 id=&#34;03-por-qué-recuerda-al-enfoque-de-dreaming-de-claude&#34;&gt;03 Por qué recuerda al enfoque de &amp;ldquo;dreaming&amp;rdquo; de Claude
&lt;/h2&gt;&lt;p&gt;Algunos desarrolladores han señalado que Dreaming se parece a la lógica de sueño automatizado descrita en materiales filtrados de Claude Code sobre el sistema KAIROS. Los enfoques antiguos que reescribían repetidamente todo &lt;code&gt;MEMORY.md&lt;/code&gt; podían volverse desordenados con el tiempo. Al dividir el flujo en sueño ligero, sueño profundo y REM, Dreaming hace que la pipeline sea más explícita: consolidar primero, preservar después y derivar patrones de nivel superior al final.&lt;/p&gt;
&lt;p&gt;Otros han destacado el ángulo neurocientífico. Términos como Dreaming, Light Sleep, Deep Sleep y REM no son branding aleatorio. Toman prestados directamente modelos humanos de consolidación de memoria durante el sueño.&lt;/p&gt;
&lt;p&gt;OpenClaw ya usa archivos como &lt;code&gt;IDENTITY.md&lt;/code&gt;, &lt;code&gt;USER.md&lt;/code&gt; y &lt;code&gt;HEARTBEAT.md&lt;/code&gt; para preservar identidad, contexto de usuario y continuidad. &lt;code&gt;DREAMS.md&lt;/code&gt; completa la pieza que faltaba: decidir qué recuerdos realmente vale la pena conservar.&lt;/p&gt;
&lt;h2 id=&#34;04-la-parte-más-irónica-las-máquinas-sueñan-y-los-humanos-siguen-despiertos&#34;&gt;04 La parte más irónica: las máquinas sueñan y los humanos siguen despiertos
&lt;/h2&gt;&lt;p&gt;El valor de Dreaming no es que la AI lo recuerde todo. Es que aprende a revisar trazas de corto plazo, extraer patrones y descartar ruido. Un agente fuerte no debería comportarse como un dispositivo de almacenamiento tonto. Debería mejorar con el tiempo al entender preferencias del usuario, objetivos recurrentes y contexto de largo plazo.&lt;/p&gt;
&lt;p&gt;Desde una perspectiva de ingeniería, lo más interesante es que el sistema no se presenta como una caja negra mística. Es un proceso backend estructurado con etapas, umbrales, reflexión y reglas de olvido. Eso hace que la memoria de AI se sienta menos como inflación de contexto sin control y más como un sistema diseñado.&lt;/p&gt;
&lt;p&gt;Y eso también vuelve irónico todo el asunto. Estamos dedicando un esfuerzo enorme a enseñar a las máquinas a soñar, mientras muchas personas pierden el sueño por ser reemplazadas por esos mismos sistemas cada vez más capaces.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>¿Abandonar MCP? Por qué CLI se está convirtiendo en la capa de herramientas predeterminada para agentes</title>
        <link>https://knightli.com/es/2026/04/10/mcp-vs-cli-for-agents/</link>
        <pubDate>Fri, 10 Apr 2026 21:55:12 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/04/10/mcp-vs-cli-for-agents/</guid>
        <description>&lt;p&gt;Durante el último año, el debate sobre las cadenas de herramientas para agentes se ha concentrado cada vez más en una pregunta:&lt;/p&gt;
&lt;p&gt;¿MCP (Model Context Protocol) simplifica las llamadas a herramientas, o vuelve más complejas tareas que antes eran simples?&lt;/p&gt;
&lt;p&gt;Para la mayoría de tareas cotidianas de ingeniería, CLI se está convirtiendo en la opción predeterminada más práctica.&lt;/p&gt;
&lt;h2 id=&#34;la-diferencia-de-coste-no-es-un-problema-de-ux-sino-de-orden-de-magnitud&#34;&gt;La diferencia de coste no es un problema de UX, sino de orden de magnitud
&lt;/h2&gt;&lt;p&gt;La mayor presión práctica de MCP es el gasto de tokens.&lt;/p&gt;
&lt;p&gt;En escenarios comunes, MCP suele tener que cargar grandes esquemas de herramientas antes de ejecutar la tarea real. Tomando como ejemplo un GitHub MCP Server, solo la inicialización puede consumir decenas de miles de tokens. En tareas largas, esto reduce directamente el presupuesto de contexto.&lt;/p&gt;
&lt;p&gt;Las pruebas de la comunidad apuntan una y otra vez a la misma conclusión:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;una llamada MCP suele costar varias veces, o incluso decenas de veces, más que CLI&lt;/li&gt;
&lt;li&gt;la recuperación tras fallos también es más cara, porque hay que reconectar y recargar contexto&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Esto no es simplemente &amp;ldquo;un poco más lento&amp;rdquo;. Escala hasta convertirse en problemas de coste de API, latencia y estabilidad.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-los-modelos-son-naturalmente-mejores-usando-cli&#34;&gt;Por qué los modelos son naturalmente mejores usando CLI
&lt;/h2&gt;&lt;p&gt;Un hecho que se pasa por alto con frecuencia es la distribución de entrenamiento.&lt;/p&gt;
&lt;p&gt;Los LLM han visto enormes cantidades de texto de terminal durante el entrenamiento: comandos, salidas, errores, scripts y man pages. En otras palabras, la interacción por CLI ya está cerca del patrón de entrada nativo del modelo.&lt;/p&gt;
&lt;p&gt;En cambio, el estilo JSON-RPC y los tool schemas de MCP solo se popularizaron a gran escala en los últimos años. Los modelos pueden aprenderlo, por supuesto, pero la familiaridad y la eficiencia de compresión suelen ser peores que en patrones CLI con décadas de corpus histórico.&lt;/p&gt;
&lt;p&gt;Esto también explica por qué muchas veces:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;para el mismo objetivo, los comandos CLI son más cortos&lt;/li&gt;
&lt;li&gt;la salida es más fácil de usar para seguir razonando&lt;/li&gt;
&lt;li&gt;las rutas de recuperación de errores son más estables&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;seguridad-y-aislamiento-mcp-aún-tiene-tarea-pendiente&#34;&gt;Seguridad y aislamiento: MCP aún tiene tarea pendiente
&lt;/h2&gt;&lt;p&gt;MCP no es incapaz de ser seguro, pero su ecosistema todavía está en una etapa temprana.&lt;/p&gt;
&lt;p&gt;Las preocupaciones habituales incluyen:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Tool Poisoning en descripciones&lt;/li&gt;
&lt;li&gt;deriva de comportamiento del servicio, o Rug Pull&lt;/li&gt;
&lt;li&gt;sobrescritura por herramientas con el mismo nombre, o Shadowing&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;CLI también tiene riesgos de seguridad, como inyección, abuso de privilegios y riesgos de rutas. Pero su modelo de procesos, límites de permisos y cadena de auditoría han sido validados durante décadas de práctica de ingeniería. En producción, esa previsibilidad importa.&lt;/p&gt;
&lt;h2 id=&#34;esto-no-significa-que-mcp-no-tenga-valor&#34;&gt;Esto no significa que MCP no tenga valor
&lt;/h2&gt;&lt;p&gt;No creo que MCP deba abandonarse.&lt;/p&gt;
&lt;p&gt;Una posición más razonable es:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CLI se encarga de la capa de ejecución: local, baja latencia y llamadas frecuentes&lt;/li&gt;
&lt;li&gt;MCP se encarga de la capa de conexión: descubrimiento de servicios remotos, autenticación unificada, auditoría y multitenencia&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Es la arquitectura híbrida que suele resumirse como &lt;code&gt;CLI + MCP Gateway&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Cuando hay que integrar muchos sistemas remotos y aplicar gobierno de permisos y auditoría de cumplimiento, MCP sigue teniendo un valor claro. Pero para &amp;ldquo;ayudar a un Agent a completar tareas de desarrollo rápidamente&amp;rdquo;, CLI-first suele encajar mejor con los límites actuales de capacidad de los modelos.&lt;/p&gt;
&lt;p&gt;En la realidad de ingeniería actual, CLI se parece más al idioma de trabajo nativo de un Agent; MCP encaja mejor como protocolo de conexión que como único protocolo de ejecución.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>OpenClaw y Agent Harness: por qué parece AGI</title>
        <link>https://knightli.com/es/2026/04/10/openclaw-agent-architecture-enterprise-ai/</link>
        <pubDate>Fri, 10 Apr 2026 09:16:17 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/04/10/openclaw-agent-architecture-enterprise-ai/</guid>
        <description>&lt;p&gt;Mucha gente, al entrar en contacto por primera vez con OpenClaw, siente que &amp;ldquo;se parece más a un compañero que hace cosas que a un chatbot&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Esa sensación no es misteriosa. La clave está en que OpenClaw no es un salto de capacidad de un único modelo, sino un &lt;strong&gt;Agent Harness&lt;/strong&gt; completo.&lt;/p&gt;
&lt;h2 id=&#34;conclusión-primero&#34;&gt;Conclusión primero
&lt;/h2&gt;&lt;p&gt;La esencia de OpenClaw puede resumirse así:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;El modelo se encarga de entender y decidir&lt;/li&gt;
&lt;li&gt;El Harness se encarga de memoria, herramientas, disparadores, ejecución y salida&lt;/li&gt;
&lt;li&gt;Ambos colaboran mediante un bucle, generando la experiencia de &amp;ldquo;acción continua&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Por eso la razón central de que &amp;ldquo;parezca AGI&amp;rdquo; no es que el modelo se haya vuelto omnipotente de pronto, sino que la ingeniería del sistema amplifica la ejecutabilidad del modelo.&lt;/p&gt;
&lt;h2 id=&#34;qué-es-harness&#34;&gt;Qué es Harness
&lt;/h2&gt;&lt;p&gt;Puedes entender Harness como un &amp;ldquo;exoesqueleto&amp;rdquo; puesto sobre el modelo.&lt;/p&gt;
&lt;p&gt;Un LLM por sí solo normalmente solo puede dar una respuesta dentro de una solicitud. El Harness completa estas capacidades:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Gestión de sesión y estado: conecta tareas de varias rondas&lt;/li&gt;
&lt;li&gt;Mecanismo de memoria: guarda y recupera contexto según necesidad&lt;/li&gt;
&lt;li&gt;Sistema de herramientas: llama navegador, terminal, archivos y APIs externas&lt;/li&gt;
&lt;li&gt;Mecanismo de disparo: se despierta por temporizador o evento, sin tener que esperar siempre una pregunta humana&lt;/li&gt;
&lt;li&gt;Canal de salida: escribe resultados de vuelta al sistema, no solo devuelve un texto&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Cuando estas capacidades se integran en un mismo bucle, el modelo pasa de &amp;ldquo;respondedor&amp;rdquo; a &amp;ldquo;ejecutor&amp;rdquo;.&lt;/p&gt;
&lt;h2 id=&#34;por-qué-openclaw-parece-distinto&#34;&gt;Por qué OpenClaw parece distinto
&lt;/h2&gt;&lt;p&gt;El chatbot tradicional es &amp;ldquo;preguntas una vez, responde una vez&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;OpenClaw se parece más a &amp;ldquo;observa -&amp;gt; llama herramientas -&amp;gt; mira resultados -&amp;gt; decide de nuevo&amp;rdquo;. Una vez que el bucle se establece, muestra capacidad de avanzar tareas de forma continua.&lt;/p&gt;
&lt;p&gt;Esto también es lo más valioso para aprender de OpenClaw:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Demuestra que la experiencia Agent viene principalmente del diseño de arquitectura&lt;/li&gt;
&lt;li&gt;Divide la &amp;ldquo;autonomía&amp;rdquo; en módulos que pueden construirse con ingeniería&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;valor-y-límites&#34;&gt;Valor y límites
&lt;/h2&gt;&lt;p&gt;La ventaja de OpenClaw es ser general y flexible, pero el coste también es claro:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cuanto más contexto y definiciones de herramientas haya, mayor será el coste&lt;/li&gt;
&lt;li&gt;Cuanto más general sea el sistema, más complejos serán el debugging y la gobernanza&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;En escenarios de producción, muchos equipos elegirán Agent más pequeños y especializados, no un &amp;ldquo;agente todopoderoso&amp;rdquo;.&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Cronología completa del bloqueo de OpenClaw por Anthropic</title>
        <link>https://knightli.com/es/2026/04/08/anthropic-openclaw-timeline-2026-04/</link>
        <pubDate>Wed, 08 Apr 2026 19:48:42 +0800</pubDate>
        
        <guid>https://knightli.com/es/2026/04/08/anthropic-openclaw-timeline-2026-04/</guid>
        <description>&lt;h2 id=&#34;contexto-del-evento&#34;&gt;Contexto del evento
&lt;/h2&gt;&lt;p&gt;El 4 de abril de 2026, Anthropic anunció que dejaría de cubrir herramientas de terceros como OpenClaw mediante suscripciones de Claude.&lt;/p&gt;
&lt;p&gt;El impacto directo para los usuarios fue que los flujos de terceros que antes dependían de la ruta de suscripción para acceder a Claude tuvieron que cambiar a otros métodos de acceso o cambiar de modelo.&lt;/p&gt;
&lt;h2 id=&#34;cronología-enero-a-abril-de-2026&#34;&gt;Cronología (enero a abril de 2026)
&lt;/h2&gt;&lt;h3 id=&#34;enero-de-2026&#34;&gt;Enero de 2026
&lt;/h3&gt;&lt;p&gt;Según reportes públicos, Anthropic pidió al proyecto entonces llamado Clawdbot que ajustara su nombre, con el argumento de que su pronunciación era cercana a Claude.&lt;/p&gt;
&lt;p&gt;En la misma etapa, la comunidad empezó a reportar límites en llamadas de terceros usando credenciales de suscripción.&lt;/p&gt;
&lt;h3 id=&#34;febrero-de-2026&#34;&gt;Febrero de 2026
&lt;/h3&gt;&lt;p&gt;Las restricciones relacionadas se incorporaron a los términos de servicio, aclarando más el límite entre suscripción y llamadas automatizadas de terceros.&lt;/p&gt;
&lt;p&gt;Ese mismo mes, OpenClaw lanzó v4.0 y cambió su arquitectura interna a backends de modelo enchufables. Es decir, el modelo dejó de ser una única entrada fija y pasó a poder alternar entre varios proveedores.&lt;/p&gt;
&lt;h3 id=&#34;marzo-de-2026&#34;&gt;Marzo de 2026
&lt;/h3&gt;&lt;p&gt;Anthropic lanzó Claude Dispatch y Computer Use, cubriendo capacidades como ejecución de tareas remotas y operación de escritorio.&lt;/p&gt;
&lt;p&gt;OpenClaw siguió avanzando en su capa de compatibilidad en actualizaciones posteriores, unificando diferencias entre modelos en autenticación, formato de tool calling y estructura de respuesta para reducir el coste de migración al cambiar de modelo.&lt;/p&gt;
&lt;p&gt;Los reportes públicos también mencionaron que el equipo de OpenClaw y Anthropic se comunicaron a finales de marzo, pero la dirección estratégica final no cambió.&lt;/p&gt;
&lt;h3 id=&#34;4-de-abril-de-2026&#34;&gt;4 de abril de 2026
&lt;/h3&gt;&lt;p&gt;Anthropic ejecutó formalmente el corte de cobertura de suscripción para herramientas de terceros.&lt;/p&gt;
&lt;p&gt;Esto marcó que los ajustes estratégicos de los meses anteriores entraron en fase de ejecución.&lt;/p&gt;
&lt;h3 id=&#34;5-de-abril-de-2026&#34;&gt;5 de abril de 2026
&lt;/h3&gt;&lt;p&gt;OpenClaw lanzó v4.5, con acciones principales como:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ajustar la prioridad de entradas de modelo en el flujo de onboarding&lt;/li&gt;
&lt;li&gt;Integrar rutas alternativas como GPT-5.4&lt;/li&gt;
&lt;li&gt;Continuar adaptando flujos de tarea y experiencia interactiva&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Por la fecha de lanzamiento, la capacidad de cambio de OpenClaw no fue construida totalmente de emergencia, sino sobre la base de la reforma multi-modelo iniciada desde febrero.&lt;/p&gt;
&lt;h2 id=&#34;dos-direcciones-paralelas-durante-el-proceso&#34;&gt;Dos direcciones paralelas durante el proceso
&lt;/h2&gt;&lt;p&gt;Según la cronología, ambas partes avanzaron en direcciones distintas durante el mismo periodo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Anthropic: estrechar los límites de suscripción e impulsar la integración de capacidades en productos oficiales&lt;/li&gt;
&lt;li&gt;OpenClaw: reforzar la sustituibilidad de modelos y mejorar compatibilidad entre modelos&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Estas dos rutas no son contradictorias, pero compiten en la &amp;ldquo;propiedad de la entrada&amp;rdquo; y en dónde se acumula el flujo de trabajo del usuario.&lt;/p&gt;
&lt;h2 id=&#34;estado-actual-hasta-abril-de-2026&#34;&gt;Estado actual (hasta abril de 2026)
&lt;/h2&gt;&lt;p&gt;Con base en la información pública, se pueden confirmar estos hechos:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;El corte de cobertura de suscripción ya se ejecutó&lt;/li&gt;
&lt;li&gt;OpenClaw completó el cambio principal de rutas de modelo y mantiene iteración de versiones&lt;/li&gt;
&lt;li&gt;Que el usuario perciba cambios claros depende de cuánto dependiera su flujo anterior de una sola capacidad de modelo&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;puntos-de-observación-posteriores&#34;&gt;Puntos de observación posteriores
&lt;/h2&gt;&lt;p&gt;Lo que más merece seguimiento ahora no es el evento puntual en sí, sino tres cosas:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Si los límites entre suscripciones y llamadas API seguirán refinándose&lt;/li&gt;
&lt;li&gt;El rendimiento de largo plazo de Agent multi-modelo en estabilidad, coste y experiencia&lt;/li&gt;
&lt;li&gt;Si el flujo de trabajo del usuario terminará acumulándose en la capa de modelo, en la capa de herramienta o en una capa híbrida entre ambas&lt;/li&gt;
&lt;/ol&gt;
</description>
        </item>
        
    </channel>
</rss>
