Tau: un agente de codificación en Python explicado capa a capa

Fuentes: Tau: an educational coding agent built layer by layer

Tau es un proyecto educativo de código abierto que implementa un agente de codificación en Python concebido para leerse como un libro de texto. Su objetivo no es solo ejecutar tareas, sino mostrar de forma transparente cómo funciona internamente un agente de IA: cómo se reciben los eventos del modelo, cómo se invocan herramientas, cómo se gestiona la sesión y cómo se construye una interfaz de terminal.

El proyecto se organiza en tres capas bien delimitadas. La primera contiene los adaptadores de proveedor, que traducen las respuestas de los modelos a eventos neutros que el resto del agente consume. La segunda es un núcleo reutilizable (harness) encargado de mensajes, herramientas, estado del transcript, cancelación, colas de prompts y gestión de sesiones. La tercera capa es el entorno de codificación propiamente dicho: archivos, shell, sesiones persistentes, skills, slash commands y una TUI basada en Textual.

Los autores subrayan la separación estricta entre el núcleo y la interfaz: el harness no depende del terminal, de rutas de archivos concretas ni del renderizado con Rich; esos elementos envuelven el núcleo, pero nunca viven dentro de él. Cada paquete tiene una sola responsabilidad, y el agente emite un flujo que se puede renderizar, probar y exportar, en lugar de un control de flujo oculto en callbacks.

Tau se distribuye como un agente de terminal plenamente funcional, no como una maqueta, y se construye por fases, cada una documentada con notas sobre qué se añadió, por qué y cómo encaja. Sirve como mapa de referencia para quien quiera construir su propio agente: empezar por los eventos, añadir un bucle, envolverlo en un harness y, finalmente, dotarlo de herramientas e interfaz de usuario. Las sesiones se almacenan en ~/.tau/sessions.