0Pricing
AI Agents · Aula

Estratégia de decomposição em subperguntas

Para perguntas complexas com várias etapas, divida-as em subperguntas, responda a cada uma e depois sintetize uma resposta final.

Estratégia de decomposição em subperguntas é uma aula grátis de AI Agents no CoddyKit. Esta é a aula 4 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 Agents, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de AI Agents inclui 4 aulas no total.

Quando uma única etapa falha

Algumas perguntas exigem várias consultas:

"Compare a receita da Apple em 2022 com a da Microsoft em 2023."

Uma única pesquisa por similaridade não recuperará os dois fatos; você precisará de DUAS subconsultas.

Decomposição em subperguntas

O SubQuestionQueryEngine do LlamaIndex divide uma pergunta em subperguntas, responde a cada uma e depois sintetiza os resultados:

from llama_index.core.query_engine import SubQuestionQueryEngine
from llama_index.core.tools import QueryEngineTool, ToolMetadata

query_engine_tools = [
    QueryEngineTool(
        query_engine=apple_index.as_query_engine(),
        metadata=ToolMetadata(name='apple', description='Financial data for Apple Inc.')
    ),
    QueryEngineTool(
        query_engine=msft_index.as_query_engine(),
        metadata=ToolMetadata(name='microsoft', description='Financial data for Microsoft Corp.')
    )
]

engine = SubQuestionQueryEngine.from_defaults(query_engine_tools=query_engine_tools)
response = engine.query('Compare 2022 revenue of Apple vs 2023 revenue of Microsoft')

Como funciona

  1. O LLM analisa a pergunta
  2. O LLM gera subperguntas e atribui cada uma a uma ferramenta
  3. Cada subpergunta é executada em paralelo
  4. O LLM sintetiza uma resposta final a partir das respostas das subperguntas

Visibilidade das subperguntas

Você pode ver as subperguntas geradas pelo mecanismo:

response = engine.query('Compare X and Y')
for sq in response.metadata.get('sub_qa', []):
    print(sq.sub_q.sub_question, '->', sq.answer)

Quando usar subperguntas

  • Consultas de comparação (X versus Y)
  • Agregação de várias fontes
  • Perguntas com vários fatos distintos

Quando NÃO usar

  • Perguntas e respostas simples — acrescenta latência e custo
  • Contexto de um único documento
  • Tarefas sem benefício de decomposição

Roteamento com LLM

O mecanismo de subperguntas combina-se com RouterQueryEngine para decidir primeiro qual coleção de índices deve ser consultada:

from llama_index.core.query_engine import RouterQueryEngine

router = RouterQueryEngine.from_defaults(query_engine_tools=query_engine_tools)
# Routes 'apple revenue' to apple index, 'msft margins' to msft, etc.

Subperguntas para agentes de programação

Para agentes que escrevem código, uma subpergunta é uma forma de planejar as etapas:

"Criar uma API REST" -> subpergunta: projetar modelos, subpergunta: escrever manipuladores CRUD, subpergunta: adicionar autenticação.

Implicações de custo

As subperguntas geram N subconsultas em vez de 1. Cada uma é uma chamada ao LLM mais uma recuperação. Planeje o orçamento adequadamente — o custo é 3 a 4 vezes maior que o de uma única etapa.

Comparação com ReAct

As subperguntas representam planejamento antecipado. ReAct (no próximo curso) trabalha passo a passo. Para consultas cuja decomposição é conhecida, as subperguntas são mais rápidas; para tarefas exploratórias, ReAct se adapta melhor.

Combinado: ReAct + ferramentas de subperguntas

A opção mais flexível: um agente ReAct no qual os mecanismos de subperguntas são ferramentas — cada "chamada de ferramenta" pode, por sua vez, decompor-se em várias subconsultas.

Avaliação da qualidade das subperguntas

Acompanhe se o LLM gera subperguntas sensatas. Uma decomposição ruim é difícil de depurar sem inspecionar os rastreamentos.

Caso de uso da decomposição

Para que tipo de pergunta a decomposição em subperguntas é mais útil?

Recapitulação

A decomposição em subperguntas transforma uma consulta complexa em várias consultas simples — com custo maior, mas precisão muito superior em perguntas de comparação e de várias fontes.

Perguntas Frequentes

A aula “Estratégia de decomposição em subperguntas” é grátis?

Sim — o texto completo de “Estratégia de decomposição em subperguntas” é 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 Agents, atualize para CoddyKit PRO. O curso de AI Agents inclui 4 aulas no total.

O que vou aprender em “Estratégia de decomposição em subperguntas”?

Para perguntas complexas com várias etapas, divida-as em subperguntas, responda a cada uma e depois sintetize uma resposta final. Você pratica AI Agents 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 Agents?

Nenhuma experiência prévia é necessária. AI Agents 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 4 de 4.

Quanto tempo leva a aula “Estratégia de decomposição em subperguntas”?

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 Agents?

Sim. Cada aula de AI Agents 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

  1. Carregadores e analisadores de documentos
  2. A hierarquia de índices: vetorial, em árvore, por palavras-chave
  3. Mecanismos de consulta e síntese de respostas
  4. Estratégia de decomposição em subperguntas
← Voltar para AI Agents