В этом руководстве мы рассмотрим расширенные возможности набора для разработки агентов (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 отображаются следующие статистические данные:
* Общее количество созданных агентов.
* Общее количество выполненных задач.
* Модель, используемая для агентов.
* Тип запуска агентов.