1. สิ่งที่คุณจะได้เรียนรู้
- วิธีติดตั้งและลงทะเบียนสกิลสำหรับ Antigravity CLI เพื่อเปิดใช้ความสามารถในการเขียนโค้ดในเฟรมเวิร์กเฉพาะ (ADK)
- วิธีใช้ Antigravity CLI เพื่อสร้างการกำหนดค่า Agent ADK ที่สมบูรณ์
- วิธีเพิ่มบุคลิกของ Agent โดยการปรับปรุงคำแนะนำ
- วิธีเพิ่ม "การเชื่อมต่อแหล่งข้อมูล" ให้กับ Agent โดยให้ Agent ใช้
google_searchเพื่อตอบคำถามเกี่ยวกับเหตุการณ์ล่าสุด
แอป AI Companion
ใน Codelab นี้ คุณจะได้สร้าง AI Companion แบบอินเทอร์แอกทีฟที่แสดงผลเป็นภาพ ซึ่งเป็นมากกว่าแชทบอตมาตรฐานที่รับข้อความเข้าและส่งข้อความออก ลองนึกภาพตัวละครที่อาศัยอยู่ในหน้าเว็บ เมื่อคุณพิมพ์ข้อความ ตัวละครจะมองมาที่คุณและตอบกลับออกมาเป็นเสียงแทนที่จะแสดงข้อความกลับมา โดยปากจะขยับตามคำพูด
คุณจะเริ่มต้นด้วยเว็บแอปพลิเคชันที่สร้างไว้ล่วงหน้า ซึ่งเป็น "หุ่นเชิด" ดิจิทัลที่มีหน้าตาแต่ไม่มีความคิดเป็นของตัวเอง โดยทำได้เพียงพูดซ้ำสิ่งที่คุณพิมพ์ ภารกิจของคุณคือการสร้างสมองและบุคลิกของหุ่นเชิดตั้งแต่ต้น
ตลอดเวิร์กช็อปนี้ คุณจะได้เพิ่มเลเยอร์ของความฉลาดและการปรับแต่งทีละชั้น ซึ่งจะเปลี่ยนหุ่นเชิดธรรมดาตัวนี้ให้กลายเป็น Companion ที่ไม่เหมือนใครและมีความสามารถ โดยคุณจะได้ทำสิ่งต่อไปนี้
- มอบความฉลาดหลัก ให้กับ Companion โดยใช้ ADK(Python) เพื่อทำความเข้าใจและสร้างภาษา
- สร้างบุคลิกที่ไม่เหมือนใคร ให้กับ Companion โดยเขียนคำแนะนำหลักที่กำหนดลักษณะของ Companion
- มอบพลังวิเศษ ให้กับ Companion โดยให้เครื่องมือเข้าถึงข้อมูลแบบเรียลไทม์จากอินเทอร์เน็ต
- ออกแบบรูปลักษณ์ที่กำหนดเอง ให้กับ Companion โดยใช้ AI เพื่อสร้างอวาตาร์ที่ไม่เหมือนใคร
เมื่อสิ้นสุดเวิร์กช็อป คุณจะมี AI Companion ที่ทำงานได้อย่างสมบูรณ์และปรับเปลี่ยนในแบบของคุณเอง 
สถาปัตยกรรม
แอปพลิเคชันของเราใช้รูปแบบที่เรียบง่ายแต่ทรงพลัง เรามีแบ็กเอนด์ Python ที่ให้บริการ API แบ็กเอนด์นี้จะมี Agent ADK ซึ่งทำหน้าที่เป็น "สมอง" จากนั้นอินเทอร์เฟซผู้ใช้ (เช่น ฟรอนต์เอนด์ JavaScript จากแอปโครงร่าง แอปบนอุปกรณ์เคลื่อนที่ หรือแม้แต่เครื่องมือบรรทัดคำสั่ง) จะโต้ตอบกับสมองนี้ผ่าน API ได้
นอกจากนี้ เราจะใช้ประโยชน์จากความสามารถในการสร้างรูปภาพที่มาพร้อมกับ Antigravity CLI โดยสั่งให้สร้างรูปลักษณ์ที่ไม่เหมือนใครสำหรับ AI Companion

รับคีย์ Gemini API
ก่อนดำเนินการต่อ คุณต้องมีคีย์ Gemini API เพื่อตรวจสอบสิทธิ์คำขอด้วย Google AI Studio
- ไปที่ Google AI Studio
- ลงชื่อเข้าใช้ด้วยบัญชี Google
- คลิกปุ่มรับคีย์ API ในเมนูด้านซ้ายบน
- คลิกสร้างคีย์ API (คุณสร้างคีย์ในโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google ใหม่หรือที่มีอยู่ก็ได้)
- คัดลอกคีย์ที่สร้างขึ้น เก็บคีย์นี้ไว้เป็นส่วนตัวและปลอดภัย

สร้างและกำหนดค่าโปรเจ็กต์
หากต้องการเข้าถึง Cloud Shell คุณยังคงต้องมีโปรเจ็กต์ Google Cloud หากไม่มี ให้ทำดังนี้
- ไปที่ คอนโซล Google Cloud
- ในแถบการนำทางด้านบนของคอนโซล ให้คลิกเลือกโปรเจ็กต์ แล้วคลิกโปรเจ็กต์ใหม่ ที่มุมขวาบน
- ตั้งชื่อโปรเจ็กต์แล้วคลิกสร้าง (ไม่จำเป็นต้องมีองค์กร)
- เมื่อสร้างโปรเจ็กต์แล้ว ให้เลือกโปรเจ็กต์จากเมนูแบบเลื่อนลงของโปรเจ็กต์ที่ด้านบนของคอนโซล

ตอนนี้โปรเจ็กต์ของคุณได้รับการกำหนดค่าให้เข้าถึง Cloud Shell แล้ว
2. ก่อนเริ่มต้น
👉คลิกเปิดใช้งาน Cloud Shell ที่ด้านบนของ Google Cloud Console (ไอคอนรูปเทอร์มินัลที่ด้านบนของแผง Cloud Shell) 
👉💻 ติดตั้ง Antigravity CLI ในเทอร์มินัล Cloud Shell โดยใช้คำสั่งต่อไปนี้
curl -fsSL https://antigravity.google/cli/install.sh | bash
👉💻 หากต้องการใช้ CLI 'agy' ทั่วโลก ให้เพิ่ม CLI นี้ลงในโปรไฟล์ Shell
echo 'export PATH="~/.local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc
👉💻 ส่งออกคีย์ Gemini API และบันทึกคีย์นี้ไว้ในเครื่องในเทอร์มินัล Cloud Shell โดยใช้คำสั่งต่อไปนี้
# Set your Gemini API key (obtained from Google AI Studio)
export GEMINI_API_KEY=<your-api-key-here>
👉💻 บันทึกคีย์ไว้ใช้ในภายหลังโดยใช้คำสั่งต่อไปนี้
echo $GEMINI_API_KEY > ~/gemini_key.txt
👉ค้นหารหัสโปรเจ็กต์ Google Cloud โดยทำดังนี้
- เปิด Google Cloud Console: https://console.cloud.google.com
- เลือกโปรเจ็กต์ที่ต้องการใช้สำหรับเวิร์กช็อปนี้จากเมนูแบบเลื่อนลงของโปรเจ็กต์ที่ด้านบนของหน้า
- รหัสโปรเจ็กต์จะแสดงในการ์ดข้อมูลโปรเจ็กต์ในแดชบอร์ด

