Prefacio
Para Quién es Este Libro
Eres un ingeniero de software escéptico del bombo publicitario de la IA.
Has visto las demostraciones. Has probado los frameworks. Has visto cómo tu aplicación de LangChain alucina hasta borrar una base de datos en producción. Y piensas: “Tiene que haber una mejor manera.”
La hay. Este libro es para desarrolladores que quieren entender qué está sucediendo realmente cuando se ejecuta un agente de IA. No los diagramas de marketing. No las abstracciones del “Motor de Razonamiento”. Las peticiones HTTP reales. El while loop real.
Si puedes leer Python y has construido una aplicación web o una herramienta de CLI antes, tienes todo lo que necesitas.
Lo Que Vas a Construir
Nanocode es un agente de programación que se ejecuta en tu terminal. Al final de este libro, podrá:
- Leer y escribir archivos en tu base de código
- Ejecutar comandos de shell
- Buscar código usando Python puro
- Recordar contexto entre sesiones
- Solicitar permiso antes de operaciones peligrosas
- Buscar en la web documentación y respuestas
Lo construirás desde cero usando solo requests, subprocess y pytest. Sin LangChain. Sin bases de datos vectoriales. Sin “frameworks de orquestación”. Solo Python que puedes depurar con print().
La única excepción: El Capítulo 11 añade ddgs para búsqueda web—una única dependencia ligera.
Enfoque de Pruebas
Este libro utiliza un enfoque de “pruebas en paralelo”. Para cada funcionalidad:
- Introducimos el concepto—por qué lo necesitamos
- Mostramos la prueba primero, para que sepas cómo se ve el éxito
- Implementamos el código para hacer que la prueba pase
- Verificamos con pytest
Esto enseña el pensamiento del Desarrollo Guiado por Pruebas sin toda la ceremonia de rojo-verde-refactorizar en formato impreso. También resuelve un problema crítico: no puedes probar una aplicación basada en LLM llamando realmente al LLM. Las llamadas a la API son lentas, costosas y no deterministas.
A partir del Capítulo 3, introducimos el patrón FakeBrain—un doble de prueba que devuelve respuestas predecibles. Esto te permite ejecutar toda tu suite de pruebas sin hacer una sola llamada a la API ni gastar un solo centavo.
Ejemplos de Código
Este libro sigue un enfoque de “Código Primero”. Cada capítulo se construye sobre el anterior, y cada ejemplo de código se extrae de archivos funcionales.
Para obtener el código:
- GitHub: Clona o descarga desde GitHub.1
- Leanpub: El código fuente completo también está incluido en los recursos descargables con tu compra.
El código está organizado por capítulos (ch01/, ch02/, etc.). Cada carpeta contiene:
nanocode.py— El agente completo y ejecutable para ese capítulotest_nanocode.py— Pruebas que verifican que el código funciona sin llamadas a la API
Puedes copiar cualquier carpeta de capítulo y comenzar desde allí. Ejecuta pytest para verificar que tu código coincide con el comportamiento esperado.
Convenciones Utilizadas en Este Libro
A lo largo del libro, verás tres tipos de notas especiales:
![]() |
Advertencia: Riesgos de seguridad o protección. Presta atención a estos—ignorarlos puede llevar a archivos eliminados o claves API filtradas. |
![]() |
Nota al Margen: Análisis en profundidad y digresiones. Contexto útil, pero puedes saltártelos en una primera lectura sin perder el hilo. |
Los análisis de código siguen un patrón consistente: primero el contexto (por qué necesitamos este código), luego el código en sí, y después una explicación línea por línea de las partes importantes.
Es hora de escribir código.
https://github.com/owenthereal/build-your-own-coding-agent↩︎

