1. Giới thiệu
Các mô hình AI tạo sinh có khả năng suy luận mạnh mẽ nhưng thiếu bối cảnh về tổ chức. Nếu một giám đốc điều hành hỏi tác nhân AI: "Doanh thu quý 1 của chúng ta là bao nhiêu?", thì tác nhân đó có thể tìm thấy hàng chục bảng có tên "doanh thu" trong hồ dữ liệu của bạn. Một số là báo cáo tài chính nghiêm ngặt, một số khác là số liệu ước tính tiếp thị theo thời gian thực và nhiều báo cáo có thể là hộp cát không còn được dùng nữa.
Nếu không có cơ sở rõ ràng, tác nhân AI sẽ chọn một bảng dựa trên sự tương đồng về tên đơn giản, dẫn đến câu trả lời "sai một cách thuyết phục" bắt nguồn từ dữ liệu chưa được xác minh.
Lớp học lập trình này nằm trong loạt bài gồm hai phần, hướng dẫn cách xây dựng một tác nhân AI có khả năng quản trị.
Trong phần đầu tiên này, bạn sẽ xây dựng nền tảng dữ liệu. Bạn sẽ thiết lập một hồ dữ liệu thực tế, "hỗn độn" trong BigQuery, áp dụng các thẻ siêu dữ liệu nghiêm ngặt (các khía cạnh của Danh mục kiến thức) để phân biệt dữ liệu hợp lệ với dữ liệu rác, đồng thời sử dụng CLI Antigravity (AGY) để kiểm thử cục bộ xem tác nhân có tuân thủ nghiêm ngặt các quy tắc quản trị dữ liệu của bạn hay không.
Bạn có thể đọc phần thứ hai của loạt bài này, trong đó trình bày cách triển khai nguyên mẫu tác nhân cục bộ vào một ứng dụng web an toàn, cấp doanh nghiệp bằng Giao thức ngữ cảnh mô hình (MCP) và Cloud Run. 👉 Đọc Phần 2
Kiến thức bạn sẽ học được
- Triển khai một hồ dữ liệu thực tế, nhiều tầng bằng tập lệnh thiết lập.
- Thiết kế và đăng ký các mẫu siêu dữ liệu tuỳ chỉnh (loại khía cạnh) trong Knowledge Catalog để phân biệt sản phẩm dữ liệu chính thức với bảng hộp cát thô.
- Xác minh các quy tắc quản trị dữ liệu trên thiết bị bằng AGY CLI trước khi viết mã xử lý ứng dụng.
Bạn cần có
- Một dự án trên đám mây của Google Cloud đã bật tính năng thanh toán.
- Quyền truy cập vào Google Cloud Shell (AGY CLI được cài đặt sẵn trong Cloud Shell).
- Hiểu biết cơ bản và quen thuộc với BigQuery và Knowledge Catalog.
Khái niệm chính
- Knowledge Catalog: Dịch vụ quản lý siêu dữ liệu hợp nhất. Chúng tôi sử dụng siêu dữ liệu này để bổ sung bối cảnh kinh doanh (quản trị) cho siêu dữ liệu kỹ thuật (lược đồ).
- Loại khía cạnh: Một mẫu siêu dữ liệu có cấu trúc. Không giống như thẻ văn bản tự do, Khía cạnh thực thi kiểu dữ liệu mạnh (enum, boolean), giúp máy đánh giá một cách đáng tin cậy.
2. Thiết lập và yêu cầu
Bắt đầu Cloud Shell
Mặc dù có thể vận hành Google Cloud từ xa bằng 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.
Trong Google Cloud Console, 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:

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

