Article image

RF

Ronaldo Filho20/08/2024 01:08
Compartilhe

Como A Engenharia de Prompt Já Existe Há Séculos?

  • #Claude 3
  • #AWS
  • #Engenharia de Prompt

A Engenharia de Prompts é uma habilidade cada vez mais importante no mundo da tecnologia, permitindo que usuários comuniquem suas necessidades de maneira mais eficaz com modelos de inteligência artificial como o Claude 3. Essa prática não apenas transforma a forma como interagimos com a IA, mas também oferece soluções para problemas do dia a dia, que vão além das questões técnicas ou profissionais. Neste artigo, vamos explorar como a Engenharia de Prompts pode ser aplicada a situações cotidianas, setores específicos como a tecnologia em nuvem e programação, e como ela facilita a comunicação em contextos variados e o melhor: há milhares de anos!

Entendendo a Engenharia de Prompts na Prática

Engenharia de Prompts é, em essência, a arte de formular perguntas ou instruções para obter respostas precisas e úteis de modelos de IA. O que muitos não percebem é que esse conceito pode ser aplicado em diversas áreas da vida, não se limitando ao mundo da programação. O melhor exemplo que gosto de dar é quando você está ensinando algo a uma criança, a maneira como você formula suas perguntas ou dá instruções pode impactar significativamente o aprendizado e as respostas dela. Se você perguntar de maneira vaga, pode receber uma resposta confusa; mas se a pergunta for clara e estruturada, a resposta será muito mais precisa e útil.

Imagine que você está ensinando uma criança a resolver um problema de matemática. Se você apenas disser “faça a conta”, a criança pode ficar confusa e não saber por onde começar ou fazer conforme ela acredita que seja. No entanto, se você disser “subtraia esse número menor do outro maior e me diga o resultado”, a criança terá uma instrução clara e específica, que facilita a resolução do problema. Esse é o mesmo princípio aplicado na Engenharia de Prompts quando utilizamos a IA: a clareza e a especificidade das instruções levam a melhores resultados. Assim como no processo de aprendizado infantil, a maneira como nos comunicamos com a IA define a qualidade das respostas que obtemos. Acha que é balela? Faça esse teste. Não tem problema se não tiver uma criança, faça com que qualquer pessoa faça algo que você sabe fazer e veja o quanto será desafiador até conseguirem alinhar a resposta/execução.

Além disso, a importância de um bom prompt vai além de apenas conseguir a resposta correta. Ele também influencia a eficiência com que a tarefa é realizada. Um prompt bem elaborado economiza tempo e evita a necessidade de retrabalhos, o que é essencial tanto no contexto pessoal quanto no profissional. Em casa, isso pode significar menos frustração e mais tempo livre; no trabalho, pode significar prazos cumpridos e um fluxo de trabalho mais tranquilo. A forma como comunicamos nossas necessidades à IA é, em última análise, um reflexo de como nos comunicamos com as pessoas ao nosso redor, e a prática de elaborar bons prompts pode melhorar nossas habilidades de comunicação de forma geral.

Engenharia de Prompts e a Resolução de Problemas Cotidianos

Agora que a sua cabeça deve estar explodindo, consegue perceber que a aplicação da Engenharia de Prompts vai além de contextos técnicos e é justamente por isso que ela está presente nas nossas vidas muito antes de existir a energia elétrica. Pense, por exemplo, em situações cotidianas como organizar as tarefas do dia ou planejar um evento. Ao utilizar prompts bem formulados, podemos fazer com que a IA crie listas de tarefas mais eficazes, sugira cronogramas realistas ou até mesmo resolva problemas logísticos que poderiam ser desafiadores.

Vamos supor que você está planejando um jantar com amigos e precisa garantir que tudo esteja organizado. Ao pedir para a IA criar um plano de ação, a forma como você estrutura sua solicitação impacta diretamente o resultado. Ao dizer apenas que precisa fazer um jantar entre amigos, a resposta provavelmente será bem genérica. Porém, se você fornecer detalhes como a quantidade de convidados, preferências alimentares e o tempo disponível para preparação, a IA pode sugerir um cronograma detalhado, lista de compras e até dicas de receitas. Assim como quando ensina uma criança, a clareza e especificidade do prompt são fundamentais para alcançar o resultado desejado. Você pode até demorar um pouco mais para formular a pergunta mas isso te dará muito mais agilidade durante a execução, evitando muitos retrabalhos ou ficar perguntando novamente. Quanto menos você precisar fazer com que a IA refaça a resposta, mais você acertou - ou chegou muito perto de acertar - sua pergunta!

