====== IA Generativa Auxiliando a Programação ====== Este é o material utilizado na palestra ministrada em 27/04/2024 no FLISOL RJ. ===== Quem sou eu? ===== ++++ >>>>>> | * Engenheiro eletrônico pela UFRJ - 1995; * Atuando como analista de sistemas desde - 1993; * Programo desde os 10 anos - 1982; * Entusiasta do software livre - 1992; * Ex-empresário - 1997-2006; * Fotógrafo, maker, fixer, youtuber * Mantenho um blog de fotos 360 (https://cartola.org/360); * Canal no youtube (https://youtube.com/carloscartola); * Grupo no face (https://facebook.com/groups/fotografiapanoramica); * PanoFórum (https://www.panoforum.com.br). ++++ ===== Motivação ===== ++++ >>>>>> | * Compartilhar conhecimento; * Aprender. "Feliz aquele que transfere o que sabe e aprende o que ensina." - Cora Coralina ++++ ===== A evolução das IAs ===== ++++ >>>>>> | * Aumento da disponibilidade de dados; * Aprimoramento do hardware; * Avanços algorítmicos; * LLMs! Na programação: * Automação de tarefas repetitivas; * Geração de código; * Exemplo recente [[https://www.youtube.com/watch?v=bDcYwiUagR4|com GTP-4o]] * ChatCPT-4o (OMNI) * Depuração e testes; * Aprendizado; * Análise de código; * Exemplo de análise (fora daqui) ++++ ===== O programador será substituído pela IA? ===== ++++ >>>>>> | * Não! (ou falta tempo pra isso ainda) Problemas de uso de IA: * Alucinações * Erros de sintaxe * Código incorreto * Erro de lógica * Falta de generalização de aprendizado * Viés e discriminação, ética * Limitações no entendimento e na geração * Em geral requer expertise Notícia de 27/05/2024: **ChatGPT ainda produz muitas respostas incorretas para problemas de programação:** pesquisadores analisaram 517 perguntas do Stack Overflow e compararam as respostas do modelo com humanos. 54% das soluções apresentadas continham erros de interpretação, 36% apresentaram imprecisões nos fatos, 28% erravam em lógica e 12% em terminologia. Além disso, o modelo muitas vezes gerava respostas muito longas e com mais dados do que o necessário. As informações são [[https://www.techradar.com/pro/chatgpt-really-isnt-great-at-answering-programming-questions-yet|do site TechRadar]]. ++++ ===== Minha experiência ===== ++++ >>>>>> | Melhor com linguagens mais comuns * Melhor: Python, HTML, Javascript, CSS * No meio: bash, ansible * Pior (com farta vantagem): krpano Em 29/05/2024 lançaram a Codestral: primeiro que acertou pro krpano pra mim. * Acesso direto: [[https://chat.mistral.ai/chat/|Site do chat]] - escolha o modelo codestral * Pode ser baixado no [[https://huggingface.co/mistralai/Codestral-22B-v0.1|HugginFace]] * [[https://mistral.ai/news/codestral/|Outras formas]] Recomendações: * Use o contexto * Divida para conquistar * Comece de onde precisar (pergunte que linguagem usar, como montar o ambiente, como rodar, etc) * PEÇA para dividir e como dividir melhor, para conquistar * Use RAG ++++ ===== Exemplo prático! ===== Bora botar a mão na massa!