1. Tổng quan
Trong lớp học lập trình này, chúng ta sẽ tạo ra một thứ gì đó thú vị. Hãy tưởng tượng một khu chợ kỹ thuật số, nơi AI Agent của bạn là người bán hàng thông minh và dí dỏm nhất.
Làm quen với Raju, người bán hàng AI mới của bạn. Anh ta bán những hiện vật kỹ thuật số tuyệt vời, nhưng bạn phải mặc cả với anh ta để mua được chúng!
Chúng tôi sẽ sử dụng Gemini 3 (bộ não), ADK (Agent Development Kit – Bộ công cụ phát triển tác nhân – cơ thể) và Google Cloud Run (vị trí cửa hàng) để tạo ra Raju.

Kiến thức bạn sẽ học được
Chúng ta sẽ xây dựng toàn bộ ngăn xếp cho một Ứng dụng dựa trên tác nhân hiện đại:

- The Shop (Cloud Run): Nơi ứng dụng của bạn hoạt động trên Internet.
- The Brain (Gemini 3): Nền tảng trí tuệ hỗ trợ Raju.
- Phần nội dung (ADK): Khung kết nối trí não với các công cụ.
- Kho hàng (Công cụ): Đoạn mã Python mà Raju dùng để kiểm tra kho hàng.
- Trang chủ cửa hàng (giao diện người dùng): Giao diện mà khách hàng nhìn thấy.
Bạn sẽ tìm hiểu cách:
- Thiết lập "Digital Dukaan" (Môi trường Google Cloud).
- "Thuê" Raju (Nhận khoá Gemini 3 API).
- Dạy Raju cách thương lượng (Hướng dẫn hệ thống và tính cách).
- Cung cấp cho Raju một kho hàng (Bộ công cụ ADK).
- Xây dựng mặt tiền cửa hàng (Giao diện người dùng).
- Mở cửa kinh doanh (Triển khai lên Cloud Run).
Bạn cần có
- Một dự án trên Google Cloud.
- Khiếu hài hước (để thương lượng).
- Có kiến thức cơ bản về Python.
2. Thiết lập Dukaan (Dự án trên đám mây)
Trước khi tạo Raju, chúng ta cần có vị trí cửa hàng. Trên đám mây, điều đó có nghĩa là một Dự án có Tài khoản thanh toán.
Bước 1: Kích hoạt tính năng Thanh toán

- Mở đường liên kết nhận ưu đãi trong Cửa sổ ẩn danh.
- Đăng nhập bằng tài khoản Gmail cá nhân của bạn.
- Nhấp vào nút Truy cập vào tín dụng.
- Xác nhận email và chấp nhận các điều khoản để kích hoạt gói dùng thử.
Bước 2: Tạo dự án

- Chuyển đến Trang tạo dự án.
- Nhập một Tên dự án riêng biệt (ví dụ:
raju-shop-agent). - Trong trình đơn thả xuống "Tài khoản thanh toán", hãy chọn Tài khoản thanh toán dùng thử.
- Nhấp vào TẠO rồi đợi dự án sẵn sàng.
Bước 3: Xác minh mối liên kết với hoạt động thanh toán

- Chuyển đến trang Tài khoản thanh toán được liên kết.
- Nếu bạn thấy lựa chọn "Liên kết tài khoản thanh toán", hãy nhấp vào lựa chọn đó.
- Đảm bảo bạn đã chọn Tài khoản thanh toán dùng thử.
- Giờ thì bạn đã sẵn sàng xây dựng!
Tóm tắt
Trong bước này, bạn sẽ thiết lập Dự án và Tài khoản thanh toán trên Google Cloud, tạo nền tảng cho ứng dụng của mình.
Tiếp theo, chúng ta sẽ thiết lập không gian làm việc nơi bạn sẽ tạo mã trong phần Chuẩn bị môi trường.
3. Xây dựng gian hàng (Thiết lập môi trường)
Bạn cần một nơi để chạy mã. Bạn có 2 lựa chọn:

Lựa chọn 1: Google Cloud Shell (Nên dùng)
Cloud Shell là một thiết bị đầu cuối dựa trên trình duyệt, được cài đặt sẵn mọi thứ bạn cần (Python, gcloud CLI, git). Ứng dụng này có bộ nhớ ổn định và hoạt động ở mọi nơi.
1. Kích hoạt Cloud Shell
Nhấp vào biểu tượng "Kích hoạt Cloud Shell" (biểu tượng thiết bị đầu cuối) ở trên cùng bên phải của tiêu đề Bảng điều khiển Google Cloud.

