Coding con IA · 2025

Tu nuevo
compañero
de código

Agentes de IA para desarrolladores que
quieren trabajar más listos, no más duro.

Cursor Copilot Antigravity Claude Code OpenCode
Alejandro de la Fuente

Alejandro de la Fuente

Technical Leader · NTT Data · GDE

El panorama

¿Qué herramientas
tenemos disponibles?

No todas son iguales. Cada una tiene su filosofía.

🐙
GitHub Copilot IDE Plugin
Microsoft

El pionero. Autocompletado + chat. Integrado en VS Code, JetBrains.

Key feature: Completions
Cursor IDE Propio
Popular

Fork de VS Code con agente nativo. Composer para cambios multi-archivo.

Key feature: Multi-file edits
🚀
Antigravity IDE Propio
Google

IDE de Google con Gemini integrado. Surge de la adquisición de Windsurf.

Key feature: Gemini nativo
🤖
Claude Code CLI / Terminal
Anthropic

CLI oficial de Anthropic. Agente autónomo con acceso a ficheros, terminal y git.

Key feature: Autonomía total
💻
Codex CLI / Terminal
OpenAI

CLI de OpenAI. Open source, construido en Rust. Similar a Claude Code.

Key feature: Open Source
Bajo el capó

¿Cómo funcionan
por dentro?

El bucle del agente

1
Leer Tu instrucción + contexto del proyecto
2
Razonar ¿Qué herramientas necesito para esto?
3
Actuar Llama a tools: leer archivo, buscar, editar…
4
Observar Recibe el resultado de la tool call
↺ vuelve al 2 si necesita más pasos
🧠

Context Window

Es la memoria de trabajo del agente. Todo lo que "ve": tu instrucción, el código, el historial, los resultados de tools. Finita y preciosa.

🔧

Tool Calling

El agente puede llamar funciones reales: leer archivos, ejecutar comandos, buscar en la web, llamar a APIs. No solo genera texto.

📋

System Prompt

Las instrucciones permanentes que definen quién es el agente, qué puede hacer y cómo debe comportarse. La base de todo.

El cerebro del agente

¿Qué es el System Prompt?

No es magia. Es la constitución del agente.

📜

Definición

Es un bloque de texto que se pasa al LLM antes que cualquier mensaje del usuario. Define la personalidad, las capacidades, las restricciones y el contexto del agente.

🏗️ Analogía

El System Prompt es como los planos de un edificio. No es el edificio en sí, pero define exactamente qué puede ser construido y cómo. Sin planos sólidos, el edificio puede ser cualquier cosa... y eso es peligroso.

system-prompt.md
# Quién eres
Eres un agente de codificación experto en
TypeScript y arquitectura limpia.

# Tu misión
Ayudar al desarrollador a escribir código
de producción siguiendo Clean Architecture.

# Tus herramientas disponibles
- read_file: Leer archivos del proyecto
- write_file: Crear o modificar archivos
- run_command: Ejecutar comandos en terminal
- web_search: Buscar documentación

# Restricciones importantes
- NUNCA elimines archivos sin confirmar
- SIEMPRE escribe tests para código nuevo
- Pregunta si no entiendes el contexto
El System Prompt consume tokens de contexto en cada petición
🎯 Cuanto más específico, menos alucinaciones
🔒 Es la primera línea de defensa contra comportamientos no deseados
Orquestación

Agentes y Sub-agentes

Divide y vencerás. Pero con criterio.

🎯
Orquestador Recibe la tarea principal, la descompone y delega
📁 File Agent Leer / escribir código
🧪 Test Agent Generar y ejecutar tests
🔍 Review Agent Code review + feedback
↓ resultados consolidados ↓
Respuesta final al desarrollador

¿Cuándo usar sub-agentes?

  • La tarea es compleja y tiene partes independientes
  • Necesitas paralelismo real (varios archivos a la vez)
  • Quieres aislar responsabilidades y reducir errores
  • NO para tareas simples. Añade overhead y complejidad innecesaria
💡 Ejemplo real en Claude Code
// Claude Code lanza sub-agentes para:
1. Explorar el codebase (explore agent)
2. Planificar cambios (plan agent)
3. Implementar en paralelo (build agents)
4. Verificar resultados (verify agent)
⚠️

Ojo con el contexto: Cada sub-agente tiene su propia ventana de contexto. El orquestador debe pasar exactamente la información que necesita cada uno. Ni más, ni menos.

El enemigo número uno

¿Qué son las alucinaciones?

🧠

Definición técnica

Un LLM genera texto estadísticamente probable basado en su entrenamiento. Cuando no tiene información suficiente, inventa respuestas que suenan correctas pero son falsas. No sabe que está mintiendo.

🏗️ Analogía

Es como un arquitecto que, cuando no conoce una normativa concreta, inventa una normativa plausible en lugar de decir "no lo sé". El edificio parece bien diseñado hasta que aparece el inspector.

~30% de errores en código generado son alucinaciones
aumentan con tareas largas y sin contexto claro

Ejemplos reales en código

📦 Paquetes que no existen
El agente genera: import { superTool } from "nonexistent-lib"
💥 El agente inventa una API que nunca existió
📋 APIs incorrectas
El agente genera: react.useState(0)
💥 Mezcla sintaxis de versiones distintas o APIs deprecadas
📁 Archivos que no existen
El agente genera: import config from "./config/db.ts"
💥 El agente asume una estructura de proyecto que no es la real
💡

