PoC de Pair Programming com Github Copilot: remoção de fundo de imagens em Python

Fala Devs! Estou empolgado com o Github Copilot, sabe. kkk Compartilho aqui um repositório no Github que criei, após as dicas matadoras do Rafael Bonaldi .

Fiz uma PoC em Python bem simples no VS Code com apoio do copilot, para remover o fundo de imagens via linha de comando (CLI). Foi uma oportunidade para avaliar a pair programming com o copilot em ação.

Como o copilot ajudou?

Pedi via chat para ele fazer a geração do código do arquivo script.py para remover o fundo de imagens, recebendo o nome do arquivo de entrada como parametro.

Daí eu pedi para ele explicar o código e as bibliotecas utilizadas. Depois pedi para ele comentar o código, fazer um code review e uma avaliação do ambiente com @workspace.

Na hora de rodar deu erro e eu pedi para explicar porque estava dando erro e ele sugeriu criar um ambiente virtual do python e explicou que precisava da chave de acesso à API da lib removebg. Entrei no site, baixei a chave e fiz as correções de acordo com as instruções dele e rodou. Gostei bastande e acho que é um apoio que melhora muito a produtividade.

Considero que o conceito foi provado. kkk O mais importante pra mim foi definir o objetivo e conseguir alcançar, com um código simples, útil, que eu consigo entender e que funciona. kkk

O código ficou assim:

import argparse
from removebg import RemoveBg

def remove_background(input_file):
    """
    Remove the background from an image file using the RemoveBg library.

    Parameters:
    input_file (str): The path to the input image file.
    
    Returns:
    None
    """
    try:
        rmbg = RemoveBg("< API KEY >", "error.log")
        rmbg.remove_background_from_img_file(input_file)
    except FileNotFoundError:
        print("The file is not found")
    except Exception as e:
        print("An error occured", e)

def main():
    """
    Parse command-line arguments and call the remove_background function.
    """
    parser = argparse.ArgumentParser(description='Remove background from image.')
    parser.add_argument('input_file', type=str, help='The image file to remove the background from.')
    args = parser.parse_args()
    remove_background(args.input_file)

if __name__ == "__main__":
    main()

Segue o link do repositório: https://github.com/adrianotavares/copilot

Quem quiser colaborar e criar outras funções para tratamento de imagens, manda bala e depois comenta aqui como o assistente ajudou!

Mas tem de usar o copilot ou outra ferramenta, porque o objetivo da PoC é testar a pair programming com assistentes de IA, blz?

Let’s code!

Prompting: Uma competência digital essencial

De acordo com o relatório Future of Work Report: AI at Work do LinkedIn, há um aumento significativo nas buscas por termos como “ChatGPT”, “engenharia de prompt”, “elaboração de prompt”, “Microsoft Copilot” e “inteligência artificial generativa” nos perfis dos membros globalmente. Esses dados destacam a crescente importância da IA generativa no ambiente de trabalho.

“74% dos executivos acreditam que a IA generativa beneficiará os funcionários.”
— Linkedin

Uma outra pesquisa da BCG, How People Can Create—and Destroy—Value with Generative AI, revela que quase todos os participantes (cerca de 90%), independentemente de sua proficiência inicial, obtiveram resultados de maior qualidade ao usar o GPT-4 para realizar tarefas. Além disso, a variação no desempenho foi drasticamente reduzida, com uma parcela muito maior dos participantes apresentando resultados próximos à média, aumentando substancialmente os níveis de desempenho do grupo como um todo.

“Para maximizar os benefícios da IA generativa, é essencial aprender a criar prompts eficazes.”
–BCG

De acordo com o MIT Sloan, Effective Prompts for AI: The Essentials, a elaboração de prompts eficazes é uma habilidade fundamental para trabalhar bem com a IA. Isso envolve entender como comunicar claramente suas intenções à IA para obter os melhores resultados.

“Essa arte de refinar prompts é denominada engenharia de prompts, que envolve selecionar as palavras, frases, símbolos e formatos certos, para obter o melhor resultado possível dos modelos de IA.”
— Johnmaeda, 2023

Outro artigo da Harvard Business Review, To Work Well with GenAI, You Need to Learn How to Talk to It , enfatiza a importância de saber como falar com a IA generativa para utilizá-la de maneira eficaz. Aprender a elaborar prompts não é apenas uma habilidade técnica, mas também uma competência essencial para aumentar a eficiência e a produtividade no trabalho.

“Nos 17 anos que passei na Microsoft, nunca estive tão otimista quanto à oportunidade da computação de mudar o trabalho para melhor.”
— Jaime Teevan, cientista-chefe da Microsoft

Esses artigos reforçam a importância de dominar a elaboração de prompts e a utilização de ferramentas de IA generativa. Ao desenvolver essas habilidades, você não só melhora sua própria performance, mas também contribui para elevar a média de desempenho da sua equipe.

O que você acha dessa tendência? Já começou a explorar o poder dos prompts em sua rotina de trabalho? Compartilhe suas experiências nos comentários!