A Engenharia de Prompts também pode ser aplicada em situações mais pessoais, como a organização de finanças domésticas. Imagine que você precisa ajustar seu orçamento para incluir uma nova despesa, como a mensalidade de uma academia. Ao invés de apenas dizer "ajustar o orçamento", um prompt mais detalhado poderia ser "reorganizar o orçamento mensal para incluir uma nova despesa fixa de R$200, mantendo as economias em 10% do total". Com esse tipo de prompt, a IA pode oferecer soluções práticas, como redistribuir os valores das despesas variáveis ou sugerir cortes em áreas menos essenciais, garantindo que você atinja seus objetivos financeiros sem comprometer sua qualidade de vida.

Engenharia de Prompts no Setor de Tecnologia em Nuvem

Vamos explorar a aplicação da Engenharia de Prompts em um ambiente mais técnico: a tecnologia em nuvem. Com o crescimento de serviços complexos em nuvem, como AWS, Google Cloud e Azure, a necessidade de prompts precisos se torna ainda mais evidente. Quando um desenvolvedor está configurando uma infraestrutura em nuvem, ele precisa de comandos que instruam corretamente a IA ou o assistente de configuração a executar tarefas específicas, como a criação de instâncias, configuração de redes ou até mesmo o gerenciamento de segurança.

Um desenvolvedor que precise criar uma instância de servidor virtual na AWS. Um prompt básico pode ser: “Criar uma instância EC2”. No entanto, esse comando pode resultar em uma configuração padrão que não atende às necessidades específicas do projeto. Por outro lado, um prompt mais qualificado e detalhado poderia ser: “Criar uma instância EC2 com 4 vCPUs, 16 GB de RAM, conectada à VPC de produção, com armazenamento EBS de 100 GB e regras de firewall para permitir tráfego HTTP e HTTPS”. Este prompt não apenas especifica as características técnicas da instância, mas também inclui detalhes sobre a segurança e a rede, garantindo que o resultado seja adequado ao projeto.

Essa abordagem mostra como a Engenharia de Prompts pode otimizar o uso de tecnologias em nuvem, economizando tempo e evitando erros. Desenvolvedores que dominam essa habilidade podem configurar ambientes complexos com maior precisão, resultando em soluções mais eficazes e seguras.

A importância da Engenharia de Prompts no setor de tecnologia em nuvem também se reflete na capacidade de automatizar processos repetitivos. Ao utilizar prompts bem formulados, é possível configurar pipelines de integração contínua (CI) e entrega contínua (CD) de maneira mais eficiente, garantindo que o código seja testado e implementado automaticamente sempre que uma alteração é feita. Isso não só melhora a qualidade do software, como também reduz o tempo de inatividade, permitindo que as equipes de desenvolvimento se concentrem em tarefas mais estratégicas.

A Importância da Engenharia de Prompts na Programação

Outro setor onde a Engenharia de Prompts desempenha um papel crucial é na programação, que neste momento, depois de ler até aqui, você pode até já ter se esquecido disso, tentando imaginar quais outras coisas básicas da vida se encaixaria o conceito de prompt. Quando se trata de gerar código, a clareza e especificidade do prompt podem fazer a diferença entre um código funcional e um que precisa de múltiplas revisões. Isso é especialmente relevante em situações onde os desenvolvedores estão trabalhando com linguagens complexas ou novos frameworks.

Vamos considerar um exemplo prático em Python. Suponha que você precise criar um script para extrair dados de uma API e armazená-los em um banco de dados. Um prompt genérico poderia ser: “Escreva um script para extrair dados de uma API”. Isso pode resultar em um código que cobre apenas o básico. Mas se o prompt for mais detalhado, como: “Escreva um script em Python que faça uma requisição GET a uma API REST, parseie o JSON de resposta, e armazene os dados em uma tabela MySQL, com tratamento de erros e logs de execução”, o resultado será um código muito mais robusto e pronto para produção.

Veja o exemplo de código gerado com base nesse segundo prompt:

import requests
import mysql.connector
import logging


# Configuração do log
logging.basicConfig(filename='app.log', filemode='w', format='%(name)s - %(levelname)s - %(message)s')


# Requisição à API
url = "https://api.exemplo.com/dados"
response = requests.get(url)


if response.status_code == 200:
data = response.json()
 
