1. Обзор
В этом практическом занятии вы создадите сложную многоагентную систему для исследования инвестиций, которая объединит возможности комплекта разработки агентов Google (ADK), графовой базы данных Neo4j и инструментария Model Context Protocol (MCP). В этом практическом руководстве показано, как создавать интеллектуальных агентов, которые понимают контекст данных через графовые связи и предоставляют высокоточные ответы на запросы.
Почему GraphRAG + многоагентные системы?
GraphRAG (Graph-based Retrieval-Augmented Generation) расширяет возможности традиционных подходов к поиску информации, используя богатую структуру связей в графах знаний. Вместо простого поиска похожих документов, агенты GraphRAG могут:
- Прослеживание сложных взаимосвязей между сущностями.
- Понимание контекста через структуру графа.
- Предоставьте объяснимые результаты на основе связанных данных.
- Выполнить многошаговое логическое рассуждение в рамках графа знаний.
Многоагентные системы позволяют вам:
- Разложите сложные проблемы на специализированные подзадачи.
- Создавайте модульные, поддерживаемые приложения на основе искусственного интеллекта.
- Обеспечить параллельную обработку и эффективное использование ресурсов.
- Создавайте иерархические модели рассуждений с помощью оркестровки.
Что вы построите
Вы создадите полноценную систему исследования инвестиций, включающую в себя:
- Агент графовой базы данных : выполняет запросы Cypher и понимает схему Neo4j.
- Специалист по исследованию рынка инвесторов : выявляет связи с инвесторами и формирует инвестиционные портфели.
- Специалист по инвестиционным исследованиям : получает доступ к обширным графам знаний с помощью инструментов MCP.
- Корневой агент : интеллектуально координирует работу всех подчиненных агентов.
Система будет отвечать на сложные вопросы, такие как:
- «Кто являются главными конкурентами YouTube?»
- «Какие компании упоминались с положительными отзывами в январе 2023 года?»
- «Кто инвестировал в ByteDance и куда еще они инвестировали?»
Обзор архитектуры

В ходе этого практического занятия вы изучите как концептуальные основы, так и практическую реализацию создания корпоративных агентов GraphRAG.
Что вы узнаете
- Как создавать многоагентные системы с помощью комплекта разработки агентов Google (ADK)
- Как интегрировать графовую базу данных Neo4j с ADK для приложений GraphRAG.
- Как реализовать инструментарий Model Context Protocol (MCP) для предварительно проверенных запросов к базе данных.
- Как создавать собственные инструменты и функции для интеллектуальных агентов
- Как проектировать иерархии агентов и шаблоны оркестровки
- Как структурировать инструкции для агента для достижения оптимальной производительности
- Как эффективно отлаживать взаимодействие нескольких агентов
Что вам понадобится
- Веб-браузер Chrome
- Аккаунт Gmail
- Проект Google Cloud с включенной функцией выставления счетов.
- Базовые навыки работы с командами терминала и языком Python (желательно, но не обязательно).
Этот практический урок, разработанный для разработчиков всех уровней (включая начинающих), использует Python и Neo4j в качестве примера приложения. Хотя базовое знакомство с Python и графовыми базами данных может быть полезным, для понимания концепций и выполнения заданий не требуется никакого предварительного опыта.
2. Понимание GraphRAG и многоагентных систем
Прежде чем переходить к реализации, давайте разберемся в ключевых концепциях, лежащих в основе этой системы.
Neo4j — это ведущая нативная графовая база данных, которая хранит данные в виде сети узлов (сущностей) и отношений (связей между сущностями), что делает её идеальной для задач, где понимание связей имеет ключевое значение — например, для рекомендаций, обнаружения мошенничества, построения графов знаний и многого другого. В отличие от реляционных или документоориентированных баз данных, которые полагаются на жёсткие таблицы или иерархические структуры, гибкая графовая модель Neo4j позволяет интуитивно и эффективно представлять сложные, взаимосвязанные данные.
Вместо организации данных в строках и таблицах, как в реляционных базах данных, Neo4j использует графовую модель , где информация представлена в виде узлов (сущностей) и отношений (связей между этими сущностями). Эта модель делает ее исключительно интуитивно понятной для работы с данными, которые по своей природе связаны между собой — такими как люди, места, товары или, в нашем случае, фильмы, актеры и жанры.
Например, в наборе данных о фильмах:
- Узел может представлять собой
Movie,ActorилиDirector - Отношения могут быть
ACTED_INилиDIRECTED

