O que é encadeamento de solicitações?
O conceito de execução sequencial de solicitações e transferência de informações.
O que é encadeamento de solicitações? é uma aula grátis de AI Prompt Engineering no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de AI Prompt Engineering, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de AI Prompt Engineering inclui 4 aulas no total.
O Limite de uma Única Instrução
Uma única instrução pode fazer muita coisa, mas tem limites. Tarefas complexas que exigem várias subtarefas especializadas, contexto muito extenso ou refinamento iterativo frequentemente ultrapassam o que uma única instrução consegue fazer de forma confiável.
Sinais de que você atingiu o limite de uma única instrução:
- O modelo ignora etapas em uma tarefa com várias etapas
- A qualidade cai nas partes posteriores de uma tarefa longa
- A saída é longa demais para caber em uma única janela de contexto
- Diferentes partes da tarefa exigem conhecimentos especializados ou tons diferentes
O Que é o Encadeamento de Instruções
O encadeamento de instruções é uma execução sequencial em que a saída de cada instrução se torna a entrada da próxima. Em vez de uma única instrução grande tentar fazer tudo, você divide a tarefa em etapas especializadas.
Etapa 1 → saída → Etapa 2 → saída → Etapa 3 → resultado final
Cada etapa pode ser otimizada de forma independente, usar modelos diferentes ou aplicar restrições diferentes.
Um Exemplo Simples de Encadeamento
Considere escrever uma publicação de blog. Em vez de uma única instrução, encadeie três:
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])Quando o Encadeamento Ajuda: Complexidade da Tarefa
O encadeamento é excelente quando uma tarefa é complexa demais para ser tratada com alta qualidade por uma única instrução. Dividir a complexidade em etapas especializadas permite que cada etapa se destaque em sua função específica.
Exemplo: Analisando opiniões de clientes em grande escala
- Etapa 1: Extraia todos os problemas mencionados (extração)
- Etapa 2: Categorize cada problema (classificação)
- Etapa 3: Priorize por frequência e gravidade (classificação por prioridade)
- Etapa 4: Redija um resumo executivo (síntese)
Cada etapa usa uma instrução específica, otimizada para sua subtarefa.
Quando o Encadeamento Ajuda: Qualidade por Meio da Especialização
As instruções especializadas superam as instruções generalistas em suas subtarefas específicas. Uma cadeia permite usar o estilo de instrução adequado 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.')Quando o Encadeamento Ajuda: Limites da Janela de Contexto
Mesmo com janelas de contexto grandes (mais de 100 mil unidades), processar documentos muito longos de uma só vez reduz a qualidade devido ao efeito do perdido no meio. O encadeamento oferece uma solução:
- Etapa 1: Processe cada segmento de forma independente → produza um resumo ou uma extração para cada segmento
- Etapa 2: Combine as saídas dos segmentos → sintetize uma resposta final
Esse padrão de mapeamento e redução é uma estratégia fundamental de encadeamento para documentos longos.
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 finalCadeias Síncronas e Paralelas
As cadeias nem sempre são lineares. Algumas etapas podem ser executadas em paralelo quando são independentes:
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.')Cadeias e Agentes
As cadeias de instruções e os agentes de IA são relacionados, mas diferentes:
- Cadeias: Fluxo predefinido e determinístico. A sequência de etapas é fixa. Mais fáceis de testar, depurar e prever.
- Agentes: Fluxo dinâmico. O modelo decide a próxima etapa com base na saída. São mais flexíveis, mas mais difíceis de controlar e depurar.
Para a maioria dos casos de uso em produção, comece com cadeias. Use agentes apenas quando a tarefa for genuinamente aberta e a estrutura da cadeia não puder ser determinada antecipadamente.
Considerações de Custo em Cadeias
Cada etapa de uma cadeia é uma call de API separada, com seu próprio custo. Projete as cadeias considerando os custos:
- Use modelos mais baratos e menores para etapas simples (extração, classificação)
- Reserve modelos caros (GPT-4o, Claude Opus) para etapas que exigem alto nível de raciocínio
- Armazene os resultados intermediários em cache para evitar executar novamente etapas caras com entradas idênticas
- Falhe rapidamente — valide a saída de cada etapa antes de passá-la à próxima
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 synthesisDocumentando Sua Cadeia
Uma cadeia bem documentada é fácil de manter. Use uma estrutura simples para descrever cada etapa:
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.')Cadeia do Mundo Real: Análise da Concorrência
Uma cadeia prática de três etapas para análise da concorrência:
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 recommendationsVerificação Rápida
Qual cenário é mais adequado para o encadeamento de instruções em vez de uma única instrução?
Encadeamento de Instruções — Principais Conclusões
O encadeamento de instruções é a base dos sistemas de IA em produção:
- Execução sequencial em que cada saída alimenta a próxima instrução como entrada
- Permite a especialização — cada etapa usa uma instrução otimizada para sua subtarefa específica
- Resolve os limites da janela de contexto por meio de padrões de mapeamento e redução
- Etapas independentes podem ser executadas em paralelo para reduzir a latência
- É mais previsível e fácil de depurar do que sistemas totalmente baseados em agentes
- Otimize os custos usando modelos mais baratos para etapas simples e modelos caros para raciocínios complexos
- Sempre documente sua cadeia com identificadores de etapas, especificações de entrada e saída e atribuições de modelos
Aprenda AI Prompt Engineering com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 53
- Aulas
- 199
Perguntas Frequentes
A aula “O que é encadeamento de solicitações?” é grátis?
Sim — o texto completo de “O que é encadeamento de solicitações?” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de AI Prompt Engineering, atualize para CoddyKit PRO. O curso de AI Prompt Engineering inclui 4 aulas no total.
O que vou aprender em “O que é encadeamento de solicitações?”?
O conceito de execução sequencial de solicitações e transferência de informações. Você pratica AI Prompt Engineering com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar AI Prompt Engineering?
Nenhuma experiência prévia é necessária. AI Prompt Engineering no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “O que é encadeamento de solicitações?”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de AI Prompt Engineering?
Sim. Cada aula de AI Prompt Engineering inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- O que é encadeamento de solicitações?
- Padrões de resultado para entrada
- Cadeias de transformação sequencial
- Tratamento de erros em cadeias de solicitações