Từ nguyên mẫu đến tác nhân bằng ADK

Từ nguyên mẫu đến tác nhân bằng ADK

Thông tin về lớp học lập trình này

subjectLần cập nhật gần đây nhất: thg 6 12, 2025
account_circleTác giả: Author: Abirami Sukumaran

1. Tổng quan

Bạn có thể bắt đầu xây dựng ứng dụng bằng AI ngay hôm nay từ đâu? Đối với hầu hết chúng ta, việc này thường bắt đầu bằng một câu hỏi đơn giản: "Mô hình có thực sự giúp giải quyết vấn đề mà tôi đang nghĩ đến không?". Đó chính là lúc Google AI Studio phát huy tác dụng. Đây là nơi bạn có thể nhanh chóng tạo bản minh hoạ cho mọi thứ. Tôi muốn cải tạo lại nhà bếp và tôi cá là Gemini có thể giúp được tôi. Tuy nhiên, tôi là một kỹ sư chứ không phải nhà thầu chung. Tôi thậm chí còn không biết nên yêu cầu gì – có quá nhiều thứ cần cân nhắc: quy định, thiết bị cố định, v.v. Vì vậy, hãy chia nhỏ vấn đề này và yêu cầu Gemini tạo một câu lệnh siêu chi tiết cho chúng ta, sau đó tạo một kế hoạch cải tạo đầy đủ và cũng hình dung được việc cải tạo! Nhưng chờ đã. Từ đây, tôi có thể làm gì để giúp các doanh nghiệp mở rộng quy mô? Nhập AGENTS!!!

Đại diện là một chương trình tự động giao tiếp với mô hình AI để thực hiện một thao tác dựa trên mục tiêu bằng cách sử dụng các công cụ và ngữ cảnh mà nó có, đồng thời có khả năng tự động đưa ra quyết định dựa trên sự thật!

Bộ phát triển tác nhân (ADK)

Bộ phát triển tác nhân (ADK) là một khung linh hoạt và mô-đun để phát triển và triển khai tác nhân AI. ADK hỗ trợ việc xây dựng các ứng dụng phức tạp bằng cách kết hợp nhiều thực thể tác nhân riêng biệt vào một Hệ thống nhiều tác nhân (MAS).

Trong ADK, hệ thống đa tác nhân là một ứng dụng trong đó các tác nhân khác nhau, thường tạo thành một hệ phân cấp, cộng tác hoặc điều phối để đạt được một mục tiêu lớn hơn. Việc cấu trúc ứng dụng theo cách này mang lại nhiều lợi thế đáng kể, bao gồm cả khả năng mô-đun hoá, chuyên môn hoá, tái sử dụng, khả năng bảo trì và khả năng xác định luồng kiểm soát có cấu trúc bằng các tác nhân quy trình làm việc chuyên dụng.

Sản phẩm bạn sẽ tạo ra

Bạn đã sẵn sàng chuyển từ PROMPT nguyên mẫu sang Xây dựng một tác nhân??? Chúng ta sẽ tạo một tác nhân để giúp tạo tài liệu đề xuất cho dự án cải tạo nhà bếp. Trong lớp học này, bạn sẽ:

  1. Tạo một tác nhân đơn giản để tạo Tài liệu đề xuất cải tạo bằng ADK
  2. Lưu trữ Tài liệu đề xuất cải tạo đã tạo trong một bộ chứa trên Cloud Storage
  3. Kiểm thử tác nhân trong Cloud Shell và trong kết quả web của tác nhân

Yêu cầu

  • Một trình duyệt, chẳng hạn như Chrome hoặc Firefox
  • Một dự án trên Google Cloud đã bật tính năng thanh toán.

2. Trước khi bắt đầu