Такая структура позволяет легко задавать вопросы, например:
- В каких фильмах снимался этот актёр?
- Кто работал с Кристофером Ноланом?
- Какие фильмы похожи по актерскому составу или жанру?
Что такое GraphRAG?
Генерация с расширенным извлечением информации (Retrieval-Augmented Generation, RAG) улучшает ответы LLM за счет извлечения релевантной информации из внешних источников. Традиционная RAG обычно:
- Встраивает документы в векторные изображения.
- Поиск похожих векторов
- Передает полученные документы в магистратуру.
GraphRAG расширяет это, используя графы знаний:
- Встраивает сущности и связи
- Обходит соединения графа
- Извлекает контекстную информацию из нескольких переходов.
- Предоставляет структурированные, объяснимые результаты.
Почему графы необходимы для работы с ИИ-агентами?
Рассмотрим следующий вопрос: «Кто являются конкурентами YouTube, и какие инвесторы финансировали как YouTube, так и его конкурентов?»
Что происходит при традиционном подходе RAG:
- Поиск документов о конкурентах YouTube
- Отдельный поиск информации для инвесторов.
- Сложности связать эти два фрагмента информации.
- Может быть упущены неявные связи
Что происходит при использовании подхода GraphRAG:
MATCH (org:Organization {name: "OpenAI"})-[:HAS_COMPETITOR]-(competitor:Organization)
MATCH (org)-[:HAS_INVESTOR]->(investor:Person)
MATCH (competitor)-[:HAS_INVESTOR]->(investor)
RETURN org, competitor, investor
Граф естественным образом отображает взаимосвязи, что делает многошаговые запросы простыми и эффективными.
Многоагентные системы в ADK
Agent Development Kit (ADK) — это платформа с открытым исходным кодом от Google для создания и развертывания ИИ-агентов производственного уровня. Она предоставляет интуитивно понятные примитивы для оркестрации нескольких агентов, интеграции инструментов и управления рабочими процессами, что упрощает создание сложных систем на основе специализированных агентов. ADK бесперебойно работает с Gemini и поддерживает развертывание в Cloud Run, Kubernetes или любой другой инфраструктуре.
Комплект разработки агентов (ADK) предоставляет базовые элементы для создания многоагентных систем:
- Иерархия агентов:
# Root agent coordinates specialized agents
root_agent = LlmAgent(
name="RootAgent",
sub_agents=[
graph_db_agent,
investor_agent,
investment_agent
]
)
- Специализированные агенты: Каждый агент имеет
- Конкретные инструменты: функции, которые они могут вызывать.
- Четкие инструкции: его роль и возможности.
- Экспертиза в предметной области: знание своей области.
- Шаблоны оркестровки:
- Последовательный: Выполнение действий агентами в порядке следования.
- Параллельный режим: Запуск нескольких агентов одновременно.
- Условный режим: маршрутизация на основе типа запроса.
MCP Toolbox для баз данных
Протокол контекста модели (MCP) — это открытый стандарт для подключения систем искусственного интеллекта к внешним источникам данных и инструментам. MCP Toolbox for Databases — это реализация от Google, которая обеспечивает декларативное управление запросами к базам данных, позволяя определять предварительно проверенные запросы, составленные экспертами, в качестве многократно используемых инструментов. Вместо того чтобы позволять LLM-системам генерировать потенциально небезопасные запросы, MCP Toolbox предоставляет предварительно одобренные запросы с проверкой параметров, обеспечивая безопасность, производительность и надежность, сохраняя при этом гибкость для агентов ИИ.
Традиционный подход:
# LLM generates query (may be incorrect/unsafe)
query = llm.generate("SELECT * FROM users WHERE...")
db.execute(query) # Risk of errors/SQL injection
Подход MCP:
# Pre-validated query definition
- name: get_industries
description: Fetch all industries from database
query: |
MATCH (i:Industry)
RETURN i.name, i.id
Преимущества:
- Проверено экспертами.
- Защита от инъекционных атак
- Оптимизированная производительность
- Централизованное управление
- Можно использовать повторно на разных агентах.
Подводя итог всему
Сочетание GraphRAG + Multi-Agent Framework от ADK + MCP создает мощную систему:
- Корневой агент получает запрос пользователя.
- Маршрутизация к специализированному агенту в зависимости от типа запроса.
- Агент использует инструменты MCP для безопасного получения данных.
- Структура графа обеспечивает богатый контекст.
- LLM генерирует обоснованный, объяснимый ответ.
Теперь, когда мы разобрались с архитектурой, давайте начнём строить!
3. Настройка проекта Google Cloud
Создать проект
- В консоли Google Cloud на странице выбора проекта выберите или создайте проект Google Cloud.
- Убедитесь, что для вашего облачного проекта включена функция выставления счетов. Узнайте, как проверить, включена ли функция выставления счетов для проекта .
- Вы будете использовать Cloud Shell — среду командной строки, работающую в Google Cloud. Нажмите «Активировать Cloud Shell» в верхней части консоли Google Cloud. Вы можете переключаться между терминалом Cloud Shell (для выполнения облачных команд) и редактором (для сборки проектов), нажав соответствующую кнопку в Cloud Shell.