# Conexão ao banco de dados
conn = mysql.connector.connect(
  host="localhost",
  user="usuario",
  password="senha",
  database="meubanco"
)
cursor = conn.cursor()


# Inserindo os dados no MySQL
for item in data:
  cursor.execute("INSERT INTO minha_tabela (coluna1, coluna2) VALUES (%s, %s)", (item['campo1'], item['campo2']))
 
conn.commit()
cursor.close()
conn.close()
 
logging.info("Dados inseridos com sucesso!")
else:
logging.error(f"Erro ao fazer a requisição: {response.status_code}")

Esse exemplo destaca como a Engenharia de Prompts pode gerar soluções mais completas e adequadas às necessidades reais do projeto. Ao especificar exatamente o que é necessário no prompt, o desenvolvedor consegue um código mais útil, que não apenas realiza a tarefa, mas também considera aspectos importantes como tratamento de erros e logging.

Além disso, a Engenharia de Prompts na programação não se limita apenas à geração de código. Ela também é crucial na depuração e na otimização de processos. Quando enfrentamos um bug ou um problema de desempenho, a maneira como formulamos nossas perguntas à IA pode determinar a rapidez e a precisão com que encontramos uma solução. Um prompt detalhado que especifica o contexto do problema e as condições sob as quais ele ocorre pode levar a uma resolução muito mais eficiente, economizando horas de trabalho e evitando frustrações.

Como a Engenharia de Prompts Facilita a Solução de Problemas em Diferentes Contextos

A Engenharia de Prompts permite que as interações com a IA sejam otimizadas para uma ampla gama de contextos, desde o planejamento financeiro (vide quando citei sobre como a utilizo para agilizar meu aprendizado como dev neste artigo) até a organização de eventos e a educação. No entanto, essa prática também pode ser aplicada em outras áreas, como o atendimento ao cliente ou a automação de processos cotidianos.

Por exemplo, pense que você gerencia um pequeno negócio e precisa automatizar respostas a perguntas frequentes de clientes. Utilizando a Engenharia de Prompts, você pode programar a IA para fornecer respostas detalhadas e personalizadas, com base em solicitações específicas. Isso não apenas melhora a eficiência do atendimento, mas também garante que os clientes recebam as informações de que precisam de forma rápida e precisa. Esse tipo de aplicação pode ser crucial para empresas que buscam se destacar em um mercado cada vez mais competitivo.

Sem falar que se tornar um bom engenheiro de prompt é também evoluir em soft skills, como mostramos, quando você precisa ensinar alguém algo que você sabe, seja dentro de casa ou no trabalho quando está passando para o colega novo o trabalho que você faz. E aí você pode elevar isso a níveis ainda mais altos de sofisticação, como a sua melhora na articulação de pensamentos, oratória e até persuasão - sua cabeça explodindo de novo!

A Engenharia de Prompts é uma habilidade essencial que transcende o mundo da programação, oferecendo soluções práticas para problemas cotidianos e profissionais. Seja na educação de uma criança, na gestão de um negócio ou na organização de um evento, a maneira como formulamos nossas perguntas e instruções pode determinar o sucesso ou o fracasso de nossas interações com a IA - ou só com as "I" do mundo real. Como costume mencionar (vide neste artigo), o segredo está em continuar aprendendo e se adaptando às novas tecnologias, utilizando-as para melhorar nossa vida e trabalho.

Pra finalizar (juro que vou terminar), mais um exemplo prático. No Copilot que utiliza o DALL-E, pedi para que fizesse uma imagem para a capa deste artigo. Primeiro usei o prompt: "Faça uma imagem de capa de um artigo onde falo sobre engenharia de prompt" e foi isso que ele me retornou:

image

Agora, vejam quando usei o seguinte prompt:

"Imagem com:

  • Tom suave para capa de um artigo que fala sobre engenharia de prompt;
  • Um fundo com códigos binários;
  • Alguém escrevendo um prompt no Claude 3 em algumas línguas;
  • Um adulto ajoelhado na altura dos olhos de uma criança, ensinando-a;
  • Uma mulher em um palco gesticulando para outras pessoas próximas a ela;
  • Elementos tecnológicos sutis para não poluir a imagem; e
  • Elementos da antiguidade com modernidade."

O resultado, claro, está na capa deste artigo :)

... E será que esse artigo também foi criado com prompts? O que acham?

Compartilhe
Comentários (1)
Francisco Sousa
Francisco Sousa - 20/08/2024 07:53

Sensacional seu artigo Ronaldo. Parabéns...