31 puntos por GN⁺ 29 일 전 | 1 comentarios | Compartir por WhatsApp
  • Proyecto no oficial que analiza visualmente la estructura completa y el funcionamiento interno de Claude Code, permitiendo explorar el bucle del agente y un sistema de más de 50 herramientas, desde el procesamiento de entrada hasta el renderizado de la respuesta
  • Está compuesto por 804 archivos, más de 220 mil líneas de código, más de 40 comandos y más de 22 herramientas, y sus hallazgos son el resultado de un análisis independiente sin relación con Anthropic
  • El bucle del agente está formado por un proceso de 11 etapas que incluye entrada, mensajes, sistema, API, llamadas a herramientas y renderizado, lo que permite seguir cómo Claude Code genera respuestas
  • A través del sistema de herramientas y el catálogo de comandos, clasifica funciones detalladas como trabajo con archivos, ejecución, búsqueda, planificación y administración del sistema, e incluye también múltiples funciones privadas y experimentales
  • Funciones ocultas como Buddy, Kairos, UltraPlan y Coordinator Mode permiten comportamientos ampliados como planificación a largo plazo, trabajo en paralelo, control remoto y sesiones persistentes

Estructura y funcionamiento interno de Claude Code

  • Proyecto que permite explorar visualmente todo el bucle del agente (agent loop) de Claude Code, desde el procesamiento de entrada hasta el renderizado de la respuesta, junto con más de 50 herramientas, orquestación multiagente y funciones privadas
  • Está compuesto por 804 archivos, más de 220 mil líneas de código, más de 40 comandos y más de 22 herramientas
  • Fue analizado con base en el código fuente publicado y es un proyecto no oficial sin relación con Anthropic
  • La fecha del análisis es 31 de marzo de 2026, con curaduría de zackautocracy junto con DeepWiki
  • Bucle del agente

    • Cuando el usuario ingresa un mensaje, Claude Code pasa por 11 etapas: entrada → mensaje → historial → sistema → API → tokens → herramientas → bucle → renderizado → hooks → espera
    • La entrada se procesa mediante el componente TextInput de Ink y, en modo no interactivo, usa la entrada estándar (stdin)
    • Cada etapa está organizada para permitir seguir con detalle cómo Claude Code recibe mensajes y genera respuestas
  • Explorador de arquitectura

    • Permite navegar haciendo clic por todo el árbol de código fuente, y sus componentes principales son los siguientes
      • Tools & Commands: herramientas y comandos integrados
      • Core Processing: lógica central de procesamiento
      • UI Layer: estructura de la interfaz de usuario
      • Infrastructure: infraestructura y entorno de ejecución
      • Support & Utilities: utilidades de apoyo
      • Personality & UX: elementos relacionados con la experiencia de usuario

Sistema de herramientas y comandos

  • Sistema de herramientas

    • Clasifica por función más de 22 herramientas integradas que Claude Code puede invocar
    • Trabajo con archivos

      • 6 herramientas como FileRead, FileEdit, FileWrite, Glob, Grep y NotebookEdit
    • Ejecución

      • 3 herramientas como Bash, PowerShell y REPL
    • Búsqueda y recuperación

      • 4 herramientas como WebBrowser🔒, WebFetch, WebSearch y ToolSearch
    • Agentes y tareas

      • 11 herramientas como Agent, SendMessage, TaskCreate, TaskList y TeamCreate
    • Planificación

      • 5 herramientas como EnterPlanMode, ExitPlanMode y VerifyPlanExecution🔒
    • Relacionado con MCP

      • 4 herramientas como ListMcpResources, ReadMcpResource y McpAuth
    • Sistema

      • 11 herramientas como AskUserQuestion, TodoWrite, Config, Workflow🔒 y TerminalCapture🔒
    • Funciones experimentales

      • 8 herramientas como Sleep, SendUserMessage, LSP🔒 y PushNotification🔒
  • Catálogo de comandos

    • Clasifica por función todos los comandos con slash disponibles en Claude Code
    • Ajustes y configuración

      • 12 comandos como /init, /login, /logout, /config, /permissions, /model y /theme
    • Flujo de trabajo diario

      • 24 comandos como /compact, /memory, /context, /plan, /resume, /files y /summary
    • Revisión de código y Git

      • 13 comandos como /review, /commit, /diff, /branch, /issue y /autofix-pr🔒
    • Depuración y diagnóstico

      • 23 comandos como /status, /stats, /usage, /think-back, /debug-tool-call y /heapdump
    • Funciones avanzadas y experimentales

      • 23 comandos como /advisor, /remote-control🔒, /teleport, /plugin, /web-setup, /help y /exit

