Triển khai một tác nhân có nhận thức về hoạt động quản trị doanh nghiệp bằng MCP và Cloud Run

1. Giới thiệu

Lớp học lập trình này nằm trong loạt nội dung gồm 2 phần, khám phá cách xây dựng một tác nhân AI có nhận thức về hoạt động quản trị.

(Bạn có thể đọc phần đầu tiên của loạt bài này, trong đó trình bày cách thiết lập nền tảng dữ liệu bằng cách đăng ký một loại khía cạnh Danh mục kiến thức, áp dụng các khía cạnh cho bảng BigQuery và kiểm thử các quy tắc cục bộ thông qua AGY 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ính năng 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 tiêu 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 một 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ô để sản xuất. Thay vì triển khai một máy chủ MCP tuỳ chỉnh, bạn sẽ kết nối trực tiếp tác nhân của mình với Máy chủ MCP Danh mục kiến thức do Google quản lý. Sau đó, bạn sẽ sử dụng Agent Development Kit (ADK) của Google để tạo ứng dụng tác nhân thực tế, tải các quy tắc quản trị từ kỹ năng tác nhân cục bộ và triển khai ứng dụng đó vào Cloud Run, hoàn chỉnh với giao diện người dùng web chuyên nghiệp

.

Khi người dùng tương tác với giao diện người dùng ADK, trình tự sau sẽ diễn ra:

8912d1983c34ee8e.png

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 tác nhân ADK kết nối với Máy chủ MCP Danh mục tri thức do Google quản lý.
  • Cách tải các quy tắc quản trị một cách linh hoạt từ kỹ năng của tác nhân được chia sẻ.
  • Cách triển khai tác nhân của bạn lên Cloud Run và chạy sân chơi web tích hợp của ADK.

Bạn cần có

  • Một dự án trên Google Cloud đã bật tính năng thanh toán.
  • Quyền truy cập vào Google Cloud Shell.
  • Có kiến thức cơ bản về Cloud Run, Tài khoản dịch vụ IAM và Python.
  • 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 video đó; chúng tôi cung cấp một kịch bản nhanh bên dưới để tạo lại các video đó!)

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 tiêu 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 kiến thức và BigQuery).
  • Bộ công cụ phát triển tác nhân (ADK): Một khung linh hoạt, nguồn mở của Google được thiết kế để đơn giản hoá quy trình phát triển toàn diện của các tác nhân AI. LangChain á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 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.
  • Nền tảng tác nhân Gemini Enterprise(GEAP): Môi trường lưu trữ và điều phối cấp doanh nghiệp để triển khai các tác nhân AI trên Google Cloud.

2. Thiết lập và yêu cầu

Khởi động Cloud Shell

Mặc dù 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 trên 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:

Kích hoạt Cloud Shell

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

Ảnh chụp màn hình cửa sổ dòng lệnh Google Cloud Shell cho thấy môi trường đã kết nối

Máy ảo này được trang bị tất cả các công cụ phát triển mà bạn cần. Nó cung cấp một thư mục chính có dung lượng 5 GB và chạy trên Google Cloud, giúp tăng cường đáng kể hiệu suất mạng và hoạt động xác thực. Bạn có thể thực hiện mọi thao tác trong lớp học lập trình này trong 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 phù hợp.

export PROJECT_ID=$(gcloud config get-value project)
gcloud config set project $PROJECT_ID
export REGION="us-central1"

Bật các API bắt buộc

Bật bộ Cloud API tối thiểu của Google Cloud cần thiết để quản lý nền tảng dữ liệu, chạy các mô hình Vertex AI và lưu trữ Tác nhân ADK trên Cloud Run.

gcloud services enable \
    dataplex.googleapis.com \
    bigquery.googleapis.com \
    aiplatform.googleapis.com \
    run.googleapis.com \
    artifactregistry.googleapis.com \
    cloudbuild.googleapis.com

Điểm dừng: Tiếp tục hay xây dựng lại?

Vì đây là Phần 2, nên nhân viên hỗ trợ 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 đường dẫn:

Trường hợp 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 đang hoạt động và bạn đã sẵn sàng tiếp tục.

cd ~/devrel-demos/data-analytics/governance-context

Trường hợp B: Tôi bỏ qua Phần 1 HOẶC tôi đã xoá tài nguyên (Dọn dẹp)

Không sao cả! Chúng tôi đã cung cấp một khối lệnh "Fast-Track" (Tăng tốc) bên dưới. Thao tác này sẽ tự động tạo lại hồ dữ liệu BigQuery, đăng ký loại khía cạnh và áp dụng siêu dữ liệu quản trị chính xác như chúng ta đã làm 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 BigQuery datasets and tables
chmod +x ./setup_bq_tables.sh
./setup_bq_tables.sh

# 3. Register the Knowledge Catalog aspect type
gcloud dataplex aspect-types create official-data-product-spec \
    --location="${REGION}" \
    --project="${PROJECT_ID}" \
    --metadata-template-file-name="aspect_template.json"

# 4. Generate and apply aspects (governance rules)
chmod +x ./generate_payloads.sh ./apply_governance.sh
./generate_payloads.sh
./apply_governance.sh

3. Lớp kiểm soát dữ liệu tập trung (MCP được quản lý)

Trong môi trường doanh nghiệp thực tế, bạn cần một lớp kiểm soát dữ liệu tập trung và an toàn. Thay vì tạo và triển khai một vùng chứa phía máy chủ MCP tuỳ chỉnh cho Cloud Run, chúng ta sẽ kết nối trực tiếp tác nhân của mình với Máy chủ MCP Danh mục kiến thức do Google quản lý.

Bằng cách sử dụng điểm cuối được quản lý này, chúng ta đạt được:

  1. Không cần bảo trì: Bạn không cần quản lý các vùng chứa, hoạt động mở rộng quy mô hoặc vá lỗi cho máy chủ MCP.
  2. Tiêu chuẩn hoá: Tác nhân kết nối với một điểm cuối API chuẩn, an toàn của Google bằng Giao thức ngữ cảnh mô hình (SSE transport).
  3. Phạm vi được kiểm soát: Máy chủ MCP chỉ hiển thị các công cụ siêu dữ liệu cần thiết (search_entries, lookup_context, lookup_entry), thực thi một vòng lặp suy luận chỉ đọc, ưu tiên việc quản trị.

Bạn có thể truy cập vào máy chủ MCP Danh mục kiến thức do Google quản lý thông qua URL bảo mật sau:

https://dataplex.googleapis.com/mcp

Vì đây là API của Google bên thứ nhất, nên tác nhân phải xác thực bằng Mã truy cập OAuth2 tiêu chuẩn của Google Cloud thay vì Mã nhận dạng. Chúng tôi sẽ tự động xử lý quy trình xác thực này trong mã xử lý ứng dụng.

4. Tạo phần phụ trợ của tác nhân bằng ADK

Bạn có một lớp kiểm soát dữ liệu được quản lý và bảo mật. Giờ đây, tác nhân AI của bạn cần một khuôn khổ để điều phối logic của nó, chẳng hạn như xử lý hoạt động đầ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.

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ã nguồn, tự động bao bọc logic của tác nhân vào một phần phụ trợ FastAPI và cung cấp giao diện web tích hợp để kiểm thử tức thì.

Mở mã tác nhân trong Trình chỉnh sửa Cloud Shell

Thay vì kết xuất toàn bộ tệp trong thiết bị đầu cuối, hãy mở tệp đó trong Cloud Shell Editor để bạn có thể dễ dàng kiểm tra, chỉnh sửa và hiểu mã.

Chạy lệnh bên dưới trong cửa sổ dòng lệnh và xem cấu trúc mã trong trình chỉnh sửa. Ứng dụng này được xây dựng bằng Bộ công cụ phát triển tác nhân (ADK) của Google:

cd ~/devrel-demos/data-analytics/governance-context/mcp_server

# Copy the governance skill directory inside the application bundle so it packages during Cloud Run deployment
mkdir -p skills
cp -r ../.agents/skills/knowledge-catalog-governance skills/

cloudshell edit agent.py

(Lưu ý: agent.py chứa mã chuẩn ở trên cùng để xử lý quy trình xác thực và làm mới mã thông báo OAuth2 của Google Cloud, đảm bảo rằng tác nhân có thể giao tiếp an toàn với Knowledge Catalog API do Google quản lý).

1. Tải kỹ năng gốc

Để tạo một tác nhân được tối ưu hoá cao, chúng tôi tải các hướng dẫn về hoạt động quản trị từ thư mục kỹ năng của tác nhân bên ngoài bằng cách sử dụng load_skill_from_dir gốc của ADK. Phương pháp này cho phép cung cấp thông tin theo trình tự lần lượt:

  • Siêu dữ liệu L1: Tác nhân chỉ tải tên và nội dung mô tả của kỹ năng khi khởi động. Bối cảnh tối thiểu này cho phép LLM xác định thời điểm sử dụng kỹ năng mà không cần tiêu thụ trước một lượng lớn mã thông báo.
  • Hướng dẫn L2: Toàn bộ tập lệnh bên trong SKILL.md chỉ được tìm nạp linh động trong thời gian chạy khi mô hình xác định rằng tập lệnh đó có liên quan.
base_dir = Path(__file__).parent
governance_skill = load_skill_from_dir(
    base_dir / "skills" / "knowledge-catalog-governance"
)

# Bundle the skill and MCP tools together into a SkillToolset
governance_skill_toolset = skill_toolset.SkillToolset(
    skills=[governance_skill],
    additional_tools=[tools]
)

2. Điều phối tác nhân

ADK cho phép bạn điều phối các hành vi phức tạp của tác nhân bằng cách liên kết nhiều tác nhân với nhau. Chúng ta xác định một quy trình SequentialAgent bao gồm 2 tác nhân chuyên biệt:

  • governance_researcher: Được trang bị governance_skill_toolset và MCP Knowledge Catalog tools. Thao tác này sẽ kiểm tra xem truy vấn có nằm trong danh mục dữ liệu và phạm vi tuân thủ hay không, sau đó truy vấn Danh mục tri thức bằng cách sử dụng các biến môi trường được chèn vào chỉ dẫn hệ thống.
  • compliance_formatter: Chịu trách nhiệm dịch kết quả tìm kiếm siêu dữ liệu JSON thô thành một phản hồi rõ ràng hoặc giải thích rành mạch các ranh giới phạm vi nếu yêu cầu nằm ngoài phạm vi.
# 1. Researcher Agent (has access to the encapsulated SkillToolset)
governance_researcher = LlmAgent(
    name="governance_researcher",
    model=model_name,
    description="Dynamically interprets metadata schema (Booleans/Enums) and searches for assets using strict syntax.",
    instruction=f"""
    You are a governance researcher. Your job is to verify Knowledge Catalog metadata rules and find compliant assets for the user's query.
    
    YOUR ACTIVE ENVIRONMENT CONTEXT:
    - Google Cloud Project ID: {project_id}
    - Location (Region): {location}

    YOUR WORKFLOW:
    1. First, check if the user query is related to data analytics assets, database tables, or data compliance.
       - If YES: Call `load_skill` with `name="knowledge-catalog-governance"` to load the rules, then use search/lookup tools to locate a certified compliant table.
       - If NO (e.g., general chit-chat, unrelated tasks): Skip skill loading and output a JSON object indicating it is out of scope:
         {"error": "out_of_scope", "message": "The query does not pertain to data catalog search or governance compliance."}
    2. Populate the required projectId and location parameters in tool calls with the active environment parameters.
    3. Return the verified table's metadata in JSON format as your final research output.
    """,
    tools=[governance_skill_toolset, tools],
    output_key="research_data"
)

# 2. Formatter Agent (formats the output or explains out-of-scope errors)
compliance_formatter = LlmAgent(
    name="compliance_formatter",
    model=model_name,
    description="Formats the JSON research data into a helpful response for the user.",
    instruction="""
    You are the **Intelligent Data Governance Specialist**.
    Your job is to explain the findings of the governance research clearly to the user.

    **YOUR GOAL:**
    1. If the researcher found a matching table (valid JSON with table metadata):
       - Explain the logical connection between the User's Request, the Governance Schema (translated criteria), and the Recommended Table.
       - Use the following RESPONSE TEMPLATE:
         - **Analysis:** "I analyzed the metadata schema and translated your request into the following technical criteria:..."
         - **Recommendation:** "Based on this, I recommend the following table:"
           - **Table:** [Insert Table Name]
           - **Description:** [Insert Table Description]
         - **Verification:** "This asset is a verified match because: [Explain the verification details]."
    2. If the researcher returned an 'out_of_scope' error or no matching tables were found:
       - Apologize politely and explain that no data asset currently matches the strict governance criteria defined in `official-data-product-spec`.
       - Clearly state what domain of questions this agent is certified to answer (e.g., Data Catalog Search and Data Governance compliance).
    """
)

# 3. Orchestrated Workflow (Exported as root_agent)
root_agent = SequentialAgent(
    name="governance_workflow",
    description="Workflow to learn metadata rules, search with strict syntax, and recommend assets.",
    sub_agents=[
        governance_researcher,
        compliance_formatter,
    ]
)

Định cấu hình các biến thời gian chạy

Để chạy tác nhân, chúng ta phải cho tác nhân biết vị trí của máy chủ MCP được quản lý và định cấu hình dự án cũng như khu vực của máy chủ đó. Chúng ta sẽ lưu các biến này vào một tệp .env mà ADK sẽ đọc trong thời gian chạy.

