1. 總覽
在本程式碼實驗室中,您將建構精密的投資研究多代理系統,結合 Google 的 Agent Development Kit (ADK)、Neo4j 圖形資料庫和 Model Context Protocol (MCP) 工具箱的強大功能。本實作教學課程將示範如何建立智慧型代理程式,透過圖形關係瞭解資料內容,並提供準確度極高的查詢回覆。
為何要使用 GraphRAG + 多代理系統?
GraphRAG (以圖形為基礎的檢索增強生成) 運用知識圖譜豐富的關係結構,強化傳統 RAG 方法。GraphRAG 代理程式不僅能搜尋類似文件,還可執行下列操作:
- 遍歷實體間的複雜關係
- 透過圖表結構瞭解脈絡
- 根據連結的資料提供可解釋的結果
- 在知識圖譜中執行多跳推論
多代理系統可讓您:
- 將複雜問題分解為專業的子任務
- 建構可維護的模組化 AI 應用程式
- 啟用平行處理功能,有效運用資源
- 透過自動化調度管理建立階層式推理模式
建構項目
您將建立完整的投資研究系統,內含:
- 圖形資料庫代理程式:執行 Cypher 查詢並瞭解 Neo4j 結構定義
- 投資人研究代理:發掘投資人關係和投資組合
- 投資研究代理程式:透過 MCP 工具存取全面的知識圖譜
- 根代理:智慧調度管理所有子代理
系統會回答複雜問題,例如:
- 「YouTube 的主要競爭對手是誰?」
- 「2023 年 1 月有哪些公司獲得正面評價?」
- 「誰投資了字節跳動?他們還投資了哪些公司?」
架構總覽

在本程式碼研究室中,您將學習建構企業級 GraphRAG 代理程式的概念基礎和實作方式。
課程內容
- 如何使用 Google 的 Agent Development Kit (ADK) 建構多代理系統
- 如何將 Neo4j 圖形資料庫與 ADK 整合,用於 GraphRAG 應用程式
- 如何為預先驗證的資料庫查詢實作 Model Context Protocol (MCP) Toolbox
- 如何為智慧型代理程式建立自訂工具和函式
- 如何設計代理程式階層和自動化調度管理模式
- 如何編寫虛擬服務專員指令,發揮最佳成效
- 如何有效偵錯多代理互動
軟硬體需求
- Chrome 網路瀏覽器
- Gmail 帳戶
- 已啟用計費功能的 Google Cloud 專案
- 對終端機指令和 Python 有基本瞭解 (有幫助,但非必要)
本程式碼實驗室適合各種程度的開發人員 (包括初學者),並在範例應用程式中使用 Python 和 Neo4j。雖然對 Python 和圖形資料庫有基本瞭解會很有幫助,但您不需要有相關經驗,也能瞭解概念或跟著操作。
2. 瞭解 GraphRAG 和多代理系統
開始實作前,請先瞭解這個系統背後的主要概念。
Neo4j 是領先的原生圖形資料庫,可將資料儲存為節點 (實體) 和關係 (實體之間的連結) 網路,因此非常適合用於需要瞭解連結的應用情境,例如推薦、詐欺偵測、知識圖譜等。與依賴嚴格資料表或階層式結構的關聯式或文件式資料庫不同,Neo4j 的彈性圖形模型可直覺且有效率地呈現複雜的互連資料。
Neo4j 不像關聯式資料庫那樣以資料列和資料表整理資料,而是使用圖形模型,將資訊表示為節點 (實體) 和關係 (實體之間的連結)。這個模型非常適合處理本質上相關聯的資料,例如人物、地點、產品,或以我們的例子來說,就是電影、演員和類型。
舉例來說,在電影資料集中:
- 節點可以代表
Movie、Actor或Director - 關係可以是
ACTED_IN或DIRECTED

