¿Qué es el encadenamiento de prompts?
El concepto de ejecutar prompts secuencialmente y transferir información entre ellos.
¿Qué es el encadenamiento de prompts? es una lección gratuita de AI Prompt Engineering en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de AI Prompt Engineering, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de AI Prompt Engineering incluye 4 lecciones en total.
El límite de un solo prompt
Un solo prompt puede hacer muchas cosas, pero tiene límites. Las tareas complejas que requieren varias subtareas especializadas, un contexto muy largo o un refinamiento iterativo suelen superar lo que un solo prompt puede hacer de forma fiable.
Señales de que ha alcanzado el límite de un solo prompt:
- El modelo omite pasos en una tarea de varias etapas
- La calidad disminuye en las partes posteriores de una tarea larga
- La salida es demasiado larga para caber en una sola ventana de contexto
- Distintas partes de la tarea requieren diferentes conocimientos especializados o tonos
¿Qué es el encadenamiento de prompts?
El encadenamiento de prompts es una ejecución secuencial en la que la salida de cada prompt se convierte en la entrada del siguiente. En lugar de utilizar un prompt grande que intente hacerlo todo, se divide la tarea en pasos especializados.
Paso 1 → salida → Paso 2 → salida → Paso 3 → resultado final
Cada paso se puede optimizar de forma independiente, utilizar modelos diferentes o aplicar restricciones distintas.
Un ejemplo sencillo de encadenamiento
Considere la redacción de una publicación de blog. En lugar de utilizar un solo prompt, encadene tres:
import anthropic
client = anthropic.Anthropic(api_key='YOUR_API_KEY')
def call(prompt):
r = client.messages.create(
model='claude-opus-4-5',
max_tokens=1000,
messages=[{'role': 'user', 'content': prompt}]
)
return r.content[0].text
# Step 1: Generate outline
outline = call('Create a 5-point outline for a blog post about prompt engineering for beginners.')
# Step 2: Expand outline into draft
draft = call(f'Write a full blog post based on this outline:\n\n{outline}')
# Step 3: Edit for clarity
final = call(f'Edit this blog post for clarity and conciseness. Remove jargon:\n\n{draft}')
print(final[:500])Cuándo ayuda el encadenamiento: complejidad de la tarea
El encadenamiento resulta especialmente útil cuando una tarea es demasiado compleja para que un solo prompt la gestione con alta calidad. Dividir la complejidad en pasos especializados permite que cada paso se concentre en su función específica.
Ejemplo: analizar comentarios de clientes a gran escala
- Paso 1: Extraer todos los problemas mencionados (extracción)
- Paso 2: Clasificar cada problema (clasificación)
- Paso 3: Establecer prioridades según la frecuencia y la gravedad (clasificación por prioridad)
- Paso 4: Redactar un resumen ejecutivo (síntesis)
Cada paso utiliza un prompt específico optimizado para su subtarea.
Cuándo ayuda el encadenamiento: calidad mediante especialización
Los prompts especializados superan a los prompts generalistas en sus subtareas específicas. Una cadena permite utilizar el estilo de prompt adecuado para cada etapa:
# Each step uses a prompt optimized for its role
step1_prompt_template = '''
<task>Extract all named entities from the text below. Return JSON:
{"people": [], "companies": [], "locations": []}</task>
<text>{text}</text>
'''
step2_prompt_template = '''
<task>For each company in the list below, classify it as:
startup, enterprise, government, or nonprofit.
Return JSON: [{"company": str, "type": str}]</task>
<companies>{companies}</companies>
'''
# Each prompt is simpler, more focused, and easier to debug
# than a single prompt trying to do both tasks at once.
print('Specialized prompts per step.')Cuándo ayuda el encadenamiento: límites de la ventana de contexto
Incluso con ventanas de contexto grandes (más de 100K tokens), procesar documentos muy largos de una sola vez reduce la calidad debido al efecto lost-in-the-middle. El encadenamiento ofrece una solución:
- Paso 1: Procese cada fragmento de forma independiente → produzca un resumen o una extracción por fragmento
- Paso 2: Combine las salidas de los fragmentos → sintetice una respuesta final
Este patrón map-reduce es una estrategia fundamental para encadenar el procesamiento de documentos largos.
def map_reduce_summarize(document, chunk_size=3000):
chunks = [document[i:i+chunk_size] for i in range(0, len(document), chunk_size)]
# Map: summarize each chunk
summaries = []
for i, chunk in enumerate(chunks):
summary = call(f'Summarize this section of a document in 3 bullet points:\n\n{chunk}')
summaries.append(summary)
# Reduce: synthesize all summaries
combined = '\n\n'.join(f'Section {i+1}:\n{s}' for i, s in enumerate(summaries))
final = call(f'Combine these section summaries into a single executive summary:\n\n{combined}')
return finalCadenas síncronas y paralelas
Las cadenas no siempre son lineales. Algunos pasos pueden ejecutarse en paralelo cuando son independientes:
import concurrent.futures
def parallel_step(topics):
# Each topic can be researched in parallel — they do not depend on each other
def research_topic(topic):
return call(f'List 5 key facts about: {topic}')
with concurrent.futures.ThreadPoolExecutor() as executor:
results = list(executor.map(research_topic, topics))
# Then synthesize in a sequential step
combined = '\n\n'.join(f'{t}:\n{r}' for t, r in zip(topics, results))
synthesis = call(f'Write a comparative analysis of these topics:\n\n{combined}')
return synthesis
print('Parallel steps can reduce total latency.')Cadenas frente a agentes
Las cadenas de prompts y los agentes de IA están relacionados, pero son diferentes:
- Cadenas: flujo predeterminado y determinista. La secuencia de pasos es fija. Son más fáciles de probar, depurar y predecir.
- Agentes: flujo dinámico. El modelo decide el siguiente paso según la salida. Son más flexibles, pero más difíciles de controlar y depurar.
Para la mayoría de los casos de uso en producción, comience con cadenas. Utilice agentes solo cuando la tarea sea realmente abierta y no se pueda determinar de antemano la estructura de la cadena.
Consideraciones de costes en las cadenas
Cada paso de una cadena es una llamada independiente a la API con su propio coste. Diseñe las cadenas teniendo en cuenta los costes:
- Utilice modelos más económicos y pequeños para los pasos sencillos (extracción, clasificación)
- Reserve los modelos más costosos (GPT-4o, Claude Opus) para los pasos que requieran un razonamiento avanzado
- Almacene en caché los resultados intermedios para evitar repetir pasos costosos con entradas idénticas
- Detenga el proceso cuanto antes: valide la salida de cada paso antes de pasarla al siguiente
import anthropic
import functools
client = anthropic.Anthropic(api_key='YOUR_API_KEY')
@functools.lru_cache(maxsize=128)
def cached_call(prompt, model='claude-haiku-4-5'):
r = client.messages.create(
model=model,
max_tokens=500,
messages=[{'role': 'user', 'content': prompt}]
)
return r.content[0].text
# Cheap model for extraction, expensive for synthesis
def smart_chain(text):
entities = cached_call(f'Extract entities from: {text}', model='claude-haiku-4-5')
synthesis = cached_call(f'Analyze these entities: {entities}', model='claude-opus-4-5')
return synthesisDocumentar la cadena
Una cadena bien documentada es fácil de mantener. Utilice una estructura sencilla para describir cada paso:
chain_spec = {
'name': 'Blog Post Generator',
'steps': [
{
'id': 'step_1',
'name': 'Outline Generation',
'model': 'claude-haiku-4-5',
'input': 'topic (string)',
'output': 'outline (string, 5 bullet points)',
'prompt_template': 'outline_prompt.txt'
},
{
'id': 'step_2',
'name': 'Draft Writing',
'model': 'claude-opus-4-5',
'input': 'outline from step_1',
'output': 'draft (string, ~800 words)',
'prompt_template': 'draft_prompt.txt'
},
{
'id': 'step_3',
'name': 'Editorial Polish',
'model': 'claude-haiku-4-5',
'input': 'draft from step_2',
'output': 'final post (string)',
'prompt_template': 'polish_prompt.txt'
}
]
}
print('Chain documented with step specs.')Cadena práctica: análisis competitivo
Una cadena práctica de tres pasos para realizar un análisis competitivo:
def competitive_analysis_chain(competitor_list, product_description):
# Step 1: Research each competitor (parallel)
def research(competitor):
return call(f'List key features, pricing model, and target market for: {competitor}')
with concurrent.futures.ThreadPoolExecutor() as ex:
research_results = dict(zip(competitor_list, ex.map(research, competitor_list)))
# Step 2: Compare against our product
comparison_input = '\n\n'.join(f'{k}:\n{v}' for k, v in research_results.items())
comparison = call(f'Compare these competitors against our product:\nOur product: {product_description}\n\nCompetitors:\n{comparison_input}')
# Step 3: Strategic recommendations
recommendations = call(f'Based on this competitive analysis, provide 3 strategic recommendations:\n\n{comparison}')
return recommendationsComprobación rápida
¿Qué escenario es más adecuado para el encadenamiento de prompts que para un solo prompt?
Encadenamiento de prompts — conclusiones clave
El encadenamiento de prompts es la base de los sistemas de IA en producción:
- Ejecución secuencial en la que cada salida se convierte en la entrada del siguiente prompt
- Permite la especialización: cada paso utiliza un prompt optimizado para su subtarea específica
- Resuelve los límites de la ventana de contexto mediante patrones map-reduce
- Los pasos independientes pueden ejecutarse en paralelo para reducir la latencia
- Es más predecible y fácil de depurar que los sistemas totalmente agénticos
- Optimiza los costes mediante modelos más económicos para los pasos sencillos y modelos más costosos para el razonamiento complejo
- Documente siempre la cadena con identificadores de paso, especificaciones de entrada y salida, y asignaciones de modelos
Aprende AI Prompt Engineering con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 53
- Lecciones
- 199
Preguntas frecuentes
¿La lección «¿Qué es el encadenamiento de prompts?» es gratis?
Sí — el texto completo de «¿Qué es el encadenamiento de prompts?» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de AI Prompt Engineering, actualiza a CoddyKit PRO. El curso de AI Prompt Engineering incluye 4 lecciones en total.
¿Qué aprenderé en «¿Qué es el encadenamiento de prompts?»?
El concepto de ejecutar prompts secuencialmente y transferir información entre ellos. Practicas AI Prompt Engineering con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar AI Prompt Engineering?
No se requiere experiencia previa. AI Prompt Engineering en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «¿Qué es el encadenamiento de prompts?»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de AI Prompt Engineering?
Sí. Cada lección de AI Prompt Engineering incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- ¿Qué es el encadenamiento de prompts?
- Patrones de salida a entrada
- Cadenas de transformación secuencial
- Gestión de errores en cadenas de prompts