Google agora possui três interfaces de linha de comando (CLIs) de inteligência artificial para diferentes fluxos de trabalho. O Gemini CLI facilita a codificação rápida e interativa no terminal, enquanto o Jules Tools oferece autonomia em nuvem para o controle da linha de comando. Na semana passada, a gigante da tecnologia apresentou o Jules Tools, um companheiro de linha de comando para o agente de codificação centrado no GitHub da empresa. Mas, espera um minuto: não é verdade que o Google já tinha uma ferramenta de codificação por linha de comando? Na verdade, já existem duas, e com essa adição, são três. Por que, Google? Por que complicar tanto as coisas?
Antes de prosseguir com minha crítica sobre a aparente falta de gerenciamento de produtos por parte do Google, devo dizer que a funcionalidade do Jules Tools é interessante. O que me incomoda, no entanto, é a fragmentação dos produtos e a nomenclatura, algo que poderia ter sido melhor planejado, especialmente para alguém com experiência em gerenciamento de produtos. Em julho, o Google anunciou o Gemini CLI, que faz exatamente o que o nome sugere: permite o uso do Gemini diretamente de uma janela de terminal. Isso facilita a execução de scripts, interações rápidas e outras atividades baseadas em terminal que nós, programadores, tanto apreciamos. Depois, em agosto, foi lançado o Gemini CLI GitHub Actions, que agrega funcionalidades para gerenciar questões no GitHub.
Agora, o Jules Tools basicamente conecta o Jules ao terminal. Para relembrar, Jules é o agente de codificação autônomo e poderoso do Google, apresentado em maio. O Jules Tools é uma adição bem-vinda, mas para compreender como ele se encaixa e quando utilizá-lo, é necessário analisar as ofertas de CLI do Google, começando pelo Gemini e depois passando pelo Jules.
O que é o Gemini CLI? O Gemini CLI é uma interface de linha de comando para os modelos de linguagem de larga escala do Gemini, disponível como código aberto. Isso significa que o interpretador de comandos, o gerenciamento de comandos, o mecanismo de extensões e a análise de configuração estão acessíveis no GitHub para programadores que desejam aprimorar esses aspectos. A inteligência vem das chamadas da API do Gemini. Embora o backend e os modelos em si não sejam de código aberto, a CLI é uma ferramenta que os programadores podem personalizar, bifurcar e adaptar para suas necessidades.
O Gemini CLI também suporta o que são conhecidos como ReAct loops, permitindo que o sistema raciocine e, em seguida, aja. Essa funcionalidade possibilita que os programadores interajam de forma dinâmica, solucionando problemas com base nos seus prompts, similar a um chatbot, mas em um ambiente de terminal. A operação no terminal permite que você trabalhe em qualquer ambiente de desenvolvimento derivado do VS Code, facilitando a troca entre o IDE e o conteúdo do terminal.
O Gemini CLI GitHub Actions executa comandos do Gemini CLI dentro do ambiente de automação do GitHub. O GitHub, que é um repositório central para inúmeros projetos de programação, possui algumas capacidades de automação, e esse recurso permite integrar o Gemini em fluxos de trabalho, revisando códigos, comentando solicitações de pull e automatizando outras tarefas nos repositórios.
Agora, vamos falar do mais novo integrante do conjunto de ferramentas de codificação AI do Google: o Jules Tools. Jules é o agente de codificação assíncrono e autônomo da empresa, que, ao receber uma tarefa, elabora um plano de ação e o executa em sua própria máquina virtual na nuvem.
O Jules Tools provê uma interface de terminal para Jules. Embora você ainda esteja operando na nuvem, em vez de gerenciá-lo pela interface web, agora é possível fazer isso via CLI. As tarefas realizadas por Jules não mudam muito entre as duas interfaces, mas seu estilo de trabalho e a possibilidade de otimização do fluxo criativo aumentam significativamente. Você pode dar comandos a Jules, como criar uma nova tarefa, listar tarefas, puxar atualizações para uma instância local e muito mais.
Em um post no blog do Google, foram apresentados dois exemplos que realmente chamaram minha atenção. O primeiro exemplo é:
# Encaminhe questões do GitHub diretamente para Jules
gh issue list –assignee @me –limit 1 –json title \
| jq -r ‘.[0].title’ \
| jules remote new –repo .
Esse código pega automaticamente a questão mais recentemente atribuída no GitHub e inicia uma sessão remota do Jules para solucioná-la. A desconstrução desse código é a seguinte: ele utiliza a CLI do GitHub (gh) para listar as questões disponíveis, filtra as atribuídas a @me, limita os resultados a uma única questão e retorna apenas o campo de título em JSON. Este é então processado por um pré-processador JSON (jq) para extrair o título em texto simples. A seguir, esse título é enviado ao Jules como uma tarefa remota nomeada segundo a questão.
Vamos a um segundo exemplo interessante, que mistura Gemini CLI e Jules Tools em um único comando:
# Utilize o Gemini CLI para analisar questões do GitHub e enviar a mais difícil para o Jules
gemini -p “find the most tedious issue, print it verbatim\n \
$(gh issue list –assignee @me)” \
| jules remote new –repo .
Esse exemplo é bem interessante, pois usa o Gemini para identificar a questão mais tediosa atualmente no seu repositório. Embora o comentário utilize “difícil”, a solicitação usa “tediosa”. O Gemini, ao responder, explicou que “tarefas tediosas são repetitivas e entediantes, requerendo pouca reflexão, mas muita atenção aos detalhes.” Portanto, o sistema consegue distinguir entre tarefas desafiadoras e aquelas que são apenas repetitivas, encaminhando a mais enfadonha para o Jules.
Dessa forma, você poderia criar um comando no seu terminal chamado ‘faça-o-próximo-tedioso’, e ao executá-lo, o Gemini escolheria a tarefa apropriada, que seria então resolvida pelo Jules. Impresionante.
É essencial lembrar que é sempre melhor usar a ferramenta mais adequada para a tarefa específica em questão. Assim como temos diferentes ferramentas em uma oficina para diferentes tipos de cortes, no ambiente de desenvolvimento temos diversas ferramentas de IA para atender a diversas necessidades. Vale ressaltar que tanto o Gemini quanto o Jules têm limites. Você pode conseguir concluir muitas pequenas tarefas no nível do Gemini, mas talvez apenas 15 solicitações no nível do Jules.
Além disso, o Gemini responde quase que instantaneamente. Já o Jules leva um tempo para elaborar um plano de ação, confirma esse plano (com minha experiência, isso acontece apenas às vezes) e, em seguida, executa a tarefa. Assim, você terá uma interação mais dinâmica e colaborativa com o Gemini, enquanto pode delegar trabalhos ao Jules. O Jules pode lidar com tarefas extensas, muito maiores do que as que o Gemini consegue, mas ambos estão limitados pelo modelo de alocação de recursos.
Eu tenho três recomendações específicas para utilizar essas ferramentas: mantenha todas essas ferramentas no seu arsenal; experimente-as quando não estiver em um projeto crítico, para entender suas capacidades e limitações; e, por fim, escolha a ferramenta (ou a combinação de ferramentas) que melhor se encaixa no que você está desenvolvendo.
E você? Já experimentou o Gemini CLI, o Jules ou o novo Jules Tools? Pretende usar o Gemini para tarefas rápidas e interativas e o Jules para projetos maiores? O que acha da escolha do Google em dividir essas funcionalidades entre múltiplas ferramentas ao invés de um produto unificado? Qual abordagem parece se encaixar melhor no seu fluxo de trabalho? Deixe sua opinião nos comentários abaixo.
Referência: https://www.zdnet.com/article/google-introduces-jules-tools-three-ai-coding-tools-for-developers/
Posts relacionados:



