Cách sử dụng Các kỹ năng của tác nhân AI (với Gemini CLI và Các kỹ năng của tác nhân cho Firebase)

1. Giới thiệu

Ảnh bìa của lớp học về Kỹ năng của tác nhân

Trong phòng thí nghiệm này, bạn sẽ tìm hiểu cách tạo Kỹ năng của tác nhân để cung cấp cho LLM quyền truy cập vào kiến thức và quy trình công việc riêng biệt. Bạn sẽ tạo kỹ năng này dưới dạng một kỹ năng cục bộ có thể truy cập từ Gemini CLI.

Bạn sẽ thực hiện

  • Tạo Kỹ năng cho tác nhân của riêng bạn cho những nội dung bạn yêu thích.
  • Sử dụng Gemini CLI để truy vấn kỹ năng của bạn.
  • Cài đặt Kỹ năng của tác nhân chính thức cho Firebase và sử dụng các kỹ năng này để tạo và triển khai một ứng dụng.

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

  • Cách cấu trúc một kỹ năng.
  • Cách viết tệp SKILL.md.
  • Cách sử dụng các kỹ năng cục bộ với Gemini CLI.

2. Thiết lập dự án

  1. Nếu chưa có Tài khoản Google, bạn phải tạo một Tài khoản Google.
    • Sử dụng tài khoản cá nhân thay vì tài khoản do nơi làm việc hoặc trường học cấp. Tài khoản do nơi làm việc hoặc trường học cấp có thể có những hạn chế khiến bạn không thể bật các API cần thiết cho lớp học này.
  2. Đăng nhập vào Google Cloud Console.
  3. Bật tính năng thanh toán trong Bảng điều khiển Cloud.
    • Việc hoàn thành bài tập thực hành này sẽ tốn ít hơn 1 USD cho các tài nguyên trên Cloud.
    • Bạn có thể làm theo các bước ở cuối bài thực hành này để xoá tài nguyên nhằm tránh bị tính thêm phí.
    • Người dùng mới đủ điều kiện dùng thử miễn phí 300 USD.
  4. Tạo dự án mới hoặc chọn sử dụng lại một dự án hiện có.
    • Nếu bạn thấy lỗi về hạn mức dự án, hãy sử dụng lại một dự án hiện có hoặc xoá một dự án hiện có để tạo dự án mới.

3. Mở Trình chỉnh sửa Cloud Shell

  1. Nhấp vào đường liên kết này để chuyển trực tiếp đến Cloud Shell Editor
  2. Nếu được nhắc uỷ quyền vào bất kỳ thời điểm nào trong hôm nay, hãy nhấp vào Uỷ quyền để tiếp tục. Nhấp để uỷ quyền cho Cloud Shell
  3. Nếu thiết bị đầu cuối không xuất hiện ở cuối màn hình, hãy mở thiết bị đầu cuối:
    • Nhấp vào Xem
    • Nhấp vào Terminal (Thiết bị đầu cuối)Mở cửa sổ lệnh mới trong Trình chỉnh sửa Cloud Shell
  4. Trong thiết bị đầu cuối, hãy thiết lập dự án bằng lệnh sau:
    • Định dạng:
      gcloud config set project [PROJECT_ID]
      
    • Ví dụ:
      gcloud config set project lab-project-id-example
      
    • Nếu bạn không nhớ mã dự án của mình, hãy làm như sau:
      • Bạn có thể liệt kê tất cả mã dự án bằng cách dùng lệnh:
        gcloud projects list | awk '/PROJECT_ID/{print $2}'
        
      Đặt mã dự án trong thiết bị đầu cuối Cloud Shell Editor
  5. Bạn sẽ thấy thông báo sau:
    Updated property [core/project].
    
    Nếu thấy biểu tượng WARNING và được yêu cầu Do you want to continue (Y/n)?, thì có thể bạn đã nhập sai mã dự án. Nhấn n, nhấn Enter rồi thử chạy lại lệnh gcloud config set project.

4. Tạo kỹ năng tuỳ chỉnh

Agent Skills là các thư mục chứa ít nhất một tệp SKILL.md cung cấp hướng dẫn và kiến thức cho một tác nhân AI. Trong phần này, bạn sẽ tạo một kỹ năng để dạy Gemini CLI về những điều bạn yêu thích.

  1. Tạo một thư mục cho lớp học này rồi chuyển đến thư mục đó:
    mkdir ~/agent-skills-lab && cd ~/agent-skills-lab
    
  2. Tạo một thư mục cho kỹ năng của dự án:
    mkdir -p ~/agent-skills-lab/.agents/skills/my-favorite-things
    
  3. Tạo và mở một tệp SKILL.md mới cho kỹ năng của bạn:
    cloudshell edit ~/agent-skills-lab/.agents/skills/my-favorite-things/SKILL.md
    
    Lệnh cloudshell edit sẽ mở tệp SKILL.md trong trình chỉnh sửa phía trên cửa sổ dòng lệnh.
  4. Thêm nội dung sau vào tệp SKILL.md:
    ---
    name: my-favorite-things
    description: Provides personal information about my favorite color, food, and programming language. Use this skill when the user asks questions about my personal preferences or favorite things.
    ---
    
    # Knowledge
    
    - **Favorite Color:** Blue
    - **Favorite Food:** Pizza
    - **Favorite Programming Language:** Python
    
    If asked about one of my favorite things, please respond with the information provided above.
    

Chỉ với một tệp SKILL.md, bạn đã tạo được kỹ năng đầu tiên! Đã đến lúc sử dụng kỹ năng này trong Gemini CLI.

5. Sử dụng kỹ năng của bạn trên Gemini CLI

Giờ đây, bạn đã tạo thành công một kỹ năng và kỹ năng đó đã có thể được Gemini CLI phát hiện vì nằm trong thư mục .agents/skills.

  1. Bắt đầu Gemini CLI:
    gemini
    
    Bạn sẽ thấy Gemini CLI nhận ra kỹ năng mới. Bạn có thể cần nhấn Enter để chấp nhận một số chế độ cài đặt mặc định.
  1. Yêu cầu Gemini liệt kê những kỹ năng mà Gemini có thể sử dụng trong bối cảnh hiện tại
    /skills
    
    Bạn sẽ thấy my-favorite-things trong danh sách các kỹ năng có sẵn.
  2. Hỏi Gemini về màu sắc yêu thích của bạn:
    What is my favorite color?
    
    Gemini CLI nên sử dụng kỹ năng my-favorite-things để trả lời câu hỏi của bạn. Nếu được nhắc, hãy cho phép Gemini CLI sử dụng kỹ năng này.

Đầu ra phải cho thấy Gemini CLI đã sử dụng kỹ năng của bạn và trả lời bằng nội dung như "Xanh dương" hoặc "Màu tôi yêu thích là xanh dương".

Bạn đã hoàn thành! Bạn đã tạo thành công một kỹ năng và thử nghiệm kỹ năng đó bằng Gemini CLI.

Khi bạn đã sẵn sàng kết thúc phiên, hãy nhập /quit rồi nhấn Enter để thoát Gemini CLI.

6. (Không bắt buộc) Tạo và triển khai một ứng dụng lên Firebase Hosting

Ngoài việc tạo kỹ năng của riêng mình, bạn có thể cài đặt các kỹ năng do người khác tạo. Điều này minh hoạ việc sử dụng kỹ năng linh hoạt – các mô-đun kiến thức, hướng dẫn và quy trình công việc độc lập có thể dễ dàng chia sẻ và sử dụng lại.

Kỹ năng của tác nhân cho Firebase là một ví dụ điển hình về các mô-đun di động này. Các chỉ dẫn này được thiết kế để giúp trợ lý AI hiểu rõ các phương pháp hay nhất của Firebase và thực hiện các tác vụ phức tạp với độ chính xác cao hơn và chi phí mã thông báo thấp hơn.

Giờ đây, hãy sử dụng Agent Skills cho Firebase để tạo một ứng dụng web "Việc cần làm", có tính năng xác thực người dùng và cơ sở dữ liệu, rồi triển khai ứng dụng đó vào Lưu trữ Firebase.

Thiết lập dự án

  1. Nếu bạn vẫn đang ở trong Gemini CLI, hãy nhập /quit để thoát.
  2. Tạo một thư mục mới cho dự án của bạn rồi chuyển đến thư mục đó:
    mkdir ~/todo-app && cd ~/todo-app
    
  3. Đăng nhập vào Firebase bằng Tài khoản Google của bạn. Sử dụng cờ --no-localhost vì bạn đang ở trong Cloud Shell:
    firebase login --no-localhost
    
    1. Tương tác với lời nhắc trên giao diện dòng lệnh:
      • Khi được hỏi Enable Gemini in Firebase features?, hãy nhập Y (để chọn Có) rồi nhấn Enter.
      • Khi được hỏi Allow Firebase to collect CLI and Emulator Suite usage and error reporting information?, hãy nhập Y (để chọn Có) rồi nhấn Enter.
    2. Uỷ quyền trong trình duyệt:
      • Bạn sẽ thấy một URL trong cửa sổ dòng lệnh. Nhấp vào đường liên kết (nếu không nhấp được, hãy đánh dấu URL trong Cloud Shell để sao chép, sau đó dán vào trình duyệt) để mở trang đăng nhập trong một thẻ trình duyệt mới.
      • Bước 1/3 (Xác nhận lệnh): Nhấp vào Có, tôi vừa chạy lệnh này.
      • Bước 2/3 (Xác nhận mã phiên): Đảm bảo Mã phiên khớp với mã phiên xuất hiện trong thiết bị đầu cuối của bạn, sau đó nhấp vào Có, đây là mã phiên của tôi.
      • Bước 3/3 (Sao chép mã): Nhấp vào Sao chép để sao chép mã uỷ quyền vào bảng nhớ tạm.
    3. Hoàn tất quá trình đăng nhập:
      • Quay lại cửa sổ dòng lệnh Cloud Shell rồi dán mã uỷ quyền tại dấu nhắc ? Enter authorization code:.
      • Nhấn Enter.
    Bạn sẽ thấy thông báo thành công: ✔ Success! Logged in as .

Cài đặt Kỹ năng của tác nhân cho Firebase

Sau khi tạo thư mục dự án, bạn nên cài đặt Agent Skills cho Firebase trong thư mục đó.

Bạn có thể cài đặt Agent Skills cho Firebase bằng skills CLI trong thiết bị đầu cuối:

npx skills add firebase/agent-skills

Trong quá trình cài đặt, bạn sẽ được nhắc chọn những kỹ năng cần cài đặt. Sử dụng các phím mũi tên để di chuyển trong danh sách và phím cách để chọn những kỹ năng này.

  • firebase-basics
  • firebase-hosting-basics
  • firebase-auth-basics
  • firebase-firestore-enterprise-native-mode

Chọn 4 kỹ năng Firebase

Đối với các lời nhắc tiếp theo, bạn có thể chấp nhận các giá trị mặc định một cách an toàn bằng cách nhấn Enter.

Lệnh này sẽ tải xuống và cài đặt các kỹ năng, bao gồm cả firebase-basics và firebase-hosting-basics, giúp bạn có thể sử dụng các kỹ năng này trong Gemini CLI cùng với kỹ năng my-favorite-things.

Để tìm hiểu thêm về Kỹ năng của tác nhân cho Firebase, hãy xem các kỹ năng hiện có.

Tạo và triển khai một ứng dụng web cơ bản

  1. Bật các API bắt buộc cho dự án của bạn:
    gcloud services enable \
      cloudresourcemanager.googleapis.com \
      firebase.googleapis.com
    
  2. Bật Firebase trên dự án hiện tại của bạn trên Google Cloud:
    firebase projects:addfirebase ${GOOGLE_CLOUD_PROJECT}
    
  3. Bắt đầu Gemini CLI:
    gemini
    
  4. Yêu cầu Gemini tạo một index.html cơ bản:
    Generate an index.html file with the content "Hello Firebase Hosting" and
    deploy the application to Firebase Hosting using the current Google Cloud
    Project.
    
    Gemini sẽ yêu cầu tạo index.html và thực thi firebase. Nhấn Enter để cho phép Gemini CLI làm việc này.Gemini CLI nên sử dụng Agent Skills cho Firebase để tạo và triển khai trang web của bạn. Hướng dẫn nhân viên hỗ trợ cùng với các bước phê duyệt nếu cần.

Khi quá trình triển khai hoàn tất, hệ thống sẽ cung cấp một URL cho ứng dụng web của bạn. Hãy sử dụng ctrl+click (Windows/Linux) hoặc cmd+click (Mac) để mở các đường liên kết trong thiết bị đầu cuối Cloud Shell Editor. Truy cập vào URL của ứng dụng bạn đã triển khai!

Thêm Xác thực Firebase

  1. Khởi động Gemini CLI nếu chưa khởi động:
    gemini
    
    Gemini có thể hỏi những câu hỏi như "Bạn có tin tưởng thư mục này không?" Nhấn Enter để chấp nhận các giá trị mặc định.
  2. Giờ đây, hãy yêu cầu Gemini thêm tính năng Đăng nhập bằng Google:
    Generate HTML, CSS, and Javascript for a single page application.
    It should use Google Sign-in with Firebase Authentication.
    A user should be able to sign in with their Google Account.
    Deploy when you are done and give the URL to the user.
    
    Gemini có thể yêu cầu bạn tạo hoặc cập nhật các tệp như index.html, style.css và script.js. Cho phép Gemini làm như vậy. Gemini có thể yêu cầu bạn thực hiện một số thao tác trong bảng điều khiển của Firebase. CLI có thể thực hiện hầu hết các thao tác này nếu bạn yêu cầu, nhưng bạn có thể phải hoàn tất các bước theo cách thủ công (chẳng hạn như bật Google OAuth) nếu phiên bản Cloud Shell của bạn đã cài đặt phiên bản cũ hơn của Firebase CLI.

Sau khi triển khai xong, ứng dụng sẽ cung cấp một URL cho ứng dụng web của bạn. Hãy dùng ctrl+click (Windows/Linux) hoặc cmd+click (Mac) để mở các đường liên kết trong thiết bị đầu cuối Cloud Shell Editor. Truy cập vào URL của ứng dụng bạn đã triển khai!

Để xem các thay đổi mới nhất, bạn có thể cần thực hiện thao tác "Làm mới hoàn toàn" bằng ctrl+shift+R (Windows/Linux) hoặc cmd+shift+R (Mac).

Thêm Cloud Firestore

  1. Khởi động Gemini CLI nếu chưa khởi động:
    gemini
    
    Gemini có thể hỏi những câu hỏi như "Bạn có tin tưởng thư mục này không?" Nhấn Enter để chấp nhận các giá trị mặc định.
  2. Yêu cầu Gemini thêm Firestore để lưu các việc cần làm:
    Update the application to save tasks in Cloud Firestore for the signed-in user.
    A user should be able to add new tasks and see a list of their tasks.
    Deploy when you are done and give the URL to the user.
    
    Gemini sẽ cập nhật các tệp. Cho phép ứng dụng làm như vậy.

Sau khi triển khai xong, ứng dụng sẽ cung cấp một URL cho ứng dụng web của bạn. Hãy dùng ctrl+click (Windows/Linux) hoặc cmd+click (Mac) để mở các đường liên kết trong thiết bị đầu cuối Cloud Shell Editor. Truy cập vào URL của ứng dụng bạn đã triển khai!

Để xem các thay đổi mới nhất, bạn có thể cần thực hiện thao tác "Làm mới hoàn toàn" bằng ctrl+shift+R (Windows/Linux) hoặc cmd+shift+R (Mac).

Nếu ứng dụng của bạn không hoạt động như mong đợi, hãy tiếp tục làm việc với Gemini CLI để có được chức năng mà bạn mong muốn. Ví dụ: shell Hide the task form when the user is logged out. Update the security rules so the user can see their TODOs.

Hãy tiếp tục thử nghiệm với phòng thí nghiệm này để thêm những tính năng bạn muốn thấy trong ứng dụng Firebase mới.

7. Kết luận

Xin chúc mừng! Bạn đã tạo thành công một kỹ năng và tìm hiểu cách cài đặt các kỹ năng bổ sung cho Gemini CLI.

(Không bắt buộc) Dọn dẹp

Nếu muốn dọn dẹp, bạn có thể xoá dự án trên đám mây để tránh phát sinh thêm chi phí.

Nếu muốn, hãy xoá dự án:

gcloud projects delete $GOOGLE_CLOUD_PROJECT

Bạn cũng có thể xoá các tài nguyên không cần thiết khỏi ổ đĩa Cloud Shell để giải phóng dung lượng.

  1. Xoá thư mục phòng thí nghiệm (thao tác này sẽ xoá cả kỹ năng và ứng dụng):
    rm -rf ~/agent-skills-lab
    
  2. Xoá thư mục ứng dụng "Việc cần làm" (nếu bạn đã tạo thư mục này bên ngoài):
    rm -rf ~/todo-app
    

Nếu cần đặt lại Cloud Shell về trạng thái mặc định, bạn có thể tham khảo tài liệu chính thức để biết hướng dẫn về cách thực hiện một cách an toàn.