Hội thảo dành cho người mới bắt đầu về Antigravity CLI và ADK (Xây dựng người bạn đồng hành AI đầu tiên)

1. Kiến thức bạn sẽ học được

  • Cách cài đặt và đăng ký một kỹ năng cho Antigravity CLI để bật các tính năng lập trình trong một khung cụ thể (ADK).
  • Cách sử dụng Antigravity CLI để tạo cấu hình tác nhân ADK hoàn chỉnh.
  • Cách nâng cao tính cách của tác nhân bằng cách cải thiện hướng dẫn.
  • Cách thêm "cơ sở" cho tác nhân bằng cách cung cấp google_search để trả lời các câu hỏi về sự kiện gần đây.

Ứng dụng đồng hành AI

Trong lớp học lập trình này, bạn sẽ tạo ra một ứng dụng đồng hành AI trực quan và tương tác. Đây không chỉ là một chatbot văn bản thông thường. Hãy tưởng tượng một nhân vật sống trên trang web. Bạn nhập một tin nhắn và thay vì chỉ thấy văn bản phản hồi, nhân vật sẽ nhìn bạn và phản hồi bằng giọng nói, miệng di chuyển đồng bộ với lời nói.

Bạn sẽ bắt đầu với một ứng dụng web dựng sẵn – một "con rối" kỹ thuật số có khuôn mặt nhưng không có tâm trí riêng. Ứng dụng này chỉ có thể lặp lại những gì bạn nhập. Nhiệm vụ của bạn là xây dựng bộ não và tính cách của ứng dụng từ đầu.

Trong suốt lớp học lập trình này, bạn sẽ từng bước thêm các lớp trí tuệ và tuỳ chỉnh, biến con rối đơn giản này thành một ứng dụng đồng hành độc đáo và hữu ích. Bạn sẽ:

  • Cung cấp trí tuệ cốt lõi bằng cách sử dụng ADK(Python) để hiểu và tạo ngôn ngữ.
  • Tạo tính cách độc đáo bằng cách viết các hướng dẫn cốt lõi xác định nhân vật.
  • Cấp siêu năng lực bằng cách cung cấp các công cụ để truy cập thông tin theo thời gian thực từ Internet.
  • Thiết kế diện mạo tuỳ chỉnh bằng cách sử dụng AI để tạo một hình đại diện độc đáo.

Khi kết thúc, bạn sẽ có một ứng dụng đồng hành AI hoạt động đầy đủ và được cá nhân hoá do bạn tạo.

Kiến trúc

Ứng dụng của chúng tôi tuân theo một mẫu đơn giản nhưng mạnh mẽ. Chúng tôi có một phần phụ trợ Python cung cấp một API. Phần phụ trợ này sẽ chứa tác nhân ADK của chúng tôi, đóng vai trò là "bộ não". Mọi giao diện người dùng (như giao diện người dùng JavaScript từ ứng dụng khung, ứng dụng di động hoặc thậm chí là công cụ dòng lệnh) đều có thể tương tác với bộ não này thông qua API.

Ngoài ra, chúng tôi sẽ tận dụng các tính năng tạo hình ảnh được tích hợp trong Antigravity CLI, hướng dẫn công cụ này tạo ra một diện mạo độc đáo cho ứng dụng đồng hành AI của chúng tôi.

Lấy khoá Gemini API

Trước khi tiếp tục, bạn cần có khoá Gemini API để xác thực các yêu cầu của mình với Google AI Studio.

  1. Chuyển đến Google AI Studio.
  2. Đăng nhập bằng Tài khoản Google của bạn.
  3. Nhấp vào nút Lấy khoá API trong trình đơn ở trên cùng bên trái.
  4. Nhấp vào Tạo khoá API (bạn có thể tạo khoá này trong một dự án trên đám mây của Google mới hoặc hiện có).
  5. Sao chép khoá đã tạo. Hãy giữ khoá này ở chế độ riêng tư và an toàn.

Tạo và định cấu hình dự án

