1. Giới thiệu
Các mô hình AI tạo sinh là những mô hình suy luận mạnh mẽ, nhưng chú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 là "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ố là ước tính tiếp thị theo thời gian thực và nhiều báo cáo có khả năng là hộp cát không dùng nữa.
Nếu không có liên kết thực tế rõ ràng, tác nhân AI sẽ chọn một bảng dựa trên sự tương đồng đơn giản về tên, dẫn đến các câu trả lời "sai một cách thuyết phục" được lấy từ dữ liệu chưa được xác minh.
Lớp học lập trình này là một phần 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ị.
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 "lộn xộn" thực tế trong BigQuery, áp dụng các thẻ siêu dữ liệu nghiêm ngặt (Khía cạnh Dataplex) để phân biệt dữ liệu hợp lệ với dữ liệu nhiễu và sử dụng Gemini CLI để kiểm thử cục bộ xem LLM có tuân thủ nghiêm ngặt các quy tắc quản trị 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 cục bộ này vào một ứng dụng web cấp doanh nghiệp, an toàn bằng Giao thức ngữ cảnh mô hình (MCP) và Cloud Run. 👉 Đọc Phần 2)

Đ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à quen thuộc với BigQuery, Danh mục phổ quát Dataplex và Terraform.
- Quyền truy cập vào Google Cloud Shell.
Kiến thức bạn sẽ học được
- Triển khai một hồ dữ liệu nhiều tầng, thực tế bằng Terraform.
- Thiết kế các mẫu siêu dữ liệu nghiêm ngặt (Loại khía cạnh) trong Dataplex để phân biệt các sản phẩm dữ liệu chính thức với các bảng hộp cát thô.
- Xác minh các quy tắc quản trị cục bộ bằng Gemini CLI trước khi viết bất kỳ mã xử lý ứng dụng nào.
Bạn cần có
- Quyền truy cập vào Google Cloud Shell
- Terraform (được cài đặt sẵn trong Cloud Shell).
- Gemini CLI (được cài đặt sẵn trong Cloud Shell).
Các khái niệm chính
- Danh mục phổ quát Dataplex: Dịch vụ quản lý siêu dữ liệu hợp nhất. Chúng tôi sử dụng dịch vụ này để làm phong phú siêu dữ liệu kỹ thuật (lược đồ) bằng bối cảnh kinh doanh (quản trị).
- 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ư các thẻ văn bản tự do, Khía cạnh thực thi kiểu mạnh (enum, boolean), giúp các thẻ này đáng tin cậy để máy đánh giá.
2. Thiết lập và yêu cầu
Bắt đầu 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 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 cung cấp và kết nối với môi trường này chỉ mất vài phút. Khi hoàn tất, bạn sẽ thấy một nội dung như sau:

Máy ảo này được tải 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 5 GB liên tục và chạy trên Google Cloud, giúp nâng cao đáng kể hiệu suất mạng và 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 động 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"
Cho phép 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 \
artifactregistry.googleapis.com \
bigqueryunified.googleapis.com \
cloudaicompanion.googleapis.com \
cloudbuild.googleapis.com \
cloudresourcemanager.googleapis.com \
datacatalog.googleapis.com \
run.googleapis.com
Nhân bản 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 phòng thí nghiệm này.
# 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 "lộn xộn"
Môi trường dữ liệu trong thế giới thực hiếm khi sạch. Để mô phỏng thực tế, chúng ta cần kết hợp các trung tâm 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 Terraform để triển khai môi trường này. Cấu hình xử lý 2 tác vụ:
- Cơ sở hạ tầng: Tạo các loại khía cạnh Dataplex và Tập dữ liệu/Bảng BigQuery.
- Tải dữ liệu: Chạy các công việc INSERT của BigQuery để điền dữ liệu mẫu vào các bảng ngay sau khi tạo.
- Chuyển đến thư mục
terraformvà khởi động thư mục đó.
cd terraform
terraform init
- Áp dụng cấu hình. Quá trình này có thể mất tối đa một phút.
terraform apply -var="project_id=${PROJECT_ID}" -var="region=${REGION}" -auto-approve
Đ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 trị. Đối với AI, mọi bảng đều trông giống hệt nhau.
3. Áp dụng 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 nhau đối 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á việc này thông qua các quy trình CI/CD. Chúng ta sẽ mô phỏng quá trình tự động hoá đó bằng các tập lệnh.
Tạo tải trọng quản trị
Các khoá Khía cạnh Dataplex phải là duy nhất trên toàn cầu (có tiền tố là Mã dự án của bạn). Tập lệnh ./generate_payloads.sh sẽ tạo động các tệp siêu dữ liệu YAML.
cd ..
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 tình huống 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 Khía cạnh thông qua CLI
Trước khi chạy tập lệnh, hãy xem xét những gì chúng ta thực sự áp dụng để làm rõ 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
Lệnh này sẽ cho bạn thấy 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
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 AI 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 các bảng BigQuery và thực thi lệnh gcloud dataplex entries update để đính kèm siêu dữ liệu nghiêm ngặt 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 Danh mục phổ quát Dataplex trong Google Cloud Console. Nếu bạn không thấy "Danh mục phổ quát Dataplex" 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ổ bảng điều khiển Cloud, nhập Dataplex rồi chọn kết quả trong phần "Kết quả hàng đầu" hoặc "Sản phẩm và trang".
- Tìm kiếm
fin_monthly_closing_internal. Bạn sẽ thấy bảng BigQuery được liệt kê trong kết quả. Nhấp vào tên bảng để vào 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 phần "Thẻ và khía cạnh không bắt buộc" nằm ở dưới cùng.
- Bạn sẽ tìm thấy khía cạnh
official-data-product-spec. Xác nhận rằng các giá trị khớp với tình huống "Vàng nội bộ" 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.
4. Định cấu hình và tạo nguyên mẫu tác nhân
Trước khi xây dựng một ứng dụng web (mà chúng ta sẽ thực hiện trong Phần 2), chúng ta sẽ xác minh logic quản trị của mình cục bộ. Chúng ta cần cài đặt Tiện ích Dataplex và định cấu hình lời nhắc hệ thống.
Cài đặt tiện ích
Trong Cloud Shell, hãy cài đặt Tiện ích Dataplex. Tiện ích này sẽ yêu cầu bạn xác nhận và cung cấp thông tin chi tiết về quá trình thiết lập.
export DATAPLEX_PROJECT="${PROJECT_ID}"
gemini extensions install https://github.com/gemini-cli-extensions/dataplex
(Nhập Y để chấp nhận cài đặt và nhập Mã dự án khi được nhắc).
Xác định tệp chính sách
Tệp GEMINI.md chứa logic 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 tra cứu kỹ thuật nghiêm ngặt.
Tệp này hiện là tệp chung. Tác nhân cần biết chính xác dự án trên đám mây nào của Google Cloud cần tìm kiếm để ngăn tác nhân ảo tưởng bảng từ Internet công cộng hoặc các bối cảnh khác.
- Chèn
PROJECT_IDvào tệp chính sách.
envsubst < GEMINI.md > GEMINI.md.tmp && mv GEMINI.md.tmp GEMINI.md
- Kiểm tra tệp để hiểu thuật toán mà chúng ta đang dạy cho AI.
cat GEMINI.md
Lưu ý 2 điều trong tệp này:
- Phạm vi dự án: Kiểm tra Giai đoạn 2. Đảm bảo rằng projectid:
${PROJECT_ID}đã được thay thế bằng Mã dự án thực tế của bạn(e.g., projectid:my-lab-project). Nếu biến này không được thay thế, tác nhân sẽ tìm kiếm trên mọi dự án mà bạn có quyền truy cập, dẫn đến câu trả lời không chính xác. - Thuật toán: Lưu ý logic Giai đoạn 1 / Giai đoạn 2. Chúng ta hướng dẫn rõ ràng cho mô hình KHÔNG đoán SQL. Trước tiên, mô hình phải tìm kiếm định nghĩa thẻ chính xác (Giai đoạn 1) rồi mới tìm kiếm dữ liệu (Giai đoạn 2).
Khởi động tác nhân và kiểm thử các tình huống
Khởi động phiên Gemini CLI, lần này tải chính sách quản trị của bạn làm ngữ cảnh hệ thống.
gemini

