Simplifique o fluxo de "vibe coding" de agentes com o ADK e o Gemini CLI

16 DE JULHO DE 2025
Julia Wiesinger Product Manager
Hangfei Lin Staff Soft Engineer

Para os desenvolvedores, o estado mental é sagrado. Eles querem se sentir naquele espaço mágico onde as ideias se convertem em código quase sem qualquer esforço. O maior inimigo desse estado mental é o atrito: a leitura de documentos, a escolha do framework e as mudanças entre contextos que tiram você da zona criativa.

É por isso que temos o prazer de anunciar as atualizações do Agent Development Kit (ADK) que, quando combinadas com o Gemini CLI, são projetadas para eliminar os atritos e turbinar a experiência de "vibe coding" de agentes. Essa combinação habilita o contexto certo em uma conversa contínua entre você e o Gemini, transformando suas ideias gerais em agentes funcionais com velocidade e fluidez sem precedentes. Assim, você pode passar mais tempo resolvendo problemas do mundo real com o uso de agentes e muito menos codificando-os a partir do zero.


O ingrediente secreto: como o llms-full.txt do ADK alimenta seu fluxo

O coração desse upgrade é o arquivo llms-full.txt reformulado incluído no repositório do ADK. Pense nele como um guia condensado e perfeitamente organizado de todo o framework ADK. Ele é um mapa que detalha todos os componentes, as funções e as práticas recomendadas do ADK.

Especificamente, reduzimos o arquivo em mais de 50% (menos tokens, viva!) e facilitamos a compreensão pelos LLMs. Essa é a chave para uma experiência melhor de "vibe coding" porque significa o seguinte: o Gemini tem uma compreensão total do ADK sem consumir a janela de contexto nem ser uma vítima da "deterioração do contexto".

Agora, por meio da combinação com o Gemini CLI, você tem um poderoso assistente de codificação transformado em especialista em ADK por um custo muito mais baixo e com mais acurácia. O CLI obtém uma compreensão aprofundada e nativa do framework, o que permite que ele converta seus planos gerais diretamente em código multiagentes preciso e idiomático. Isso aumenta drasticamente a velocidade da prototipagem porque você pode gerar um agente funcional em questão de minutos e fica livre para experimentar e iterar sem grandes investimentos iniciais em tempo de codificação.


Vibe em ação: criação de um agente de IA para rotulagem de problemas no Github

Vejamos como isso funciona em um cenário real. Criaremos um agente de IA para rotular problemas do Github do ADK a fim de facilitar a priorização e a atribuição de problemas, passando de uma ideia simples para um agente funcional do ADK em apenas algumas etapas. (Os prompts e saídas foram traduzidos para fins informativos.)


Etapa 0: Download do llms-full.txt

Baixe o llms-full.txt do adk-python para seu diretório de trabalho.


Etapa 1: Idealização do plano com o Gemini CLI

Primeiro, usamos o Gemini CLI como um parceiro de brainstorming para criar um plano geral.