Cloud Shell sẽ khởi chạy. Việc này bao gồm:
- Uỷ quyền: Nếu được nhắc, hãy nhấp vào Uỷ quyền để cho phép Cloud Shell thay mặt bạn thực hiện lệnh gọi đến các API của Google Cloud.
- Cung cấp: Cloud Shell cung cấp một máy ảo tạm thời cho phiên của bạn.
- Đang kết nối: Sau đó, nó sẽ kết nối với VM này. Toàn bộ quá trình này có thể mất một hoặc hai phút.
Chờ cho đến khi bạn thấy dấu nhắc lệnh (user@cloudshell:~ $).
2. Xác minh chế độ thiết lập dự án
Cloud Shell thường tự động chọn dự án hiện tại của bạn. Để đảm bảo an toàn, hãy xác minh:
gcloud config get-value project
Nếu lệnh này không trả về mã dự án (raju-shop-agent), hãy đặt mã dự án theo cách thủ công:
gcloud config set project raju-shop-agent
Cách 2: Local Terminal
Nếu muốn dùng thiết bị đầu cuối của máy tính xách tay (iTerm, PowerShell, v.v.), bạn cần thiết lập thêm một chút.
1. Cài đặt điều kiện tiên quyết
Đảm bảo bạn đã cài đặt những thứ sau:
2. Đăng nhập và định cấu hình gcloud
Khởi động Google Cloud CLI và đăng nhập vào tài khoản của bạn:
gcloud auth login
Thiết lập dự án (thay thế raju-shop-agent bằng mã dự án thực tế của bạn):
gcloud config set project raju-shop-agent
Thiết lập thông tin xác thực mặc định của ứng dụng (việc này giúp các công cụ cục bộ giao tiếp với Google Cloud):
gcloud auth application-default login
Tóm tắt
Trong bước này, bạn đã chọn môi trường phát triển (Cloud Shell hoặc Local) và định cấu hình môi trường đó.
Tiếp theo, chúng ta sẽ tìm hiểu về công cụ giúp chúng ta xây dựng nhanh hơn trong Meeting Gemini CLI.
4. Làm quen với trợ lý của bạn (Gemini CLI)
Giờ đây, hãy làm quen với người bạn thân mới của bạn trong quá trình phát triển AI: Gemini CLI!

Gemini CLI là một giao diện dòng lệnh mạnh mẽ giúp bạn:
- Tự động hoá quy trình công việc: Quản lý dự án AI một cách hiệu quả.
- Tạo mã: Tạo mã, giao diện người dùng và thậm chí cả tệp.
- Hệ sinh thái tiện ích: Mở rộng các chức năng của hệ thống bằng nhiều tiện ích (chẳng hạn như tiện ích Cloud Run mà chúng ta sẽ sử dụng sau này).
1. Cài đặt Gemini CLI (Chỉ dành cho thiết bị đầu cuối cục bộ)
Nếu bạn đang sử dụng thiết bị đầu cuối trên máy tính xách tay cục bộ:
npm install -g @google/gemini-cli
Nếu bạn đang sử dụng Google Cloud Shell:
Gemini CLI được cài đặt sẵn trong Cloud Shell, nên bạn không cần cài đặt gì cả!
2. Khởi chạy và xác thực
Mở một cửa sổ dòng lệnh mới (hoặc thẻ) trong Cloud Shell (hoặc dòng lệnh cục bộ) rồi chạy Gemini CLI:
gemini
Thiết lập lần chạy đầu tiên: Nếu đây là lần đầu tiên bạn chạy, CLI sẽ hướng dẫn bạn thực hiện quy trình thiết lập nhanh.
- Xác thực: Bạn sẽ được yêu cầu đăng nhập. Bạn nên sử dụng tài khoản Gmail cá nhân để tận dụng hạn mức miễn phí hào phóng dành cho các mô hình Gemini.
- Bối cảnh dự án: Tốt nhất là bạn nên chạy
geminitrong thư mục dự án để công cụ này hiểu được bối cảnh mã của bạn. (Vì chúng ta chưa tạo thư mục, nên bạn có thể chạy thư mục này từ thư mục chính của mình).
3. Nói lời chào!
Sau khi bạn thấy lời nhắc gemini>, hãy thử kiểm tra để đảm bảo não của bạn đã kết nối:
Hi
Bạn sẽ nhận được câu trả lời thân thiện từ mô hình.
4. Lệnh cần thiết
/quit: Nhập lệnh này để thoát Gemini CLI và quay lại thiết bị đầu cuối tiêu chuẩn./help: Xem danh sách tất cả các lệnh có sẵn.
Tóm tắt
Trong bước này, bạn đã cài đặt, xác thực và xác minh Gemini CLI.
Tiếp theo, chúng ta sẽ sử dụng Bộ công cụ phát triển tác nhân (ADK) để xây dựng cấu trúc của cửa hàng trong Mở cửa hàng (Mã).
5. Stocking the Shelves (Thiết lập dự án)
Chúng ta sẽ không xây dựng từ đầu (người bán hàng thông minh tiết kiệm thời gian). Chúng tôi sẽ sử dụng Agent Development Kit (ADK).
ADK là gì?