Chạy lệnh sau để tạo tệp .env. Xin lưu ý rằng MCP_SERVER_URL trỏ trực tiếp đến điểm cuối Knowledge Catalog API do Google quản lý:

export MCP_SERVER_URL="https://dataplex.googleapis.com/mcp"

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

5. Chạy và kiểm thử tác nhân trên thiết bị

Trước khi triển khai tác nhân lên đám mây, bạn nên kích hoạt tác nhân đó cục bộ trong Cloud Shell để xác minh hành vi của tác nhân. Vì tác nhân phụ thuộc vào một số gói Python (bao gồm cả thư viện Google Cloud Logging và ADK), nên chúng ta sẽ thiết lập một môi trường ảo cục bộ để cài đặt các phần phụ thuộc này.

Khi chạy cục bộ trong Cloud Shell, tác nhân sẽ tự động sử dụng thông tin đăng nhập người dùng Google Cloud đang hoạt động của bạn, vì vậy, tác nhân đã có các quyền cần thiết để truy cập vào Vertex AI và Knowledge Catalog.

  1. Chuyển đến thư mục mcp_server, tạo một môi trường ảo và cài đặt các phần phụ thuộc:
cd ~/devrel-demos/data-analytics/governance-context/mcp_server

# Create a virtual environment using uv
uv venv
source .venv/bin/activate

# Install the dependencies listed in requirements.txt
uv pip install -r requirements.txt
  1. Bắt đầu phiên trò chuyện tương tác trong thiết bị đầu cuối:
adk run .
  1. Sau khi phiên bắt đầu, bạn sẽ thấy một lời nhắc. Nhập một câu hỏi để kiểm thử logic quản trị của tác nhân:
I need the Q1 revenue summary for our internal board meeting.

Tác nhân sẽ xử lý yêu cầu của bạn, truy vấn Danh mục kiến thức thông qua máy chủ MCP được quản lý và đưa ra đề xuất cũng như suy luận ngay trong thiết bị đầu cuối.

  1. Để thoát khỏi phiên tương tác, hãy nhập exit hoặc quit (hoặc nhấn Ctrl+C). Sau khi thoát, bạn có thể huỷ kích hoạt môi trường ảo:
deactivate

6. Triển khai tác nhân cho kênh phát hành công khai

Giờ đây, bạn đã xác minh tác nhân tại địa phương, bạn có thể triển khai tác nhân này lên Google Cloud để sử dụng trong thực tế.

Tạo một tài khoản dịch vụ

Để đảm bảo an toàn, tác nhân được triển khai không được chạy bằng thông tin đăng nhập cá nhân của bạn. Chúng tôi sẽ tạo một danh tính riêng biệt (knowledge-catalog-agent-sa) cho tác nhân, tuân thủ nguyên tắc về đặc quyền tối thiểu.

Chạy các lệnh sau để tạo tài khoản dịch vụ:

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"

Cấp quyền

Mặc dù tác nhân uỷ quyền kiểm tra hoạt động quản trị cho máy chủ MCP, nhưng tác nhân này vẫn cần có các quyền cơ bản để hoạt động.

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$AGENT_SERVICE_ACCOUNT" \
  --role="roles/aiplatform.user"

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$AGENT_SERVICE_ACCOUNT" \
  --role="roles/dataplex.catalogAdmin"

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$AGENT_SERVICE_ACCOUNT" \
  --role="roles/bigquery.dataViewer"

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$AGENT_SERVICE_ACCOUNT" \
  --role="roles/mcp.toolUser"

gcloud projects add-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$AGENT_SERVICE_ACCOUNT" \
  --role="roles/viewer"

Triển khai lên Cloud Run

Cuối cùng, chúng ta triển khai tác nhân này lên Cloud Run. Lệnh sau đây sẽ tạo hình ảnh vùng chứa bằng Dockerfile trong thư mục hiện tại, tải hình ảnh đó lên Artifact Registry và triển khai hình ảnh đó vào Cloud Run. Quá trình này có thể mất từ 1 đến 3 phút.

gcloud run deploy knowledge-catalog-agent \
  --source . \
  --project=$PROJECT_ID \
  --region=$REGION \
  --service-account=$AGENT_SERVICE_ACCOUNT \
  --allow-unauthenticated \
  --clear-base-image \
  --labels created-by=adk