- После подключения к Cloud Shell необходимо проверить, прошли ли вы аутентификацию и установлен ли идентификатор вашего проекта, используя следующую команду:
gcloud auth list
- Выполните следующую команду в Cloud Shell, чтобы убедиться, что команда gcloud знает о вашем проекте.
gcloud config list project
- Если ваш проект не задан, используйте следующую команду для его настройки:
gcloud config set project <YOUR_PROJECT_ID>
Для получения информации о командах gcloud и их использовании обратитесь к документации .
Отлично! Теперь мы готовы перейти к следующему шагу — изучению набора данных.
4. Анализ набора данных о компаниях
Для этого практического занятия мы используем базу данных Neo4j только для чтения, предварительно заполненную данными об инвестициях и компаниях из Knowledge Graph Diffbot .
Набор данных содержит:
- 237 358 узлов, представляющих:
- Организации (компании)
- Люди (руководители, сотрудники)
- Статьи (новости и упоминания)
- Отрасли
- Технологии
- Инвесторы
- Взаимоотношения, включая:
-
HAS_INVESTOR- Инвестиционные связи -
HAS_COMPETITOR- Конкурентные отношения -
MENTIONS- Ссылки на статьи -
HAS_CEO- Трудовые отношения -
HAS_CATEGORY- Классификация отраслей промышленности