ADK là "hệ thống quản lý cửa hàng" của bạn. Đây là một khung linh hoạt xử lý:
- Điều phối: Quản lý các tác vụ phức tạp (chẳng hạn như Raju kiểm tra kho hàng trong khi nói chuyện với khách hàng).
- Quản lý trạng thái: Ghi nhớ tên của khách hàng và những gì họ yêu cầu cách đây 5 phút.
- Công cụ: Kết nối với các hệ thống bên ngoài (chẳng hạn như cơ sở dữ liệu hàng tồn kho).
Chúng ta sẽ sử dụng Agent Starter Pack để thiết lập ngay một "Dukaan" sẵn sàng hoạt động. Nền tảng này mang đến cho chúng tôi một nền tảng bảo mật và có thể mở rộng để chúng tôi có thể tập trung vào việc bán hàng.
Trong thiết bị đầu cuối Cloud Shell (hoặc thiết bị đầu cuối cục bộ), hãy chạy lệnh này để tạo tác nhân:
uvx agent-starter-pack create raju-shop
CLI sẽ hỏi bạn một vài câu hỏi để định cấu hình cửa hàng. Chọn các mục sau (nhập số rồi nhấn phím Enter):
- Loại tác nhân: Chọn
1(adk_base– Một tác nhân ReAct cơ bản). - Mục tiêu triển khai: Chọn
2(Cloud Run– Thực thi vùng chứa không cần máy chủ). - Loại phiên: Chọn
1(In-memory session– Đơn giản và nhanh chóng). - CI/CD Runner: Chọn
3(Skip– Hiện tại, chúng ta sẽ triển khai theo cách thủ công).
Chờ quá trình này hoàn tất. Sau khi hoàn tất, hãy nhập thư mục cửa hàng của bạn và cài đặt các phần phụ thuộc:
cd raju-shop
make install
source .venv/bin/activate
Khám phá và định cấu hình trang tin nhắn cho doanh nghiệp
Sau khi thiết lập gói khởi động, hãy xem lại cấu trúc.
1. Kiểm tra cấu trúc thư mục
Chạy lệnh sau để xem cách cửa hàng của bạn được sắp xếp:
tree .
Bạn sẽ thấy một cấu trúc như sau:
.
├── app
│ ├── __init__.py
│ ├── agent.py
│ ├── app_utils
│ │ ├── telemetry.py
│ │ └── typing.py
│ └── fast_api_app.py
├── Dockerfile
├── GEMINI.md
├── Makefile
├── pyproject.toml
├── README.md
├── tests
│ ├── integration
│ │ ├── test_agent.py
│ │ └── test_server_e2e.py
│ └── unit
│ └── test_dummy.py
└── uv.lock
Tệp quan trọng nhất là app/agent.py. Đây là nơi lưu trữ bộ não của Raju!
2. Xem qua mã
Mở app/agent.py trong Cloud Shell Editor (hoặc IDE cục bộ) rồi xem nhanh:
root_agent = Agent(...): Tham số này xác định AI của bạn. Nó cómodel(não) vàtools(bàn tay).- Công cụ: Bạn sẽ thấy các hàm Python như
get_weather. Đây là những công cụ mà trợ lý có thể sử dụng. app = App(...): Thao tác này sẽ bao bọc tác nhân của bạn vào một máy chủ web để chúng ta có thể giao tiếp với tác nhân đó.
Kiểm thử cục bộ
Trong thiết bị đầu cuối Cloud Shell (hoặc thiết bị đầu cuối cục bộ), hãy chạy tác nhân:
adk web
Lệnh này khởi động một máy chủ web cục bộ trên cổng 8000.
Nếu bạn sử dụng Cloud Shell:
- Nhấp vào nút Xem trước trên web (ở trên cùng bên phải, có dạng hình con mắt).
- Chọn Thay đổi cổng.
- Nhập
8000rồi nhấp vào Thay đổi và xem trước.
Nếu bạn sử dụng Local Terminal:
- Mở trình duyệt rồi truy cập vào
http://localhost:8000.
Sau khi giao diện người dùng mở ra:
- Chọn "app": Trong trình đơn thả xuống ở trên cùng bên trái, hãy đảm bảo bạn chọn tác nhân có tên là app (bỏ qua
root_agenthoặctest_agentnếu chúng xuất hiện). - Nói xin chào: Nhập "Xin chào!" và xem Gemini có phản hồi không.
Nhấn Ctrl+C trong thiết bị đầu cuối để dừng máy chủ adk web khi bạn hoàn tất.
Tóm tắt
Ở bước này, bạn đã tạo khung cho dự án, định cấu hình dự án cho Gemini API và chạy thành công tác nhân đầu tiên trên thiết bị của mình!
Tiếp theo, chúng ta sẽ đặt tính cách và tên cho trợ lý ảo trong phần Huấn luyện Raju (Tính cách).
6. Huấn luyện Raju (Nhân vật)
Hiện tại, tác nhân này khá nhàm chán. Chúng ta sẽ tạo cho anh ấy một tính cách!