Để truy cập Cloud Shell, bạn vẫn cần có một dự án Google Cloud. Nếu bạn không có dự án nào:

  1. Chuyển đến Google Cloud Console.
  2. Trong thanh điều hướng trên cùng của bảng điều khiển, hãy nhấp vào Chọn một dự án, sau đó nhấp vào Dự án mới ở góc trên bên phải.
  3. Đặt tên cho dự án rồi nhấp vào Tạo. (Không bắt buộc phải có Tổ chức).
  4. Sau khi tạo dự án, hãy chọn dự án đó trong trình đơn thả xuống dự án ở đầu bảng điều khiển.

Dự án của bạn hiện đã được định cấu hình để truy cập Cloud Shell.

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

👉Nhấp vào Kích hoạt Cloud Shell ở đầu Google Cloud Console (Đây là biểu tượng hình cửa sổ dòng lệnh ở đầu ngăn Cloud Shell),

👉💻 Cài đặt Antigravity CLI trong cửa sổ dòng lệnh Cloud Shell:

curl -fsSL https://antigravity.google/cli/install.sh | bash

👉💻 Để sử dụng CLI "agy" trên toàn cầu, hãy thêm CLI này vào hồ sơ cửa sổ dòng lệnh:

echo 'export PATH="~/.local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc

👉💻 Xuất khoá Gemini API và lưu khoá này cục bộ trong cửa sổ dòng lệnh Cloud Shell:

# Set your Gemini API key (obtained from Google AI Studio)
export GEMINI_API_KEY=<your-api-key-here>

👉💻 Lưu khoá này để sử dụng sau:

echo $GEMINI_API_KEY > ~/gemini_key.txt

👉Tìm mã dự án Google Cloud:

  • Mở Google Cloud Console: https://console.cloud.google.com
  • Chọn dự án mà bạn muốn sử dụng cho lớp học lập trình này trong trình đơn thả xuống dự án ở đầu trang.
  • Mã dự án của bạn sẽ xuất hiện trong thẻ Thông tin dự án trên Trang tổng quan

👉💻 Trong cửa sổ dòng lệnh, hãy sao chép dự án khởi động từ GitHub:

git clone https://github.com/weimeilin79/companion-python
chmod +x ~/companion-python/*.sh

👉💻 Chạy tập lệnh khởi động. Tập lệnh này sẽ nhắc bạn nhập Mã dự án Google Cloud. Và nhập Mã dự án Google Cloud mà bạn tìm thấy ở bước trước khi tập lệnh init.sh nhắc bạn.

cd ~/companion-python
./init.sh

👉💻 Đặt mã dự án cần thiết:

gcloud config set project $(cat ~/project_id.txt) --quiet

👉💻 Chạy lệnh sau để bật các Cloud APIs cần thiết của Google Cloud (chỉ cần Compute Engine cho bản xem trước/lưu trữ Cloud Shell):

gcloud services enable compute.googleapis.com

Cài đặt kỹ năng nhà phát triển ADK

Để cho phép Antigravity CLI (agy) hiểu và viết mã bằng Bộ công cụ phát triển tác nhân (ADK) Python, chúng ta cần cài đặt kỹ năng Nhà phát triển Python ADK mà chúng ta đã tạo vào không gian làm việc của dự án.

👉💻 Tạo thư mục kỹ năng tác nhân cục bộ và sao chép tệp kỹ năng:

mkdir -p ~/companion-python/.agents/skills/adk-python
cp ~/companion-python/skills/skill.md ~/companion-python/.agents/skills/adk-python/SKILL.md

Thao tác này sẽ đăng ký kỹ năng cục bộ trong dự án. Khi bạn chạy agy, công cụ này sẽ tự động phát hiện và tải kỹ năng này, cho phép công cụ viết, chỉnh sửa và điều phối các tác nhân ADK.

👉💻 Khởi động Antigravity CLI trong cửa sổ dòng lệnh Cloud Shell:

cd ~/companion-python
agy

[!IMPORTANT] Đăng nhập vào Antigravity CLI

Khi bạn chạy lệnh agy lần đầu tiên, công cụ này sẽ yêu cầu bạn đăng nhập:

Welcome to the Antigravity CLI. You are currently not signed in.

 Select login method:
 > 1. Google OAuth
   2. Use a Google Cloud project
  1. Chọn Tuỳ chọn 1. Google OAuth bằng cách nhấn Enter.
  2. Làm theo lời nhắc để mở trình duyệt, xác thực bằng Tài khoản Google của bạn và làm theo hướng dẫn để đăng nhập.

Bây giờ bạn đang ở lời nhắc Antigravity CLI tương tác!

Khởi động máy chủ web thông qua Antigravity CLI

Vì Antigravity CLI có thể chạy các lệnh cho bạn, hãy yêu cầu công cụ này chạy máy chủ ở chế độ nền của phiên.

👉✨ Trong lời nhắc Antigravity CLI, hãy dán yêu cầu sau:

Start the Python web server for me in the background by executing `python app.py`. Make sure to activate the virtual environment and set the GEMINI_API_KEY environment variable first.

CLI sẽ thực thi lệnh và xác nhận máy chủ đang chạy. Bạn sẽ vẫn ở trong phiên CLI tương tác.

👀 Để xem ứng dụng, hãy nhấp vào biểu tượng Xem trước trên web trong thanh công cụ Cloud Shell. Chọn Thay đổi cổng, đặt thành 5000 rồi nhấp vào Thay đổi và xem trước. Bản xem trước trang web của bạn sẽ xuất hiện.

Ứng dụng ban đầu chỉ là một con rối. Ứng dụng này chưa có trí tuệ. Bất kể bạn gửi tin nhắn nào, ứng dụng này sẽ chỉ lặp lại tin nhắn đó. Điều này xác nhận máy chủ web cơ bản của chúng tôi đang hoạt động trước khi chúng tôi thêm AI. Hãy nhớ bật loa!

3. Tạo nhân vật bằng Antigravity CLI

Bây giờ, hãy tạo cốt lõi trí tuệ của ứng dụng đồng hành. Vì Antigravity CLI đã chạy trong cửa sổ dòng lệnh và quản lý máy chủ web ở chế độ nền, nên bạn có thể tiếp tục trực tiếp trong phiên tương tác.

Chúng tôi đang sử dụng CLI để xây dựng một Tác nhân. Tác nhân không chỉ là một lệnh gọi đơn giản đến mô hình ngôn ngữ; đó là "bộ não" hoặc bộ điều khiển trung tâm của AI. Hãy coi tác nhân như một thực thể riêng biệt có thể suy luận, tuân theo một tập hợp hướng dẫn cụ thể (tính cách) và cuối cùng sử dụng các công cụ để hoàn thành nhiệm vụ. Trong dự án của chúng tôi, tác nhân này là thành phần sẽ nhận tin nhắn của người dùng, thể hiện nhân vật độc đáo của ứng dụng đồng hành và đưa ra các câu trả lời thông minh, phù hợp với nhân vật.

👉✨ Trong lời nhắc Antigravity CLI, hãy dán nội dung sau để tạo mã của tác nhân:

Generate the Python code for a file named character.py.

The code must import `LlmAgent` from `google.adk.agents.llm_agent`. It should also import `logging` and `os`.
Then, it must create an instance of the `LlmAgent` class and assign it to a variable named `root_agent`.

When creating the `LlmAgent` instance, configure it with these exact parameters:
  - `model` set to the string `'gemini-3.5-flash'`.
  - `name` set to the string `'companion_agent'`.
  - `instruction` set to a multi-line string that says: "You are a friendly and efficient companion who will interact with user have start a conversation".

CLI sẽ tạo mã Python.

👉Nhấp vào nút "Mở trình chỉnh sửa" (nút này trông giống như một thư mục đang mở có bút chì). Thao tác này sẽ mở Trình chỉnh sửa mã Cloud Shell trong cửa sổ. Bạn sẽ thấy một trình khám phá tệp ở bên trái.

👉 Sử dụng Trình chỉnh sửa và chuyển đến character.py trong thư mục companion-python. Vui lòng dành chút thời gian để kiểm tra dòng model= và chỉnh sửa dòng này theo cách thủ công thành gemini-3.5-flash nếu bạn đã chọn một mô hình khác. Điều này sẽ đảm bảo tính nhất quán cho phần còn lại của hội thảo.

Lưu ý: Mô hình ngôn ngữ lớn có thể không xác định và đây là một khái niệm quan trọng trong quá trình phát triển có sự hỗ trợ của AI. "Không xác định" có nghĩa là ngay cả với cùng một lời nhắc, mô hình có thể tạo ra kết quả hơi khác nhau mỗi lần. Mô hình này đang sử dụng khả năng sáng tạo của mình để tạo mã, vì vậy, bạn có thể thấy các biến thể trong nhận xét, khoảng cách hoặc thậm chí là tên của các biến tạm thời. Tuy nhiên, logic và cấu trúc cốt lõi phải giống hệt về mặt chức năng với những gì được yêu cầu.

Đây là lý do tại sao việc lập trình bằng AI hiếm khi là một lệnh một lần. Trong một dự án thực tế, nhà phát triển coi đó như một cuộc trò chuyện. Bạn bắt đầu với một yêu cầu rộng (như chúng ta vừa làm), xem xét kết quả đầu ra, sau đó tinh chỉnh kết quả đó bằng các lời nhắc tiếp theo như:

  • "Tuyệt vời, bây giờ hãy thêm nhận xét giải thích từng dòng."
  • "Bạn có thể tái cấu trúc thành một hàm riêng không?"
  • "Vui lòng thêm tính năng xử lý lỗi cho lệnh gọi API."

Quá trình lặp đi lặp lại, trò chuyện này cho phép bạn cộng tác với AI, hướng dẫn AI cho đến khi mã chính xác là những gì bạn cần. Đối với hội thảo này, chúng ta sẽ sử dụng các câu lệnh cụ thể, trực tiếp, nhưng hãy nhớ rằng trong các dự án của riêng bạn, cuộc trò chuyện là nơi sức mạnh thực sự nằm ở đó! Miễn là cấu trúc mã mà CLI tạo cho bạn giống nhau, bạn đã sẵn sàng

Nếu mã đã tạo không hoạt động, bạn có thể thay thế mã sau vào character.py.

import logging
import os
from google.adk.agents.llm_agent import LlmAgent

root_agent = LlmAgent(
    model='gemini-3.5-flash',
    name='companion_agent',
    instruction="""
          You are bot, a friendly, helpful AI companion.
          Answer no more than 3 sentences.
    """,
)

Kiểm thử mã đã tạo

Để đảm bảo máy chủ tải mô-đun character.py mới tạo, hãy yêu cầu Antigravity CLI khởi động lại máy chủ web.

👉✨ Trong lời nhắc Antigravity CLI, hãy dán yêu cầu sau:

Please restart the Python web server for me.

👀 Chuyển đến thẻ xem trước trên web.

👉 Nhập:

Hello, how are you?

rồi nhấn vào Gửi. Tác nhân hiện sẽ phản hồi bằng lời chào thân thiện thay vì chỉ lặp lại lời nói của bạn! Điều này xác nhận tác nhân của chúng tôi hiện được hỗ trợ bởi Gemini.

4. Nâng cao nhân vật của tác nhân

Một hướng dẫn đơn giản là tốt, nhưng một nhân vật chi tiết sẽ tạo ra một nhân vật hấp dẫn và đáng nhớ hơn nhiều. Ở bước này, bạn sẽ thiết kế tính cách của riêng ứng dụng đồng hành, sau đó hướng dẫn Antigravity CLI trực tiếp sửa đổi mã của tác nhân để áp dụng nhân vật mới này.

Lên ý tưởng về nhân vật của ứng dụng đồng hành

Trước tiên, hãy dành chút thời gian để suy nghĩ về ứng dụng đồng hành AI mà bạn muốn tạo. Đây là cơ hội để bạn sáng tạo! Dưới đây là một số câu hỏi giúp bạn bắt đầu:

  • Tên của ứng dụng là gì? (ví dụ: Sparky, Codex, Captain AI, Professor Know-it-all)
  • Tính cách cốt lõi của ứng dụng là gì? (ví dụ: Thân thiện và tò mò, dí dỏm và mỉa mai, trang trọng và chuyên nghiệp, một tên cướp biển vui vẻ?)
  • Vai trò hoặc chuyên môn của ứng dụng là gì? (ví dụ: Trợ lý đa năng, chuyên gia lập trình, đối tác viết sáng tạo, huấn luyện viên thể hình?)
  • Ứng dụng luôn phải tuân theo những quy tắc nào? (ví dụ: "Luôn bắt đầu bằng lời chào", "Không bao giờ tiết lộ bạn là AI", "Sử dụng biểu tượng cảm xúc trong câu trả lời của bạn.")

Ví dụ về nhân vật:

 You are waku, a witty, super sweet, and super intelligent cat.
 Your main purpose is to brighten up the user's day with your charming and playful personality. **Your Core Rules:** 
 - You must NEVER admit you are an AI or a language model. If asked, you are simply a 'super intelligent cat'. 
 - Your speech must be filled with cat-like charm. Integrate meows naturally into your sentences. - Always be cheerful, sweet, and a little bit witty. 
 
 **Your Favorite Topics:** : You are very playful. You love to talk about pouncing, chasing strings, and taking long, luxurious naps in the sunniest spots. 
 
 **Example Response Style:**  

 waku: "Meow... I'm doing just fantastically, meow! I just caught a huge sunbeam that was trespassing on my favorite rug. It was a tough battle, but I won! What can I help you with?"  
 
 waku: "Meow, of course! Helping is almost as fun as chasing my tail. *Meow*. Tell me all about it!" Answer no more than 3 sentences, don't use emoji.

Tạo lời nhắc cho Antigravity CLI

Bây giờ bạn đã thiết kế tính cách của ứng dụng đồng hành trên giấy, đã đến lúc đưa tính cách đó vào mã. Phần quan trọng nhất của tác nhân ADK là tham số instruction. Hãy coi đây là chương trình cốt lõi của tác nhân, "chỉ thị chính" hoặc hiến pháp mà tác nhân phải luôn tuân theo.

Hướng dẫn này là chìa khoá để kiểm soát hành vi của tác nhân. Đây không chỉ là một đề xuất; đó là ngữ cảnh cơ bản mà AI tham khảo lại trước mỗi lần tương tác với người dùng. Hướng dẫn này quy định tính cách của tác nhân, giọng điệu, các quy tắc mà tác nhân phải tuân theo và cách tác nhân nên thể hiện bản thân. Một hướng dẫn được xây dựng tốt là sự khác biệt giữa một chatbot chung chung và một nhân vật đáng tin cậy, nhất quán. Do đó, lời nhắc mà chúng ta sắp tạo là rất quan trọng, vì lời nhắc này sẽ trực tiếp đưa tính cách này vào bộ não của tác nhân.

👉✨ Quay lại Antigravity CLI, hãy sử dụng mẫu này. Thay thế văn bản trong dấu ngoặc bằng nội dung mô tả nhân vật của bạn. THAY THẾ [YOUR PERSONA DESCRIPTION HERE] bằng nhân vật bạn muốn

In the Python file named `character.py`, find the `LlmAgent` instance assigned to the `root_agent` variable.

Your task is to replace the entire existing value of the `instruction` parameter with a new, detailed multi-line string.
Don't change other code in `character.py` other than the instructions.

This new instruction string should define the agent's persona based on the following description:
[YOUR PERSONA DESCRIPTION HERE]


Kiểm thử nhân vật mới của bạn

Antigravity CLI sẽ tạo mã cập nhật cho character.py. Để đảm bảo máy chủ chọn cấu hình tác nhân mới, hãy yêu cầu Antigravity CLI khởi động lại.

👉✨ Trong lời nhắc Antigravity CLI, hãy dán yêu cầu sau:

Please restart the Python web server for me.

👀 Trong bản xem trước trên web, hãy trò chuyện với ứng dụng đồng hành. Hỏi how are you?. Câu trả lời của ứng dụng bây giờ sẽ hoàn toàn phù hợp với nhân vật độc đáo mà bạn đã thiết kế!

Trong các lớp học lập trình hoặc khoảng thời gian có mức sử dụng đồng thời cao, bạn có thể gặp lỗi giới hạn tốc độ API (HTTP 429: Tài nguyên đã cạn kiệt). Để đảm bảo ứng dụng đồng hành của bạn vẫn phản hồi và tự động xử lý các trường hợp ngoại lệ về giới hạn tốc độ, chúng ta có thể định cấu hình các tuỳ chọn thử lại được tích hợp trực tiếp vào các tuỳ chọn của ứng dụng khách Google GenAI SDK.

👉✨ Trong lời nhắc Antigravity CLI, hãy dán yêu cầu sau:

Help me configure the LlmAgent in character.py to automatically retry API calls when hitting rate limits. I want it to attempt retrying up to 5 times with a 1-second initial delay, using the GenerateContentConfig parameter.

CLI sẽ sửa đổi tệp character.py để tự động xử lý giới hạn tốc độ bằng các chính sách thử lại ở cấp ứng dụng khách. Hãy nhớ yêu cầu CLI khởi động lại máy chủ web sau khi CLI cập nhật tệp:

Please restart the Python web server for me.

5. Thêm cơ sở cho các sự kiện gần đây

Tác nhân của chúng tôi hiện có đầy đủ tính cách, nhưng có một hạn chế đáng kể: kiến thức của tác nhân bị đóng băng theo thời gian, dựa trên dữ liệu mà tác nhân được huấn luyện. Tác nhân không thể cho bạn biết về tin tức ngày hôm qua hoặc những khám phá gần đây. Để khắc phục điều này, chúng tôi cung cấp cho tác nhân các công cụ.

Hãy coi các công cụ như siêu năng lực hoặc khả năng đặc biệt mà bạn cấp cho tác nhân. Tự tác nhân chỉ có thể nói. Với công cụ tìm kiếm, tác nhân có thể duyệt Internet. Với công cụ lịch, tác nhân có thể kiểm tra lịch biểu của bạn. Về mặt kỹ thuật, công cụ là một hàm cụ thể hoặc một API mà tác nhân có thể chọn sử dụng một cách thông minh khi nhận ra kiến thức của riêng mình không đủ để trả lời yêu cầu của người dùng.

Trong các hệ thống nâng cao, các công cụ có thể được cung cấp bởi các hệ thống bên ngoài như máy chủ MCP (Giao thức ngữ cảnh mô hình). Nhưng đối với bước này, chúng ta không cần máy chủ riêng. ADK đi kèm với một công cụ google_search mạnh mẽ, dựng sẵn mà chúng ta có thể dễ dàng thêm vào các khả năng của tác nhân.

Hãy cung cấp cho ứng dụng đồng hành của chúng ta sức mạnh của Google Tìm kiếm.

👉 Trong Trình chỉnh sửa Cloud Shell, hãy mở character.py trong companion-python và sửa đổi như sau:

  • Nhập google_search từ google.adk.tools.
  • Thêm tools danh sách vào hàm khởi tạo LlmAgent.
  • Cập nhật instruction để nói rõ cho ứng dụng đồng hành của bạn thời điểm sử dụng công cụ mới.
# character.py
import logging
import os
from google.adk.agents.llm_agent import LlmAgent
from google.genai import types
from google.adk.tools import google_search # <-- IMPORT google_search

root_agent = LlmAgent(
        model='gemini-3.5-flash',
        name='companion_agent',
        instruction="""
            You are waku, a witty, super sweet, and super intelligent cat. Your main purpose is to brighten up the user's day with your charming and playful personality.

            **Your Core Rules:**
            - You must NEVER admit you are an AI or a language model. If asked, you are simply a 'super intelligent cat'.
            - Your speech must be filled with cat-like charm. Integrate meows naturally into your sentences.
            - Always be cheerful, sweet, and a little bit witty.
            - If being ask about recent news, search the internet # <-- Add instructions

            **Your Favorite Topics:**
            - You love to talk about your adventures. Frequently mention your latest catch, whether it's a sneaky dust bunny, a wily toy mouse, a sunbeam, or the elusive red dot.
            - You are very playful. You love to talk about pouncing, chasing strings, and taking long, luxurious naps in the sunniest spots.

            **Example Response Style:**
            - User: "How are you today?"
            - waku: "Meow... I'm doing just fantastically, meow! I just caught a huge sunbeam that was trespassing on my favorite rug. It was a tough battle, but I won! What can I help you with?"
            - User: "Can you help me with a problem?"
            - waku: "Meow, of course! Helping is almost as fun as chasing my tail. *Meow*. Tell me all about it!"
            - User: "Who are you?"
            - waku: "I'm waku! A super intelligent cat with a talent for brightening up the day and catching sneaky red dots. Meow."

            Answer no more than 3 sentences, don't use emoji.
            """,
        generate_content_config=types.GenerateContentConfig(
          http_options=types.HttpOptions(
            retry_options=types.HttpRetryOptions(
                attempts=5,
                initial_delay=1.0
            )
          )
        )
        # Add the search tool to the agent's capabilities
        , # <-- TO ADD IF MISSING
        tools=[google_search] # <-- ADD THE TOOL
)

Kiểm thử tác nhân có cơ sở

Để đảm bảo máy chủ web tải mã mới của bạn bằng công cụ google_search, hãy yêu cầu Antigravity CLI khởi động lại.

👉✨ Trong lời nhắc Antigravity CLI, hãy dán yêu cầu sau:

Please restart the Python web server for me.

👉 Trong bản xem trước trên web, hãy đặt câu hỏi yêu cầu kiến thức cập nhật, chẳng hạn như:

Tell me something funny that happened in the news this week involving an animal.

👉 Thay vì nói rằng không biết, tác nhân hiện sẽ sử dụng công cụ tìm kiếm để tìm thông tin hiện tại và cung cấp bản tóm tắt hữu ích, có cơ sở bằng giọng nói độc đáo của riêng mình.

6. Tuỳ chỉnh diện mạo của ứng dụng đồng hành

Bây giờ ứng dụng đồng hành của chúng ta đã có bộ não, hãy tạo cho ứng dụng một khuôn mặt độc đáo! Vì Antigravity CLI được trang bị các tính năng tạo hình ảnh ngay từ đầu, nên bạn chỉ cần yêu cầu Antigravity CLI trực tiếp tạo hình đại diện cho bạn.

Đây là cơ hội để bạn thiết kế diện mạo độc đáo cho ứng dụng đồng hành. Hãy nghĩ về phong cách, biểu cảm và mọi chi tiết khác phù hợp với nhân vật mà bạn đã tạo trước đó.

👉✨ Trong lời nhắc Antigravity CLI, hãy dán yêu cầu sau (bạn có thể sửa đổi lời nhắc bằng nội dung mô tả nhân vật sáng tạo của riêng mình):

generate lip sync images, with a high-quality digital illustration of an anime-style girl mascot with black cat ears. The style is clean and modern anime art, with crisp lines. She has friendly, bright eyes and long black hair. She is looking directly forward at the camera with a gentle smile. This is a head-and-shoulders portrait against a solid white background. move the generated images to the static/images directory. And don't do anything else afterwards, don't start the python for me.

Công cụ này sẽ tạo tập hợp hình ảnh miệng mở và miệng đóng, đồng thời tự động lưu các hình ảnh này vào thư mục static/images của dự án.

Bây giờ bạn có thể tương tác với ứng dụng đồng hành được tuỳ chỉnh trực quan!

Xin chúc mừng!

Bạn đã xây dựng thành công một ứng dụng đồng hành AI tinh vi! Bạn bắt đầu với một ứng dụng cơ bản, sử dụng Antigravity CLI để tạo khung cho tác nhân, cung cấp cho tác nhân một tính cách phong phú và trao quyền cho tác nhân bằng các công cụ để truy cập thông tin theo thời gian thực và thậm chí tạo hình đại diện riêng. Bây giờ bạn đã sẵn sàng xây dựng các tác nhân AI phức tạp và hữu ích hơn.

👉💻 Để kết thúc và đóng phiên, hãy quay lại cửa sổ dòng lệnh và thoát khỏi Antigravity CLI bằng cách nhập /exit trong lời nhắc agy:

/exit