Cómo Construir Tu Primer Agente de IA en 15 Minutos
No necesitas un framework, un curso ni un doctorado. Necesitas Node.js, el SDK de Anthropic y 25 líneas de TypeScript. Este tutorial construye un agente real y funcional — un resumidor de contenido estructurado que puedes desplegar en Cloudflare en la misma sesión. El único requisito previo es una clave de API gratuita.
Cada miércoles. 28.400+ operadores. Sin relleno.
✓ Revisa tu bandeja — haz clic en el enlace de confirmación para completar el registro.
✓ ¡Ya estás suscrito!
✓ Ya estás en la lista.
Tabla de contenidos
Actualizado junio 2026.
TL;DR: No necesitas un framework, un curso ni un doctorado. Necesitas Node.js, el SDK de Anthropic y 25 líneas de TypeScript. Este tutorial construye un agente real y funcional — un resumidor de contenido estructurado que puedes desplegar en Cloudflare en la misma sesión. El único requisito previo es una clave de API gratuita.
[Lectura del operador] Lo que más escucho de fundadores que quieren automatizar con IA es “primero necesito aprender más”. No es cierto. El patrón de agente es simple, y la forma más rápida de entenderlo es construir uno. Aquí está el camino exacto que tomaría si empezara desde cero hoy.
Por qué la mayoría de los tutoriales de “construye un agente de IA” te fallan
O bien usan Python (bien para ingenieros de ML, fricción para todos los demás), esconden el código real detrás de un framework como LangChain, o construyen algo demasiado abstracto para conectarlo con tu trabajo real.
Este tutorial hace tres cosas de forma diferente:
- Solo TypeScript — si alguna vez has escrito JavaScript, puedes seguir esto
- Sin framework — verás cada línea de código que toca el modelo
- Un resultado útil — construirás un resumidor estructurado que realmente puedes usar en correos de clientes, reseñas o notas de reuniones
Qué vas a construir
Un agente resumidor de contenido: pega cualquier bloque de texto y recibe de vuelta un resumen estructurado en un formato consistente. Una petición HTTP de entrada, un resumen limpio de salida.
Por qué este como primer proyecto: el patrón — prompt de sistema + entrada de usuario → salida estructurada — es la base de cada agente que ejecuto. Cambia el prompt de sistema y tienes un respondedor de preguntas, un reescritor de tono, un clasificador o un generador de borradores. Aprende esto una vez y habrás aprendido el 80% de lo que los agentes en producción realmente hacen.
Requisitos previos (2 minutos)
- Node.js 18+ — verifica con
node --version. Instálalo desde nodejs.org si lo necesitas. - Una clave de API de Anthropic — regístrate en Claude, consigue una clave desde la consola. El plan gratuito funciona.
- Una terminal y un editor de texto.
Sin Docker. Sin entorno virtual. Sin pip install nada.
Paso 1: Crear el proyecto (2 minutos)
mkdir my-first-agent && cd my-first-agent
npm init -y
npm install @anthropic-ai/sdk
npm install -D tsx typescriptAñade un script a package.json para poder ejecutar el agente fácilmente:
{
"scripts": {
"agent": "tsx agent.ts"
}
}Paso 2: Escribir el agente (5 minutos)
Crea agent.ts y pega esto:
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
apiKey: process.env.ANTHROPIC_API_KEY,
});
const SYSTEM_PROMPT = `You are a precise content summarizer. When given any block of text, return a structured summary in this exact format:
**One-line summary:** <the core point in one sentence>
**Key points:**
- <point 1>
- <point 2>
- <point 3 if applicable>
**Action item (if any):** <one concrete next step, or "None">
Be specific. No filler. Under 150 words total.`;
async function summarize(text: string): Promise<string> {
const message = await client.messages.create({
model: "claude-haiku-4-5",
max_tokens: 512,
system: SYSTEM_PROMPT,
messages: [{ role: "user", content: text }],
});
const block = message.content[0];
if (block.type !== "text") throw new Error("Unexpected response type");
return block.text;
}
const sample = `
Hey team — following up on the Q2 review meeting.
We agreed to push the launch to July 15th instead of June 30th
due to the payment integration delay. Marketing needs the new
landing page copy by June 20th or we can't start the email campaign.
Budget for the launch campaign is confirmed at $8,000.
Please confirm receipt.
`;
const result = await summarize(sample);
console.log(result);Paso 3: Ejecutarlo (1 minuto)
ANTHROPIC_API_KEY=sk-ant-... npm run agentSalida esperada:
**One-line summary:** Launch pushed to July 15th due to payment delay; landing page copy needed by June 20th to unblock email campaign.
**Key points:**
- Launch date moved from June 30th to July 15th
- Landing page copy deadline: June 20th (blocks email campaign)
- Campaign budget confirmed at $8,000
**Action item (if any):** Confirm receipt and deliver landing page copy by June 20th.Eso es un agente de IA funcional. Entrada real, prompt de sistema personalizado, salida estructurada. Todo el asunto son 30 líneas de código.
Paso 4: Personalízalo para tu caso de uso
El prompt de sistema es lo único que hace que este agente sea tuyo. Aquí tienes tres alternativas listas para usar:
Clasificador de reseñas de clientes:
Classify this customer review as POSITIVE, NEGATIVE, or MIXED.
Then extract the main complaint or praise in one sentence.
Format: SENTIMENT: <label>
RESUME: <one sentence>Transcripción de reunión → tareas pendientes:
Extract all action items from this meeting transcript.
Format each as: [OWNER if mentioned] [ACTION] by [DEADLINE if mentioned]
If owner or deadline is not stated, leave those fields blank.
Return a numbered list. No preamble.Reescritor de tono para redes sociales:
Rewrite this text in a direct, confident, first-person tone for LinkedIn.
Remove hedging language ("I think", "maybe", "sort of").
Keep it under 200 words. Return only the rewritten text, no commentary.Cada uno de estos es el mismo agente de 30 líneas con un prompt de sistema diferente. No necesitas un proyecto nuevo para cada uno — solo actualiza SYSTEM_PROMPT y vuelve a ejecutarlo.
Paso 5: Desplegar a producción
Un script local es un prototipo. Un agente en producción se ejecuta según una programación o en respuesta a eventos. El camino que uso: Cloudflare Workers.
Los Workers son gratuitos hasta 100k peticiones/día, se despliegan en segundos y te dan disparadores cron, almacenamiento KV y colas sin gestionar ninguna infraestructura.
Instala Wrangler y genera la estructura de un Worker:
npm install -g wrangler
wrangler init my-agent-worker --template worker-typescript
cd my-agent-worker
npm install @anthropic-ai/sdkGuarda tu clave de API como un secreto (nunca en el código):
wrangler secret put ANTHROPIC_API_KEYReemplaza src/index.ts con:
import Anthropic from "@anthropic-ai/sdk";
export default {
async fetch(request: Request, env: Env): Promise<Response> {
const { text } = await request.json<{ text: string }>();
const client = new Anthropic({ apiKey: env.ANTHROPIC_API_KEY });
const message = await client.messages.create({
model: "claude-haiku-4-5",
max_tokens: 512,
system: YOUR_SYSTEM_PROMPT,
messages: [{ role: "user", content: text }],
});
const block = message.content[0];
if (block.type !== "text") return Response.json({ error: "Bad response" }, { status: 500 });
return Response.json({ summary: block.text });
},
};Despliega:
wrangler deployAhora tienes un endpoint de API en vivo en https://my-agent-worker.<your-subdomain>.workers.dev. Llámalo desde Zapier, un script de Google Sheets, una app móvil — desde cualquier lugar que pueda hacer una petición HTTP.
Qué construir a continuación
Una vez que tengas el patrón básico funcionando, la complejidad llega en tres sabores:
Uso de herramientas (tool use) — deja que el modelo decida cuándo llamar a APIs externas. En lugar de ejecutar siempre la misma lógica, el modelo elige qué herramienta invocar según la entrada. Así es como construyes agentes que buscan, escriben en bases de datos o envían notificaciones.
Encadenamiento (chaining) — pasa la salida de un agente como entrada de otro. Un clasificador enruta a un respondedor; un resumidor alimenta a un traductor. La mayoría de los agentes que ejecuto en producción son cadenas de dos o tres pasos, no llamadas individuales.
Disparadores cron — añade [triggers] crons = ["0 8 * * *"] a wrangler.toml y tu agente se ejecuta según una programación. Sin sondeo, sin servidor siempre encendido. Así es como funciona el pipeline de contenido que uso para operar este sitio.
Cubrí los tres patrones con código completo en TypeScript en El stack de agentes que uso para operar más de 30 agentes en producción — esa publicación continúa donde esta termina.
La conclusión del operador
La brecha entre “pensar en construir un agente” y “tener un agente desplegado” es de unos 15 minutos y 30 líneas de código. El prompt de sistema es el producto — invierte tu energía ahí, no en elegir un framework. Si el agente te ahorra una hora a la semana, eso son 50 horas al año. Construye primero la versión simple, comprueba si se gana su sustento, y luego añade complejidad solo cuando el caso de uso lo exija.
Cada miércoles. 28.400+ operadores. Sin relleno.
✓ Revisa tu bandeja — haz clic en el enlace de confirmación para completar el registro.
✓ ¡Ya estás suscrito!
✓ Ya estás en la lista.
Recibe el manual de IA en tu buzón
Cada miércoles. 28.400+ operadores. Sin relleno.
Revisa tu bandeja de entrada.
Te enviamos un correo de confirmación — haz clic en el enlace para completar tu suscripción. Revisa spam si no lo ves en un minuto.
Ya estás suscrito.
Bienvenido — la próxima edición llegará pronto a tu bandeja.
Ya estás en la lista — búscalo cada miércoles.