Máy ảo này được trang bị tất cả công cụ cho nhà phát triển mà bạn cần. Cloud Shell cung cấp thư mục gốc 5 GB cố định và chạy trên Google Cloud, giúp cải thiện đáng kể hiệu suất mạng và khả năng 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 bằng trình duyệt. Bạn không cần cài đặt gì cả.
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ả lệnh đều nhắm đến đúng cơ sở hạ tầng.
export PROJECT_ID=$(gcloud config get-value project)
gcloud config set project $PROJECT_ID
export REGION="us-central1"
Bật API
Bật các dịch vụ cần thiết của Google Cloud để thực thi hướng dẫn sau.
gcloud services enable \
bigquery.googleapis.com \
dataplex.googleapis.com
Sao chép kho lưu trữ
Lấy mã cơ sở hạ tầng và tập lệnh tự động hoá từ kho lưu trữ GitHub. Để tiết kiệm dung lượng ổ đĩa trong Cloud Shell, chúng ta sẽ chỉ tải thư mục cụ thể cần thiết cho lớp học này xuống.
# Perform a shallow clone to get only the latest repository structure without the full history
git clone --depth 1 --filter=blob:none --sparse https://github.com/GoogleCloudPlatform/devrel-demos.git
cd devrel-demos
# Specify and download only the folder we need for this lab
git sparse-checkout set data-analytics/governance-context
cd data-analytics/governance-context
Xây dựng hồ dữ liệu "hỗn độn"
Môi trường dữ liệu trong thực tế hiếm khi sạch. Để mô phỏng thực tế, chúng ta cần kết hợp các kho dữ liệu "chính thức" và các bảng "hộp cát" không đáng tin cậy.
Chúng ta sẽ sử dụng một tập lệnh thiết lập để triển khai các tập dữ liệu và bảng BigQuery.
- Đặt tập lệnh thiết lập ở trạng thái có thể thực thi rồi chạy tập lệnh đó. Thao tác này sẽ tạo 3 tập dữ liệu BigQuery (
finance_mart,marketing_prod,analyst_sandbox) và điền dữ liệu được lấy mẫu vào các bảng của các tập dữ liệu đó.
chmod +x ./setup_bq_tables.sh
./setup_bq_tables.sh
Điểm kiểm tra: Giờ đây, bạn đã có một hồ dữ liệu được điền đầy đủ nhưng hoàn toàn không được quản lý. Đối với AI, mọi bảng đều giống hệt nhau.
3. Tạo mẫu quản trị dữ liệu (loại khía cạnh)
Bây giờ, chúng ta sẽ xác định một số quy tắc quản trị dữ liệu. Trong Danh mục kiến thức, bạn có thể thực hiện việc này bằng cách tạo một loại khía cạnh, đây là một mẫu siêu dữ liệu có thể sử dụng lại và được nhập chính xác.
Chúng ta sẽ đăng ký mẫu này bằng CLI gcloud để bạn có thể xem cách mẫu này được xác định.
Kiểm tra giản đồ khía cạnh
Xuất nội dung của aspect_template.json để xem định nghĩa giản đồ.
cat aspect_template.json
Bạn sẽ thấy cấu trúc JSON sau:
{
"name": "OfficialDataProductSpec",
"type": "record",
"recordFields": [
{
"name": "product_tier",
"type": "enum",
"enumValues": [
{ "name": "GOLD_CRITICAL", "index": 1 },
{ "name": "SILVER_STANDARD", "index": 2 },
{ "name": "BRONZE_ADHOC", "index": 3 }
],
...
},
{
"name": "is_certified",
"type": "bool",
...
}
]
}
Hãy lưu ý cách giản đồ này thực thi các kiểu dữ liệu nghiêm ngặt, chẳng hạn như enum cho cấp độ nghiêm trọng (GOLD_CRITICAL, SILVER_STANDARD, BRONZE_ADHOC) và bool cho is_certified. Điều này đảm bảo siêu dữ liệu luôn có cấu trúc và có thể đọc được bằng máy.
Đăng ký loại khía cạnh
Chạy lệnh gcloud sau đây để đăng ký mẫu này trong sổ đăng ký Danh mục kiến thức.
gcloud dataplex aspect-types create official-data-product-spec \
--location="${REGION}" \
--project="${PROJECT_ID}" \
--description="Defines the comprehensive profile of a data product for governance agents." \
--display-name="Official Data Product Spec" \
--metadata-template-file-name="aspect_template.json"
4. Áp dụng chế độ quản trị
Đây là bước kỹ thuật quan trọng. Hiện tại, bảng finance_mart.fin_monthly_closing_internal và analyst_sandbox.tmp_data_dump_v2_final_real trông giống hệt với LLM. Chúng chỉ là các đối tượng có cột.
Là một kỹ sư quản trị, bạn phải đính kèm một khía cạnh (nhãn siêu dữ liệu được chứng nhận) vào các bảng này để phân biệt chúng. Trong một doanh nghiệp thực tế, bạn sẽ tự động hoá quy trình này thông qua quy trình CI/CD. Chúng tôi sẽ mô phỏng quy trình tự động hoá đó bằng tập lệnh.
Tạo tải trọng quản trị
Khoá khía cạnh của Knowledge Catalog phải là duy nhất trên toàn hệ thống (có tiền tố là mã dự án của bạn). Tập lệnh ./generate_payloads.sh sẽ tự động tạo các tệp siêu dữ liệu YAML.
chmod +x ./generate_payloads.sh
./generate_payloads.sh
Kết quả:
Thao tác này sẽ tạo một thư mục "./aspect_payloads" chứa 4 tệp YAML, xác định các kịch bản quản trị (Vàng/Nội bộ, Vàng/Công khai, Bạc/Thời gian thực, Đồng/Hộp cát).
Áp dụng các khía cạnh bằng CLI
Trước khi chạy tập lệnh, hãy xem xét những gì chúng ta thực sự đang áp dụng để làm sáng tỏ quy trình. Chạy lệnh sau để xem cấu trúc của tải trọng tài chính nội bộ:
cat aspect_payloads/fin_internal.yaml
Bạn sẽ thấy các nội dung sau.
your-project-id.us-central1.official-data-product-spec:
data:
product_tier: GOLD_CRITICAL
data_domain: FINANCE
usage_scope: INTERNAL_ONLY
update_frequency: DAILY_BATCH
is_certified: true
Hãy lưu ý cách YAML này xác định rõ ràng bối cảnh kinh doanh, chẳng hạn như đặt cờ is_certified: true và chỉ định cấp GOLD_CRITICAL. Cung cấp cho LLM các quy tắc rõ ràng, có cấu trúc để đánh giá thay vì chỉ đoán dựa trên tên bảng.
Bây giờ, hãy chạy tập lệnh ứng dụng. Thao tác này sẽ lặp lại qua các bảng BigQuery và thực thi lệnh gcloud dataplex entries update để đính kèm siêu dữ liệu cứng nhắc này.
chmod +x ./apply_governance.sh
./apply_governance.sh
Xác minh (không bắt buộc)
Trước khi tiếp tục, hãy xác minh rằng siêu dữ liệu đã được áp dụng chính xác trong bảng điều khiển.
- Mở trang Knowledge Catalog trong Google Cloud Console. Nếu bạn không thấy "Knowledge Catalog" (Danh mục kiến thức) trong trình đơn điều hướng bên trái, hãy sử dụng thanh Tìm kiếm ở đầu cửa sổ Google Cloud Console, nhập "Knowledge Catalog" (Danh mục kiến thức) rồi chọn kết quả trong mục "Kết quả hàng đầu" hoặc "Sản phẩm và trang".
- Tìm kiếm
fin_monthly_closing_internalBạn sẽ thấy bảng BigQuery được liệt kê trong kết quả. Nhấp vào tên bảng để chuyển đến trang thông tin chi tiết của bảng đó.