這種結構可讓您輕鬆提出下列問題:
- 這位演員演過哪些電影?
- 誰曾與克里斯多福諾蘭合作?
- 根據共同演員或類型,找出類似的電影。
什麼是 GraphRAG?
檢索增強生成 (RAG) 技術可從外部來源檢索相關資訊,提升 LLM 回覆品質。傳統 RAG 通常會:
- 將文件嵌入向量
- 搜尋類似向量
- 將擷取的文件傳遞至 LLM
GraphRAG 則使用知識圖譜擴充這項技術:
- 嵌入實體和關係
- 遍歷圖形連線
- 擷取多跳情境資訊
- 提供結構化且可解釋的結果
為什麼 AI 代理需要圖表?
請思考這個問題:「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 的開放原始碼架構,可用於建構及部署實際工作環境等級的 AI 代理。提供直覺式基本元素,可自動化調度管理多個代理、整合工具及管理工作流程,讓您輕鬆將專業代理組成複雜的系統。ADK 可與 Gemini 完美搭配,並支援部署至 Cloud Run、Kubernetes 或任何基礎架構。
Agent Development Kit (ADK) 提供建構多代理系統的基礎功能:
- 代理程式階層:
# Root agent coordinates specialized agents
root_agent = LlmAgent(
name="RootAgent",
sub_agents=[
graph_db_agent,
investor_agent,
investment_agent
]
)
- 專業服務專員:每位服務專員都有
- 特定工具:可呼叫的函式
- 清楚的指令:角色和功能
- 領域專業知識:瞭解該領域
- 自動化調度管理模式:
- 依序執行代理
- 並行:同時執行多個代理程式
- 條件:根據查詢類型轉送
MCP Toolbox for Databases
Model Context Protocol (MCP) 是一項開放標準,可將 AI 系統連結至外部資料來源和工具。MCP Toolbox for Databases 是 Google 的實作項目,可啟用宣告式資料庫查詢管理,讓您將預先驗證的專家撰寫查詢定義為可重複使用的工具。MCP Toolbox 會提供預先核准的查詢並驗證參數,確保安全、效能和可靠性,同時維持 AI 代理的彈性,避免大型語言模型產生可能不安全的查詢。
傳統做法:
# 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
優點:
- 專家預先驗證
- 防範注入式攻擊
- 效能最佳化
- 集中管理
- 可在多個代理程式中重複使用
正式上線
ADK 的 GraphRAG + 多代理框架 + MCP 組合可建立強大的系統:
- 根代理程式接收使用者查詢
- 根據查詢類型轉送給專責服務專員
- 代理會使用 MCP 工具安全地擷取資料
- 圖表結構提供豐富的背景資訊
- LLM 生成有依據且可解釋的回覆
瞭解架構後,我們就開始建構吧!
3. 設定 Google Cloud 專案
建立專案
- 在 Google Cloud 控制台的專案選取器頁面中,選取或建立 Google Cloud 專案。
- 確認 Cloud 專案已啟用計費功能。瞭解如何檢查專案是否已啟用計費功能。
- 您將使用 Cloud Shell,這是 Google Cloud 中執行的指令列環境。點選 Google Cloud 控制台頂端的「啟用 Cloud Shell」。如要在 Cloud Shell 終端機 (用於執行雲端指令) 和編輯器 (用於建構專案) 之間切換,請點選 Cloud Shell 中的對應按鈕。

