1. Giới thiệu
Các mô hình AI tạo sinh là những công cụ suy luận mạnh mẽ, nhưng chúng thiếu ngữ cảnh về tổ chức. Nếu một nhà điều hành hỏi một trợ lý AI "Doanh thu của chúng ta trong quý 1 là bao nhiêu?", thì trợ lý này 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ố là số liệu ước tính tiếp thị theo thời gian thực và nhiều báo cáo có khả năng là các hộp cát không dùng nữa.
Nếu không có cơ sở rõ ràng, một 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 nằm trong loạt nội dung gồm 2 phần, khám phá cách tạo một Đặc vụ AI tạo sinh có nhận thức về hoạt độ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 "lộn xộn" thực tế trong BigQuery, áp dụng các thẻ siêu dữ liệu cứng nhắc (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 an toàn, cấp doanh nghiệp bằng cách sử dụ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.
- Có kiến thức 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 thực tế, nhiều tầng bằng cách sử dụ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ã ứ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 công cụ này để làm phong phú siêu dữ liệu kỹ thuật (sơ đồ) bằng bối cảnh kinh doanh (quy trình 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ư thẻ văn bản tự do, Các khía cạnh thực thi việc nhập liệu mạnh (enum, boolean), giúp các khía cạnh này trở nên đáng tin cậy để máy móc đánh giá.
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:

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:

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"
Cho phép API
Bật các dịch vụ cần thiết của Google Cloud để thực hiện chỉ 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
Sao chép kho lưu trữ
Lấy mã cơ sở hạ tầng và các 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 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 "lộn xộn"
Môi trường dữ liệu trong thế giới thực hiếm khi được dọn dẹp. Để mô phỏng thực tế, chúng ta cần kết hợp các bảng "hộp cát" không đáng tin cậy và các data mart "chính thức".
Chúng ta sẽ dùng Terraform để triển khai môi trường này. Cấu hình này 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
terraformrồi khởi chạy 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 lý. Đối với AI, mọi bảng đều trông giống hệt nhau.
3. Áp dụng hoạt độ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 như một 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 quy trình tự động hoá đó bằng tập lệnh.
Tạo trọng tải quản trị
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
Đầu ra:
Lệnh 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ị (Gold/Internal, Gold/Public, Silver/Realtime, Bronze/Sandbox).
Á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ự đang á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
Nội dung sau đây sẽ xuất hiện.
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 thành 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 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 cố định 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 chung của Dataplex trong Google Cloud Console. Nếu bạn không thấy "Danh mục chung của 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ổ Google Cloud Console, nhập Dataplex 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 xuất hiện trong kết quả. Nhấp vào tên bảng để chuyển đến trang chi tiết của bảng đó.

- Trên trang 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 tôi đã á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 hợp lý bằng siêu dữ liệu mà máy có thể đọc được.
4. Định cấu hình và tạo nguyên mẫu cho tác nhân
Trước khi tạo một ứng dụng web (chúng ta sẽ làm việc này trong Phần 2), chúng ta sẽ xác minh logic quản trị của mình tại chỗ. Chúng ta cần cài đặt Tiện ích Dataplex và định cấu hình câu lệnh hệ thống.
Cài đặt tiện ích
Trong Cloud Shell, hãy cài đặt Tiện ích Dataplex. Hệ thống sẽ yêu cầu bạn xác nhận và cung cấp thông tin chi tiết về chế độ 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 dịch 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 cụm từ tìm kiếm 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 nào trên Google Cloud cần tìm kiếm để ngăn tác nhân tạo ra các bảng ảo 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
Hãy 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ế(e.g., projectid:my-lab-project). Nếu biến này không được thay thế, thì tác nhân sẽ tìm kiếm trong 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 tôi hướng dẫn rõ ràng cho mô hình KHÔNG được đoán SQL. Trước tiên, nó phải tìm định nghĩa thẻ chính xác (Giai đoạn 1) rồi mới tì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
Bắt đầu 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 bối 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.

Tình huống kiểm thử (Tạo nguyên mẫu)
Dán từng câu lệnh sau đây vào phiên đang chạy của tác nhân để xác minh rằng câu lệnh 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: Cụm từ tìm kiếm fin_monthly_closing_internal vì cụm từ 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 khía cạnh của cụm từ.
- 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?"
Dự kiến: 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à thành phần duy nhất được gắn thẻ EXTERNAL_READY.
- Tình huống C (Nhu cầu vận hành):
"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: Nhân viên hỗ trợ chọn mkt_realtime_campaign_performance vì lựa chọn này xác định tần suất cập nhật REALTIME_STREAMING, ưu tiên tần suất này 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: Agent 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 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 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 một 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:
Cách A: Tôi muốn tiếp tục chuyển đến Phần 2 ngay bây giờ!
Nếu bạn đã sẵn sàng chuyể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 cách sử dụ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ẽ làm 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 trong hôm nay và tránh phát sinh chi phí trên đám mây, bạn nên dọn dẹp các 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 tăng tốc" để giúp bạn xây dựng lại hoàn toàn môi trường Phần 1 này chỉ trong 2 phút, nhờ đó bạn có thể tiếp tục từ đúng vị trí đã dừng lại.
👉 Chuyển đến phần Dọn dẹp.
6. Dọn dẹp (Chỉ dành cho lựa chọn B)
Nếu bạn dừng ở đây, hãy huỷ các tài nguyên để tránh phát sinh phí.
Huỷ Datalake (Terraform)
Nếu bạn đang ở trong môi trường Gemini CLI, hãy nhấn Ctrl+C hai lần hoặc nhập /quit để thoát phiên. 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 trên máy
gemini extensions uninstall dataplex
cd ~
rm -rf ~/devrel-demos