<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
    <channel>
        
        <title>
            <![CDATA[ Inteligência artificial - freeCodeCamp.org ]]>
        </title>
        <description>
            <![CDATA[ Aprenda a codificar - de graça. Tutoriais de programação em Python, JavaScript, Linux e muito mais. ]]>
        </description>
        <link>https://www.freecodecamp.org/portuguese/news/</link>
        <image>
            <url>https://cdn.freecodecamp.org/universal/favicons/favicon.png</url>
            <title>
                <![CDATA[ Inteligência artificial - freeCodeCamp.org ]]>
            </title>
            <link>https://www.freecodecamp.org/portuguese/news/</link>
        </image>
        <generator>Eleventy</generator>
        <lastBuildDate>Thu, 28 May 2026 20:37:50 +0000</lastBuildDate>
        <atom:link href="https://www.freecodecamp.org/portuguese/news/tag/inteligencia-artificial/rss.xml" rel="self" type="application/rss+xml" />
        <ttl>60</ttl>
        
            <item>
                <title>
                    <![CDATA[ Programação em par com a IA ChatGPT – O GPT-3.5 entende de Bash? ]]>
                </title>
                <description>
                    <![CDATA[ Temos ouvido muito sobre inteligência artificial e processamento de linguagem natural – em especial, sobre a versão mais recente do GPT da OpenAI – há semanas. O recente lançamento do GPT 3.5 e, especificamente, da novíssima ferramenta ChatGPT, é definitivamente um grande avanço. Você pode ter lido sobre pessoas que ]]>
                </description>
                <link>https://www.freecodecamp.org/portuguese/news/programacao-em-par-com-a-ia-chatgpt-o-gpt-3-5-entende-de-bash/</link>
                <guid isPermaLink="false">63a9927d44e27f060d7a462e</guid>
                
                    <category>
                        <![CDATA[ Inteligência artificial ]]>
                    </category>
                
                <dc:creator>
                    <![CDATA[ Rafael Fontenelle ]]>
                </dc:creator>
                <pubDate>Thu, 02 Feb 2023 21:00:00 +0000</pubDate>
                <media:content url="https://www.freecodecamp.org/portuguese/news/content/images/2023/01/pexels-pavel-danilyuk-8438951.jpg" medium="image" />
                <content:encoded>
                    <![CDATA[ <p data-test-label="translation-intro">
        <strong>Artigo original:</strong> <a href="https://www.freecodecamp.org/news/pair-programming-with-the-chatgpt-ai-how-well-does-gpt-3-5-understand-bash/" target="_blank" rel="noopener noreferrer" data-test-label="original-article-link">Pair Programming with the ChatGPT AI – Does GPT-3.5 Understand Bash?</a>
      </p><h3 id="temos-ouvido-muito-sobre-intelig-ncia-artificial-e-processamento-de-linguagem-natural-em-especial-sobre-a-vers-o-mais-recente-do-gpt-da-openai-h-semanas-">Temos ouvido muito sobre inteligência artificial e processamento de linguagem natural – em especial, sobre a versão mais recente do GPT da OpenAI – há semanas.</h3><p>O recente lançamento do GPT 3.5 e, especificamente, da novíssima ferramenta ChatGPT, é definitivamente um grande avanço.</p><p>Você pode ter lido sobre pessoas que pedem à IA para redigir contratos e testamentos imobiliários ou, até mesmo, gerar código de programação. Este artigo aborda a ferramenta de uma perspectiva ligeiramente diferente.</p><p>Você pode assistir a uma versão em vídeo deste artigo aqui se quiser usá-lo para complementar seu aprendizado:</p><figure class="kg-card kg-embed-card" data-test-label="fitted">
        <div class="fluid-width-video-container">
          <div style="padding-top: 56.17977528089888%;" class="fluid-width-video-wrapper">
            <iframe width="356" height="200" src="https://www.youtube.com/embed/GxJKuINwPSw?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="" title="Pair Programming with the ChatGPT AI - how well does GPT-3.5 understand Bash?" name="fitvid0"></iframe>
          </div>
        </div>
      </figure><h2 id="experimentando-com-o-chatgpt-e-scripts-do-bash">Experimentando com o ChatGPT e scripts do Bash </h2><p>Decidi ver como o ChatGPT lida com scripts do Bash do Linux. No entanto, (alerta de spoiler!) enquanto trabalhava com as sugestões da ferramenta – código bom e código ruim – comecei a perceber que havia um benefício ainda mais poderoso diante de mim: uma oportunidade de programar em par com um parceiro eminentemente útil.</p><p>A IA acabou falhando em resolver meu problema, mas a <em>maneira</em> como falhou foi absolutamente fascinante. Observar a IA em busca de novas respostas foi absolutamente louco.</p><h3 id="primeira-tentativa-o-chatgpt-tenta-resolver-o-problema">Primeira tentativa – o ChatGPT tenta resolver o problema</h3><p>Então, vamos ver como tudo aconteceu. Aqui, mais ou menos, está o prompt inicial que forneci à IA:</p><blockquote>Escreva para mim um script do Bash que solicite o URL de um vídeo do YouTube e, em seguida, use o programa yt-dlp para fazer o download desse URL. O script deve alterar o nome do arquivo para "meuvídeo.mp4"</blockquote><p>Depois de alguns segundos, o ChatGPT me disse que um script estava chegando. Veja como ficou esse código:</p><pre><code>#!/bin/bash

# Solicita ao usuário o URL do vídeo do YouTube
read -p "Insira o URL do vídeo do YouTube: " url

# Baixa o vídeo do YouTube usando yt-dlp
yt-dlp $url

# Obtém o nome do arquivo de vídeo baixado
yt-dlp $url

# Altera o nome de arquivo do vídeo baixado para "meuvídeo.mp4"
mv video-filename.mp4 meuvídeo.mp4</code></pre><p>A IA, obviamente, sabe o que são scripts do Bash e como apresentar o código. Ela até fez um ótimo trabalho comentando cada linha de código. A IA sabe como solicitar corretamente a entrada do usuário e, em seguida, como importar a string de entrada para uma variável chamada <code>url</code>.</p><p>Ela também conhece o programa yt-dlp e como ele funciona, alimentando-o adequadamente com o URL fornecido. Em seguida, ela pelo menos tentou renomear o arquivo de vídeo baixado para meuvídeo.mp4. Mas tudo meio que quebrou quando presumiu que o nome do arquivo de download seria <code>video-filename.mp4</code>. Opa.</p><p>De qualquer jeito, a IA me mostrou como criar o script a partir de seu código e executá-lo.</p><h3 id="segunda-tentativa-chatgpt-corrige-a-si-pr-prio">Segunda tentativa – ChatGPT corrige a si próprio</h3><p>Minha solicitação seguinte apontou o erro óbvio e, após alguns segundos, o ChatGPT admitiu que estava errado e ofereceu uma melhoria.</p><blockquote>Você está certo, o script que forneci não funcionaria como esperado porque pressupõe que o vídeo baixado será salvo em um arquivo com o nome <code>video-filename.mp4</code>. No entanto, não é garantido que esse seja o caso. Para consertar isso...</blockquote><p>É impressionante como a IA está completamente envolvida no processo aqui. Ela se lembra de seu primeiro código, ouve e entende minha reclamação e pensa em uma solução. Aqui está a segunda tentativa:</p><pre><code>#!/bin/bash

# Solicita ao usuário o URL do vídeo do YouTube
read -p "Insira o URL do vídeo do YouTube: " url

# Obtém o nome do arquivo de vídeo baixado
yt-dlp $url

# Obtém o nome do arquivo de vídeo baixado
filename=$(basename $url)

# Altera o nome de arquivo do vídeo baixado para "meuvídeo.mp4"
mv $filename.mp4 meuvídeo.mp4</code></pre><p>Ok. Consigo ver como a solução parecia certa. <code>basename</code> é uma ferramenta do Linux que pode remover os diretórios do sistema de arquivos e não deixar nada além do nome do arquivo real.</p><p>O problema é que a variável <code>url</code> não contém um nome de arquivo local, mas um endereço de internet. Isso, definitivamente, não vai funcionar.</p><h3 id="terceira-tentativa-o-chatgpt-tenta-novamente">Terceira tentativa – o ChatGPT tenta novamente</h3><p>Então, tentei novamente, explicando como aquela não era a ferramenta certa para o trabalho. O ChatGPT tenta mais uma vez.</p><pre><code>#!/bin/bash

# Solicita ao usuário o URL do vídeo do YouTube
read -p "Insira o URL do vídeo do YouTube: " url

# Extrai o nome do arquivo a partir do URL
filename=$(basename $url)

# Baixa o vídeo usando a ferramenta yt-dlp e especifica o nome de arquivo
yt-dlp -o $filename $url

# Altera o nome de arquivo de vídeo baixado para "meuvídeo.mp4"
mv $filename.mp4 meuvídeo.mp4</code></pre><p>Desta vez, ele mostra que se familiarizou com a documentação do yt-dlp, sugerindo que usemos o argumento <code>-o</code> para dar um nome ao vídeo baixado, contra o qual <code>basename</code> deve funcionar agora. A cada iteração, a IA me fornece esse código atualizado para meu prazer de recortar e colar.</p><p>Claro, isso também não vai funcionar. Com a próxima tentativa, tenho a sensação de que a IA está um pouco desesperada.</p><h3 id="se-no-come-o-voc-n-o-tiver-sucesso-ao-menos-aprender-alguma-coisa">Se, no começo, você não tiver sucesso... ao menos, aprenderá alguma coisa</h3><p>Vou pular a próxima tentativa ou duas, pois encontramos um problema paralelo: os vídeos vindos do YouTube nem sempre são MP4. Às vezes, são MKVs ou até WEBMs. Essa incerteza pode atrapalhar os nomes dos arquivos com os quais estamos trabalhando. Por isso, pedi ao ChatGPT para incluir isso no código.</p><pre><code>#!/bin/bash

# Solicita ao usuário o URL do vídeo do YouTube
read -p "Insira o URL do vídeo do YouTube: " url

# Extrai o nome do arquivo a partir do URL
filename=$(basename $url)

# Baixa o vídeo usando a ferramenta yt-dlp e especifica o nome de arquivo
yt-dlp -F mp4 -O $filename $url

# Altera o nome de arquivo de vídeo baixado para "meuvídeo.mp4"
mv $filename.mp4 meuvídeo.mp4</code></pre><p>Quando relatei como isso também não funcionaria, a IA começou a ficar confusa. Primeiro, ela me disse que a opção <code>-F</code> esperava um formato de vídeo válido, mas que "mp4" não era válido. Então, me dá opções válidas, incluindo "mp4".</p><p>Quando nada sugerido pela IA funcionou, ela desistiu, aconselhando-me a garantir que o yt-dlp estivesse realmente instalado em minha máquina e me mostrando como fazer isso.</p><p>Achei que era um bom momento para desistir. Foi um esforço surpreendentemente bom e, mesmo que não resolvesse o problema, mostrou-me alguma sintaxe útil e me fez pensar.</p><p>A propósito, caso você esteja interessado, veja como seria um script de trabalho real.</p><pre><code>#!/bin/bash

# Solicita ao usuário o URL do vídeo do YouTube
read -p "Insira o URL do vídeo do YouTube: " url

# Baixa o vídeo usando a ferramenta yt-dlp
yt-dlp $url

# Obtém o nome do arquivo de vídeo baixado
original_filename=$(ls | awk '/mp4/ || /webm/ || /mkv/')

# Altera o nome de arquivo do vídeo baixado para "meuvídeo.mp4"
mv "$original_filename" /home/ubuntu/vids/meuvídeo.mp4</code></pre><p>As duas primeiras linhas de código são exatamente como o ChatGPT sugeriu. Em seguida, contudo, isolo o nome do arquivo listando todos os arquivos no diretório atual e usando <code>awk</code> para filtrar apenas nomes de arquivos contendo <code>mp4</code>, <code>webm</code> ou <code>mkv</code>. (Isso pressupõe que nunca haverá mais de um arquivo de vídeo no diretório por vez.)</p><p>O nome do arquivo será gravado na variável <code>original_filename</code>. Em seguida, usarei essa variável como parte de um comando <code>mv</code> para renomear o arquivo para <code>meuvídeo.mp4</code>. Pelo que sei, isso funcionará independentemente do formato enviado de fato.</p><h2 id="conclus-o">Conclusão</h2><p>A inteligência artificial pode não estar totalmente pronta para as tarefas de programação do mundo real de hoje, mas eu não apostaria no fato de que ela não conseguirá chegar lá amanhã... ou em algum momento do ano que vem.</p><p>Enquanto isso, eu recomendaria absolutamente o uso de ferramentas como o ChatGPT sempre que você se deparar com uma tarefa de programação desafiadora.</p><p>Duas mentes são (quase) sempre melhores que uma.</p><p><em>Além do <a href="https://www.youtube.com/@davidbclinton">canal do autor no YouTube</a> (no qual você pode se inscrever), o <a href="https://bootstrap-it.com/">site do autor</a> contém links para todos os tipos de produtos tecnológicos disponíveis, como artigos, livros e cursos.</em></p> ]]>
                </content:encoded>
            </item>
        
    </channel>
</rss>