Tạo một dự án

  1. Trong Google Cloud Console, trên trang bộ chọn dự án, hãy chọn hoặc tạo một dự án trên Google Cloud.
  2. Đảm bảo bạn đã bật tính năng thanh toán cho dự án trên Cloud. Tìm hiểu cách kiểm tra xem tính năng thanh toán có được bật trên dự án hay không .
  3. Ngoài ra, nếu bạn đang đọc bài viết này và muốn nhận một số khoản tín dụng để bắt đầu sử dụng Google Cloud và ADK, hãy sử dụng đường liên kết này để sử dụng các khoản tín dụng.
  4. Bạn có thể làm theo hướng dẫn tại đây để sử dụng mã này. Xin lưu ý rằng bạn chỉ có thể sử dụng đường liên kết này để sử dụng ưu đãi cho đến hết ngày 15 tháng 7 năm 2025.
  5. Kích hoạt Cloud Shell bằng cách nhấp vào đường liên kết này. Bạn có thể chuyển đổi giữa Cloud Shell Terminal (Đầu cuối Cloud Shell) (để chạy các lệnh trên đám mây) và Trình chỉnh sửa (để tạo dự án) bằng cách nhấp vào nút tương ứng trong Cloud Shell.
  6. Sau khi kết nối với Cloud Shell, hãy kiểm tra để đảm bảo bạn đã được xác thực và dự án được đặt thành mã dự án của bạn bằng lệnh sau:
gcloud auth list
  1. Chạy lệnh sau trong Cloud Shell để xác nhận rằng lệnh gcloud biết về dự án của bạn.
gcloud config list project
  1. Nếu dự án của bạn chưa được đặt, hãy sử dụng lệnh sau để đặt dự án:
gcloud config set project <YOUR_PROJECT_ID>
  1. Đảm bảo bạn có Python 3.9 trở lên

Tham khảo tài liệu để biết các lệnh gcloud khác và cách sử dụng.

3. Nguyên mẫu

Truy cập vào Google AI Studio. Bắt đầu nhập câu lệnh. Dưới đây là câu lệnh của tôi:

I want to renovate my kitchen, basically just remodel it. I don't know where to start. So I want to use Gemini to generate a plan. For that I need a good prompt. Give me a short yet detailed prompt that I can use.

Điều chỉnh và định cấu hình các thông số ở bên phải để nhận được phản hồi tối ưu.

Dựa trên nội dung mô tả đơn giản này, Gemini đã đưa ra cho tôi một câu lệnh vô cùng chi tiết để bắt đầu việc cải tạo! Do đó, chúng tôi đang sử dụng Gemini để nhận được câu trả lời tốt hơn nữa từ AI Studio và các mô hình của chúng tôi. Bạn cũng có thể chọn nhiều mô hình để sử dụng, dựa trên trường hợp sử dụng của mình.

Chúng tôi đã chọn Gemini 2.5 Pro. Đây là mô hình Tư duy, nghĩa là chúng ta sẽ nhận được nhiều mã thông báo đầu ra hơn nữa, trong trường hợp này là tối đa 65 nghìn mã thông báo, cho các bản phân tích dài và tài liệu chi tiết. Hộp tư duy của Gemini xuất hiện khi bạn bật Gemini 2.5 Pro. Mô hình này có khả năng suy luận gốc và có thể nhận các yêu cầu ngữ cảnh dài.

Hãy xem đoạn mã phản hồi bên dưới:

a80d4bad4b3864f7.png

AI Studio đã phân tích dữ liệu của tôi và tạo ra tất cả những thứ này như tủ, mặt bàn, vách ngăn phía sau, sàn nhà, bồn rửa, tính liên kết, bảng màu và lựa chọn chất liệu. Gemini thậm chí còn trích dẫn nguồn!

Bây giờ, hãy thử xem ý tưởng này trở nên sống động với một câu lệnh khác.

  1. Sao chép câu lệnh này rồi dán vào trình chỉnh sửa câu lệnh:
Add flat and circular light accessories above the island area for my current kitchen in the attached image.
  1. Đính kèm hình ảnh nhà bếp hiện tại của bạn (hoặc bạn có thể sử dụng hình ảnh nhà bếp mẫu của tôi).
  2. Thay đổi mô hình thành "Tạo hình ảnh xem trước Flash Gemini 2.0" để bạn có quyền tạo hình ảnh.

Tôi nhận được kết quả sau:

b5b1e83fcada28f5.png

Đó chính là sức mạnh của Gemini!

Từ việc hiểu video, tạo hình ảnh gốc cho đến việc tìm hiểu thông tin thực tế bằng Google Tìm kiếm – có những thứ chỉ có thể được tạo bằng Gemini.

Trong AI Studio, bạn có thể lấy nguyên mẫu này, lấy khoá API và mở rộng nguyên mẫu đó thành một ứng dụng tác nhân đầy đủ bằng cách sử dụng sức mạnh của Vertex AI ADK.

4. Thiết lập ADK

Bây giờ, hãy chuyển đến Cloud Shell Terminal (Màn hình điều khiển Cloud Shell) mà chúng ta đã kích hoạt trong phần "Trước khi bắt đầu":

  1. Tạo và kích hoạt môi trường ảo (Nên dùng)

Trên Thiết bị đầu cuối Cloud Shell, hãy tạo một Môi trường ảo:

python -m venv .venv

Kích hoạt Môi trường ảo:

source .venv/bin/activate
  1. Cài đặt ADK
pip install google-adk

5. Cấu trúc dự án

  1. Trong Cloud Shell Terminal, hãy tạo một thư mục gốc cho các ứng dụng tác nhân của bạn ở vị trí dự án mong muốn:
mkdir agentic-apps
  1. Bên trong thư mục chính, hãy tạo một thư mục dành riêng cho dự án hiện tại của chúng ta:
mkdir renovation-agent
  1. Chuyển đến trình chỉnh sửa Cloud Shell và tạo cấu trúc dự án sau bằng cách tạo các tệp (để trống lúc bắt đầu):
renovation-agent/
        __init__
.py
        agent
.py
        requirements
.txt
       
.env

6. Mã nguồn

  1. Chuyển đến tệp "init.py" rồi cập nhật bằng nội dung sau:
from . import agent
  1. Chuyển đến agent.py và cập nhật tệp bằng nội dung sau từ đường dẫn sau:
https://github.com/AbiramiSukumaran/adk-renovation-single-agent/blob/main/agent.py

Trong agent.py, chúng ta nhập các phần phụ thuộc cần thiết, truy xuất các tham số cấu hình từ tệp .env và xác định root_agent để tạo tài liệu đề xuất và lưu trữ tài liệu đó trong một Bộ chứa trên Cloud Storage. Để thực hiện bước Bộ nhớ trên đám mây, chúng ta sử dụng một công cụ có tên store_pdf.

  1. Đảm bảo bạn có Bộ chứa Cloud Storage

Đây là để lưu trữ tài liệu đề xuất mà nhân viên hỗ trợ tạo. Tạo và cấp quyền truy cập để hệ thống tác nhân mà chúng ta tạo bằng Vertex AI có thể truy cập vào đó. Sau đây là cách thực hiện:

https://cloud.google.com/storage/docs/creating-buckets#console

