Questão de Engenharia de Software — Inteligencia Artificial — INSTITUTO AOCP 2025
Engenharia de Software›Inteligencia Artificial
Código
qg543497
Banca
INSTITUTO AOCP
Órgão
TRE-TO
Ano
2025
Nível
Superior
Cargo
Analista Judiciário - Área de Atividade: Apoio Especializado - Especialidade: Tecnologia da Informação
Dentro da Inteligência Artificial Generativa e dos Modelos LLM (Large Language Models), pode-se fazer o uso da biblioteca LangChain. Nessa biblioteca, qual classe formaliza a composição de prompts sem a necessidade de codificar manualmente o contexto e as consultas?
ALLaMa.
BPromptL1.
CPromptL2.
DWolfram.
EPromptTemplate.
Revelar gabarito e comentário▾
GabaritoE — PromptTemplate.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
LangChain e a composição de prompts em LLMs
Gabarito: letra E. Na biblioteca LangChain, a classe PromptTemplate é a responsável por formalizar a composição de prompts, permitindo criar modelos de texto reutilizáveis com variáveis que são preenchidas dinamicamente, sem que o desenvolvedor precise codificar manualmente a concatenação do contexto e das consultas. Essa é a função central da classe, que atua como um molde para as mensagens enviadas aos modelos de linguagem.
A LangChain é um framework de código aberto que simplifica o desenvolvimento de aplicações baseadas em LLMs (Large Language Models). Ela fornece uma série de abstrações e componentes prontos para orquestrar fluxos que envolvem modelos de linguagem, como a gestão de prompts, a conexão com fontes de dados externas e a criação de agentes autônomos. Dentro desse ecossistema, a classe PromptTemplate é um dos blocos fundamentais, pois padroniza a forma como as instruções são construídas.
O problema que o PromptTemplate resolve é a necessidade de criar prompts complexos e dinâmicos. Em uma aplicação real, o prompt enviado ao modelo raramente é uma string estática; ele geralmente combina um contexto (como informações recuperadas de uma base de dados) com uma consulta específica do usuário. Fazer essa concatenação manualmente, a cada chamada, torna o código repetitivo, propenso a erros e difícil de manter. O PromptTemplate resolve isso ao permitir que o desenvolvedor defina um modelo de prompt com espaços reservados (variáveis) e, em seguida, forneça os valores para essas variáveis em cada execução.
Na prática, o uso é simples: você define um template com {variavel} e, ao chamar o método format(), passa um dicionário com os valores. Por exemplo, um template poderia ser "Responda a seguinte pergunta: {pergunta}". Ao formatar com {"pergunta": "O que é LangChain?"}, o resultado seria "Responda a seguinte pergunta: O que é LangChain?". Isso permite reutilizar o mesmo template para diferentes perguntas, garantindo consistência e eliminando a codificação manual. A classe também oferece variantes como ChatPromptTemplate, que é otimizada para modelos de chat, e FewShotPromptTemplate, que facilita a inclusão de exemplos no prompt.
A pegadinha desta questão está em reconhecer que as alternativas A, B, C e D não são classes da biblioteca LangChain. LLaMa é um modelo de linguagem desenvolvido pela Meta, Wolfram é um motor de conhecimento computacional que pode ser integrado ao LangChain como uma ferramenta, e PromptL1 e PromptL2 são nomes que não correspondem a nenhum componente real da biblioteca. A banca, portanto, mistura nomes de outras tecnologias com nomes fictícios para testar o conhecimento específico do candidato sobre os componentes do framework.
Guarde a distinção central: o PromptTemplate é a classe que estrutura o prompt, enquanto os modelos (como LLaMa) são os que processam o prompt. É essa fronteira que separa a alternativa correta das demais.
LangChain
1Componentes internos
PromptTemplate
Estrutura prompts reutilizáveis
Variáveis preenchidas dinamicamente
LLMChain
Agent
Tool
Memory
DocumentLoader
2Integrações externas
LLaMa (modelo Meta)
Wolfram (motor de conhecimento)
LEVEL · soulevel.com.br
Alternativa A — ❌ Incorreta
LLaMa não é uma classe da biblioteca LangChain, mas sim um modelo de linguagem de grande porte (LLM) desenvolvido pela Meta AI. Ele é um dos modelos que podem ser utilizados através do LangChain, mas não é um componente da biblioteca responsável pela composição de prompts. A confusão aqui é entre o modelo de linguagem e o framework de orquestração.
Alternativa B — ❌ Incorreta
PromptL1 não é uma classe existente na biblioteca LangChain. Não há nenhum componente com essa nomenclatura na documentação oficial do framework. Trata-se de um nome fictício criado pela banca para testar se o candidato conhece os nomes reais dos componentes.
Alternativa C — ❌ Incorreta
PromptL2 segue a mesma lógica da alternativa B: não é uma classe real da biblioteca LangChain. A banca utiliza nomes que parecem plausíveis (com a palavra "Prompt") para induzir o candidato ao erro, mas que não correspondem a nenhum componente oficial do framework.
Alternativa D — ❌ Incorreta
Wolfram é um motor de conhecimento computacional e uma linguagem de programação, que pode ser integrado ao LangChain como uma ferramenta externa para realizar cálculos e consultas. No entanto, ele não é uma classe da biblioteca responsável pela composição de prompts. A confusão aqui é entre uma ferramenta que pode ser usada em conjunto com o LangChain e um componente interno da biblioteca.
Alternativa E — ✅ Correta ⟵ GABARITO
A classe PromptTemplate é exatamente o componente da LangChain que formaliza a composição de prompts. Ela permite criar templates reutilizáveis com variáveis, que são preenchidas dinamicamente com o contexto e as consultas, eliminando a necessidade de codificar manualmente a concatenação de strings. Essa é a função descrita no enunciado, tornando esta a alternativa correta.
PEGA ESSA DICA!
Para questões sobre LangChain, foque em memorizar os nomes dos componentes principais: PromptTemplate, LLMChain, Agent, Tool, Memory e DocumentLoader. A banca costuma misturar nomes de modelos (como LLaMa) e ferramentas externas (como Wolfram) com os componentes reais do framework. Ao identificar o que é um componente interno e o que é uma integração externa, você elimina as alternativas incorretas com mais facilidade.