Lưu ý: Bạn có thể thấy nhiều tệp ngữ cảnh đang được tải (ví dụ: GEMINI.md và các tệp khác). Đây là điều bình thường. CLI tải GEMINI.md 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 Tiện ích Dataplex.
Xác minh quá trình cài đặt
Nhập /mcp desc để xác nhận rằng Tiện ích Dataplex đang hoạt động. Bạn sẽ thấy dataplex được liệt kê là một máy chủ MCP đã định cấu hình với các công cụ có sẵn.

Kiểm thử các tình huống (Tạo nguyên mẫu)
Dán từng lời nhắc 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.
- Tình huống A (Chứng nhận dữ liệu của Giám đốc tài chính):
"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?"
Dự kiến: Truy vấn fin_monthly_closing_internal vì nó 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 Khía cạnh của nó.
- Tình huống B (Công bố 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?"
Dự kiến: Tác nhân phải bỏ qua bảng nội bộ hằng tháng và chọn nghiêm ngặt fin_quarterly_public_report vì đây là thành phầ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?"
Dự kiến: Tác nhân chọn mkt_realtime_campaign_performance vì tác nhân xác định 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."
Dự kiến: Tác nhân chọn tmp_data_dump_v2_final_real vì nó 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 nó.
(Để thoát khỏi phiên Gemini, hãy nhập /quit)
5. Xin chúc mừng! Tiếp theo là gì?
Bạn đã xây dựng thành công nền tảng dữ liệu được quản trị 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ộ!
Bây giờ, bạn đã đạt đến một điểm kiểm tra. Vui lòng chọn bước tiếp theo:
Cách A: Tôi muốn tiếp tục đến Phần 2 ngay bây giờ!
Nếu bạn đã sẵn sàng biến 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
Cách 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 bạn muốn dừng lại hôm nay và tránh chi phí trên đám mây, bạn nên dọn dẹp tài nguyên.
Đừng lo lắng! Trong Phần 2, chúng tôi sẽ cung cấp "Tập lệnh nhanh" để xây dựng lại hoàn toàn môi trường Phần 1 này cho bạn chỉ trong 2 phút, để bạn có thể tiếp tục chính xác từ nơi bạn đã dừng lại.
👉 Chuyển đến phần Dọn dẹp.
6. Dọn dẹp (Chỉ dành cho cách B)
Nếu bạn dừng lại ở đây, hãy huỷ các tài nguyên để tránh phát sinh phí.
Huỷ Datalake (Terraform)
Nếu bạn hiện đang ở trong môi trường Gemini 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:
cd ~/devrel-demos/data-analytics/governance-context/terraform
terraform destroy -var="project_id=${PROJECT_ID}" -var="region=${REGION}" -auto-approve
Gỡ cài đặt tiện ích Gemini CLI và xoá các tệp cục bộ
gemini extensions uninstall dataplex
cd ~
rm -rf ~/devrel-demos