1. Giới thiệu
Lớp học lập trình này nằm trong loạt bài gồm 2 phần khám phá cách xây dựng Tác nhân AI tạo sinh có nhận thức về quản trị.
(Bạn có thể đọc phần đầu tiên của loạt bài này, trong đó đề cập đến cách thiết lập nền tảng dữ liệu bằng cách áp dụng Các khía cạnh của Danh mục tri thức cho các bảng BigQuery và kiểm thử các quy tắc cục bộ thông qua Gemini CLI. 👉 Đọc Phần 1)
Tuy nhiên, việc kiểm thử trong CLI cục bộ chỉ là bước khởi đầu. Để triển khai tác nhân này cho toàn bộ công ty, bạn cần có hệ thống bảo mật tập trung, các kết nối công cụ AI được chuẩn hoá và một khung ứng dụng phù hợp để điều phối logic của tác nhân và cung cấp giao diện trò chuyện quen thuộc.
Trong phần thứ hai này, bạn sẽ giải quyết những thách thức này và mở rộng quy mô để phát hành. Bạn sẽ triển khai các quy tắc quản trị vào một máy chủ MCP tập trung được lưu trữ trên Cloud Run. Sau đó, bạn sẽ sử dụng Bộ công cụ phát triển tác nhân (ADK) của Google để xây dựng ứng dụng tác nhân thực tế và kết nối ứng dụng đó với các công cụ MCP, hoàn chỉnh với giao diện người dùng web chuyên nghiệp.

Điều kiện tiên quyết
- Một dự án trên Google Cloud đã bật tính năng thanh toán.
- Hiểu biết cơ bản về Cloud Run, Tài khoản dịch vụ IAM và Python.
- Các tập dữ liệu BigQuery và Các khía cạnh của Danh mục tri thức được tạo trong Phần 1. (Đừng lo lắng nếu bạn đã xoá các tập dữ liệu này; chúng tôi cung cấp một tập lệnh nhanh bên dưới để tạo lại các tập dữ liệu đó!)
Kiến thức bạn sẽ học được
- Cách sử dụng Giao thức ngữ cảnh mô hình (MCP) để chuẩn hoá cách các tác nhân AI tương tác với dữ liệu trên Google Cloud.
- Cách triển khai một máy chủ MCP an toàn lên Cloud Run.
- Cách xây dựng một tác nhân AI bằng Bộ công cụ phát triển tác nhân (ADK) và kết nối tác nhân đó với phần phụ trợ MCP.
- Cách chạy giao diện người dùng dành cho nhà phát triển tích hợp của ADK để tương tác với tác nhân được quản lý.
Bạn cần có
- Quyền truy cập vào Google Cloud Shell
Các khái niệm chính
- Giao thức ngữ cảnh mô hình (MCP): Hãy xem MCP như một "cáp USB-C đa năng" cho các tác nhân AI. Thay vì viết mã tích hợp API tuỳ chỉnh cho từng mô hình AI, MCP cung cấp một cách chuẩn để AI kết nối an toàn với các công cụ dữ liệu doanh nghiệp của bạn (như Danh mục tri thức và BigQuery).
- Bộ công cụ phát triển tác nhân (ADK): Một khung nguồn mở linh hoạt của Google được thiết kế để đơn giản hoá quá trình phát triển tác nhân AI toàn diện. Khung này áp dụng các nguyên tắc kỹ thuật phần mềm để tạo tác nhân, cho phép bạn điều phối các công cụ phức tạp, quản lý trạng thái và dễ dàng khởi chạy giao diện người dùng dành cho nhà phát triển tích hợp để kiểm thử và triển khai.
2. Thiết lập và yêu cầu
Khởi động Cloud Shell
Mặc dù bạn có thể vận hành Google Cloud từ xa trên máy tính xách tay, nhưng trong lớp học lập trình này, bạn sẽ sử dụng Google Cloud Shell, một môi trường dòng lệnh chạy trong Cloud.
Trên Bảng điều khiển Google Cloud, hãy nhấp vào biểu tượng Cloud Shell trên thanh công cụ ở trên cùng bên phải:

Bạn chỉ mất vài phút để cung cấp và kết nối với môi trường. Khi hoàn tất, bạn sẽ thấy nội dung như sau:

Máy ảo này được tải sẵn tất cả các công cụ phát triển mà bạn cần. Máy ảo này cung cấp một thư mục chính liên tục 5 GB và chạy trên Google Cloud, giúp nâng cao đáng kể hiệu suất mạng và quy trình xác thực. Bạn có thể thực hiện tất cả công việc trong lớp học lập trình này trong một trình duyệt. Bạn không cần cài đặt bất cứ thứ gì.
Khởi chạy môi trường
Mở Cloud Shell và đặt các biến dự án để đảm bảo tất cả các lệnh đều nhắm đến cơ sở hạ tầng chính xác.
export PROJECT_ID=$(gcloud config get-value project)
gcloud config set project $PROJECT_ID
export REGION="us-central1"
Chốt kiểm tra: Tiếp tục hay xây dựng lại?
Vì đây là Phần 2, nên tác nhân của bạn cần dữ liệu được quản lý từ Phần 1 để hoạt động. Vui lòng chọn lộ trình của bạn:
Lộ trình A: Tôi vừa hoàn thành Phần 1 và các tài nguyên của tôi vẫn đang chạy.
Tuyệt vời! Chuyển đến thư mục làm việc và bạn đã sẵn sàng tiếp tục.
cd ~/devrel-demos/data-analytics/governance-context
Lộ trình B: Tôi đã bỏ qua Phần 1 HOẶC tôi đã xoá các tài nguyên của mình (Đã dọn dẹp).
Không sao cả! Chúng tôi đã cung cấp một khối lệnh "Nhanh" bên dưới. Lệnh này sẽ tự động xây dựng lại hồ dữ liệu BigQuery và áp dụng siêu dữ liệu quản trị Danh mục tri thức giống như trong Phần 1.
# 1. Clone the repo and navigate to the working directory
git clone --depth 1 --filter=blob:none --sparse https://github.com/GoogleCloudPlatform/devrel-demos.git
cd devrel-demos
git sparse-checkout set data-analytics/governance-context
cd data-analytics/governance-context
# 2. Rebuild the messy data lake with Terraform
cd terraform
terraform init
terraform apply -var="project_id=${PROJECT_ID}" -var="region=${REGION}" -auto-approve
# 3. Generate and apply Knowledge Catalog Aspects (Governance rules)
cd ..
chmod +x ./generate_payloads.sh ./apply_governance.sh
./generate_payloads.sh
./apply_governance.sh
3. Mở rộng quy mô bằng MCP: Xây dựng mặt phẳng kiểm soát dữ liệu
Cho đến nay, bạn đã kiểm thử thành công logic quản trị bằng Gemini CLI. Điều này rất hữu ích cho việc tạo mẫu nhanh, nhưng chạy cục bộ bằng thông tin đăng nhập cá nhân của bạn.
Trong môi trường doanh nghiệp thực tế, bạn cần có một mặt phẳng kiểm soát dữ liệu tập trung. Để xây dựng mặt phẳng này, chúng ta sẽ sử dụng Bộ công cụ GenAI cho cơ sở dữ liệu, một dự án nguồn mở chính thức của Google. Bộ công cụ này cung cấp một máy chủ MCP được tạo sẵn, được thiết kế riêng để kết nối các tác nhân AI một cách an toàn với các cơ sở dữ liệu và dịch vụ siêu dữ liệu của Google Cloud như Danh mục tri thức.
Bằng cách triển khai bộ công cụ này làm Máy chủ MCP trên Cloud Run, chúng ta đạt được:
- Danh tính tập trung: Tác nhân chạy dưới dạng Tài khoản dịch vụ bị hạn chế, chứ không phải tài khoản người dùng cá nhân của bạn.
- Chuẩn hoá: Bất kỳ ứng dụng nào (ADK, Gemini, ứng dụng tuỳ chỉnh) đều có thể "kết nối" với máy chủ này bằng giao thức MCP tiêu chuẩn.
- Phạm vi được kiểm soát (đặc quyền tối thiểu): Chúng tôi không cấp quyền truy cập không giới hạn cho LLM vào BigQuery. Chúng tôi buộc LLM phải điều hướng qua danh mục siêu dữ liệu của Danh mục tri thức trước.
Định cấu hình định nghĩa công cụ (tools.yaml)
Bộ công cụ GenAI yêu cầu một tệp cấu hình khai báo, tools.yaml. Tệp này xác định sources (nơi kết nối) và tools (những gì AI được phép làm).
- Chuyển đến thư mục máy chủ và chèn Mã dự án vào tệp cấu hình:
cd ~/devrel-demos/data-analytics/governance-context/mcp_server
envsubst < tools.yaml > tools.tmp && mv tools.tmp tools.yaml
cat tools.yaml
Tệp này sẽ có dạng giống như đoạn mã sau. Xác minh rằng trường dự án hiện khớp với Mã dự án Google Cloud thực tế của bạn.
sources:
dataplex:
kind: dataplex
project: YOUR-PROJECT-ID
tools:
search_entries:
kind: dataplex-search-entries
source: dataplex
description: Search for entries in Knowledge Catalog.
lookup_entry:
kind: dataplex-lookup-entry
source: dataplex
description: Retrieve a specific entry from Knowledge Catalog.
search_aspect_types:
kind: dataplex-search-aspect-types
source: dataplex
description: Find aspect types relevant to a query.
toolsets:
dataplex-toolset:
- search_entries
- lookup_entry
- search_aspect_types
Bằng cách xác định 3 công cụ này, chúng ta có thể buộc AI ở chế độ "chỉ đọc" và "ưu tiên quản trị".
Bảo mật cấu hình (Secret Manager)
Trong kiến trúc doanh nghiệp, bạn không bao giờ được đưa trực tiếp các tệp cấu hình vào hình ảnh vùng chứa. Chúng ta sẽ lưu trữ tools.yaml một cách an toàn trong Google Cloud Secret Manager.
gcloud services enable secretmanager.googleapis.com
gcloud secrets create dataplex-tools-config --data-file=tools.yaml
Triển khai đặc quyền tối thiểu (IAM)
Tiếp theo, chúng ta tạo một Tài khoản dịch vụ riêng cho máy chủ MCP của Bộ công cụ GenAI. Danh tính này sẽ chỉ có các quyền chính xác cần thiết để đọc danh mục Danh mục tri thức và truy cập vào dữ liệu BigQuery.
export MCP_SA=mcp-sa
gcloud iam service-accounts create ${MCP_SA} \
--display-name="Service Account for Knowledge Catalog MCP"
export MCP_SERVICE_ACCOUNT="${MCP_SA}@${PROJECT_ID}.iam.gserviceaccount.com"
# Allow the server to read its own config from Secret Manager
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:$MCP_SERVICE_ACCOUNT" \
--role="roles/secretmanager.secretAccessor"
# Allow the server to read Knowledge Catalog Metadata and BigQuery Data
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:$MCP_SERVICE_ACCOUNT" \
--role="roles/dataplex.catalogViewer"
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:$MCP_SERVICE_ACCOUNT" \
--role="roles/bigquery.dataViewer"
Triển khai máy chủ MCP lên Cloud Run
Bây giờ, chúng ta sẽ triển khai Bộ công cụ GenAI. Chúng ta sử dụng hình ảnh vùng chứa được tạo sẵn của Google (database-toolbox/toolbox) và gắn cấu hình từ Secret Manager (--set-secrets) trong thời gian chạy.
export IMAGE=us-central1-docker.pkg.dev/database-toolbox/toolbox/toolbox:latest
gcloud run deploy governance-mcp \
--image=$IMAGE \
--service-account $MCP_SERVICE_ACCOUNT \
--region=$REGION \
--no-allow-unauthenticated \
--set-secrets="/app/tools.yaml=dataplex-tools-config:latest" \
--args="--tools-file=/app/tools.yaml","--address=0.0.0.0","--port=8080"
Bạn đã thiết lập một API được quản lý! Thay vì cấp quyền truy cập trực tiếp vào cơ sở dữ liệu cho giao diện người dùng GenAI, giao diện này sẽ kết nối với URL Cloud Run này. Tác nhân chỉ có thể thấy những gì mà Bộ công cụ này cho phép.
4. Xây dựng phần phụ trợ của tác nhân bằng ADK
Bạn đã thiết lập một Mặt phẳng kiểm soát dữ liệu (MCP) an toàn, được quản lý chạy trên Cloud Run. Giờ đây, tác nhân AI của bạn cần một khung để điều phối logic của tác nhân đó, chẳng hạn như xử lý thông tin đầu vào của người dùng, quyết định thời điểm gọi máy chủ MCP và định dạng đầu ra.
Thay vì viết tất cả mã nguyên mẫu này từ đầu, chúng ta sẽ sử dụng Bộ công cụ phát triển tác nhân (ADK) của Google. ADK là một khung ưu tiên mã, tự động gói logic của tác nhân vào một phần phụ trợ FastAPI. Hơn nữa, khung này đi kèm với giao diện người dùng dành cho nhà phát triển tích hợp, cho phép bạn trực quan hoá ngay lập tức quá trình suy luận và các lệnh gọi công cụ của tác nhân mà không cần xây dựng trước giao diện người dùng tuỳ chỉnh.
Kiểm tra logic của tác nhân (agent.py)
Trước khi định cấu hình cơ sở hạ tầng, hãy xem xét cốt lõi của ứng dụng này.
Chuyển đến thư mục và xuất nội dung của agent.py. Tệp này là "bộ não" của quá trình triển khai ADK.
cd ~/devrel-demos/data-analytics/governance-context/mcp_server
cat agent.py
Xem cấu trúc mã. Cấu trúc này thực hiện 3 chức năng quan trọng với mã soạn sẵn tối thiểu:
- Tích hợp MCPToolset: Thay vì viết các ứng dụng HTTP tuỳ chỉnh để tương tác với các công cụ Danh mục tri thức, ADK sử dụng
MCPToolset(server_url=mcp_url). Ứng dụng này sẽ tự động tìm nạp định nghĩatools.yamltừ máy chủ MCP đã triển khai và dịch các định nghĩa đó thành các lệnh gọi hàm gốc cho LLM. - Hướng dẫn hệ thống: Tham số
instructionschứa các quy tắc quản trị nghiêm ngặt (cùng một logic mà chúng ta đã sử dụng trong CLIGEMINI.md). Tham số này yêu cầu mô hình thực thi rõ ràng vòng lặp suy luận Giai đoạn 1 (Tra cứu siêu dữ liệu) đến Giai đoạn 2 (Truy vấn dữ liệu). - Điều phối tác nhân: Lớp
Agent(...)liên kết mô hình Gemini, lời nhắc hệ thống và các công cụ MCP với nhau. Khi được triển khai, ADK sẽ tự động chuyển đổi đối tượng này thành một điểm cuối FastAPI có thể mở rộng.
Phân tách nhiệm vụ: Định cấu hình danh tính giao diện người dùng
Để chạy mã này một cách an toàn, chúng ta phải cho tác nhân biết vị trí của máy chủ MCP. Chúng ta sẽ tạo URL một cách linh hoạt và lưu URL đó vào tệp .env mà ADK sẽ đọc trong thời gian chạy.
Chúng ta cũng sẽ tạo một danh tính riêng (dataplex-agent-sa) cho ứng dụng hướng đến người dùng này. Việc phân tách nhiệm vụ này đảm bảo rằng tác nhân giao diện người dùng có các quyền khác với máy chủ quản trị phụ trợ.
Chạy các lệnh sau để định cấu hình môi trường và danh tính:
export PROJECT_NUMBER=$(gcloud projects describe $PROJECT_ID --format="value(projectNumber)")
export MCP_SERVER_URL=https://governance-mcp-${PROJECT_NUMBER}.${REGION}.run.app/mcp
export AGENT_SA=knowledge-catalog-agent-sa
export AGENT_SERVICE_ACCOUNT="${AGENT_SA}@${PROJECT_ID}.iam.gserviceaccount.com"
gcloud iam service-accounts create ${AGENT_SA} \
--display-name="Service Account for Knowledge Catalog Agent "
Định cấu hình các biến thời gian chạy
Khung ADK dựa vào các biến môi trường để hiểu ngữ cảnh của khung này. Chúng ta cần đặt rõ ràng Mã dự án, Khu vực và bật tính năng sử dụng Agent Engine của Gemini Enterprise. Chúng ta sẽ thêm các biến này vào cùng một tệp .env.
echo MCP_SERVER_URL=$MCP_SERVER_URL > .env
echo GOOGLE_GENAI_USE_VERTEXAI=1 >> .env
echo GOOGLE_CLOUD_PROJECT=$PROJECT_ID >> .env
echo GOOGLE_CLOUD_LOCATION=$REGION >> .env
Cấp quyền
Mặc dù tác nhân uỷ quyền kiểm tra quản trị cho máy chủ MCP, nhưng tác nhân này vẫn cần các quyền cơ bản để hoạt động. Chúng ta cấp chính xác 2 vai trò:
- Người dùng Agent Engine của Gemini Enterprise: Để gọi mô hình Gemini nhằm tạo câu trả lời bằng ngôn ngữ tự nhiên.
- Trình gọi Cloud Run: Để gọi API Máy chủ MCP một cách an toàn. Tác nhân này không được truy cập trực tiếp vào BigQuery hoặc Danh mục tri thức!
gcloud projects add-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:$AGENT_SERVICE_ACCOUNT" \
--role="roles/aiplatform.user"
gcloud run services add-iam-policy-binding governance-mcp \
--region=$REGION \
--member="serviceAccount:$AGENT_SERVICE_ACCOUNT" \
--role="roles/run.invoker"
Triển khai lên Cloud Run
Cuối cùng, chúng ta sẽ triển khai toàn bộ ngăn xếp lên Cloud Run.
Chúng ta sử dụng uvx để chạy công cụ ADK mà không cần cài đặt các phần phụ thuộc theo cách thủ công. Lệnh bên dưới sẽ đóng gói logic agent.py, tạo hình ảnh vùng chứa, chèn Tài khoản dịch vụ và khởi chạy máy chủ FastAPI. Bằng cách thêm cờ --with_ui, lệnh này cũng sẽ gói Trình chạy thử nghiệm web ADK để gỡ lỗi.
Lệnh này sẽ tạo vùng chứa và triển khai vùng chứa đó. Quá trình này có thể mất từ 1 đến 3 phút để hoàn tất.
uvx --from google-adk \
adk deploy cloud_run \
--project=$PROJECT_ID \
--region=$REGION \
--service_name=knowledge-catalog-agent \
--with_ui \
. \
-- \
--service-account=$AGENT_SERVICE_ACCOUNT \
--allow-unauthenticated
Sau khi hoàn tất lệnh này, lệnh này sẽ xuất URL dịch vụ (e.g., https://dataplex-agent-xyz.run.app). Nhấp vào đường liên kết đó để mở Giao diện trò chuyện GenAI được quản lý đầy đủ.

Quy trình kiến trúc toàn diện
Bạn đã hoàn thành hệ thống. Khi người dùng tương tác với giao diện người dùng ADK, trình tự sau sẽ xảy ra:
- Người dùng gửi một câu lệnh trong Tác nhân ADK (Giao diện người dùng dành cho nhà phát triển).
- Tác nhân ADK (agent.py) xử lý thông tin đầu vào và gọi mô hình Gemini.
- Gemini xác định rằng cần có ngữ cảnh và yêu cầu Máy chủ MCP thực thi các công cụ Danh mục tri thức.
- Máy chủ MCP thực thi các quy tắc Quản trị Danh mục tri thức và trả về siêu dữ liệu.
- Gemini tổng hợp câu trả lời đáng tin cậy dựa trên siêu dữ liệu và trả về câu trả lời đó cho người dùng.
5. Kiểm thử Tác nhân doanh nghiệp
Giờ đây, khi tác nhân của bạn đang hoạt động, hãy xem lại các tình huống quản trị đã kiểm thử trước đó bằng CLI. Logic vẫn giữ nguyên, nhưng giờ đây bạn đang tương tác với Trình chạy thử nghiệm web ADK đã triển khai, giúp hình dung trạng thái nội bộ và các lần thực thi công cụ.
- Điều phối: Tác nhân ADK (chạy trên Cloud Run) nhận được văn bản của bạn.
- Định tuyến công cụ: Gemini nhận ra rằng câu hỏi của bạn yêu cầu ngữ cảnh dữ liệu và chuyển tiếp yêu cầu đến Máy chủ MCP.
- Kiểm tra quản trị: Máy chủ MCP (chạy trên một thực thể Cloud Run riêng biệt) truy vấn Danh mục tri thức để tìm các Loại khía cạnh cụ thể.
- Tổng hợp: Siêu dữ liệu có liên quan được trả về cho Gemini để tạo câu trả lời cuối cùng.
Xác minh logic quản trị
Mở URL dịch vụ mà bạn đã tạo ở bước trước (e.g., https://dataplex-agent-xyz.run.app) trong trình duyệt. Dán câu lệnh sau:
"My dashboard needs to show what's happening right now with our ad spend. I can't wait for the overnight load. What do you recommend?"
Quan sát quá trình suy luận của Tác nhân trong giao diện người dùng dành cho nhà phát triển:
- Nhận dạng ý định: Tác nhân phân tích "ngay bây giờ" và "không thể chờ qua đêm".
- Tra cứu siêu dữ liệu: Tác nhân này gọi công cụ MCP
search_aspect_types. Tác nhân này tìm kiếm các tài sản dữ liệu mà Khía cạnhupdate_frequencyđược đặt thành REALTIME hoặc STREAMING, thay vì DAILY hoặc MONTHLY. - Lựa chọn: Tác nhân này xác định rằng bảng
mkt_realtime_campaign_performanceđáp ứng các tiêu chí này, trong khifin_monthly_closing_internal(mặc dù có chất lượng cao) quá chậm so với yêu cầu của bạn. - Phản hồi: Tác nhân đề xuất bảng theo thời gian thực.

Lý do điều này quan trọng:
Nếu không có siêu dữ liệu quản trị này, LLM có thể sẽ đề xuất bảng fin_monthly_closing_internal chỉ vì bảng này có một cột tên là "ad_spend", bỏ qua việc dữ liệu đã cũ 24 giờ. Ngữ cảnh siêu dữ liệu của bạn đã ngăn chặn lỗi kinh doanh.
Bạn cũng có thể kiểm thử câu lệnh "Cuộc họp hội đồng quản trị" để xem cách tác nhân chuyển sang các bảng khác dựa trên khía cạnh Cấp sản phẩm dữ liệu:
"We are preparing the deck for an internal Board of Directors meeting next week. I need the numbers to be absolutely finalized, trustworthy, and kept strictly confidential. Which table is safe to use?"
6. Dọn dẹp
Để tránh bị tính phí cho tài khoản Google Cloud đối với các tài nguyên được sử dụng trong lớp học lập trình này, hãy làm theo các bước sau để huỷ tất cả cơ sở hạ tầng được tạo trong Phần 1 và Phần 2.
Huỷ Hồ dữ liệu (Terraform)
Sử dụng Terraform để xoá các bảng, tập dữ liệu BigQuery và định nghĩa Khía cạnh của Danh mục tri thức.
cd ~/devrel-demos/data-analytics/governance-context/terraform
terraform destroy -var="project_id=${PROJECT_ID}" -var="region=${REGION}" -auto-approve
Xoá các dịch vụ Cloud Run
Xoá các tài nguyên tính toán để dừng mọi hoạt động thanh toán đang diễn ra cho các vùng chứa đang chạy.
gcloud run services delete governance-mcp --region=$REGION --quiet
gcloud run services delete knowledge-catalog-agent --region=$REGION --quiet
Dọn dẹp các cấu phần phần mềm bản dựng và bộ nhớ dàn dựng
Khi bạn triển khai tác nhân ADK bằng uvx, hệ thống sẽ tự động tạo hình ảnh vùng chứa và tải mã nguồn của bạn lên một bộ chứa Cloud Storage tạm thời. Các cấu phần phần mềm này vẫn tồn tại ngay cả sau khi dịch vụ Cloud Run bị xoá và sẽ phát sinh chi phí lưu trữ liên tục.
Xoá kho lưu trữ Artifact Registry và bộ chứa dàn dựng Cloud Storage:
# Delete the repository used for the agent build
gcloud artifacts repositories delete cloud-run-source-deploy \
--location=$REGION \
--quiet
# Delete the staging bucket created by Cloud Run source deploy
gcloud storage rm --recursive gs://run-sources-${PROJECT_ID}-${REGION}
Xoá danh tính, quyền và bí mật
Trước tiên, hãy xoá các liên kết chính sách IAM để ngăn các mục "bia mộ" (bản ghi bị bỏ rơi) còn lại trong trang IAM của dự án. Sau đó, hãy xoá Tài khoản dịch vụ và các bí mật cấu hình.
# Remove IAM roles granted to the MCP Service Account
gcloud projects remove-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:$MCP_SERVICE_ACCOUNT" \
--role="roles/secretmanager.secretAccessor" --quiet
gcloud projects remove-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:$MCP_SERVICE_ACCOUNT" \
--role="roles/dataplex.catalogViewer" --quiet
gcloud projects remove-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:$MCP_SERVICE_ACCOUNT" \
--role="roles/bigquery.dataViewer" --quiet
# Remove IAM roles granted to the Agent Service Account
gcloud projects remove-iam-policy-binding $PROJECT_ID \
--member="serviceAccount:$AGENT_SERVICE_ACCOUNT" \
--role="roles/aiplatform.user" --quiet
# Delete the Service Accounts
gcloud iam service-accounts delete $MCP_SERVICE_ACCOUNT --quiet
gcloud iam service-accounts delete $AGENT_SERVICE_ACCOUNT --quiet
# Delete the Secret Manager entry
gcloud secrets delete dataplex-tools-config --quiet
Xoá cấu hình cục bộ
Cuối cùng, hãy dọn dẹp các tệp cấu hình cục bộ và các biến môi trường trong Cloud Shell.
# Uninstall the Gemini CLI extension (installed in Part 1)
gemini extensions uninstall dataplex
# Remove local repository files and unset variables
cd ~
rm -rf ~/devrel-demos
unset MCP_SERVER_URL
unset MCP_SERVICE_ACCOUNT
unset AGENT_SERVICE_ACCOUNT
7. Xin chúc mừng!
Bạn đã triển khai thành công một Tác nhân AI tạo sinh có nhận thức về quản trị toàn diện.
Trong lớp học lập trình gồm 2 phần này, bạn đã vượt ra ngoài kỹ thuật thiết kế câu lệnh đơn giản để triển khai một kiến trúc mạnh mẽ, sẵn sàng phát hành. Bằng cách coi việc quản trị dữ liệu là điều kiện tiên quyết cho AI tạo sinh, bạn đã thiết lập một phương pháp có hệ thống để ngăn mô hình truy xuất dữ liệu chưa được chứng nhận hoặc dữ liệu ảo giác.
Những điểm chính cần ghi nhớ
- AI thuật toán tất định thông qua Siêu dữ liệu: Thay vì dựa vào LLM để đoán bảng chính xác dựa trên tên cột, bạn đã thực thi một vòng lặp suy luận nghiêm ngặt bằng Bộ công cụ AI tạo sinh cho cơ sở dữ liệu. Bằng cách chỉ hiển thị rõ ràng 3 công cụ Danh mục tri thức (
search_aspect_types,search_entries,lookup_entry), bạn đã buộc mô hình xác minh các chứng nhận dữ liệu trước khi tổng hợp câu trả lời. - Kiến trúc tách rời (MCP): Bằng cách triển khai máy chủ Giao thức ngữ cảnh mô hình (MCP) trên Cloud Run, bạn đã trừu tượng hoá các quy tắc quản trị dữ liệu thành một API tập trung, được chuẩn hoá. Tác nhân giao diện người dùng không cần chứa logic cơ sở dữ liệu; tác nhân này chỉ cần giao tiếp thông qua tiêu chuẩn MCP. Điều này có nghĩa là bạn có thể kết nối bất kỳ mô hình hoặc ứng dụng AI nào trong tương lai vào cùng một phần phụ trợ được quản lý.
- Phân tách nhiệm vụ: Bạn đã áp dụng nguyên tắc đặc quyền tối thiểu bằng cách tách biệt các danh tính IAM. Tác nhân ADK hướng đến người dùng hoạt động với các quyền bị hạn chế đối với việc gọi mô hình và định tuyến API, trong khi máy chủ MCP phụ trợ xử lý an toàn các truy vấn Danh mục tri thức và truy xuất dữ liệu BigQuery.
- Điều phối tác nhân ưu tiên mã: Bạn đã sử dụng Bộ công cụ phát triển tác nhân (ADK) của Google để gói ngay logic tác nhân python vào một phần phụ trợ FastAPI có thể mở rộng, sử dụng giao diện người dùng dành cho nhà phát triển tích hợp để hình dung và gỡ lỗi các lần thực thi công cụ nội bộ của tác nhân.
Bước tiếp theo?
- Lớp học lập trình về Quản trị cơ bản của Danh mục tri thức: Nắm vững các kiến thức cơ bản về quản trị dữ liệu trong Danh mục tri thức trước khi thêm lớp AI.
- Tài liệu về các công cụ của Danh mục tri thức: Khám phá tài liệu chính thức về các công cụ và tiện ích được tạo sẵn của Danh mục tri thức được sử dụng trong phòng thí nghiệm này.
- Bắt đầu sử dụng các tiện ích của Gemini CLI: Tìm hiểu cách tạo các tiện ích tuỳ chỉnh của riêng bạn để cung cấp cho các tác nhân AI tạo sinh nhiều khả năng hơn nữa.
- Tìm hiểu chuyên sâu về MCP: Xem thông số kỹ thuật MCP chính thức để hiểu cách tạo các máy chủ tuỳ chỉnh cho các API doanh nghiệp nội bộ của bạn.