Sau khi hoàn tất lệnh này, lệnh sẽ xuất ra một URL dịch vụ (ví dụ: https://knowledge-catalog-agent-xyz.run.app). Nhấp vào đường liên kết đó để mở Giao diện trò chuyện bằng AI tạo sinh được quản lý hoàn toàn.

12a5fa4c2aaf381f.png

7. Thử nghiệm nhân viên hỗ trợ

Giờ đây, khi nhân viên hỗ trợ của bạn đang hoạt động, hãy kiểm thử các trường hợp quản trị. Logic vẫn giữ nguyên, nhưng giờ đây bạn đang tương tác với ADK Web Playground đã triển khai, giúp trực quan hoá trạng thái nội bộ và quá trình thực thi công cụ.

Mở URL dịch vụ mà bạn đã tạo ở bước trước (ví dụ: https://knowledge-catalog-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 quy 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:

  1. Nhận dạng ý định: Tác nhân phân tích "ngay bây giờ" và "không thể chờ qua đêm".
  2. Metadata Lookup (Tra cứu siêu dữ liệu): Thao tác này gọi search_entries của công cụ MCP bằng truy vấn: [PROJECT_ID].us-central1.official-data-product-spec.update_frequency=REALTIME_STREAMING
  3. Lựa chọn: Cho biết rằng bảng mkt_realtime_campaign_performance đáp ứng các tiêu chí này.
  4. Phản hồi: Nhân viên đề xuất bảng theo thời gian thực.

e0da615724199e.png

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ờ. Bối cảnh siêu dữ liệu của bạn đã ngăn chặn một lỗi nghiệp vụ.

Bạn cũng có thể thử câu lệnh "Board Meeting" (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 nhau 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?"

8. Dọn dẹp

Để tránh bị tính phí vào tài khoản Google Cloud của bạn, hãy làm theo các bước sau để huỷ tất cả cơ sở hạ tầng đã tạo trong lớp học lập trình này.

Hủy bỏ hồ dữ liệu

Sử dụng tập lệnh dọn dẹp để xoá các bảng, tập dữ liệu và định nghĩa khía cạnh Knowledge Catalog của BigQuery.

cd ~/devrel-demos/data-analytics/governance-context
chmod +x ./cleanup_data_lake.sh
./cleanup_data_lake.sh

Xoá các dịch vụ Cloud Run

Xoá tài nguyên điện toán để dừng mọi hoạt động thanh toán đang diễn ra cho vùng chứa đang chạy.

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, hệ thống sẽ tự động tạo một 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.

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 và quyền

Trước tiên, hãy xoá các liên kết chính sách IAM, sau đó xoá Tài khoản dịch vụ.

# 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

gcloud projects remove-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$AGENT_SERVICE_ACCOUNT" \
  --role="roles/dataplex.catalogViewer" --quiet

gcloud projects remove-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$AGENT_SERVICE_ACCOUNT" \
  --role="roles/mcp.toolUser" --quiet

gcloud projects remove-iam-policy-binding $PROJECT_ID \
  --member="serviceAccount:$AGENT_SERVICE_ACCOUNT" \
  --role="roles/bigquery.dataViewer" --quiet

# Delete the Service Account
gcloud iam service-accounts delete $AGENT_SERVICE_ACCOUNT --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à biến môi trường trong Cloud Shell.

# Uninstall the AGY CLI plugin
agy plugin uninstall dataplex

# Remove local repository files and unset variables
cd ~
rm -rf ~/devrel-demos
unset MCP_SERVER_URL
unset AGENT_SERVICE_ACCOUNT

9. Xin chúc mừng!

Bạn đã triển khai thành công một tác nhân AI tạo sinh toàn diện, có nhận thức về hoạt động quản trị.

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 cấu trúc mạnh mẽ, sẵn sàng cho hoạt động sản xuất. Bằng cách coi hoạt động 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 không được chứng nhận hoặc dữ liệu ảo.

Những điểm chính cần ghi nhớ

  • AI xác đị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 cách sử dụng Máy chủ MCP Danh mục kiến thức do Google quản lý, buộc mô hình phải xác minh các chứng nhận dữ liệu trước khi đề xuất bảng.
  • Cấu trúc tách rời: 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ể cắm 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ý.
  • Tách biệt nhiệm vụ: Bạn đã áp dụng nguyên tắc về đặ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 mà người dùng trực tiếp sử dụng hoạt động với các quyền bị hạn chế đối với lệnh gọi mô hình và định tuyến API.
  • Điều phối tác nhân dựa trên mã: Bạn đã sử dụng Bộ công cụ phát triển tác nhân (ADK) của Google để ngay lập tức bao bọc logic tác nhân Python của mình vào một phần phụ trợ FastAPI có khả năng mở rộng, sử dụng giao diện người dùng tích hợp sẵn dành cho nhà phát triển để trực quan hoá và gỡ lỗi các hoạt động thực thi công cụ nội bộ của tác nhân.

Tiếp theo là gì?