В этом руководстве мы рассмотрим расширенные возможности набора для разработки агентов (Agent Development Kit, ADK) от Google, создав мультиагентную систему с специализированными ролями и инструментами. Мы покажем, как создавать агентов, предназначенных для выполнения таких задач, как веб-исследования, математические вычисления, анализ данных и создание контента.
Установка и импорт библиотек
Для начала установим пакет google-adk и импортируем необходимые библиотеки для создания нашей агентской системы. Чтобы аутентифицировать наш доступ, мы получим ключ API Google либо из окружения, либо с помощью модуля getpass. Это обеспечит бесперебойное взаимодействие наших агентов с инструментами и сервисами Google.
“`python
import os
import asyncio
import json
from typing import List, Dict, Any
from dataclasses import dataclass
from google.adk.agents import Agent, LlmAgent
from google.adk.tools import google_search
“`
Создание специализированных агентов
Мы создадим мультиагентную систему со специализированными ролями:
- Исследователь: специалист по веб-исследованиям и сбору информации.
- Калькулятор: эксперт по математическим вычислениям и анализу.
- Аналитик: специалист по анализу данных и статистическим исследованиям.
- Писатель: эксперт по созданию контента и написанию документов.
“`python
@dataclass
class TaskResult:
“””Data structure for task results”””
agent_name: str
task: str
result: str
metadata: Dict[str, Any] = None
class AdvancedADKTutorial:
“””Main tutorial class demonstrating ADK capabilities”””
def init(self):
self.model = “gemini-1.5-flash”
self.agents = {}
self.results = []
def createspecializedagents(self):
“””Create a multi-agent system with specialized roles”””
self.agents[‘researcher’] = Agent(
name=”researcher”,
model=self.model,
instruction=”””You are a research specialist. Use Google Search to find
accurate, up-to-date information. Provide concise, factual summaries with sources.
Always cite your sources and focus on the most recent and reliable information.”””,
description=”Specialist in web research and information gathering”,
tools=[google_search]
)
# … (далее создание других агентов)
“`
Демонстрация возможностей агентов
Мы продемонстрируем возможности каждого агента, выполнив асинхронные методы для запуска агентов с соответствующими входными данными.
“`python
async def demonstratesingleagent_research(self):
“””Demonstrate single agent research capabilities”””
print(“\n=== Single Agent Research Demo ===”)
query = “What are the latest developments in quantum computing breakthroughs in 2024?”
print(f”Research Query: {query}”)
try:
responsetext = await self.runagentwithinput(
agent=self.agents[‘researcher’],
user_input=query
)
summary = responsetext[:300] + “…” if len(responsetext) > 300 else response_text
task_result = TaskResult(
agent_name=”researcher”,
task=”Quantum Computing Research”,
result=summary
)
self.results.append(task_result)
print(f”✓ Research Complete: {summary}”)
return response_text
except Exception as e:
error_msg = f”Research failed: {str(e)}”
print(f” {error_msg}”)
return error_msg
“`
Отображение сводки результатов
В конце мы отобразим сводку результатов выполнения каждого агента.
“`python
def displaycomprehensivesummary(self):
“””Display comprehensive tutorial summary and results”””
print(“\n” + “=”*70)
print(” ADVANCED ADK TUTORIAL – COMPREHENSIVE SUMMARY”)
print(“=”*70)
print(f”\n EXECUTION STATISTICS:”)
print(f” • Total agents created: {len(self.agents)}”)
print(f” • Total tasks completed: {len(self.results)}”)
print(f” • Model used: {self.model} (Free Tier)”)
print(f” • Runner type: Direct Agent Execution”)
# … (далее отображение сводки)
“`
Мы успешно создали и развернули полностью функциональную мультиагентную систему с помощью Google ADK. Наши агенты справились с разнообразными задачами, от проведения исследований в реальном времени и решения сложных финансовых уравнений до анализа тенденций данных и создания исполнительных сводок.
Мы также подчеркнули, как фреймворк ADK поддерживает обработку ошибок, расширяемость и бесшовную интеграцию с инструментами. Благодаря этому практическому опыту мы обрели уверенность в использовании ADK для разработки надёжных агентских решений для реальных задач.
1. Какие специализированные роли агентов можно создать с помощью Google ADK?
В статье описывается создание мультиагентной системы с четырьмя специализированными ролями: Исследователь (специалист по веб-исследованиям и сбору информации), Калькулятор (эксперт по математическим вычислениям и анализу), Аналитик (специалист по анализу данных и статистическим исследованиям) и Писатель (эксперт по созданию контента и написанию документов).
2. Какие инструменты и библиотеки необходимо импортировать для создания мультиагентной системы с помощью Google ADK?
Для создания мультиагентной системы с помощью Google ADK необходимо импортировать следующие библиотеки и инструменты: `os`, `asyncio`, `json`, `typing`, `dataclasses`, `google.adk.agents`, `google.adk.tools`, а также `google_search`.
3. Какие возможности демонстрирует каждый агент в мультиагентной системе, созданной с помощью Google ADK?
В мультиагентной системе, созданной с помощью Google ADK, каждый агент демонстрирует свои уникальные возможности:
* Исследователь выполняет веб-исследования и собирает информацию.
* Калькулятор занимается математическими вычислениями и анализом.
* Аналитик проводит анализ данных и статистические исследования.
* Писатель создаёт контент и пишет документы.
4. Какие методы используются для запуска агентов с соответствующими входными данными в мультиагентной системе с помощью Google ADK?
Для запуска агентов с соответствующими входными данными в мультиагентной системе с помощью Google ADK используются асинхронные методы. В статье приводится пример метода `demonstratesingleagent_research`, который запускает агента-исследователя с запросом о последних разработках в области квантовых вычислений в 2024 году.
5. Какие статистические данные отображаются при демонстрации сводки результатов выполнения каждого агента в мультиагентной системе с помощью Google ADK?
При демонстрации сводки результатов выполнения каждого агента в мультиагентной системе с помощью Google ADK отображаются следующие статистические данные:
* Общее количество созданных агентов.
* Общее количество выполненных задач.
* Модель, используемая для агентов.
* Тип запуска агентов.