Thay vì viết mã, chúng ta chỉ cần cho Gemini biết những gì chúng ta muốn.
1. Xác định Persona
Chạy lệnh này trong dòng lệnh để "dạy" Raju biết cậu ấy là ai:
gemini "In agent.py, update the root_agent instruction. You are Raju, a bargaining shopkeeper in a digital bazaar. You sell: Brass Lamp (50 coins), Silk Scarf (500 coins). Your goal is to sell high and be funny. Speak with an Indian-English flair."
2. Xác minh mã
Mở app/agent.py. Bạn sẽ thấy Gemini đã viết chỉ dẫn hệ thống cho bạn!
3. Thử nghiệm cục bộ
Giờ đây, bạn có thể trò chuyện với Raju! Trong thiết bị đầu cuối Cloud Shell (hoặc thiết bị đầu cuối cục bộ):
adk web
Mở giao diện người dùng trên web (Cổng xem trước trên web 8000 hoặc localhost:8000), chọn tác nhân ứng dụng rồi thử các câu lệnh sau:
- "Tôi muốn Đèn bằng đồng nhưng 50 xu là quá nhiều!"
- "Bạn bán gì vậy, người bạn của tôi?"
Hãy xem phản ứng của anh ấy! Anh ta phải hài hước, kịch tính nhưng không được bán quá rẻ.
Tóm tắt
Ở bước này, bạn đã tuỳ chỉnh chỉ dẫn hệ thống của tác nhân để tạo ra "Raju", một người bán hàng hay mặc cả với cá tính độc đáo.
Tiếp theo, chúng ta sẽ cho phép Raju kiểm tra kho hàng thực tế của mình trong Kho hàng (Công cụ bổ sung).
7. Kho hàng (Thêm công cụ)
Raju cần biết những sản phẩm mà anh ấy thực sự còn hàng. Chúng tôi sẽ cung cấp cho anh ấy một "cơ sở dữ liệu" và một công cụ để kiểm tra cơ sở dữ liệu đó.