Funciones ocultas

  • Incluye múltiples funciones privadas que existen en el código pero aún no han sido desplegadas
  • Buddy

    • Mascota virtual dentro de la terminal, cuya especie y rareza se determinan según el ID de la cuenta
  • Kairos

    • Modo persistente que permite integración de memoria entre sesiones y funcionamiento autónomo en segundo plano
  • UltraPlan

    • Sesión de planificación a largo plazo con hasta 30 minutos de ejecución en un modelo de nivel Opus
  • Coordinator Mode

    • Un agente líder divide el trabajo, crea workers en paralelo y recopila los resultados
  • Bridge

    • Función para controlar Claude Code de forma remota desde un teléfono o navegador
  • Daemon Mode

    • Ejecuta sesiones en segundo plano con la opción --bg, usando internamente tmux
  • UDS Inbox

    • Permite comunicación entre sesiones mediante sockets de dominio Unix
  • Auto-Dream

    • Entre sesiones, la IA repasa actividades previas y organiza lo aprendido

Información del proyecto

  • Es un proyecto de análisis no oficial, sin relación directa con Anthropic
  • Fue creado con base en el código fuente publicado de Claude Code, y parte del contenido podría ser inexacto o corresponder a versiones antiguas
  • El análisis se realizó a partir del código fuente publicado por @Fried_rice
  • Creado por zackautocracy con apoyo de curaduría por IA de DeepWiki