- 連至 Cloud Shell 後,請使用下列指令確認驗證已完成,專案也已設為獲派的專案 ID:
gcloud auth list
- 在 Cloud Shell 中執行下列指令,確認 gcloud 指令已瞭解您的專案。
gcloud config list project
- 如果未設定專案,請使用下列指令來設定:
gcloud config set project <YOUR_PROJECT_ID>
如要瞭解 gcloud 指令和用法,請參閱說明文件。
太棒了!現在可以進入下一個步驟:瞭解資料集。
4. 瞭解「公司」資料集
在本程式碼研究室中,我們使用的是唯讀的 Neo4j 資料庫,其中預先填入了來自 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
設定虛擬環境
使用 uv 建立並啟用 Python 虛擬環境:
# 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,並為 MCP 工具正確設定 Neo4j 憑證。
驗證設定
確認所有設定正確無誤:
# 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 │
└──────────┘ └───────────────┘
- 根代理程式 (協調器):
根代理程式是整個系統的智慧協調員,這項代理程式會接收使用者查詢、分析意圖,並將要求轉送給最合適的專業代理程式。這就像專案經理,瞭解哪位團隊成員最適合執行哪項工作。此外,這項功能還會處理回應匯總、視需要將結果格式化為表格或圖表,以及在多項查詢中維持對話情境。Root Agent 一律會優先選擇專門的代理程式,而非一般資料庫代理程式,確保查詢作業由最專業的元件處理。
- 圖形資料庫代理程式:
圖形資料庫代理程式可直接連線至 Neo4j 強大的圖形功能。這項工具可解讀資料庫結構定義、從自然語言生成 Cypher 查詢,並執行複雜的圖形遍歷。這項代理程式專門處理知識圖譜中的結構性問題、彙整作業和多躍點推論。當查詢需要自訂邏輯,但預先定義的工具無法處理時,這項功能就會成為備用專家,因此對於探索性分析和系統設計中未預期的複雜分析查詢而言,這項功能至關重要。
- 投資人研究代理程式:
投資人研究代理程式專門處理投資關係和投資組合分析。這項工具可透過完全相符的名稱,找出特定公司的投資人、擷取顯示所有投資的完整投資人投資組合,以及分析各產業的投資模式。因此,圖形資料庫非常適合回答「誰投資了字節跳動?」或「紅杉資本還投資了哪些公司?」這類問題。這個代理程式會使用自訂 Python 函式,直接查詢 Neo4j 資料庫中與投資人相關的關係。
- 投資研究專員:
投資研究代理會運用 Model Context Protocol (MCP) Toolbox,存取預先驗證的專家撰寫查詢。這項功能可以擷取所有可用產業、檢索特定產業中的公司、尋找含有情緒分析的文章、在新聞中找出機構提及內容,以及取得公司員工的相關資訊。與動態產生查詢的 Graph Database Agent 不同,這個代理程式會使用經過集中管理和驗證的安全最佳化預先定義查詢。因此,對於常見的研究工作流程而言,這既安全又高效。
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") - 傳回 AI 公司清單,其中包含 ID 和成立日期
觀察重點:
- 請注意,代理程式會使用完全相符的產業名稱
- 為避免輸出內容過多,結果會設有限制
- 資料格式清楚易讀
中繼查詢 (單一代理程式中的多個步驟)
查詢 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?
預期行為:
- Root Agent 會將要求轉送至 Graph Database Agent
- 代理程式會先呼叫
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") - 取得投資人清單:[Rong Yue、Wendi Murdoch]
- 步驟 2:為每位投資人指派投資人研究代理程式
- 通話
find_investor_by_id(investor_id) - 擷取完整投資組合
- 步驟 3:Root Agent 彙整及格式化
預期回覆:
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")- 傳回 AI 公司清單
- 步驟 2:投資研究代理程式
get_articles_with_sentiment(0.8)- 傳回正面文章
- 步驟 3:根代理程式篩選器
- 找出正面文章中提及的 AI 公司
- 選取前 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?
預期行為:
- 根代理會將查詢轉送至圖形資料庫代理 (關係查詢)
- 代理會生成 GraphRAG 強化的 Cypher:
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
預期行為:
- 根服務專員查看對話記錄
- 統整先前查詢的重要發現
- 提供連貫的摘要
預期回覆:
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
- 工具叫用詳細資料
按一下任一工具呼叫,即可查看:
- 函式名稱
- 輸入參數
- 傳回值
- 執行時間
- 任何錯誤
- 服務專員決策
觀察 LLM 的推理過程:
- 選擇特定代理程式的原因
- 如何解讀查詢
- 考量的工具
- 為什麼搜尋結果會以特定方式呈現
常見觀察結果和深入分析
- 查詢路徑模式:
- 「投資人」、「已投資」等關鍵字 → 投資人研究代理程式
- 「產業」、「公司」、「文章」等關鍵字 → 投資研究代理人
- 匯總、計數、複雜邏輯 → 圖表資料庫代理程式
- 效能注意事項:
- MCP 工具通常較快 (預先最佳化查詢)
- 生成複雜的 Cypher 查詢需要較長時間 (LLM 思考時間)
- 多次呼叫工具會增加延遲時間,但可提供更豐富的結果
- 錯誤處理:
- 如果查詢失敗:
- 服務專員說明問題
- 建議修正內容 (例如「找不到公司名稱,請檢查拼字」)
- 可嘗試其他方法
有效測試的訣竅
- 從簡單開始:先測試每個代理程式的核心功能,再進行複雜查詢
- 使用後續問題:透過後續問題測試脈絡保留功能
- 觀察轉送:觀察哪個代理程式處理每項查詢,瞭解邏輯
- 檢查工具呼叫:確認參數是否從自然語言正確擷取
- 測試極端案例:嘗試模糊的查詢、錯別字或不尋常的要求
您現在已擁有功能完整的多代理 GraphRAG 系統!歡迎自行提問,探索這項功能。
8. 清理
如要避免系統向您的 Google Cloud 帳戶收取本文章所用資源的費用,請按照下列步驟操作:
9. 恭喜
🎉 恭喜!您已成功使用 Google 的 Agent Development Kit、Neo4j 和 MCP Toolbox,建構生產環境品質的多代理 GraphRAG 系統!
您結合了 ADK 的智慧型自動化調度管理功能、Neo4j 關係豐富的資料模型,以及預先驗證的 MCP 查詢安全性,建立出超越簡單資料庫查詢的精巧系統。這個系統可瞭解複雜關係中的情境和原因,並協調專門的代理程式,提供全面且準確的洞察資訊。
在本程式碼研究室中,您完成了下列事項:
✅ 使用 Google 的 Agent Development Kit (ADK) 建構多代理系統,並採用階層式自動調度管理
✅ 整合 Neo4j 圖形資料庫,運用關係感知查詢和多躍點推論
✅ 導入 MCP Toolbox,以安全地預先驗證資料庫查詢,做為可重複使用的工具
✅ 建立專用代理,用於投資人研究、投資分析和圖形資料庫作業
✅ 設計智慧型轉送功能,自動將查詢委派給最合適的專家服務專員
✅ 處理複雜資料類型,並使用適當的 Neo4j 類型序列化,實現無縫 Python 整合
✅ 套用代理程式設計、錯誤處理和系統偵錯的實際工作環境最佳做法
後續步驟
這項多代理程式 GraphRAG 架構不只適用於投資研究,還可擴展至:
- 金融服務:投資組合最佳化、風險評估、詐欺偵測
- 醫療照護:病患照護協調、藥物交互作用分析、臨床研究
- 電子商務:個人化推薦內容、供應鏈最佳化、顧客洞察
- 法律和法規遵循:合約分析、法規監控、判例法研究
- 學術研究:文獻回顧、合作探索、引用分析
- 企業智慧:競爭分析、市場研究、機構知識圖譜
只要您有複雜的互連資料 + 領域專業知識 + 自然語言介面,ADK 多代理系統 + Neo4j 知識圖表 + MCP 驗證查詢的組合,就能為新一代智慧型企業應用程式提供強大支援。
隨著 Google 的 Agent Development Kit 和 Gemini 模型持續發展,您將能納入更精密的推論模式、即時資料整合和多模態功能,建構真正智慧、能感知情境的系統。
繼續探索、繼續建構,讓智慧代理程式應用程式更上一層樓!
前往 Neo4j GraphAcademy 探索更多知識圖譜實作教學課程,並在 ADK 範例存放區中發掘其他代理程式模式。
🚀 準備好建構下一個智慧型代理程式系統了嗎?
參考文件
- Google ADK:
- 官方 GitHub 存放區
- 完整說明文件
- 範例存放區
- 啟動網誌
- Neo4j:
- Neo4j GenAI Hub
- Neo4j 開發人員
- GraphRAG
- Neo4j GenAI 生態系統
- 搭配 Neo4j 和 MCP Toolbox 使用 AI 代理