1. Tạo công cụ
Chạy một lệnh duy nhất này để tạo kho hàng, công cụ và kết nối công cụ đó với Raju:
gemini "In agent.py, create a dictionary INVENTORY with items: Brass Lamp (price 50, stock 5), Silk Scarf (price 500, stock 2), Taj Mahal (price 2000, stock 0). Then create a tool function check_inventory(item_name) that checks this dict. Finally, update the root_agent to use this tool and remove the default weather tools."
2. Xác minh Magic
Mở lại app/agent.py. Bạn sẽ thấy Gemini có:
- Đã tạo từ điển
INVENTORY. - Viết hàm
check_inventoryPython. - Cập nhật danh sách
tools=[...]trong định nghĩa tác nhân.
3. Kiểm thử Khoảng không quảng cáo
- Khởi động lại máy chủ (Ctrl+C, rồi nhấn
adk web). - Hỏi Raju:
- "Bạn có Taj Mahal không?" (Anh ấy nên nói KHÔNG, số lượng là 0).
- "Khăn lụa này giá bao nhiêu?" (Anh ấy nên kiểm tra giá thực tế).
Tóm tắt
Trong bước này, bạn đã triển khai một công cụ check_inventory, xoá các thành phần mặc định không cần thiết và kết nối công cụ đó với tác nhân của mình.
Tiếp theo, chúng ta sẽ đưa Raju lên đám mây trong phần Raju's Shop Goes Live (Deploying the Backend) (Cửa hàng của Raju hoạt động (Triển khai phần phụ trợ)).
8. Raju's Shop Goes Live (Triển khai phần phụ trợ)
Đã đến lúc mở cửa cho cả thế giới! Trước khi xây dựng trang chủ cửa hàng, chúng ta sẽ triển khai bộ não và kho hàng của Raju (tức là tác nhân của bạn) lên đám mây.

Quan trọng: Quản lý thiết bị đầu cuối
Bạn có thể đã chạy adk web trong thiết bị đầu cuối hiện tại từ bước trước.
- Tiếp tục chạy nếu bạn muốn tiếp tục kiểm thử cục bộ.
- Mở một cửa sổ/thẻ dòng lệnh MỚI cho các bước triển khai tiếp theo.
- Lưu ý: Bất cứ khi nào thay đổi
agent.py, bạn phải Dừng (Ctrl+C) và Khởi động lạiadk webđể các thay đổi có hiệu lực!
1. Chuẩn bị Gemini CLI
Trong cửa sổ dòng lệnh MỚI:
- Kiểm tra xem bạn đã ở trong Gemini CLI hay chưa (tìm dấu nhắc
gemini>). - Nếu có, hãy nhập
/quitđể thoát về trình bao chuẩn. - Đảm bảo bạn đang ở trong thư mục dự án:
cd raju-shop
2. Cài đặt tiện ích Cloud Run
Cài đặt tiện ích Cloud Run cho Gemini CLI trong thiết bị đầu cuối Cloud Shell (hoặc thiết bị đầu cuối cục bộ):
gemini extensions install https://github.com/GoogleCloudPlatform/cloud-run-mcp
3. Khởi chạy lại Gemini CLI
Khởi chạy lại Gemini CLI để sử dụng tiện ích mới:
gemini
Bạn sẽ thấy câu lệnh Gemini CLI.
4. Triển khai Agent
Có 2 cách để sử dụng các tiện ích của Gemini CLI:
Cách 1: Lệnh dấu gạch chéo (Thủ công) Bạn có thể nhập rõ ràng lệnh và cờ:
/deploy --source . --name raju-agent --region us-central1 --allow-unauthenticated
Lựa chọn 2: Ngôn ngữ tự nhiên (Nên dùng) Đây là cách dễ dàng và hiệu quả hơn! Bạn chỉ cần yêu cầu Gemini làm việc đó, và Gemini sẽ sử dụng Máy chủ MCP để gọi các công cụ phù hợp.
Hãy thử dán câu lệnh này vào Gemini CLI:
Deploy this agent app to cloud run on google cloud using the cloud-run MCP server.
Use project raju-shop-agent in us-central1 region.
Name the service raju-agent.
IMPORTANT: Make sure to allow unauthenticated invocations so my frontend can talk to it.
CLI có thể yêu cầu bạn xác nhận để sử dụng công cụ cloud-run. Nhấn Enter (hoặc nhập y) để phê duyệt.
Chờ đợi điều kỳ diệu: Quá trình này sẽ mất 2 đến 3 phút. Sau khi hoàn tất, bạn sẽ thấy một thông báo thành công như sau:
✦ I've successfully deployed your agent app to Cloud Run.
Service Details:
* Service Name: raju-agent
* Project: raju-shop-agent
* Region: us-central1
* URL: https://raju-agent-xyz123-uc.a.run.app
* Console: View in Google Cloud Console (...)
5. Xác minh quá trình triển khai
Sau khi quá trình triển khai hoàn tất, Gemini CLI sẽ cung cấp một URL dịch vụ. Sao chép URL này.
Kiểm tra trình duyệt (Trình duyệt có hoạt động không?) Dán URL đó vào trình duyệt.
- Thành công: Bạn sẽ thấy Tài liệu FastAPI (Giao diện người dùng Swagger) hoặc một trang đích ADK chung. Điều này xác nhận rằng dịch vụ Cloud Run của bạn đang chạy và có thể truy cập.
- Thất bại: Nếu gặp lỗi 403 Forbidden, có thể bạn đã quên cho phép "lệnh gọi chưa xác thực" trong lời nhắc triển khai.
Chúng ta sẽ kiểm thử logic thương lượng thực tế ở bước tiếp theo bằng cách xây dựng một giao diện người dùng phù hợp!
Tóm tắt
Trong bước này, bạn đã triển khai phần phụ trợ của tác nhân cho Google Cloud Run bằng tiện ích Gemini CLI, giúp phần phụ trợ này có thể truy cập bằng một URL công khai.
Tiếp theo, chúng ta sẽ xây dựng một cửa hàng đẹp mắt để khách hàng trò chuyện với Raju trong phần Xây dựng cửa hàng (Giao diện người dùng của phần giao diện người dùng).
9. Trang trí cửa hàng (Giao diện người dùng trên giao diện người dùng)
Thiết bị đầu cuối văn bản rất nhàm chán. Chúng tôi muốn có một cửa sổ cửa hàng sống động!

