Padrão de agente do ADK com memória e MCP

1. O que você vai aprender

Este é o curso avançado do ADK: sua jornada para sistemas multiagente

Você está prestes a entrar no incrível mundo dos agentes de IA. Esqueça os chatbots simples que apenas respondem a perguntas. Estamos nos aprofundando na Agent Development Kit (ADK) para criar sistemas autônomos sofisticados que podem raciocinar, planejar e usar ferramentas para realizar tarefas complexas.

capa

Ao final deste tutorial, você vai saber como:

  • Crie seu primeiro agente de IA: crie um agente totalmente funcional que pode entender as necessidades de um usuário, usar ferramentas como a Pesquisa Google e gerar respostas detalhadas e úteis.
  • Construir sistemas multiagentes: aprenda o padrão "Agente como ferramenta", um conceito revolucionário em que os agentes delegam tarefas a outros agentes especializados, criando uma equipe de especialistas em IA que trabalham juntos.
  • Orquestrar fluxos de trabalho complexos: vá além da delegação simples e domine padrões avançados, como roteadores, cadeias sequenciais, loops e execução paralela, para criar aplicativos robustos, eficientes e inteligentes que podem lidar com quase qualquer solicitação.
  • Dê memória aos seus agentes: entenda o papel fundamental da memória de conversa, permitindo que seus agentes respondam a perguntas complementares, aprendam com o feedback e gerenciem tarefas de várias etapas sem problemas.
  • Conectar com o MCP: conecte-se com a caixa de ferramentas do MCP.

Vamos começar! 🚀

2. Configurar o GCP e a chave da API Gemini

Configurar seu projeto do GCP e a chave da API Gemini

Para alimentar nossos agentes de IA, precisamos de duas coisas: um projeto do Google Cloud para fornecer a base e uma chave de API do Gemini para acessar os modelos avançados do Google.

Etapa 1: ativar a conta de faturamento

  • Reivindique sua conta de faturamento com um crédito de US$ 5, que será necessário para a implantação. Verifique sua conta do Gmail.

Etapa 2: criar um projeto do GCP

  • Acesse o Console do Google Cloud e crie um projeto.

criar uma nova conta do GCP

  • Acesse o Console do Google Cloud e crie um projeto.
  • Abra o painel à esquerda, clique em Billing e verifique se a conta de faturamento está vinculada a essa conta do GCP.

Vincular a conta de faturamento à conta do GCP

Se você vir esta página, verifique o manage billing account, escolha o teste sem custo financeiro do Google Cloud e vincule a ele.

Etapa 3: encontrar o ID do projeto do Google Cloud

👉Clique em "Ativar o Cloud Shell" na parte de cima do console do Google Cloud. É o ícone em forma de terminal na parte de cima do painel do Cloud Shell. cloud-shell.png

👉Clique no botão "Abrir editor" (parece uma pasta aberta com um lápis). Isso vai abrir o editor de código do Cloud Shell na janela. Um explorador de arquivos vai aparecer no lado esquerdo. open-editor.png

👉Encontre o ID do projeto do Google Cloud:

  • Abra o console do Google Cloud: link
  • Selecione o projeto que você quer usar neste workshop no menu suspenso na parte de cima da página.
  • O ID do projeto é exibido no card "Informações do projeto" no painel.

03-04-project-id.png

👉💻 No terminal, verifique se você já está autenticado e se o projeto está definido como seu ID do projeto usando o seguinte comando:

gcloud auth list

👉💻 Clone o projeto de bootstrap do GitHub:

git clone https://github.com/cuppibla/adk_tutorial.git

👉💻 Execute o script de inicialização. Ele vai pedir que você insira o ID do projeto do Google Cloud. Insira o ID do projeto do Google Cloud que você encontrou na última etapa quando solicitado pelo script setup_venv.sh.

cd ~/adk_tutorial
./setup_venv.sh

gcloud services enable  compute.googleapis.com \
                        artifactregistry.googleapis.com \
                        run.googleapis.com \
                        iam.googleapis.com \
                        aiplatform.googleapis.com \
                        cloudresourcemanager.googleapis.com

3. Sessão 1: seu primeiro agente na Web do ADK

Abra o ADK Web executando:

cd ~/adk_tutorial
source .adk_env/bin/activate
adk web

Depois de executar os comandos, você vai ver uma saída no terminal indicando que o servidor da Web do ADK foi iniciado, semelhante a esta:

+-----------------------------------------------------------------------------+
| ADK Web Server started                                                      |
|                                                                             |
| For local testing, access at http://localhost:8000.                         |
+-----------------------------------------------------------------------------+

INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)

👉 Em seguida, para acessar a interface de desenvolvimento do ADK no navegador:

No ícone de visualização da Web (geralmente um olho ou um quadrado com uma seta) na barra de ferramentas do Cloud Shell (geralmente no canto superior direito), selecione "Alterar porta". Na janela pop-up, defina a porta como 8000 e clique em Alterar e visualizar. O Cloud Shell vai abrir uma nova guia ou janela do navegador mostrando a interface de desenvolvimento do ADK.

webpreview

👉 Seu ritual de invocação foi concluído, e o agente está em execução. A interface de desenvolvimento do ADK no navegador é sua conexão direta com o Familiar.

Escolha o agente de fluxo de trabalho paralelo: no menu suspenso na parte de cima da interface, escolha o parallel_agent.

Você pode selecionar o single_agent aqui: traçado de imagem de agentes únicos

Confira o rastreamento aqui: traçado de um único agente

👉 Teste o comando:

Plan a trip from Sunnyvale to San Francisco this weekend, I love food and art.

4. Sessão 2: agente de fluxo de trabalho: agente sequencial, agente paralelo, agente de loop

Agente paralelo

Escolha o agente de fluxo de trabalho paralelo: no menu suspenso na parte de cima da interface, escolha o parallel_agent.

👉 Teste o comando:

Plan my trip to San Francisco, I want to find some good concert, restaurant and museum.

Você pode selecionar o parallel_agent aqui: traçando imagem de agentes paralelos

Confira o rastreamento aqui: traçando imagem de agentes paralelos

Agente sequencial

Escolha o agente de fluxo de trabalho sequencial: no menu suspenso na parte de cima da interface, escolha o sequential_agent.

👉 Teste o comando:

Find a good sushi near Standford and tell me how to get there.

Você pode selecionar o sequential_agent aqui: traçando a imagem de agentes sequenciais

Confira o rastreamento aqui: traçando a imagem de sequential_agent

Agente do Loop

Escolha o agente de fluxo de trabalho do Loop: no menu suspenso na parte de cima da interface, escolha o loop_agent.

👉 Teste o comando:

Plan a trip from Sunnyvale to San Francisco today.

Você pode selecionar o loop_agent aqui: traçando imagem de agentes de loop

Confira o rastreamento aqui: traçando imagem de agentes de loop

5. Sessão 3: agente personalizado

Depois que a interface da Web do ADK for aberta, selecione o agente Custom_Agent.

👉 Teste o comando:

Plan a trip from Sunnyvale to San Francisco this weekend, I love food and art. Make sure within budget of 100 dollars.

Você pode selecionar o Custom_Agent aqui: traçando a imagem de Custom_Agent

Confira o rastreamento aqui: traçando a imagem de Custom_Agent

6. Sessão 4: padrão de orquestrador: agente de roteamento

Depois que a interface da Web do ADK for aberta, selecione o routing_agent.

👉 Teste o comando:

Plan a trip from Sunnyvale to San Francisco this weekend, I love concert, restaurant and museum.

Você pode selecionar o routing_agent aqui: traçando imagem de agentes de roteamento

Confira o rastreamento aqui: traçando imagem de agentes de roteamento

7. Sessão 5: agente como ferramenta

Depois que a interface da Web do ADK for aberta, selecione o agente Agent_as_tool.

👉 Teste o comando:

Plan a trip from Sunnyvale to San Francisco this weekend, I love concert, restaurant and museum.

Você pode selecionar o agent_as_tool aqui: imagem de rastreamento do agente como ferramenta

Confira o rastreamento aqui: traçando imagem de agentes de roteamento

8. Sessão 6: agente com memória de longo prazo

👉💻 Teste sua memória de longo prazo acessando a pasta e usando o corredor para ativar o agente:

cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/f_agent_with_memory
python main.py

👉 Teste o comando:

I like Art and Italian food.

Em seguida, pressione "crtl+C" para encerrar a sessão. Reinicie a sessão:

cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/f_agent_with_memory
python main.py

👉 Teste o comando:

Plan a trip to San Francisco based on my preference.

9. Sessão 7: capacitar seu agente com o MCP

Etapa 1: preparar o banco de dados local

👉💻 execute o seguinte comando no terminal

cd ~/adk_tutorial
source .adk_env/bin/activate
chmod +x setup_trip_database.py
./setup_trip_database.py

Etapa 2: instale e execute o servidor da caixa de ferramentas do MCP

👉💻 execute o seguinte comando no terminal

cd ~/adk_tutorial/mcp_tool_box
export VERSION=0.16.0
curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox

depois que o download terminar e execute

chmod +x toolbox

Etapa 3

Em um terminal, execute o seguinte comando:

cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/mcp_tool_box
./toolbox --tools-file "trip_tools.yaml" --port 7001

Em outro terminal, execute o seguinte comando:

cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/g_agents_mcp
python main.py