Đặt tên cho bộ chứa là "next-demo-store". Nếu bạn đặt tên khác, hãy nhớ cập nhật giá trị của STORAGE_BUCKET trong tệp .env (trong bước Thiết lập biến ENV).

  1. Để thiết lập quyền truy cập vào bộ chứa, hãy chuyển đến bảng điều khiển của Cloud Storage rồi chuyển đến Bộ chứa trên Cloud Storage (trong trường hợp này, tên bộ chứa là "next-demo-storage": https://console.cloud.google.com/storage/browser/next-demo-storage.

Chuyển đến phần Quyền –> Xem nguyên tắc –> Cấp quyền truy cập. Chọn Chủ thể là "allUsers" và Vai trò là "Người dùng đối tượng bộ nhớ".

Make sure to not enable "prevent public access". Since this is a demo/study application we are going with a public bucket. Remember to configure permission settings appropriately when you are building your application.
  1. Tạo danh sách phần phụ thuộc

Liệt kê tất cả phần phụ thuộc trong requirements.txt. Bạn có thể sao chép mã này từ kho lưu trữ.

Giải thích mã nguồn hệ thống của một tác nhân

Tệp agent.py xác định cấu trúc và hành vi của hệ thống nhiều tác nhân cải tạo nhà bếp bằng cách sử dụng Bộ phát triển tác nhân (ADK). Hãy phân tích các thành phần chính:

Định nghĩa về tác nhân

Tác nhân gốc (Trình điều phối): proposal_agent

root_agent đóng vai trò là trình điều phối của hệ thống một tác nhân này. Công cụ này nhận yêu cầu cải tạo ban đầu và xác định công cụ nào cần gọi dựa trên nhu cầu của yêu cầu.

Sau đó, root_agent sẽ thu thập phản hồi từ các công cụ và kết hợp các phản hồi đó để cung cấp phản hồi toàn diện cho người dùng. Trong trường hợp này, chúng ta chỉ có một công cụ "store_pdf".

7. Luồng dữ liệu và các khái niệm chính

Người dùng bắt đầu một yêu cầu thông qua giao diện ADK (cổng hoặc giao diện người dùng web).

  1. Yêu cầu được root_agent nhận.
  2. root_agent phân tích yêu cầu và định tuyến yêu cầu đó đến công cụ khi cần.
  3. Công cụ "store_pdf" được thiết kế để ghi nội dung văn bản đã cải tiến vào tệp PDF, sau đó tải tệp đó lên Google Cloud Storage.
  4. Sau đó, lệnh này sẽ trả về phản hồi cho root_agent.
  5. root_agent kết hợp các phản hồi và cung cấp đầu ra cuối cùng cho người dùng.

LLM (Mô hình ngôn ngữ lớn)

Các tác nhân này phụ thuộc nhiều vào LLM để tạo văn bản, trả lời câu hỏi và thực hiện các nhiệm vụ suy luận. LLM là "bộ não" giúp các tác nhân hiểu và phản hồi các yêu cầu của người dùng. Chúng tôi đang sử dụng Gemini 2.5 trong ứng dụng này.

Google Cloud Storage

Dùng để lưu trữ các tài liệu đề xuất cải tạo được tạo. Bạn cần tạo một bộ chứa và cấp các quyền cần thiết để các tác nhân truy cập vào bộ chứa đó.

Cloud Run (Không bắt buộc)

OrderingAgent sử dụng một hàm Cloud Run để giao tiếp với AlloyDB. Cloud Run cung cấp một môi trường không có máy chủ để thực thi mã nhằm phản hồi các yêu cầu HTTP.

AlloyDB

Nếu đang sử dụng OrderingAgent, bạn cần thiết lập cơ sở dữ liệu AlloyDB để lưu trữ thông tin đơn đặt hàng.

Tệp.env

Tệp .env lưu trữ thông tin nhạy cảm như khoá API, thông tin xác thực cơ sở dữ liệu và tên bộ chứa. Điều quan trọng là bạn phải bảo mật tệp này và không xác nhận tệp đó vào kho lưu trữ của mình. Tệp này cũng lưu trữ các chế độ cài đặt cấu hình cho các tác nhân và dự án Google Cloud của bạn. root_agent hoặc các hàm hỗ trợ thường sẽ đọc giá trị từ tệp này. Đảm bảo tất cả biến bắt buộc đều được thiết lập đúng cách trong tệp .env. Bao gồm cả tên bộ chứa trên Cloud Storage

8. Thiết lập mô hình

Khả năng của trợ lý trong việc hiểu yêu cầu của người dùng và tạo câu trả lời được hỗ trợ bởi Mô hình ngôn ngữ lớn (LLM). Tác nhân của bạn cần thực hiện các lệnh gọi bảo mật đến dịch vụ LLM bên ngoài này. Dịch vụ này yêu cầu thông tin xác thực. Nếu không có thông tin xác thực hợp lệ, dịch vụ LLM sẽ từ chối các yêu cầu của tác nhân và tác nhân sẽ không thể hoạt động.

  1. Lấy khoá API từ Google AI Studio.
  2. Trong bước tiếp theo, khi bạn thiết lập tệp .env, hãy thay thế <<your API KEY>> bằng giá trị KHÓA API thực tế của bạn.

9. Thiết lập biến ENV

  1. Thiết lập giá trị cho các tham số trong tệp .env của mẫu trong kho lưu trữ này. Trong trường hợp của tôi, .env có các biến sau:
GOOGLE_GENAI_USE_VERTEXAI=FALSE
GOOGLE_API_KEY=<<your API KEY>>
GOOGLE_CLOUD_LOCATION = us-central1 <<or your region>>
GOOGLE_CLOUD_PROJECT = <<your project id>>
PROJECT_ID = <<your project id>>
GOOGLE_CLOUD_REGION=us-central1 <<or your region>>
STORAGE_BUCKET = next-demo-store <<or your storage bucket name>>

Thay thế phần giữ chỗ bằng giá trị của bạn.

10. Chạy tác nhân

  1. Sử dụng dòng lệnh, hãy chuyển đến thư mục mẹ của dự án trợ lý:
cd agentic-apps/renovation-agent
  1. Cài đặt tất cả phần phụ thuộc
pip install -r requirements.txt
  1. Bạn có thể chạy lệnh sau trong dòng lệnh Cloud Shell để thực thi tác nhân:
adk run .
  1. Bạn có thể chạy mã sau để chạy trong giao diện người dùng web được cấp phép ADK:
adk web
  1. Kiểm thử bằng các câu lệnh sau:
user>> 

Hello. Generate Proposal Document for the kitchen remodel requirement in a proper format that applies to a renovation contract. Remember this text will eventually be stored as a pdf file so make sure to have the formatting appropriate. I have no other specification.

11. Kết quả

Đối với lệnh adk run . kết quả như sau"

ae50e6f6b2bab0a0.png

38a2c34667a8fd05.png

...

a8a39e8323d3ceb9.png

Bạn có thể xác thực xem tài liệu Đề xuất cải tạo có được tạo trong Bộ chứa bộ nhớ trên đám mây hay không.

12. Dọn dẹp

Để tránh bị tính phí cho tài khoản Google Cloud của bạn đối với các tài nguyên được sử dụng trong bài đăng này, hãy làm theo các bước sau:

  1. Trong Google Cloud Console, hãy chuyển đến trang Quản lý tài nguyên.
  2. Trong danh sách dự án, hãy chọn dự án mà bạn muốn xoá, rồi nhấp vào Xoá.
  3. Trong hộp thoại, hãy nhập mã dự án, sau đó nhấp vào Shut down (Tắt) để xoá dự án.

13. Xin chúc mừng

Xin chúc mừng! Bạn đã tạo và tương tác thành công với ứng dụng nhiều tác nhân bằng ADK! Hệ thống đa tác nhân được thiết kế để đơn giản hoá quy trình cải tạo nhà bếp bằng cách tự động hoá các nhiệm vụ như tạo đề xuất, kiểm tra giấy phép và theo dõi trạng thái đơn đặt hàng. Mỗi tác nhân có một vai trò cụ thể và root_agent điều phối các hoạt động của chúng để cung cấp một giải pháp toàn diện. Hệ thống tận dụng các LLM, dịch vụ Google Cloud và có thể là các API bên ngoài để cung cấp chức năng. Đây là đường liên kết đến tài liệu về sản phẩm.