- Trên trang thông tin chi tiết của bảng, hãy tìm mục "Thẻ và khía cạnh không bắt buộc" ở dưới cùng.
- Bạn sẽ thấy khía cạnh
official-data-product-spec. Xác nhận rằng các giá trị khớp với kịch bản "Gold Internal" mà chúng ta đã áp dụng.

Giờ đây, bạn đã xác nhận rằng các bảng BigQuery giống hệt nhau về mặt kỹ thuật (fin_monthly_closing_internal và tmp_data_dump_v2_final_real) được phân biệt một cách logic bằng siêu dữ liệu có thể đọc được bằng máy.
5. Định cấu hình và tạo nguyên mẫu cho tác nhân
Trước khi xây dựng ứng dụng (chúng ta sẽ thực hiện trong Phần 2), chúng ta sẽ xác minh logic quản trị dữ liệu trên máy. Chúng ta cần cài đặt Trình bổ trợ Danh mục kiến thức và định cấu hình Kỹ năng của nhân viên hỗ trợ.
Cài đặt tiện ích
Trong Cloud Shell, hãy cài đặt trình bổ trợ Knowledge Catalog. Trợ lý sẽ yêu cầu bạn xác nhận và cung cấp thông tin thiết lập.
export DATAPLEX_PROJECT="${PROJECT_ID}"
agy plugin install https://github.com/gemini-cli-extensions/dataplex
Kiểm tra kỹ năng của tác nhân
Kỹ năng của tác nhân là một tệp định nghĩa tĩnh, có thể sử dụng lại, nằm trong .agents/skills/knowledge_catalog_governance/SKILL.md. Lớp này chứa logic giúp chuyển đổi các quy tắc trừu tượng của con người (ví dụ: "Tôi cần dữ liệu an toàn") thành các quy trình tra cứu kỹ thuật nghiêm ngặt.
Kiểm tra tệp để hiểu thuật toán mà chúng ta đang dạy cho AI:
cat .agents/skills/knowledge_catalog_governance/SKILL.md
Lưu ý rằng câu lệnh này hướng dẫn rõ ràng cho mô hình tuân theo một vòng lặp nghiêm ngặt gồm Giai đoạn 1 (Xác minh siêu dữ liệu) và Giai đoạn 2 (Thực thi truy vấn). Mô hình phải khám phá và xác minh siêu dữ liệu trước khi tạo bất kỳ SQL nào.
Khởi động tác nhân và thử nghiệm các tình huống
Bắt đầu phiên CLI AGY. Hệ thống sẽ tự động khám phá và tải kỹ năng từ thư mục .agents/skills.
agy
Lưu ý: Bạn có thể thấy nhiều tệp ngữ cảnh đang được tải. Đây là điều bình thường. CLI tải kỹ năng cục bộ cho các quy tắc cụ thể của dự án này, cùng với hướng dẫn mặc định cho chính trình bổ trợ Danh mục kiến thức.
Xác minh cài đặt
Nhập /mcp để xác nhận rằng trình bổ trợ Danh mục kiến thức đang hoạt động. Bạn sẽ thấy knowledge-catalog được liệt kê là một trình bổ trợ đang hoạt động cùng với các công cụ có sẵn.
/mcp
Kết quả đầu ra dự kiến:
MCP Servers
...
> ✓ knowledge-catalog Tools: search_entries, lookup_context, lookup_entry
Kịch bản kiểm thử (tạo nguyên mẫu)
Dán từng câu lệnh sau vào phiên tác nhân đang chạy để xác minh rằng tác nhân đó tuân thủ các quy tắc của bạn.
- Trường hợp A (chứng nhận dữ liệu của CFO):
"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?"
Kết quả mong đợi: Tác nhân tự động phát hiện dự án và khu vực đang hoạt động của bạn từ các công cụ của tác nhân, truy vấn fin_monthly_closing_internal vì truy vấn này khớp về mặt ngữ nghĩa với GOLD_CRITICAL (chính xác) và INTERNAL_ONLY (cuộc họp hội đồng quản trị) trong Aspect, rồi đề xuất truy vấn đó.
- Tình huống B (tiết lộ công khai):
"I need to share our quarterly financial summary with an external consulting firm. It is critical that we do not leak any raw or internal metrics. Which dataset is officially scrubbed and explicitly approved for external sharing?"
Kết quả mong đợi: Nhân viên hỗ trợ phải bỏ qua bảng nội bộ hằng tháng và chỉ chọn fin_quarterly_public_report vì đây là tài sản duy nhất được gắn thẻ EXTERNAL_READY.
- Tình huống C (nhu cầu hoạt động):
"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?"
Kết quả mong đợi: Tác nhân chọn mkt_realtime_campaign_performance vì xác định được tần suất cập nhật REALTIME_STREAMING, ưu tiên tần suất đó hơn cấp GOLD_CRITICAL của dữ liệu tài chính.
- Tình huống D (thử nghiệm hộp cát):
"I'm just playing around with some new ML models and need a lot of raw data. It doesn't need to be perfect, just a sandbox environment."
Kết quả dự kiến: Tác nhân chọn tmp_data_dump_v2_final_real vì tác nhân này khớp về mặt ngữ nghĩa với BRONZE_ADHOC (dữ liệu thô) và is_certified: false (môi trường hộp cát) trong Khía cạnh của tác nhân.
(Để thoát khỏi phiên AGY, hãy nhập /exit hoặc /quit)
6. Xin chúc mừng! Tiếp theo là gì?
Bạn đã xây dựng thành công một nền tảng dữ liệu được quản lý và chứng minh rằng AI có thể tuân thủ nghiêm ngặt các quy tắc siêu dữ liệu của bạn bằng cách sử dụng nguyên mẫu CLI cục bộ!
Giờ đây, bạn đã đạt được một cột mốc. Vui lòng chọn bước tiếp theo:
Lựa chọn A: Tôi muốn tiếp tục chuyển sang Phần 2 ngay bây giờ!
Nếu bạn đã sẵn sàng chuyển đổi nguyên mẫu cục bộ này thành một ứng dụng web an toàn, cấp sản xuất bằng Giao thức ngữ cảnh mô hình (MCP) và Cloud Run:
👉 Đường liên kết đến Lớp học lập trình Phần 2
Lựa chọn B: Tôi sẽ thực hiện Phần 2 sau hoặc tôi chỉ muốn hoàn thành Phần 1.
Nếu muốn dừng lại hôm nay và tránh phát sinh chi phí trên đám mây, bạn nên dọn dẹp tài nguyên của mình.
Đừng lo lắng! Trong Phần 2, chúng tôi sẽ cung cấp một "Tập lệnh theo dõi nhanh" để xây dựng lại hoàn toàn môi trường của Phần 1 này cho bạn chỉ trong 2 phút, nhờ đó bạn có thể tiếp tục ngay tại nơi bạn đã dừng lại.
👉 Chuyển đến phần dọn dẹp.
7. Dọn dẹp (chỉ dành cho phương án B)
Nếu bạn dừng tại đây, hãy huỷ các tài nguyên để tránh bị tính phí.
Huỷ hồ dữ liệu
Nếu bạn đang ở trong phiên AGY CLI, hãy thoát khỏi phiên bằng cách nhấn Ctrl+C hai lần hoặc nhập /quit. Sau đó, hãy chạy các lệnh sau:
chmod +x ./cleanup_data_lake.sh
./cleanup_data_lake.sh
Gỡ cài đặt trình bổ trợ AGY CLI và xoá các tệp trên máy
agy plugin uninstall dataplex
cd ~
rm -rf ~/devrel-demos