Cách hoạt động của ADK API
Để tạo giao diện người dùng tuỳ chỉnh, bạn cần hiểu cách giao tiếp với phần phụ trợ của tác nhân. Quy trình này gồm 2 bước:
- Khởi tạo phiên: Trước khi trò chuyện, bạn phải tạo một mã phiên (chẳng hạn như giỏ hàng).
POST /apps/app/users/{user_id}/sessions/{session_id}
- Gửi tin nhắn: Để trò chuyện, bạn gửi văn bản đến điểm cuối chạy.
POST /run(Tải trọng bao gồmappName,userId,sessionIdvàtextcủa bạn).
- Tìm hiểu thêm: Xem tài liệu về ADK Runtime API và Python API Reference.
Chúng ta sẽ sử dụng logic này để xây dựng giao diện người dùng.
Bạn có 2 cách để tạo giao diện này:
Lựa chọn 1: Google Antigravity (Nên dùng – Chỉ dành cho người dùng tại địa phương)
Nếu đang làm việc trên máy tính cục bộ, thì Google Antigravity là lựa chọn tốt nhất. Đây là một IDE gốc AI cho phép bạn "vibe code" toàn bộ giao diện người dùng.
1. Tải xuống và cài đặt
Tải trình cài đặt cho hệ điều hành của bạn xuống từ trang tải xuống Google Antigravity rồi cài đặt.
2. Mở không gian làm việc của bạn
Khởi chạy Phản trọng lực. Mở thư mục raju-shop dưới dạng Workspace. Điều này giúp AI nắm được bối cảnh về toàn bộ dự án của bạn.
3. Tạo giao diện người dùng bằng Agent Manager
Thay vì viết từng dòng mã, chúng ta sẽ yêu cầu một tác nhân AI thực hiện việc này cho chúng ta bằng cách sử dụng Agent Manager.
- Tìm giao diện trò chuyện của Agent Manager (thường ở bên phải).
- Dán câu lệnh sau vào cuộc trò chuyện:
Create a single file HTML chat interface named `index.html`. It should have a colorful header that says 'Raju's Royal Artifacts'. It should look like an Indian market stall with orange and pink colors.
**Backend Integration:**
The chat should send messages to my deployed agent at: <YOUR_DEPLOYED_AGENT_URL>
**API Logic:**
1. **On Load:** Generate a random userId and sessionId. Call `POST /apps/app/users/{userId}/sessions/{sessionId}` to initialize.
2. **On Send:** Call `POST /run` with a JSON payload containing `appName: "app"`, `userId`, `sessionId`, and `newMessage: { role: "user", parts: [{ text: userInput }] }`.
3. **Display:** Show the user's message and the agent's response (from `content.parts[0].text`).
(Nhớ thay thế URL giữ chỗ bằng URL dịch vụ thực tế của bạn trong bước Triển khai!)
- Hãy xem cách nhân viên hỗ trợ viết mã cho bạn! Bạn có thể chuyển sang Chế độ xem của trình chỉnh sửa để xem tệp đang được tạo theo thời gian thực.
4. Kiểm tra mặt tiền cửa hàng
Google Antigravity có các chức năng xem trước tích hợp. Nhấp vào nút "Xem trước" (thường là biểu tượng con mắt) để xem cửa hàng trực tuyến của bạn đang hoạt động! Hoặc phân phát cục bộ bằng python3 -m http.server 8000.
Lựa chọn 2: Gemini CLI (tương thích với Cloud Shell)
Nếu đang dùng Cloud Shell, bạn có thể sử dụng Gemini CLI đáng tin cậy để tạo giao diện người dùng trong vài giây.
Chạy lệnh này trong dòng lệnh:
gemini "Create a single file HTML chat interface named index.html. Header: 'Raju\'s Royal Artifacts', Indian market theme (orange/pink). Backend: <YOUR_DEPLOYED_AGENT_URL>. Logic: On load, generate random user/session IDs and POST to /apps/app/users/{uid}/sessions/{sid}. On chat, POST to /run with appName='app', userId, sessionId, and newMessage structure. Parse the JSON response to show the agent text." > index.html
(Nhớ thay thế
bằng URL thực tế của Cloud Run!)
Tóm tắt
Ở bước này, bạn đã dùng Google Antigravity để "vibe code" (tạo mã theo cảm hứng) cho một giao diện người dùng HTML tuỳ chỉnh kết nối với phần phụ trợ của tác nhân trực tiếp.
Tiếp theo, chúng ta sẽ hoàn tất bức tranh bằng cách lưu trữ trang chủ cửa hàng này trên web trong phần Đưa trang chủ cửa hàng vào hoạt động.
10. Khai trương (Triển khai giao diện người dùng)
Raju đang trực tuyến (phía sau), nhưng cửa hàng của anh ấy cần một địa chỉ công khai (phía trước)! Yêu cầu Google Antigravity triển khai giao diện người dùng của chúng tôi lên đám mây.