👉💻 โคลนโปรเจ็กต์เริ่มต้นจาก GitHub โดยใช้คำสั่งต่อไปนี้ในเทอร์มินัล
git clone https://github.com/weimeilin79/companion-python
chmod +x ~/companion-python/*.sh
👉💻 เรียกใช้สคริปต์การเริ่มต้น โดยสคริปต์นี้จะแจ้งให้คุณป้อนรหัสโปรเจ็กต์ Google Cloud และป้อนรหัสโปรเจ็กต์ Google Cloud ที่คุณพบจากขั้นตอนสุดท้ายเมื่อสคริปต์ init.sh แจ้ง
cd ~/companion-python
./init.sh
👉💻 ตั้งรหัสโปรเจ็กต์ที่จำเป็นโดยใช้คำสั่งต่อไปนี้
gcloud config set project $(cat ~/project_id.txt) --quiet
👉💻 เรียกใช้คำสั่งต่อไปนี้เพื่อเปิดใช้ Google Cloud APIs ที่จำเป็น (จำเป็นต้องใช้เฉพาะ Compute Engine สำหรับการแสดงตัวอย่าง/การโฮสต์ Cloud Shell)
gcloud services enable compute.googleapis.com
ติดตั้งสกิลนักพัฒนาซอฟต์แวร์ ADK
หากต้องการให้ Antigravity CLI (agy) เข้าใจและเขียนโค้ดโดยใช้ Python Agent Development Kit (ADK) เราต้องติดตั้งสกิลนักพัฒนาซอฟต์แวร์ ADK Python ที่เราสร้างขึ้นในพื้นที่ทำงานของโปรเจ็กต์
👉💻 สร้างไดเรกทอรีสกิล Agent ในเครื่องและคัดลอกไฟล์สกิลโดยใช้คำสั่งต่อไปนี้
mkdir -p ~/companion-python/.agents/skills/adk-python
cp ~/companion-python/skills/skill.md ~/companion-python/.agents/skills/adk-python/SKILL.md
การดำเนินการนี้จะลงทะเบียนสกิลในเครื่องภายในโปรเจ็กต์ เมื่อคุณเปิดใช้ agy ระบบจะตรวจหาและโหลดทักษะนี้โดยอัตโนมัติ ซึ่งจะช่วยให้ agy เขียน แก้ไข และจัดการเป็นกลุ่ม Agent ADK ได้
👉💻 เริ่ม Antigravity CLI ในเทอร์มินัล Cloud Shell โดยใช้คำสั่งต่อไปนี้
cd ~/companion-python
agy
[!IMPORTANT] การเข้าสู่ระบบ Antigravity CLI
เมื่อเรียกใช้คำสั่ง agy เป็นครั้งแรก ระบบจะขอให้คุณเข้าสู่ระบบโดยทำดังนี้
Welcome to the Antigravity CLI. You are currently not signed in. Select login method: > 1. Google OAuth 2. Use a Google Cloud project
- เลือกตัวเลือก 1. Google OAuth โดยกด
Enter - ทำตามข้อความแจ้งเพื่อเปิดเบราว์เซอร์ ตรวจสอบสิทธิ์ด้วยบัญชี Google และทำตามวิธีการเพื่อลงชื่อเข้าใช้
ตอนนี้คุณอยู่ในข้อความแจ้ง Antigravity CLI แบบอินเทอร์แอกทีฟแล้ว
เริ่มเว็บเซิร์ฟเวอร์ผ่าน Antigravity CLI
เนื่องจาก Antigravity CLI สามารถเรียกใช้คำสั่งให้คุณได้ เราจึงขอให้ CLI เรียกใช้เซิร์ฟเวอร์ในพื้นหลังของเซสชัน
👉✨ ในข้อความแจ้ง Antigravity CLI ให้วางคำขอต่อไปนี้
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 จะเรียกใช้คำสั่งและยืนยันว่าเซิร์ฟเวอร์กำลังทำงานอยู่ คุณจะยังคงอยู่ในเซสชัน CLI แบบอินเทอร์แอกทีฟ
👀 หากต้องการดูแอป ให้คลิกไอคอนแสดงตัวอย่างเว็บในแถบเครื่องมือ Cloud Shell เลือกเปลี่ยนพอร์ต ตั้งค่าเป็น 5000 แล้วคลิกเปลี่ยนและแสดงตัวอย่าง ตัวอย่างเว็บไซต์จะปรากฏขึ้น

แอปพลิเคชันเริ่มต้นเป็นเพียงหุ่นเชิด ยังไม่มีความฉลาด ไม่ว่าคุณจะส่งข้อความใดไป แอปก็จะพูดซ้ำข้อความนั้นกลับมา การดำเนินการนี้จะยืนยันว่าเว็บเซิร์ฟเวอร์พื้นฐานของเราทำงานได้ก่อนที่เราจะเพิ่ม AI อย่าลืมเปิดลำโพง

3. สร้างตัวละครด้วย Antigravity CLI
ตอนนี้มาสร้างแกนหลักของความฉลาดของ Companion กัน เนื่องจาก Antigravity CLI กำลังทำงานอยู่ในเทอร์มินัลและจัดการเว็บเซิร์ฟเวอร์พื้นหลังอยู่แล้ว คุณจึงดำเนินการต่อในเซสชันแบบอินเทอร์แอกทีฟได้เลย
เราใช้ CLI เพื่อสร้างAgent Agent เป็นมากกว่าการเรียกใช้โมเดลภาษาแบบง่ายๆ แต่เป็น "สมอง" หรือตัวควบคุมส่วนกลางของ AI ลองนึกภาพ Agent เป็นเอนทิตีที่แยกต่างหากซึ่งสามารถให้เหตุผล ทำตามชุดคำแนะนำที่เฉพาะเจาะจง (บุคลิกของ Agent) และใช้เครื่องมือเพื่อทำงานให้สำเร็จได้ในที่สุด ในโปรเจ็กต์ของเรา Agent นี้เป็นคอมโพเนนต์ที่จะรับข้อความจากผู้ใช้ แสดงบุคลิกที่ไม่เหมือนใครของ Companion และสร้างการตอบกลับที่ฉลาดและสอดคล้องกับบุคลิกของ Companion

👉✨ ในข้อความแจ้ง Antigravity CLI ให้วางคำสั่งต่อไปนี้เพื่อสร้างโค้ดของ Agent
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 จะสร้างโค้ด Python
👉คลิกปุ่ม "เปิดเครื่องมือแก้ไข" (มีลักษณะเป็นโฟลเดอร์ที่เปิดอยู่พร้อมดินสอ) การดำเนินการนี้จะเปิดเครื่องมือแก้ไขโค้ด Cloud Shell ในหน้าต่าง คุณจะเห็นโปรแกรมสำรวจไฟล์ทางด้านซ้าย 
👉 ใช้เครื่องมือแก้ไขและไปที่ character.py ในโฟลเดอร์ companion-python โปรดใช้เวลาสักครู่เพื่อตรวจสอบบรรทัด model= และแก้ไขเป็น gemini-3.5-flash ด้วยตนเองหากเลือกโมเดลอื่น การดำเนินการนี้จะช่วยให้มั่นใจได้ถึงความสอดคล้องกันสำหรับส่วนที่เหลือของเวิร์กช็อป

หมายเหตุ: โมเดลภาษาขนาดใหญ่อาจไม่แน่นอน และนี่เป็นแนวคิดหลักในการพัฒนาที่ใช้ AI ช่วย "ไม่แน่นอน" หมายความว่าแม้จะใช้พรอมต์เดียวกัน โมเดลก็อาจสร้างผลลัพธ์ที่แตกต่างกันเล็กน้อยในแต่ละครั้ง เนื่องจากโมเดลใช้ความคิดสร้างสรรค์ในการสร้างโค้ด คุณจึงอาจเห็นความแตกต่างในความคิดเห็น การเว้นวรรค หรือแม้แต่การตั้งชื่อตัวแปรชั่วคราว อย่างไรก็ตาม ตรรกะและโครงสร้างหลักควรเหมือนกับสิ่งที่ขอไว้ในทางปฏิบัติ
ด้วยเหตุนี้ การเขียนโค้ดด้วย AI จึงไม่ใช่คำสั่งที่ทำครั้งเดียวแล้วเสร็จ ในโปรเจ็กต์จริง นักพัฒนาซอฟต์แวร์จะมองว่าการเขียนโค้ดด้วย AI เป็นเหมือนการสนทนา คุณเริ่มต้นด้วยคำขอแบบกว้างๆ (เช่นที่เราเพิ่งทำ) ตรวจสอบเอาต์พุต แล้วปรับแต่งเอาต์พุตด้วยพรอมต์ติดตามผล เช่น
- "ดีเลย ตอนนี้เพิ่มความคิดเห็นเพื่ออธิบายแต่ละบรรทัดด้วย"
- "ช่วยปรับโครงสร้างโค้ดนั้นให้เป็นฟังก์ชันแยกต่างหากได้ไหม"
- "โปรดเพิ่มการจัดการข้อผิดพลาดสำหรับการเรียก API"
กระบวนการสนทนาแบบวนซ้ำนี้ช่วยให้คุณทำงานร่วมกับ AI ได้ โดยนำทาง AI จนกว่าโค้ดจะเป็นไปตามที่คุณต้องการ สำหรับเวิร์กช็อปนี้ เราจะใช้พรอมต์ที่เฉพาะเจาะจงและตรงไปตรงมา แต่โปรดจำไว้ว่าในโปรเจ็กต์ของคุณเอง การสนทนาคือจุดที่แสดงให้เห็นถึงพลังที่แท้จริง ตราบใดที่โครงสร้างโค้ดที่ CLI สร้างขึ้นให้คุณเหมือนกัน คุณก็พร้อมที่จะดำเนินการต่อ
หากโค้ดที่สร้างขึ้นไม่ทำงาน โปรดแทนที่โค้ดต่อไปนี้ด้วยโค้ดใน 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.
""",
)
ทดสอบโค้ดที่สร้างขึ้น
หากต้องการให้เซิร์ฟเวอร์โหลดโมดูล character.py ที่สร้างขึ้นใหม่ ให้ขอให้ Antigravity CLI รีสตาร์ทเว็บเซิร์ฟเวอร์
👉✨ ในข้อความแจ้ง Antigravity CLI ให้วางคำขอต่อไปนี้
Please restart the Python web server for me.
👀 ไปที่แท็บแสดงตัวอย่างเว็บ
👉 พิมพ์
Hello, how are you?
แล้วกดส่ง ตอนนี้ Agent ควรตอบกลับด้วยคำทักทายที่เป็นมิตรแทนที่จะพูดซ้ำคำพูดของคุณ การดำเนินการนี้จะยืนยันว่าตอนนี้ Agent ของเราทำงานด้วยระบบ AI ของ Gemini แล้ว
4. ปรับปรุงลักษณะตัวตนของ Agent
คำแนะนำง่ายๆ ก็ดี แต่บุคลิกโดยละเอียดจะสร้างตัวละครที่น่าสนใจและน่าจดจำมากขึ้น ในขั้นตอนนี้ คุณจะได้ออกแบบบุคลิกของ Companion เอง แล้วสั่งให้ Antigravity CLI แก้ไขโค้ดของ Agent โดยตรงเพื่อนำบุคลิกใหม่นี้ไปใช้
ระดมความคิดเกี่ยวกับบุคลิกของ Companion
ก่อนอื่น ให้ใช้เวลาสักครู่คิดถึง AI Companion ที่คุณต้องการสร้าง นี่เป็นโอกาสของคุณที่จะแสดงความคิดสร้างสรรค์ คำถามต่อไปนี้จะช่วยให้คุณเริ่มต้นได้
- ชื่อของ Companion คืออะไร (เช่น Sparky, Codex, Captain AI, Professor Know-it-all)
- บุคลิกหลักของ Companion คืออะไร (เช่น เป็นมิตรและอยากรู้อยากเห็น มีไหวพริบและประชดประชัน เป็นทางการและเป็นมืออาชีพ หรือเป็นโจรสลัดที่ร่าเริง)
- บทบาทหรือความเชี่ยวชาญของ Companion คืออะไร (เช่น ผู้ช่วยอเนกประสงค์ ผู้เชี่ยวชาญด้านการเขียนโค้ด พาร์ทเนอร์ด้านการเขียนเชิงสร้างสรรค์ หรือโค้ชฟิตเนส)
- กฎบางอย่างที่ Companion ควรปฏิบัติตามเสมอมีอะไรบ้าง (เช่น "เริ่มต้นด้วยคำทักทายเสมอ" "อย่าเปิดเผยว่าคุณเป็น AI" "ใช้ Emoji ในการตอบกลับ")
ตัวอย่างบุคลิก:
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.
สร้างพรอมต์สำหรับ Antigravity CLI
เมื่อออกแบบบุคลิกของ Companion บนกระดาษแล้ว ก็ถึงเวลาทำให้บุคลิกนั้นมีชีวิตขึ้นมาในโค้ด ส่วนที่สำคัญที่สุดของ Agent ADK คือพารามิเตอร์ instruction ลองนึกภาพพารามิเตอร์นี้เป็นการเขียนโปรแกรมหลักของ Agent ซึ่งเป็น "คำสั่งหลัก" หรือรัฐธรรมนูญที่ Agent ต้องปฏิบัติตามเสมอ
คำแนะนำนี้เป็นกุญแจสำคัญในการควบคุมลักษณะการทำงานของ Agent ไม่ใช่แค่คำแนะนำ แต่เป็นบริบทพื้นฐานที่ AI อ้างอิงก่อนการโต้ตอบทุกครั้งกับผู้ใช้ คำแนะนำนี้กำหนดบุคลิกของ Agent น้ำเสียง กฎที่ Agent ต้องปฏิบัติตาม และวิธีที่ Agent ควรแสดงตัวตน คำแนะนำที่สร้างขึ้นอย่างดีจะทำให้แชทบอตทั่วไปแตกต่างจากตัวละครที่น่าเชื่อถือและสอดคล้องกัน ดังนั้น พรอมต์ที่เรากำลังจะสร้างจึงมีความสำคัญอย่างยิ่ง เนื่องจากจะแทรกบุคลิกนี้ลงในสมองของ Agent โดยตรง
👉✨ กลับไปที่ Antigravity CLI แล้วใช้เทมเพลตนี้ แทนที่ข้อความในวงเล็บด้วยคำอธิบายบุคลิกของคุณ แทนที่ [คำอธิบายบุคลิกของคุณที่นี่] ด้วยบุคลิกที่คุณต้องการ
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]
ทดสอบบุคลิกใหม่
Antigravity CLI จะสร้างโค้ดที่อัปเดตสำหรับ character.py หากต้องการให้เซิร์ฟเวอร์เลือกการกำหนดค่า Agent ใหม่ ให้ขอให้ Antigravity CLI รีสตาร์ทเซิร์ฟเวอร์
👉✨ ในข้อความแจ้ง Antigravity CLI ให้วางคำขอต่อไปนี้
Please restart the Python web server for me.
👀 ในการแสดงตัวอย่างเว็บ ให้สนทนากับ Companion ถามว่า how are you? ตอนนี้การตอบกลับของ Companion ควรตรงกับตัวละครที่ไม่เหมือนใครที่คุณออกแบบไว้อย่างสมบูรณ์แบบ
เพิ่มการจัดการการลองใหม่สำหรับขีดจำกัดอัตรา API (ไม่บังคับแต่แนะนำ)
ในระหว่างเวิร์กช็อปหรือช่วงที่มีการใช้งานพร้อมกันสูง คุณอาจพบข้อผิดพลาดเกี่ยวกับขีดจำกัดอัตรา API (HTTP 429: Resource Exhausted) หากต้องการให้ Companion ตอบสนองอยู่เสมอและจัดการข้อยกเว้นเกี่ยวกับขีดจำกัดอัตราโดยอัตโนมัติ เราสามารถกำหนดค่าตัวเลือกการลองใหม่ที่สร้างขึ้นโดยตรงในตัวเลือกไคลเอ็นต์ Google GenAI SDK
👉✨ ในข้อความแจ้ง Antigravity CLI ให้วางคำขอต่อไปนี้
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 จะแก้ไขไฟล์ character.py เพื่อจัดการขีดจำกัดอัตโนมัติโดยใช้นโยบายการลองใหม่ระดับไคลเอ็นต์ อย่าลืมขอให้ CLI รีสตาร์ทเว็บเซิร์ฟเวอร์หลังจากที่อัปเดตไฟล์แล้วโดยใช้คำสั่งต่อไปนี้
Please restart the Python web server for me.
5. เพิ่มการเชื่อมต่อแหล่งข้อมูลสำหรับเหตุการณ์ล่าสุด
ตอนนี้ Agent ของเรามีบุคลิกที่หลากหลาย แต่ก็มีข้อจำกัดที่สำคัญคือความรู้ของ Agent หยุดอยู่กับที่ตามข้อมูลที่ใช้ฝึก Agent ไม่สามารถบอกคุณเกี่ยวกับข่าวเมื่อวานหรือการค้นพบล่าสุดได้ เราจึงมอบเครื่องมือ ให้กับ Agent เพื่อเอาชนะข้อจำกัดนี้
ลองนึกภาพเครื่องมือเป็นพลังวิเศษหรือความสามารถพิเศษที่คุณมอบให้กับ Agent Agent สามารถพูดได้เท่านั้น แต่เมื่อมีเครื่องมือค้นหา Agent จะมีความสามารถในการเรียกดูอินเทอร์เน็ต และเมื่อมีเครื่องมือปฏิทิน Agent ก็จะตรวจสอบกำหนดการของคุณได้ ในทางเทคนิค เครื่องมือคือฟังก์ชันหรือ API ที่เฉพาะเจาะจงซึ่ง Agent สามารถเลือกใช้ได้อย่างชาญฉลาดเมื่อตระหนักว่าความรู้ของตัวเองไม่เพียงพอที่จะตอบคำขอของผู้ใช้

ในระบบขั้นสูง ระบบภายนอก เช่น เซิร์ฟเวอร์ MCP (Model Context Protocol) สามารถให้เครื่องมือได้ แต่สำหรับขั้นตอนนี้ เราไม่จำเป็นต้องใช้เซิร์ฟเวอร์แยกต่างหาก ADK มาพร้อมกับเครื่องมือ google_search ที่มีประสิทธิภาพและสร้างไว้ล่วงหน้า ซึ่งเราสามารถเพิ่มลงในความสามารถของ Agent ได้อย่างง่ายดาย
มามอบพลังของ Google Search ให้กับ Companion กัน
👉 ในเครื่องมือแก้ไข Cloud Shell ให้เปิด character.py ใน companion-python แล้วแก้ไขดังนี้
- นำเข้า
google_searchจากgoogle.adk.tools. - เพิ่ม
toolslist ลงในเครื่องมือสร้างLlmAgent - อัปเดต
instructionเพื่อบอก Companion อย่างชัดเจนว่า เมื่อใด ที่ควรใช้เครื่องมือใหม่
# 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
)
ทดสอบ Agent ที่เชื่อมต่อแหล่งข้อมูล
หากต้องการให้เว็บเซิร์ฟเวอร์โหลดโค้ดใหม่ด้วยเครื่องมือ google_search ให้ขอให้ Antigravity CLI รีสตาร์ทเซิร์ฟเวอร์
👉✨ ในข้อความแจ้ง Antigravity CLI ให้วางคำขอต่อไปนี้
Please restart the Python web server for me.
👉 ในการแสดงตัวอย่างเว็บ ให้ถามคำถามที่ต้องใช้ความรู้ที่ทันสมัย เช่น
Tell me something funny that happened in the news this week involving an animal.
👉 ตอนนี้ Agent จะใช้เครื่องมือค้นหาเพื่อค้นหาข้อมูลปัจจุบันและให้ข้อมูลสรุปที่เป็นประโยชน์และเชื่อมต่อแหล่งข้อมูลได้ด้วยเสียงที่เป็นเอกลักษณ์ของตัวเองแทนที่จะบอกว่าไม่รู้
6. ปรับแต่งรูปลักษณ์ของ Companion
เมื่อ Companion มีสมองแล้ว ก็มาสร้างหน้าตาที่ไม่เหมือนใครให้กับ Companion กัน เนื่องจาก Antigravity CLI มีความสามารถในการสร้างรูปภาพในตัว คุณจึงเพียงแค่ขอให้ Antigravity CLI สร้างอวาตาร์ให้คุณโดยตรง
นี่เป็นโอกาสของคุณที่จะออกแบบรูปลักษณ์ที่ไม่เหมือนใครให้กับ Companion ลองนึกถึงสไตล์ การแสดงออก และรายละเอียดอื่นๆ ที่เหมาะกับบุคลิกที่คุณสร้างไว้ก่อนหน้านี้
👉✨ ในข้อความแจ้ง Antigravity CLI ให้วางคำขอต่อไปนี้ (คุณสามารถแก้ไขพรอมต์ด้วยคำอธิบายตัวละครที่สร้างสรรค์ของคุณเองได้)
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.
เครื่องมือจะสร้างชุดรูปภาพปากเปิดและปากปิด แล้วบันทึกรูปภาพเหล่านั้นไว้ในไดเรกทอรี static/images ของโปรเจ็กต์โดยอัตโนมัติ
ตอนนี้คุณสามารถโต้ตอบกับ Companion ที่ปรับแต่งภาพแล้วได้
ยินดีด้วย

คุณสร้าง AI Companion ที่ซับซ้อนได้สำเร็จแล้ว คุณเริ่มต้นด้วยแอปพื้นฐาน ใช้ Antigravity CLI เพื่อสร้างโครงร่าง Agent มอบบุคลิกที่หลากหลายให้กับ Agent และมอบเครื่องมือให้ Agent เข้าถึงข้อมูลแบบเรียลไทม์และสร้างอวาตาร์ของตัวเองได้ ตอนนี้คุณพร้อมที่จะสร้าง Agent AI ที่ซับซ้อนและมีความสามารถมากยิ่งขึ้นแล้ว
👉💻 หากต้องการสรุปและปิดเซสชัน ให้กลับไปที่เทอร์มินัลและออกจาก Antigravity CLI โดยพิมพ์ /exit ในข้อความแจ้ง agy
/exit