Pular para o conteúdo principal

Questão de Engenharia de Software — Inteligencia Artificial — INSTITUTO AOCP 2025

Engenharia de SoftwareInteligencia 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?
  1. ALLaMa.
  2. BPromptL1.
  3. CPromptL2.
  4. DWolfram.
  5. 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.

Gabarito: letra E

Link permanente: /questoes/qg543497