1. Yêu cầu Trình quản lý tác nhân triển khai
Chúng ta không cần rời khỏi IDE. Bạn chỉ cần yêu cầu Trình quản lý tác nhân xử lý việc triển khai cho bạn.
Dán câu lệnh này vào cuộc trò chuyện:
"Triển khai index.html của tôi dưới dạng một trang web tĩnh lên Google Cloud Run. Đặt tên cho dịch vụ raju-shop-frontend. Đảm bảo rằng mọi người đều có thể truy cập vào tệp này."
2. Xem nội dung Magic
Nhân viên hỗ trợ có thể sẽ:
- Tạo một
Dockerfilehoặc cấu hình để phân phát các tệp tĩnh (chẳng hạn như sử dụng nginx hoặc python). - Tạo hình ảnh vùng chứa.
- Chạy lệnh
gcloud run deploycho bạn.
3. Ghé thăm cửa hàng của bạn!
Sau khi hoàn tất, nhân viên hỗ trợ sẽ cung cấp cho bạn một URL (ví dụ: https://raju-shop-frontend-xyz.run.app). Nhấp vào biểu tượng này.
Xin chúc mừng! Giờ đây, bạn đã có một ứng dụng người bán hàng mặc cả hoàn chỉnh, dựa trên AI. Hãy gửi đường liên kết này cho bạn bè và xem họ có thể được giảm giá hay không!
Tóm tắt
Trong bước này, bạn đã sử dụng Antigravity Agent Manager để đóng gói vào vùng chứa và triển khai ứng dụng giao diện người dùng của mình vào Cloud Run.
Giờ thì bạn đã xây dựng xong ngăn xếp đầy đủ! Chúng ta sẽ kết thúc ở phần Giờ đóng cửa (Kết luận).
11. Giờ đóng cửa (Kết luận)

Xin chúc mừng! Bạn đã hoàn thành thành công Thử thách về tác nhân "Người bán hàng hay mặc cả"! Bạn đã biến Raju từ một ý tưởng đơn thuần thành một người bán hàng AI tương tác, được triển khai đầy đủ trong khu chợ kỹ thuật số. Bạn đã trực tiếp trải nghiệm sức mạnh của quá trình phát triển dựa trên tác nhân.
Tóm tắt hành trình của bạn:
- Google Cloud: Thiết lập dự án và tài khoản thanh toán, đồng thời triển khai tác nhân của bạn vào Cloud Run.
- Gemini 3: Bộ não thông minh hỗ trợ tính cách và kỹ năng thương lượng của Raju.
- Bộ phát triển tác nhân (ADK): Khung này cung cấp nền tảng Sẵn sàng cho sản xuất với khả năng Quan sát (Đo từ xa) tích hợp, giúp tác nhân của bạn hoạt động mạnh mẽ ngay từ ngày đầu tiên.
- Gemini CLI: Trợ lý dòng lệnh cho các tác vụ nhanh, thử nghiệm và tiện ích.
- Google Antigravity: IDE thế hệ tiếp theo, nơi bạn "lập trình theo cảm hứng" giao diện người dùng và điều phối việc triển khai.
Các bước tiếp theo cho Dukaan kỹ thuật số của bạn:
- Khắc phục các kiểm thử bị lỗi: Bạn đã thay đổi mã, nhưng còn các kiểm thử thì sao? Các bài kiểm thử mặc định (
tests/unit/test_agent.py) vẫn tìm kiếm thông tin thời tiết! Sử dụng Gemini CLI để tự động cập nhật các thông tin này. Hãy thử:gemini "Update the tests in tests/unit/test_agent.py to test the new check_inventory tool instead of weather." - Kho hàng linh hoạt: Cập nhật số lượng kho hàng của Raju khi một mặt hàng được "bán". Bạn có thể thêm logic để giảm
stocktrong từ điểnINVENTORYsau khi "mua" thành công không? - Công cụ Cổng thanh toán: Triển khai công cụ
process_paymentmô phỏng. Sau đó, Raju có thể gọi công cụ này khi đạt được thoả thuận! - Khám phá Antigravity: Tìm hiểu sâu hơn về Agent Manager (Trình quản lý tác nhân) và Workspaces (Không gian làm việc) của Antigravity. Bạn có thể yêu cầu nhân viên hỗ trợ tinh chỉnh
index.htmlđể cho thấy biên nhận trực tiếp không? - Chia sẻ cửa hàng của bạn: Cửa hàng của Raju đã hoạt động trên Internet! Chia sẻ URL của trang chủ với bạn bè và xem liệu họ có thể mua được ưu đãi tốt hơn bạn hay không!
Tài nguyên
12. Dọn dẹp
Để tránh phát sinh các khoản phí không cần thiết cho tài khoản Google Cloud của bạn đối với các tài nguyên được dùng trong lớp học lập trình này, hãy làm theo các bước sau.
1. Huỷ triển khai các dịch vụ Cloud Run (Tiết kiệm chi phí không bắt buộc)
Nếu muốn ngừng mọi khoản phí có thể phát sinh liên quan đến các dịch vụ đã triển khai mà vẫn giữ nguyên dự án và các cấu hình khác, bạn có thể huỷ triển khai các dịch vụ Cloud Run.
Mở cửa sổ dòng lệnh Cloud Shell (hoặc cửa sổ dòng lệnh cục bộ) rồi chạy các lệnh gcloud sau:
# Undeploy the backend agent
gcloud run services delete raju-agent --region us-central1
# Undeploy the frontend shop (if you deployed it)
gcloud run services delete raju-shop-frontend --region us-central1
2. Xoá dự án trên Google Cloud (Ngừng hoàn toàn chi phí)
Nếu bạn muốn đảm bảo không phát sinh thêm chi phí và xoá hoàn toàn mọi tài nguyên đã tạo trong lớp học lập trình này, thì bước chắc chắn nhất là xoá toàn bộ Dự án trên Google Cloud.
- Chuyển đến trang Dự án trong Google Cloud Console.
- Chọn dự án của bạn (
raju-shop-agent) rồi nhấp vào Xoá. - Làm theo lời nhắc để xác nhận xoá dự án.