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 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ố 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â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 xây dựng một tác nhân AI 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" nhưng thực tế trong BigQuery, áp dụng các thẻ siêu dữ liệu cứng (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 nhiễu và sử dụng CLI Antigravity (AGY) để kiểm thử cục bộ xem liệu 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 cách sử dụ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 (các loại khía cạnh) trong Danh mục kiến thức để 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ị dữ liệu cục bộ bằng AGY CLI trước khi viết bất kỳ mã xử lý ứng dụng nào.
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 (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à Danh mục tri thức.
Khái niệm chính
- Danh mục tri thức: 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 (hoạt động 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 thẻ 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"
Bật 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 \
bigquery.googleapis.com \
dataplex.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 sạch sẽ. Để 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ẽ 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 ở chế độ có thể thực thi và kích hoạt. 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 mẫu vào các bảng của 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 trông 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, việc này được thực hiện 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ể dùng lại và được nhập mạnh.
Chúng ta sẽ đăng ký mẫu này bằng CLI gcloud để bạn có thể xem cách xác định mẫu.
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
Thao tác này sẽ cho bạn 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",
...
}
]
}
Lưu ý cách lược đồ 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 độ quan trọng (GOLD_CRITICAL, SILVER_STANDARD, BRONZE_ADHOC) và bool cho is_certified. Điều này giúp đảm bảo siêu dữ liệu vẫn có cấu trúc và có thể đọc được bằng máy.
Đăng ký loại tỷ lệ khung hình
Chạy lệnh gcloud sau đây để đăng ký mẫu này trong sổ đăng ký Danh mục tri 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 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 tải trọng quản trị
Khoá khía cạnh Danh mục kiến thức 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.
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 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ự á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 ngữ cảnh kinh doanh, chẳng hạn như đặt cờ is_certified thành true và chỉ định cấp GOLD_CRITICAL. Đưa ra các quy tắc rõ ràng, có cấu trúc để LLM đá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 kiến thức trong Google Cloud Console. Nếu bạn không thấy "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ổ Cloud Console, nhập "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 xuất hiện 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 phần "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.
5. Đị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 (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ị dữ liệu của mình ở cấp cục bộ. 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 trợ lý ảo.
Cài đặt tiện ích
Trong Cloud Shell, hãy cài đặt trình bổ trợ Knowledge Catalog. 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}"
agy plugin install https://github.com/gemini-cli-extensions/dataplex
Kiểm tra kỹ năng của nhân viên hỗ trợ
Kỹ năng của nhân viên hỗ trợ là một tệp định nghĩa tĩnh, có thể dùng lại, nằm trong .agents/skills/knowledge_catalog_governance/SKILL.md. Thành phần này 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 lệnh tìm kiếm 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
Xin lưu ý rằng hướng dẫn 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ỳ câu lệnh SQL nào.
Khởi động tác nhân và kiểm thử các tình huống
Bắt đầu phiên AGY CLI. Thao tác này sẽ tự động phát hiện 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 bối 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 các 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 plugin Danh mục kiến thức đang hoạt động. Bạn sẽ thấy knowledge-catalog xuất hiện dưới dạng một trình bổ trợ đang hoạt động cùng với các công cụ có sẵn của trình bổ trợ đó.
/mcp
Kết quả đầu ra dự kiến:
MCP Servers
...
> ✓ knowledge-catalog Tools: search_entries, lookup_context, lookup_entry
Các trường hợp 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 xem câu lệnh đó có tuân thủ các quy tắc của bạn hay không.
- 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: Dựa vào các công cụ của mình, tác nhân tự động phát hiện dự án và khu vực đang hoạt động của bạn, truy vấn fin_monthly_closing_internal vì dự án và khu vực 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 dự án và khu vực đó, đồng thời đề xuất dự án và khu vực đó.
- 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ỉ 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: Tác nhân sẽ 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 tác nhân.
(Để thoát 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 một nguyên mẫu CLI cục bộ!
Bây giờ, 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 đế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 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 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.
Đừng lo lắng! Trong Phần 2, chúng tôi sẽ cung cấp một "Tập lệnh truy cập nhanh" 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 để bạn có thể tiếp tục đúng 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 lựa chọn B)
Nếu bạn dừng ở đây, hãy huỷ các tài nguyên để tránh bị tính phí.
Hủy bỏ 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