Получите доступ к демонстрационной базе данных
Для этого практического занятия мы будем использовать размещенный демонстрационный экземпляр. Добавьте эти учетные данные в свои заметки:
URI: neo4j+s://demo.neo4jlabs.com
Username: companies
Password: companies
Database: companies
Доступ через браузер:
Визуализацию данных можно осуществить по ссылке: https://demo.neo4jlabs.com:7473
Войдите в систему, используя те же учетные данные, и попробуйте запустить:
// Sample query to explore the graph
MATCH (c:Organization)-[:HAS_COMPETITOR]-(competitor:Organization)
RETURN c.name, competitor.name
LIMIT 10
Визуализация структуры графа
Попробуйте выполнить этот запрос в браузере Neo4j, чтобы увидеть закономерности взаимосвязей:
// Find investors and their portfolio companies
MATCH (company:Organization)-[:HAS_INVESTOR]->(investor:Person)
WITH investor, collect(company.name) as portfolio
RETURN investor.name, size(portfolio) as num_investments, portfolio
ORDER BY num_investments DESC
LIMIT 5
Этот запрос возвращает список из 5 наиболее активных инвесторов и их портфели.
Почему именно эта база данных предназначена для GraphRAG?
Этот набор данных идеально подходит для демонстрации GraphRAG, потому что:
- Сложные взаимоотношения : комплексные связи между сущностями
- Данные из реального мира : реальные компании, люди и новостные статьи.
- Многошаговые запросы : требуют обхода нескольких типов связей.
- Временные данные : статьи с временными метками для анализа по времени.
- Анализ настроений : Предварительно рассчитанные оценки настроений для статей.
Теперь, когда вы понимаете структуру данных, давайте настроим вашу среду разработки!
5. Клонирование репозитория и настройка среды.
Клонируйте репозиторий
В терминале Cloud Shell выполните следующую команду:
# Clone the repository
git clone https://github.com/sidagarwal04/neo4j-adk-multiagents.git
# Navigate into the directory
cd neo4j-adk-multiagents
Изучите структуру репозитория.
Уделите немного времени, чтобы ознакомиться с структурой проекта:
neo4j-adk-multiagents/
├── investment_agent/ # Main agent code
│ ├── agent.py # Agent definitions
│ ├── tools.py # Custom tool functions
│ └── .adk/ # ADK configuration
│ └── tools.yaml # MCP tool definitions
├── main.py # Application entry point
├── setup_tools_yaml.py # Configuration generator
├── requirements.txt # Python dependencies
├── example.env # Environment template
└── README.md # Project documentation
Настройка виртуальной среды
Создайте и активируйте виртуальное окружение Python с помощью uv:
# Install uv if not already installed
pip install uv
# Create virtual environment
uv venv
# Activate the environment
source .venv/bin/activate # On macOS/Linux
# or
.venv\Scripts\activate # On Windows
В конце командной строки терминала должно появиться расширение (.venv) .
Установите зависимости
Установите все необходимые пакеты:
uv pip install -r requirements.txt
К основным зависимостям относятся:
txtgoogle-adk>=1.21.0 # Agent Development Kit
neo4j>=6.0.3 # Neo4j Python driver
python-dotenv>=1.0.0 # Environment variables
google-cloud-aiplatform>=1.30.0 # Vertex AI
Настройка переменных среды
- Создайте свой файл
.env:
cp example.env .env
- Отредактируйте файл
.env:
При использовании Cloud Shell нажмите «Открыть редактор» на панели инструментов, затем перейдите к .env и обновите его:
Чтобы отобразить скрытый файл .env :
В редакторе Google Cloud Shell нажмите View > Toggle Hidden files .
# Neo4j Configuration (Demo Database)
NEO4J_URI=neo4j+s://demo.neo4jlabs.com
NEO4J_USERNAME=companies
NEO4J_PASSWORD=companies
NEO4J_DATABASE=companies
# Google AI Configuration
# Choose ONE of the following options:
# Option 1: Google AI API (Recommended)
GOOGLE_GENAI_USE_VERTEXAI=0
GOOGLE_API_KEY=your_api_key_here # Get from https://aistudio.google.com/app/apikey
# Option 2: Vertex AI (If using GCP)
# GOOGLE_GENAI_USE_VERTEXAI=1
# GOOGLE_CLOUD_PROJECT=your-project-id
# GOOGLE_CLOUD_LOCATION=us-central1
# ADK Configuration
GOOGLE_ADK_MODEL=gemini-3.1-flash-lite-preview # or gemini-3-flash-preview
# MCP Toolbox Configuration
MCP_TOOLBOX_URL=https://toolbox-990868019953.us-central1.run.app/mcp/sse
- Сгенерировать конфигурацию MCP Toolbox:
Запустите скрипт установки, чтобы создать файл tools.yaml на основе ваших переменных окружения:
python setup_tools_yaml.py
В результате будет сгенерирован файл investment_agent/.adk/tools.yaml , содержащий ваши учетные данные Neo4j, правильно настроенные для инструментов MCP.
Проверка конфигурации
Убедитесь, что всё настроено правильно:
# Verify .env file exists
ls -la .env
# Verify tools.yaml was generated
ls -la investment_agent/.adk/tools.yaml
# Test Python environment
python -c "import google.adk; print('ADK installed successfully')"
# Test Neo4j connection
python -c "from neo4j import GraphDatabase; print('Neo4j driver installed')"
Ваша среда разработки полностью настроена! Далее мы перейдём к многоагентной архитектуре.
6. Понимание многоагентной архитектуры
Четырехагентная система
Наша система исследования инвестиций использует иерархическую многоагентную архитектуру, в которой четыре специализированных агента работают вместе, чтобы отвечать на сложные запросы о компаниях, инвесторах и рыночной информации.
┌──────────────┐
│ Root Agent │ ◄── User Query
└──────┬───────┘
│
┌────────────────┼────────────────┐
│ │ │
┌─────▼─────┐ ┌────▼─────┐ ┌────▼──────────┐
│ Graph DB │ │ Investor │ │ Investment │
│ Agent │ │ Research │ │ Research │
└───────────┘ │ Agent │ │ Agent │
└──────────┘ └───────────────┘
- Корневой агент (Оркестратор):
Корневой агент выступает в роли интеллектуального координатора всей системы. Он получает запросы пользователей, анализирует их намерения и направляет запросы наиболее подходящему специализированному агенту. Представьте его как менеджера проекта, который понимает, какой член команды лучше всего подходит для каждой задачи. Он также обрабатывает агрегацию ответов, форматируя результаты в виде таблиц или диаграмм по запросу, и поддерживает контекст диалога между несколькими запросами. Корневой агент всегда отдает предпочтение специализированным агентам перед общим агентом базы данных, гарантируя, что запросы обрабатываются наиболее опытным компонентом.
- Агент графовой базы данных:
Агент графовой базы данных — это ваше прямое подключение к мощным возможностям Neo4j в области графовых баз данных. Он понимает схему базы данных, генерирует запросы Cypher на основе естественного языка и выполняет сложные обходы графа. Этот агент специализируется на структурных вопросах, агрегациях и многошаговом рассуждении в рамках графа знаний. Он является резервным вариантом, когда запросы требуют пользовательской логики, с которой не могут справиться предопределенные инструменты, что делает его незаменимым для исследовательского анализа и сложных аналитических запросов, которые не были предусмотрены при проектировании системы.
- Агент по анализу рынка для инвесторов:
Агент по исследованию инвесторов специализируется исключительно на инвестиционных связях и анализе портфелей. Он может определить, кто инвестировал в конкретные компании, используя точное совпадение названий, получить полные инвестиционные портфели со всеми их инвестициями и проанализировать инвестиционные модели в разных отраслях. Эта специализация делает его чрезвычайно эффективным в ответах на такие вопросы, как «Кто инвестировал в ByteDance?» или «В какие еще компании инвестировала Sequoia Capital?». Агент использует пользовательские функции Python, которые напрямую запрашивают базу данных Neo4j для поиска связей между инвесторами.
- Агент по инвестиционным исследованиям:
Агент инвестиционных исследований использует инструментарий Model Context Protocol (MCP) для доступа к предварительно проверенным запросам, составленным экспертами. Он может получать информацию обо всех доступных отраслях, находить компании в конкретных отраслях, статьи с анализом настроений, обнаруживать упоминания организаций в новостях и получать информацию о сотрудниках компаний. В отличие от агента графовых баз данных, который генерирует запросы динамически, этот агент использует безопасные, оптимизированные, предопределенные запросы, которые централизованно управляются и проверяются. Это делает его одновременно безопасным и производительным для распространенных рабочих процессов исследования.
7. Запуск и тестирование многоагентной системы
Запустите приложение
Теперь, когда вы понимаете архитектуру, давайте запустим всю систему и научимся с ней взаимодействовать.
Запустите веб-интерфейс ADK:
# Make sure you're in the project directory with activated virtual environment
cd ~/neo4j-adk-multiagents
source .venv/bin/activate # If not already activated
# Launch the application
uv run adk web
Вы должны увидеть результат, похожий на следующий:
INFO: Started server process [2542]
INFO: Waiting for application startup.
+----------------------------------------------------------------+
| ADK Web Server started |
| |
| For local testing, access at http://127.0.0.1:8000. |
+----------------------------------------------------------------+
INFO: Application startup complete.
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
Тестовые запросы и ожидаемое поведение
Давайте изучим возможности системы, используя запросы постепенно усложняющейся сложности:
Базовые запросы (с одним агентом)
Запрос 1: Определить отрасли
What industries are available in the database?
Ожидаемое поведение:
- Маршруты корневого агента к агенту по инвестиционным исследованиям
- Использует инструмент MCP:
get_industries() - Возвращает отформатированный список всех отраслей.
На что следует обратить внимание:
В пользовательском интерфейсе ADK разверните сведения о выполнении, чтобы увидеть:
- решение о выборе агента
- Вызов инструмента:
get_industries() - Исходные результаты из Neo4j
- Отформатированный ответ
Запрос 2: Найти инвесторов
Who invested in ByteDance?
Ожидаемое поведение:
- Root Agent определяет этот запрос как запрос, связанный с инвесторами.
- Пути к агенту по исследованиям рынка инвесторов
- Использует инструмент:
find_investor_by_name("ByteDance") - Информация о доходности инвестиций с указанием их типа (человек/организация).
Ожидаемый ответ:
I found 2 investors in ByteDance:
1. Rong Yue (Person)
2. Wendi Murdoch (Person)
Would you like to know more about their investment portfolios?
Запрос 3: Компании по отраслям**
I found 2 investors in ByteDance:
1. Rong Yue (Person)
2. Wendi Murdoch (Person)
Would you like to know more about their investment portfolios?
"Show me companies in the Artificial Intelligence industry"
Ожидаемое поведение:
- Маршруты корневого агента к агенту по инвестиционным исследованиям
- Использует инструмент MCP:
get_companies_in_industry("Artificial Intelligence") - Возвращает список компаний, занимающихся искусственным интеллектом, с указанием идентификаторов и дат основания.
На что следует обратить внимание:
- Обратите внимание, как агент использует точное сопоставление названий отраслей.
- Результаты ограничены, чтобы избежать чрезмерного объема данных.
- Данные отформатированы для удобства чтения.
Промежуточные запросы (многоэтапные в рамках одного агента)
Запрос 4: Анализ настроений
Find articles with positive sentiment from January 2023
Ожидаемое поведение:
- Пути к агенту по инвестиционным исследованиям
- Использует инструмент MCP:
get_articles_with_sentiment(0.7, 2023, 1) - Возвращает статьи с заголовками, оценками эмоциональной окраски и датами публикации.
Совет по отладке:
Посмотрите на параметры вызова инструмента:
-
min_sentiment: 0.7 (агент интерпретирует «положительный» как >= 0.7) -
year: 2023 -
month: 1
Запрос 5: Сложный запрос к базе данных
How many companies are in the database?
Ожидаемое поведение:
- Маршруты корневого агента к агенту графовой базы данных
- Агент сначала вызывает функцию
get_neo4j_schema(), чтобы понять структуру. - Генерирует Cypher:
MATCH (c:Company) RETURN count(c) - Выполняет запрос и возвращает количество.
Ожидаемый ответ:
There are 8,064 companies in the database.
Расширенные запросы (координация нескольких агентов)
Запрос 6: Анализ портфеля
Who invested in ByteDance and what else have they invested in?
Ожидаемое поведение:
Это запрос, состоящий из двух частей и требующий координации действий агентов:
- Шаг 1 : Корневой агент → Агент по исследованию инвесторов
- Вызовы
find_investor_by_name("ByteDance") - Список инвесторов составлен: [Ронг Юэ, Венди Мердок]
- Шаг 2 : Для каждого инвестора → Агент по исследованию инвесторов
- Вызов функции
find_investor_by_id(investor_id) - Извлекает полный портфель.
- Шаг 3 : Агрегирование и форматирование данных корневым агентом.
Ожидаемый ответ:
I found 2 investors in ByteDance. Here are their portfolios:
1. Rong Yue (Person)
- ByteDance
- Inspur
2. Wendi Murdoch (Person)
- ByteDance
- (No other investments in database)
На что следует обратить внимание:
- Последовательный вызов нескольких инструментов
- Контекст сохраняется между шагами
- Результаты агрегированы интеллектуально.
Запрос 7: Многопрофильные исследования
What are 5 AI companies mentioned in positive articles, and who are their CEOs?
Ожидаемое поведение:
Для выполнения этого сложного запроса требуется несколько агентов и инструментов:
- Шаг 1 : Агент по инвестиционным исследованиям
-
get_companies_in_industry("Artificial Intelligence") - Выводит список компаний, занимающихся искусственным интеллектом.
- Шаг 2 : Агент по инвестиционным исследованиям
-
get_articles_with_sentiment(0.8) - Возвращает положительные отзывы
- Шаг 3 : Фильтры корневого агента
- Определяет, какие компании, занимающиеся искусственным интеллектом, упоминаются в позитивных статьях.
- Выбирает топ-5
- Шаг 4 : Агент по инвестиционным исследованиям
-
get_people_in_organizations([company_names], "CEO") - Возвращает информацию о генеральном директоре
- Шаг 5 : Корневой агент форматирует данные в виде таблицы.
Ожидаемый ответ:
Here are 5 AI companies with positive news and their CEOs:
| Company | Industry | CEO | Avg Sentiment |
|---------|----------|-----|---------------|
| OpenAI | Artificial Intelligence | Sam Altman | 0.92 |
| Anthropic | Artificial Intelligence | Dario Amodei | 0.89 |
| ... | ... | ... | ... |
На что следует обратить внимание:
- Многочисленные вызовы инструментов разными агентами
- Логика фильтрации и объединения данных
- Профессиональное форматирование таблиц
Запрос 8: Конкурентный анализ
Who are YouTube's main competitors?
Ожидаемое поведение:
- Маршруты корневого агента к агенту графовой базы данных (запросы на установление связей).
- Агент генерирует Cypher, улучшенный с помощью GraphRAG:
MATCH (c:Company {name: "YouTube"})-[:COMPETES_WITH]->(competitor)
RETURN competitor.name as competitor_name
- Выводит список конкурирующих компаний.
Ожидаемый ответ:
YouTube's main competitors are:
- TikTok (ByteDance)
- Dailymotion
- Twitter
- BuzzFeed
- Mixer
- OpenAI (for video content)
Контекстно-зависимые последующие запросы
Вопрос 9: Дополнительный вопрос (после вопроса 8)
Which investors funded both YouTube and its competitors?
Ожидаемое поведение:
- Root Agent запоминает предыдущий контекст (YouTube и его конкуренты).
- Пути к агенту по исследованиям рынка инвесторов
- YouTube и его конкуренты ищут инвесторов.
- Выявляет инвесторов, фигурирующих в нескольких компаниях.
Ожидаемый ответ:
Based on our previous analysis of YouTube's competitors, I found these
investors who funded multiple companies in this competitive landscape:
Sequoia Capital invested in:
- YouTube
- TikTok (ByteDance)
- Twitter
Accel Partners invested in:
- YouTube
- BuzzFeed
This suggests these investors have strategic positions across the video content platform ecosystem.
Запрос 10: Краткое изложение результатов исследования
Summarize our research findings so far
Ожидаемое поведение:
- Root Agent просматривает историю переписки.
- Обобщает основные выводы из предыдущих запросов.
- Предоставляет связное резюме.
Ожидаемый ответ:
Here's a summary of our investment research session:
1. Industry Overview: We explored the Artificial Intelligence industry
with 150+ companies in the database.
2. ByteDance Analysis:
- Investors: Rong Yue, Wendi Murdoch
- Rong Yue also invested in Inspur
3. Market Sentiment: We analyzed articles from January 2023, finding
strong positive sentiment (avg 0.85) for tech companies.
4. Competitive Landscape: YouTube faces competition from TikTok,
Dailymotion, and others, with some investors (Sequoia, Accel) holding
positions across competing platforms.
5. Key Players: Identified CEOs of major AI companies with positive media coverage.
Понимание взаимодействия агентов в режиме отладки
Веб-интерфейс ADK обеспечивает детальную видимость выполнения. Вот на что следует обратить внимание:
- Хронология событий
Отображает хронологическую последовательность событий:
[USER] Query received
[ROOT_AGENT] Analyzing query intent
[ROOT_AGENT] Routing to investment_research_agent
[INVESTMENT_RESEARCH_AGENT] Tool call: get_companies_in_industry
[TOOL] Executing with params: {"industry_name": "Artificial Intelligence"}
[TOOL] Returned 47 results
[INVESTMENT_RESEARCH_AGENT] Formatting response
[ROOT_AGENT] Presenting to user
- Сведения о вызове инструмента
Нажмите на любой вызов инструмента, чтобы увидеть:
- Название функции
- Входные параметры
- Возвращаемое значение
- Время выполнения
- Любые ошибки
- Принятие решений агентом
Обратите внимание на аргументацию магистра права:
- Почему был выбран именно этот агент
- Как система интерпретировала запрос
- Какие инструменты были учтены
- Почему результаты отображаются именно таким образом
Общие наблюдения и выводы
- Шаблоны маршрутизации запросов:
- Ключевые слова, такие как "инвестор", "инвестировал" → Агент по исследованию рынка инвестиций
- Ключевые слова, такие как «отрасль», «компании», «статьи» → Агент по инвестиционным исследованиям
- Агрегирование, подсчеты, сложная логика → Агент графовой базы данных
- Примечания к исполнению:
- Инструменты MCP обычно работают быстрее (предварительно оптимизированные запросы).
- Генерация сложных шифров занимает больше времени (время на обдумывание в рамках магистерской программы).
- Многократные вызовы инструментов увеличивают задержку, но обеспечивают более качественные результаты.
- Обработка ошибок:
- Если запрос не выполнен:
- Агент объясняет, что пошло не так.
- Предлагает исправления (например, "Название компании не найдено, проверьте орфографию")
- Возможно, стоит попробовать альтернативные подходы.
Советы по эффективному тестированию
- Начните с простого : протестируйте основные функции каждого агента, прежде чем выполнять сложные запросы.
- Используйте дополнительные вопросы : проверьте запоминание контекста с помощью дополнительных вопросов.
- Наблюдение за маршрутизацией : следите за тем, какой агент обрабатывает каждый запрос, чтобы понять логику.
- Проверка вызовов инструментов : Убедитесь, что параметры корректно извлекаются из естественного языка.
- Протестируйте нестандартные случаи : попробуйте неоднозначные запросы, орфографические ошибки или необычные обращения.
Теперь у вас есть полностью функциональная многоагентная система GraphRAG! Поэкспериментируйте со своими собственными вопросами, чтобы изучить её возможности.
8. Уборка
Чтобы избежать списания средств с вашего аккаунта Google Cloud за ресурсы, использованные в этой статье, выполните следующие действия:
- В консоли Google Cloud перейдите на страницу «Управление ресурсами» .
- В списке проектов выберите проект, который хотите удалить, и нажмите кнопку «Удалить» .
- В диалоговом окне введите идентификатор проекта, а затем нажмите «Завершить» , чтобы удалить проект.
9. Поздравляем!
🎉 Поздравляем! Вы успешно создали многоагентную систему GraphRAG производственного уровня, используя комплект разработки агентов Google, Neo4j и MCP Toolbox!
Сочетая интеллектуальные возможности оркестровки ADK с богатой взаимосвязями моделью данных Neo4j и безопасностью предварительно проверенных запросов MCP, вы создали сложную систему, которая выходит за рамки простых запросов к базе данных — она понимает контекст, рассуждает в рамках сложных взаимосвязей и координирует работу специализированных агентов для предоставления всесторонних и точных аналитических данных.
В этом практическом задании вы выполнили следующие действия:
✅ Создана многоагентная система с использованием комплекта разработки агентов Google (ADK) с иерархической оркестрацией.
✅ Интегрированная графовая база данных Neo4j для использования запросов с учетом взаимосвязей и многошагового логического вывода.
✅ Внедрен инструментарий MCP Toolbox для безопасных, предварительно проверенных запросов к базе данных в виде многократно используемых инструментов.
✅ Созданы специализированные агенты для исследования инвесторов, анализа инвестиций и работы с графовыми базами данных.
✅ Разработана интеллектуальная система маршрутизации , которая автоматически распределяет запросы между наиболее подходящими экспертами.
✅ Обработка сложных типов данных с корректной сериализацией типов Neo4j для бесшовной интеграции с Python.
✅ Применение передовых методов проектирования агентов, обработки ошибок и отладки системы.
Что дальше?
Эта многоагентная архитектура GraphRAG не ограничивается инвестиционными исследованиями — её можно расширить на следующие области применения:
- Финансовые услуги : оптимизация портфеля, оценка рисков, выявление мошенничества.
- Здравоохранение : координация ухода за пациентами, анализ лекарственных взаимодействий, клинические исследования.
- Электронная коммерция : персонализированные рекомендации, оптимизация цепочки поставок, анализ потребительских предпочтений.
- Правовые вопросы и соблюдение нормативных требований : анализ контрактов, мониторинг регулирующих органов, исследование прецедентного права.
- Академические исследования : обзор литературы, поиск сотрудничества, анализ цитирования.
- Корпоративная аналитика : конкурентный анализ, исследование рынка, графы организационных знаний.
Везде, где есть сложные взаимосвязанные данные , экспертные знания в предметной области и интерфейсы на естественном языке , это сочетание многоагентных систем ADK, графов знаний Neo4j и запросов, проверенных с помощью MCP, может обеспечить работу интеллектуальных корпоративных приложений нового поколения.
По мере дальнейшего развития комплекта разработки агентов Google и моделей Gemini вы сможете внедрять еще более сложные модели рассуждений, интеграцию данных в реальном времени и многомодальные возможности для создания по-настоящему интеллектуальных, контекстно-ориентированных систем.
Продолжайте исследовать, продолжайте создавать и выводите свои приложения с интеллектуальными агентами на новый уровень!
Изучите дополнительные практические руководства по графам знаний на Neo4j GraphAcademy и откройте для себя новые шаблоны агентов в репозитории примеров ADK .
🚀 Готовы создать свою следующую интеллектуальную систему агентов?