Você: Quero criar um agente de IA utilizando o framework ADK para me ajudar a rotular problemas do Github com o Gemini em meu repositório (https://github.com/google/adk-python). Ele deve ler os problemas do Github e rotulá-los com alguns rótulos predefinidos (por favor, crie alguns rótulos comuns primeiro). Elabore um plano para fazer isso. @llms-full.txt

Gemini CLI:

Plano: Agente de rotulagem de problemas do GitHub

A meta é criar um agente de IA baseado em Python capaz de analisar um problema do GitHub e aplicar um rótulo predefinido relevante do seu repositório. Usaremos o framework ADK para orquestrar a lógica do agente e um modelo Gemini para a análise.

Fase 1: Criação e configuração do projeto

1. Inicialização do projeto: crie um novo diretório de projeto do Python.

2. Instalação de dependências: instale a biblioteca google-adk e uma biblioteca de cliente da API GitHub, como PyGithub.

3. Autenticação no GitHub: crie um token de acesso pessoal (PAT, na sigla em inglês) do GitHub com permissões repo para permitir que o agente leia os problemas e aplique rótulos. Esse token será configurado com segurança como uma variável de ambiente.


Fase 2: Desenvolvimento de ferramentas personalizadas para o GitHub

O agente precisa de ferramentas para interagir com o GitHub. Criaremos um arquivo github_tools.py contendo as seguintes funções, que serão expostas ao agente:

  • get_issue(repo_name, issue_number): busca o título e o corpo de um problema específico do GitHub.

  • get_available_labels(repo_name): recupera a lista de todos os rótulos existentes para o repositório.

  • apply_label(repo_name, issue_number, label): aplica um determinado rótulo a um problema específico.


Fase 3: Criação do agente de rotulagem

Com o uso do framework ADK, definiremos um novo Agent em um arquivo main.py:

1. Definição do agente: o agente será configurado para usar um modelo Gemini (por exemplo, gemini-1.5-flash).

2. Integração de ferramentas: as ferramentas personalizadas do GitHub da Fase 2 serão fornecidas ao agente.

3. Instrução principal (prompt): o prompt de sistema do agente o instruirá a seguir um fluxo de trabalho claro:

  • Primeiro, use a ferramenta get_issue para entender o conteúdo do problema.

  • Em seguida, use a ferramenta get_available_labels para ver as opções válidas.

  • Com base em sua análise, decida sobre o melhor rótulo a ser aplicado.

  • Por fim, use a ferramenta apply_label para adicionar o rótulo escolhido ao problema.


Fase 4: Criação do ponto de entrada do aplicativo

Criaremos uma interface de linha de comando (CLI, na sigla em inglês) simples em main.py que permite executar o agente. Ela aceitará o nome do repositório do GitHub e um número de problema como entrada e, em seguida, acionará o agente para executar a tarefa de rotulagem.

Gostaria que eu prosseguisse com a implementação deste plano?


Você definiu a lógica sem escrever uma única linha de código.


Etapa 2: Conversão do plano em um agente do ADK

Agora, vamos usar o llms-full.txt do ADK para transformar esse plano em um agente real.

Você: Ótimo. Agora, gere o código para esse plano usando o ADK do Python. @llms-full.txt (O Gemini CLI agora consulta o llms-full.txt do ADK para converter o plano no código do ADK correto.)

Gemini CLI

import argparse
import asyncio
from google.adk.agents import Agent
from google.adk.runners import Runner
from google.adk.sessions import InMemorySessionService
from google.genai import types
 
from github_tools import get_issue, get_available_labels, apply_label
 
 
 
labeling_agent = Agent(
    name="github_labeler",
    model="gemini-1.5-flash",
    instruction="""You are an AI agent that labels GitHub issues.
    1. First, use the 'get_issue' tool to read the issue's title and body.
    2. Then, use the 'get_available_labels' tool to see all possible labels for the repository.
    3. Analyze the issue content and choose the most relevant label from the available options.
    4. Finally, use the 'apply_label' tool to add the chosen label to the issue.
    5. Respond with a confirmation message stating which label was applied.
    """,
    tools=[get_issue, get_available_labels, apply_label],
)
Python


from github import Github
from config import GITHUB_TOKEN
 
g = Github(GITHUB_TOKEN)
 
def get_issue(repo_name: str, issue_number: int) -> str:
    """Fetches the title and body of a specific GitHub issue."""
    repo = g.get_repo(repo_name)
    issue = repo.get_issue(number=issue_number)
    return f"Title: {issue.title}\nBody: {issue.body}"
 
def get_available_labels(repo_name: str) -> list[str]:
    """Retrieves the list of all existing labels for the repository."""
    repo = g.get_repo(repo_name)
    labels = [label.name for label in repo.get_labels()]
    return labels
 
def apply_label(repo_name: str, issue_number: int, label: str) -> str:
    """Applies a given label to a specific issue."""
    repo = g.get_repo(repo_name)
    issue = repo.get_issue(number=issue_number)
    issue.add_to_labels(label)
    return f"Successfully applied label '{label}' to issue #{issue_number}."
Python

(Também foi gerado o requirements.txt, label_config.py, mas não vamos listá-lo aqui para manter o artigo mais sucinto.)

Instantaneamente, você tem um aplicativo de agente completo e funcional que usa corretamente o framework ADK. O CLI lidou com todo o código boilerplate porque o arquivo llms-full.txt forneceu o contexto necessário.


Etapas 3 e 4: Teste e melhoria no fluxo

Com o código gerado, você pode fazer o teste local. Talvez você encontre um bug ou pense em uma melhoria. Por exemplo, você deseja um resumo depois que o agente do ADK concluir os rótulos. Basta solicitar a mudança, sem interromper o fluxo.

Você: Você poderia adicionar um novo rótulo chamado "some_new_label" ao agente?


O Gemini CLI, que ainda mantém o contexto do script, refatora o código para implementar a mudança. Não há necessidade de editar manualmente o código nem de sair do ritmo.


Etapa 5: Enxágue e repita

Esta repetição iterativa é o novo fluxo de trabalho:

1: Idealize a lógica do agente.

2: Gere o código do ADK com o Gemini CLI.

3: Teste instantaneamente.

4: Faça melhorias com solicitações simples e conversacionais.

Você pode repetir esse ciclo até que seu agente esteja perfeito, tudo sem o atrito que normalmente tira você da sua zona criativa.