1 comentarios

 
GN⁺ 29 일 전
Opiniones en Hacker News
  • Una base de código de 500k líneas para un CLI de agentes muestra lo complejo que se vuelve ese infierno de manejo de estado cuando intentas controlar de forma determinista a un LLM probabilístico
    Funciona bien en plataformas simples, pero en repositorios empresariales grandes se rompe con facilidad
    Sin una máquina de estados externa, hay que asegurar la confiabilidad por fuerza bruta, así que el 90% del código termina siendo programación defensiva: regex, limpieza de contexto, bucles de reintento, rollback de estado y más, todo para evitar el drift del agente
    La visualización está muy buena, pero sigue sintiéndose más como empujar un montón de código que como gobernanza a nivel de sistema

    • Hay mucha discusión negativa sobre el código, pero es raro que casi no haya discusión sobre la arquitectura en sí
      La clave es que el lado cliente solo ofrece un conjunto simple de herramientas (read file, output rich text, etc.), diseñado para que el servidor pueda innovar rápido
      Creo que la salsa secreta está justo en esa estructura donde el equipo del servidor se pregunta: “¿qué tan creativamente podemos aprovechar esta API limitada?”
    • También hubo mucha investigación industrial intentando controlar a los humanos de forma determinista, y aun así eran grupos imposibles de controlar
    • De hecho, toda la economía ya está construida sobre tecnología así
      Si no puede cumplir sus promesas, no sería solo un tema de “el código es inestable”, sino un problema que podría sacudir todo el sistema financiero
    • Es difícil distinguir si este código es resultado de programación defensiva o de la complejidad inevitable de programar junto con IA
    • No estoy de acuerdo con eso de que “se rompe en repositorios de grandes empresas”
      En lugares como Meta, más bien son de los que mejor están aprovechando CC
  • Soy el autor. Hice este sitio de visualización apenas unas horas después de la filtración de Claude Code
    Ya usaba pi para construir mi propio agente de programación, y quería estudiar la estructura de Anthropic, como su sistema de herramientas y el bucle de agentes
    Como eran 500 mil líneas de código y era difícil explorarlas, hice un mapa visual para usarlo como referencia
    Sigo actualizando el sitio con base en el feedback, así que si ven algo faltante estaría bueno que me lo dijeran

    • Yo también conecto pi y cc con llama.cpp local y los corro en un entorno totalmente offline
      Comparé y analicé el diseño y la implementación de ambos sistemas, y me impresionó que el sitio del autor parece hecho también con pi
      Si fuera posible, me gustaría ver una visualización pi vs cc
    • El UX y la funcionalidad del sitio son excelentes. Me pregunto si hay planes de publicar el código fuente
    • El tono y el ritmo del texto están muy logrados
      Pero estaría bien agregar anotaciones o tooltips en la parte de “el formato de mensajes de Anthropic”, porque en la práctica también es el formato de OpenAI
    • Me gustaría saber más sobre la forma en que el autor configura sus agentes
  • Me pregunto si existe un arnés de agentes hecho sin IA
    Se supone que es una TUI sencilla que llama a un endpoint de modelo, así que 500 mil líneas suena exagerado

    • El LoC ya es una métrica de productividad sin sentido
      Puede ser por reutilización de código o por hacer librerías, o simplemente el resultado de la presión de tiempo típica de una startup
    • Recomiendo revisar pi coding agent
    • La TUI de CC no es una simple interfaz de texto, sino un renderizado basado en React
    • La calidad del código de Opencode me pareció bastante buena
    • El CLI de Claude Code es básicamente una conversión de navegador headless a texto, así que es muy incómodo de depurar
      Los problemas de conversión de ASCII → Unicode rompen pipes o parsers, y también dificultan copiar y pegar
      Se siente como si una función que debería ser simple hubiera terminado convertida en una máquina estilo Rube Goldberg
  • Surge la duda de: “¿500k líneas?, ¿no debería ser algo al nivel de un REPL simple?”

    • Los productos competidores tienen tamaños similares
      Opencode ronda las 670 mil, Codex 720 mil y Gemini 570 mil líneas, así que el tamaño de Claude Code no es anormal
    • Puede que la complejidad de los LLM haya generado un incentivo inconsciente a que las herramientas también sean complejas
    • En la práctica hay muchos arreglos improvisados (vibe fix), y falta un diseño consistente
      Aun así, algunas ideas de detalle, como el seguimiento del TTL de caché, me parecieron interesantes
    • Más que la crítica simplista de “está inflado porque es JS/Electron”, la postura es: léanlo ustedes mismos (RTFA)
    • También se discute cuántas líneas de código serían razonables para un programa así
  • Si esto hubiera pasado en 2020, habría sido imposible imaginar analizar código filtrado de esta forma tan visual

    • Algunos opinan que igual habría sido posible con las herramientas de análisis estático de esa época
    • Da curiosidad saber qué procedimiento usó realmente y cómo aprovechó la IA
  • Yo también hice un sitio parecido hace 11 horas, pero no recibió atención
    Aun así, da gusto ver otra implementación
    Mi intento está aquí

    • Hoy en día todos andan intentando cosas parecidas, así que quién recibe atención no significa gran cosa
  • Lo que sigue sorprendiendo es que hayan hecho un sitio tan bueno en solo dos días

    • Probablemente lo generaron con Claude Code
      Los sitios hechos por LLM a veces tienen muy buena apariencia, pero poca confiabilidad en el contenido
      Por ejemplo, nzoilwatch.com parece algo hecho por expertos, pero en realidad es un proyecto personal
      Si se revelara de forma explícita el uso de LLM, habría menos malentendidos
    • Claude puede generar un sitio web en cuestión de minutos si se le pide bien
    • Hablé con desarrolladores de herramientas de agentes grandes, y dicen que usan herramientas para crear herramientas
      Cuando comenté que mi UI era bastante floja, me dijeron que ellos aprovechan sus propias bibliotecas de componentes UI
      Así que yo mismo terminé creando una librería llamada substrateui.dev, y estoy disfrutando incluso el proceso de aprender UI mientras rehago el sistema de diseño con Claude Code
    • Alguien opinó que la legibilidad y la interacción de este sitio en realidad le resultaban incómodas
    • Y aun así, en HN dicen que los LLM bajan la productividad, lo cual es irónico
  • El código fuente filtrado se puede ver en el repositorio de Codeberg

  • Es interesante que Anthropic desarrolle su propio producto con sus propias herramientas
    Pero si es un proyecto de un año, ya debería estar en una etapa de estabilización

    • Un proyecto de un año con varios desarrolladores todavía puede tener muchísimos bugs
    • Posponer la deuda técnica puede ser una decisión racional
      Total, la idea sería que en el futuro los LLM se encarguen del mantenimiento, así que los humanos no tendrían por qué limpiar todo a mano
    • Boris Cherny mencionó directamente que “hacen CC con CC”
    • De hecho, si uno ve los tuits con los que presumen, se nota un uso de recursos excesivo, como que la API de la TUI requiere 68GB de RAM o que renderizar texto toma 16ms
  • Estaría bueno agregar este proyecto a Awesome Claude Code