El modelo no tiene acceso al estado real de tu proyecto. Sin contexto, adivina. Y adivina bien... para las estadísticas. Mal para ti.

Control y prevención

Cómo evitar las alucinaciones

No es suerte. Es técnica y disciplina.

📄

Contexto explícito

Da al agente la información que necesita. No asumas que "sabe" tu proyecto.

Ejemplo: Incluye package.json, estructura de carpetas, versiones exactas.
🎯

Instrucciones específicas

Sé preciso en el System Prompt. Ambigüedad = alucinaciones.

Ejemplo: "Usa React 19 con TypeScript strict. Sin any. Sin as."
🔍

Pide verificación

Instrucción explícita: "Si no estás seguro de algo, pregunta antes de inventar."

Ejemplo: En el system prompt: NEVER guess. Ask when uncertain.

Revisa y verifica

El código generado no es tu código hasta que lo entiendes y compruebas.

Ejemplo: Corre los tests, lee lo que generó, no solo copiar-pegar ciegamente.
🔄

Contexto fresco

Las conversaciones largas degradan la calidad. Restablece el contexto.

Ejemplo: Empieza nuevas sesiones para tareas distintas. Mantén el foco.
📋

CLAUDE.md / .cursorrules

Archivos de contexto permanente del proyecto que el agente lee automáticamente.

Ejemplo: Define arquitectura, convenciones, dependencias y reglas del proyecto.
Craftmanship

Buenas prácticas

El agente es tan bueno como el desarrollador que lo dirige.

Hazlo

Usa el agente para tareas repetitivas: boilerplate, tests, documentación
Dale contexto de arquitectura. El agente no adivina tu estilo
Revisa SIEMPRE el código generado. Tú eres el responsable
Haz preguntas de alto nivel, deja los detalles al agente
Usa .cursorrules / CLAUDE.md para codificar las reglas del proyecto
Itera en conversaciones cortas y enfocadas

Evita esto

No confíes ciegamente en código sin tests
No des tareas enormes en un solo prompt
No le pidas que tome decisiones de arquitectura sin contexto
No copies APIs o paquetes que el agente "inventa"
No uses el agente como sustituto de entender el problema
No dejes sesiones largas sin resetear el contexto
🤖

El agente es Jarvis. Tú eres Tony Stark. Jarvis no construye el traje solo. Tú diriges, él ejecuta. Invierte el rol y el resultado será una catástrofe.

El arte de la información

Gestión de contexto

Lo que el agente no sabe, lo inventa.

¿Qué hay en el contexto?

📋 System Prompt ~2k tokens
💬 Historial de conversación variable
📁 Archivos leídos (tool calls) ~grandes
🔧 Resultados de herramientas variable
🚫 Límite de contexto 200k tokens
💡

Cuanto más largo el contexto, más cara la petición y más probabilidad de que el modelo "olvide" lo que dijiste al principio. Mantén el foco.

Archivos de contexto por herramienta

CLAUDE.md Claude Code

Arquitectura del proyecto, reglas de estilo, comandos de build y test, contexto del dominio.

.cursorrules Cursor

Instrucciones de código, frameworks a usar, patrones prohibidos, convenciones del equipo.

copilot-instructions.md GitHub Copilot

En .github/. Personaliza el comportamiento de Copilot Chat para tu repositorio.

Pro tip

Empieza siempre con un CLAUDE.md o .cursorrules básico. Documenta ahí la arquitectura, los patrones que usas y los que NUNCA debes usar. El agente lo leerá en cada conversación.

Hands on

Flujo de trabajo real

Así se trabaja con Claude Code en el día a día.

Los 4 pasos que siempre uso

01
📋 CLAUDE.md

Definimos el contexto del proyecto: arquitectura, stack, reglas.

02
💬 Prompt claro

Instrucción específica con scope definido y criterio de éxito.

03
🔄 Agente trabaja

Lee archivos, razona, hace tool calls, genera el código.

04
🔍 Revisión crítica

Verificamos, corremos tests, iteramos si es necesario.

Pipeline de trabajo

🔭
Explorar "Analiza la estructura del proyecto"
📐
Planificar "Qué cambios necesitamos y por qué"
Implementar "Genera el código siguiendo la arquitectura"
Verificar "Corre los tests y valida"
claude-code
$claude
✓ Claude Code iniciado
✓ Leyendo CLAUDE.md...
Refactoriza el servicio de usuarios siguiendo Clean Architecture
⟳ Analizando estructura del proyecto...
⟳ Leyendo src/users/... (3 archivos)
⟳ Generando casos de uso...
✓ Completado: 4 archivos modificados, tests incluidos
⚠️

Esta presentación ha sido creada en tiempo real usando Claude Code. Lo que ves es el producto del flujo que acabas de aprender.

El futuro del desarrollo
ya está aquí.
¿Estás preparado?

Para llevarte a casa

01 El agente es Jarvis, tú eres Tony Stark. Dirige.
02 Sin System Prompt sólido, sin resultados predecibles.
03 Contexto es poder. Dale al agente lo que necesita.
04 Revisa siempre. El código no es tuyo hasta que lo entiendes.
05 Las alucinaciones se previenen, no se aceptan.
💬

"La IA no te va a sustituir.
Te va a sustituir alguien que sabe usar la IA mejor que tú."

Hecho con ❤️ por Código Sin Siesta
1 / 11
Navegación