1. บทนำ
การเพิ่มฟีเจอร์ลงในเอเจนต์ที่มีอยู่ ซึ่งเป็นความสามารถใหม่ที่ใช้ฐานข้อมูล โดยปกติแล้วหมายถึงการเขียนโค้ดต้นแบบ การเชื่อมต่อการผสานรวม และการทำให้ทุกอย่างสอดคล้องกับรูปแบบที่มีอยู่แล้วในโค้ดเบส Antigravity จะเร่งกระบวนการนี้ในทุกขั้นตอน โดยจะวิเคราะห์ฐานของโค้ดเพื่อสร้างบริบทที่จำเป็น สร้างข้อกำหนดที่มีโครงสร้างและแผนการติดตั้งใช้งานเพื่อให้คุณตรวจสอบ และดำเนินการเปลี่ยนแปลงโค้ด ทั้งหมดนี้จะได้รับการแนะนำจากความรู้เกี่ยวกับโดเมนที่ช่วยให้คุณบันทึกเป็นทักษะที่นำกลับมาใช้ใหม่ได้และธรรมนูญของโปรเจ็กต์ที่บังคับใช้หลักการที่ต่อรองไม่ได้ Codelab นี้จะแนะนำวิธีเพิ่มประสิทธิภาพกระบวนทัศน์การพัฒนาที่ขับเคลื่อนด้วยข้อมูลจำเพาะของ Antigravity โดยการนำวงจรใหม่มาใช้เพื่อเพิ่มประสิทธิภาพเอกสารประกอบข้อมูลจำเพาะที่อ้างอิง spec-kit อย่างมาก
สิ่งที่คุณจะสร้าง
แอปพลิเคชันผู้ช่วยร้านอาหารที่ทำงานในพื้นที่ซึ่งมีการเพิ่มการจองผ่านวงจร SDD ที่สมบูรณ์
- การจอง - แขกจองโต๊ะและตรวจสอบการจอง โดยมีเครื่องมือฐานข้อมูล MCP Toolbox ใหม่และตาราง
reservationsCloud SQL เป็นข้อมูลสนับสนุน - (ความท้าทาย) – พัฒนา UI ของตัวแทนของคุณเอง
- (ภารกิจ) – ทำให้ใช้งานได้ใน Google Cloud ด้วยความช่วยเหลือจาก Agent ของ Antigravity
โค้ดเริ่มต้นมี Agent ADK ที่ใช้งานได้พร้อมการค้นหาเมนู (คีย์เวิร์ด + ความหมายผ่าน MCP Toolbox) และการติดตามค่ากำหนดด้านอาหาร (ผ่าน ToolContext) คุณขยายได้โดยไม่ต้องเขียนโค้ดของแอปพลิเคชันด้วยตนเอง เนื่องจาก Antigravity จะจัดการการติดตั้งใช้งานตามข้อกำหนดของคุณ

สิ่งที่คุณจะได้เรียนรู้
- วิธีเริ่มต้นบริบทของโปรเจ็กต์เพื่อให้ Antigravity เข้าใจฐานของโค้ดที่มีอยู่
- วิธีสร้างทักษะ Antigravity และกำหนดค่า MCP ที่รวบรวมความรู้เฉพาะด้าน (เช่น เอกสาร ADK, ทักษะของบุคคลที่สาม) เพื่อนำกลับมาใช้ใหม่
- วิธีตั้งค่าธรรมนูญของโปรเจ็กต์ที่เวิร์กโฟลว์ SDD จะตรวจสอบเทียบระหว่างการวางแผนและการวิเคราะห์
- วิธีใช้เวิร์กโฟลว์ Spec-Driven Development (SDD) ใน Antigravity เพื่อเพิ่มฟีเจอร์อย่างเป็นระบบ
- วิธีขยาย Agent ADK ด้วยเครื่องมือใหม่ที่ใช้ฐานข้อมูลผ่าน MCP Toolbox
ข้อกำหนดเบื้องต้น
- Google Antigravity และ
gitติดตั้งไว้ในเครื่องของคุณ - บัญชี Google Cloud ที่เปิดใช้บัญชีสำหรับการเรียกเก็บเงินที่ใช้งานอยู่
- การทำ Codelab ของ ADK ทั้ง 4 รายการที่จำเป็นต้องทำก่อนหน้านี้ (หรือมีความรู้เทียบเท่า) จะช่วยให้เข้าใจบริบทของ Use Case ได้
- การสร้าง AI Agent ด้วย ADK: รากฐาน
- การสร้าง AI Agent ด้วย ADK: เพิ่มศักยภาพด้วยเครื่องมือ
- การสร้าง AI Agent แบบถาวรด้วย ADK และ CloudSQL
- ติดตั้งใช้งาน จัดการ และตรวจสอบ Agent ประเภท ADK ใน Cloud Run
- ฐานข้อมูลในฐานะเครื่องมือ: Agentic RAG พร้อม ADK, MCP Toolbox และ Cloud SQL
2. ตั้งค่าสภาพแวดล้อม
ขั้นตอนนี้จะโคลนที่เก็บเริ่มต้น ตรวจสอบสิทธิ์กับ Google Cloud จัดสรรฐานข้อมูล Cloud SQL และเตรียมสภาพแวดล้อม Antigravity ในเครื่อง
ติดตั้งข้อกำหนดเบื้องต้น
ตรวจสอบว่าระบบมีไฟล์ปฏิบัติการ CLI ต่อไปนี้
วิธีการติดตั้งจะแตกต่างกันไปตามระบบปฏิบัติการของเครื่อง
โคลนที่เก็บเริ่มต้น
เปิดเทอร์มินัลใน Antigravity (หรือเทอร์มินัลของระบบ) โคลนที่เก็บข้อมูลของแอปคู่หูและเข้าสู่ไดเรกทอรี
git clone https://github.com/alphinside/sdd-adk-antigravity-starter.git sdd-adk-agents-agy
cd sdd-adk-agents-agy
เปิดที่เก็บที่โคลนใน Antigravity File->Open Folder->เลือกไดเรกทอรีที่โคลน sdd-adk-agents-agy
นำรีโมตต้นทางออก เวิร์กโฟลว์ SDD จะสร้างกิ่ง Git สำหรับข้อกำหนดฟีเจอร์ การนำรีโมตออกจะช่วยป้องกันไม่ให้มีการพุชไปยังที่เก็บเริ่มต้นโดยไม่ตั้งใจ
git remote remove origin
ตรวจสอบสิทธิ์ด้วย Google Cloud
เรียกใช้คำสั่งการตรวจสอบสิทธิ์ 2 คำสั่ง ทั้ง 2 อย่างจะเปิดเบราว์เซอร์สำหรับ OAuth
gcloud auth login
gcloud auth application-default login
เนื่องจากคุณทำงานในพื้นที่ด้วย Antigravity คุณจึงต้องตรวจสอบสิทธิ์ด้วยตนเอง auth login จะตรวจสอบสิทธิ์ CLI ของ gcloud application-default login ตรวจสอบสิทธิ์ Google Cloud SDK ที่แอปพลิเคชันของคุณใช้ ซึ่งการเรียก Vertex AI ของ ADK และตัวเชื่อมต่อ Python ของ Cloud SQL ต่างก็ต้องใช้ข้อมูลเข้าสู่ระบบเริ่มต้นของแอปพลิเคชัน
ตั้งค่าโปรเจ็กต์ Google Cloud
เขียนตัวแปรตำแหน่งไปยัง .env ก่อนเรียกใช้สคริปต์การตั้งค่าโปรเจ็กต์
echo "GOOGLE_CLOUD_LOCATION=global" > .env
echo "REGION=us-central1" >> .env
GOOGLE_CLOUD_LOCATION=globalใช้สำหรับการเรียก Vertex AI / Gemini APIREGION=us-central1ใช้สำหรับ Cloud SQL และโครงสร้างพื้นฐานอื่นๆ ของ GCP
ดาวน์โหลดและเรียกใช้สคริปต์การตั้งค่าโปรเจ็กต์ โดยจะสร้างหรือตรวจสอบโปรเจ็กต์ที่อยู่ในระบบคลาวด์ของ Google ที่มีการเรียกเก็บเงินแบบช่วงทดลองใช้ และบันทึกรหัสโปรเจ็กต์ไว้ใน .env จากนั้นให้เรียกใช้
curl -sL https://raw.githubusercontent.com/alphinside/cloud-trial-project-setup/main/setup_verify_trial_project.sh -o setup_verify_trial_project.sh
bash setup_verify_trial_project.sh && source .env
กำลังเปิดใช้ API
เปิดใช้ API ที่จำเป็น
gcloud services enable \
aiplatform.googleapis.com \
sqladmin.googleapis.com \
compute.googleapis.com \
cloudresourcemanager.googleapis.com
ติดตั้งการอ้างอิง
เราจะใช้ uv เป็นผู้จัดการโปรเจ็กต์ Python uv เป็นเครื่องมือจัดการแพ็กเกจและโปรเจ็กต์ Python ที่รวดเร็วซึ่งเขียนด้วย Rust ( เอกสาร ) Codelab นี้ใช้เพื่อความเร็วและความเรียบง่าย ติดตั้งการอ้างอิง Python ด้วยคำสั่งต่อไปนี้
uv sync
จากนั้นอัปเดตไฟล์ .env ของตัวแทน ADK ด้วยการกำหนดค่าโปรเจ็กต์ของคุณ
cat > restaurant_concierge/.env <<EOF
GOOGLE_CLOUD_PROJECT=${GOOGLE_CLOUD_PROJECT}
GOOGLE_CLOUD_LOCATION=global
GOOGLE_GENAI_USE_VERTEXAI=True
EOF
เตรียมโครงสร้างพื้นฐานของฐานข้อมูลและข้อมูล
ตั้งรหัสผ่านฐานข้อมูลและเพิ่มลงใน .env โดยทำดังนี้
export DB_PASSWORD=codelabpassword
echo "DB_PASSWORD=${DB_PASSWORD}" >> .env
จากนั้นเรียกใช้scripts/setup_database.shสคริปต์เพื่อเตรียมโครงสร้างพื้นฐานทั้งหมดที่จำเป็น โดยจะดำเนินการต่อไปนี้
- สร้างอินสแตนซ์ Cloud SQL
- ตรวจสอบว่าอินสแตนซ์พร้อมใช้งานหรือไม่
- ให้สิทธิ์ Vertex AI
- สร้างฐานข้อมูล
- ฐานข้อมูลรายการตั้งต้น
- เรียกใช้บริการกล่องเครื่องมือ MCP ในเบื้องหลัง
chmod +x scripts/setup_database.sh
./scripts/setup_database.sh > database_setup.log 2>&1 &
คำสั่งนี้จะเรียกใช้การตั้งค่าในเบื้องหลัง คุณสามารถตรวจสอบเอาต์พุตเป็นระยะๆ ได้ที่ไฟล์ database_setup.log
ตอนนี้เราควรมีที่เก็บตัวแทน ADK เริ่มต้นที่จำเป็นทั้งหมดเพื่อใช้ทำงาน ตอนนี้มาพูดถึง Antigravity และการพัฒนาที่อิงตามข้อกำหนดในส่วนถัดไปกันในระหว่างที่รอให้ทุกอย่างพร้อม
3. สำรวจโค้ดเริ่มต้นและทำความเข้าใจการพัฒนาที่ขับเคลื่อนด้วยข้อมูลจำเพาะ
ขั้นตอนนี้จะอธิบายโครงสร้างโค้ดเริ่มต้น แนะนำวิธีการพัฒนาที่ขับเคลื่อนด้วยข้อกำหนด เริ่มต้นฐานข้อมูล และยืนยันว่าเอเจนต์พื้นฐานทำงานได้ก่อนที่คุณจะเริ่มขยาย
โครงสร้างโปรเจ็กต์
เปิดโปรเจ็กต์ที่เก็บที่โคลนไว้ในโปรแกรมแก้ไข Antigravity แล้วตรวจสอบเลย์เอาต์ไดเรกทอรี
sdd-adk-agents-agy/ ├── .agents/ │ ├── workflows/ # SDD slash commands (/speckit.*) – manual trigger │ │ ├── speckit.specify.md │ │ ├── speckit.clarify.md │ │ ├── speckit.plan.md │ │ ├── speckit.tasks.md │ │ ├── speckit.analyze.md │ │ ├── speckit.implement.md │ │ ├── speckit.checklist.md │ │ └── speckit.constitution.md │ ├── skills/ # Antigravity skills (loaded on demand, agent determined) │ │ ├── mcp-toolbox-postgres/ │ │ │ └── SKILL.md # MCP Toolbox config skill │ │ └── repo-research/ │ │ └── SKILL.md # Repo analysis skill │ └── rules/ # Always-active context ├── .specify/ # spec-kit SDD templates and memory │ ├── memory/constitution.md │ ├── templates/ │ └── scripts/ ├── restaurant_concierge/ # ADK agent package │ ├── __init__.py │ ├── agent.py # LlmAgent + ToolContext tools + Toolbox integration │ └── .env # Vertex AI configuration ├── server.py # FastAPI server wrapping the agent ├── tools.yaml # MCP Toolbox tool definitions ├── scripts/ # Setup scripts └── pyproject.toml
ไฟล์คีย์
ไฟล์การสมัครเป็นตัวแทน
restaurant_concierge/agent.py- เอเจนต์หลักLlmAgentที่รวมเครื่องมือฐานข้อมูล MCP Toolbox เข้ากับการติดตามความชอบด้านอาหารที่อิงตามToolContextเอเจนต์จะโหลดเครื่องมือทั้งหมดจากเซิร์ฟเวอร์กล่องเครื่องมือและเพิ่มฟังก์ชัน Python 2 รายการ (save_dietary_preference,get_dietary_preferences) ที่ใช้ToolContextเพื่อจัดการสถานะtools.yaml— คำจำกัดความของเครื่องมือกล่องเครื่องมือ MCP เครื่องมือค้นหาในเมนู 3 รายการ ได้แก่ การค้นหาคีย์เวิร์ด (search_menu) การค้นหาเชิงความหมายผ่านpgvector(semantic_search_menu) และตัวกรองหมวดหมู่ (get_menu_by_category) ยังไม่มีเครื่องมือการจอง คุณจะเพิ่มเครื่องมือเหล่านั้นได้ในภายหลังserver.py— เซิร์ฟเวอร์ FastAPI ขนาดเล็กที่แสดงวิธีเข้าถึง ADK เป็นออบเจ็กต์ FastAPIget_fast_api_app()จาก ADK มีปลายทางในตัว ซึ่งรวมถึง/run_sseสำหรับ API การสตรีม SSE และการจัดการเซสชัน
Antigravity Files
.agents/skills/mcp-toolbox-postgres/SKILL.md— ทักษะที่แนะนำ Antigravity เกี่ยวกับวิธีกำหนดค่า tools.yaml ที่เหมาะสมสำหรับ MCP Toolbox ทักษะนี้จะสอนการกำหนดค่าที่เกี่ยวข้องกับsourcestoolsและembeddingModelsที่จำเป็นต่อการสร้างไปป์ไลน์ RAG ที่เหมาะสม ทักษะนี้จะไม่เปิดใช้งานจนกว่าคุณจะเพิ่ม Frontmatter YAML ที่เหมาะสมเพื่อให้ Antigravity รู้จัก.agents/skills/repo-research/SKILL.md— ทักษะที่สอน Antigravity ให้วิเคราะห์ที่เก็บอย่างค่อยเป็นค่อยไปและสร้างเอกสารบริบทของโปรเจ็กต์ที่มีโครงสร้าง โดยใช้แนวทาง 4 ระยะ ได้แก่ การสแกนพื้นผิว (เฉพาะโครงสร้างไดเรกทอรี) ไฟล์การกำหนดค่าและข้อมูลเมตา จุดแรกเข้าและโมเดลข้อมูล จากนั้นจึงเจาะลึกแบบกำหนดเป้าหมาย โดยแต่ละระยะจะหยุดและเขียนผลการค้นพบก่อนที่จะไปยังระยะถัดไป และจะยังไม่ทำงานจนกว่าคุณจะเพิ่ม Frontmatter YAML ในภายหลัง เมื่อเปิดใช้งานแล้ว ให้เรียกใช้เพื่อสร้าง.agents/rules/project-context.mdซึ่งเป็นเอกสารการเริ่มต้นใช้งานที่ครอบคลุมสถาปัตยกรรม การขึ้นต่อรันไทม์ พื้นผิว API และอภิธานศัพท์ของโดเมน
การพัฒนาที่ขับเคลื่อนด้วยข้อมูลจำเพาะ: ตั้งแต่การวางแผนในตัวของ Antigravity ไปจนถึง SDD ที่มีโครงสร้าง
ผู้ช่วยเขียนโค้ด AI ช่วยให้สร้างโค้ดจากพรอมต์ได้อย่างง่ายดาย ความเสี่ยง: คุณอธิบายฟีเจอร์ในประโยคเดียว ผู้ช่วยเขียนโค้ดหลายร้อยบรรทัด และคุณยอมรับเพราะดูเหมือนจะถูกต้อง บางครั้งจะเรียกกรณีเช่นนี้ว่า "Vibe Coding" ซึ่งเป็นการเขียนโค้ดตามความรู้สึก โดยยอมรับหรือปฏิเสธเอาต์พุตตามความเหมาะสม เหมาะสำหรับต้นแบบและสคริปต์ที่ใช้แล้วทิ้ง ซึ่งจะทำให้เกิดปัญหาเมื่อโค้ดเบสเติบโตขึ้น เมื่อฟีเจอร์ต่างๆ มีการโต้ตอบกัน หรือเมื่อคุณกลับมาดูโค้ดในอีกหลายสัปดาห์ต่อมาและไม่สามารถสร้างเหตุผลที่ทำให้ตัดสินใจเช่นนั้นขึ้นมาใหม่ได้

การพัฒนาที่ขับเคลื่อนด้วยข้อกำหนด (SDD) จะเพิ่มโครงสร้างให้กับลูปนี้ ก่อนที่จะสร้างโค้ด คุณต้องเขียนข้อกำหนดก่อนว่าฟีเจอร์นี้ทำอะไรได้บ้าง ใครเป็นผู้ใช้ และเกณฑ์ความสำเร็จคืออะไร ผู้ช่วย AI จะทำงานตามข้อกำหนดดังกล่าว และคุณก็เช่นกันเมื่อตรวจสอบเอาต์พุต โดยข้อกำหนดจะกลายเป็นแหล่งข้อมูลที่เชื่อถือได้เพียงแหล่งเดียวสำหรับเจตนา หากโค้ดแตกต่างจากข้อกำหนด คุณจะเห็นในรีวิว หากข้อกำหนดมีการเปลี่ยนแปลง คุณต้องอัปเดตข้อกำหนดก่อน แล้วจึงสร้างใหม่ การตัดสินใจจะได้รับการบันทึกไว้ ไม่ใช่การตัดสินใจแบบฉุกเฉิน
การแลกเปลี่ยนนี้เกิดขึ้นจริง โดย SDD จะช้ากว่า Vibe Coding ต่อฟีเจอร์ คุณเขียนเอกสารก่อนเขียนโค้ด แต่ผลตอบแทนจะเพิ่มขึ้นเรื่อยๆ โดยการเปลี่ยนแปลงในอนาคตทั้งหมดในฐานของโค้ดจะมีบริบท การติดตั้งใช้งานที่ AI สร้างขึ้นทุกรายการจะมีสัญญาที่ตรวจสอบได้ และคุณสามารถเริ่มต้นใช้งานร่วมกับผู้ทำงานร่วมกัน (มนุษย์หรือ AI) ได้โดยชี้ให้ดูที่ข้อกำหนดแทนที่จะอธิบายการตัดสินใจจากความทรงจำ
Antigravity ปฏิบัติตามหลักการพัฒนาที่ขับเคลื่อนด้วยข้อมูลจำเพาะอยู่แล้ว เมื่อตั้งค่า Agent เป็นโหมดการวางแผน Agent จะสร้างอาร์ติแฟกต์ 2 รายการก่อนที่จะเขียนโค้ด
- แผนการติดตั้งใช้งาน - ภาพรวมของแนวทางเทคนิคที่เสนอ การเปลี่ยนแปลงไฟล์ และการตัดสินใจด้านสถาปัตยกรรม

- รายการงาน - รายการย่อยของรายการงานที่มีโครงสร้าง

Antigravity ขอให้คุณตรวจสอบและอนุมัติอาร์ติแฟกต์เหล่านี้ก่อนดำเนินการ ลูปการวางแผนแล้วจึงนำไปใช้เป็นหัวใจสำคัญของการพัฒนาที่ขับเคลื่อนด้วยข้อกำหนด เนื่องจากข้อกำหนดจะนำทางโค้ด ไม่ใช่ในทางกลับกัน
Codelab นี้จะต่อยอดจากพื้นฐานดังกล่าวด้วยเวิร์กโฟลว์ที่มีการควบคุมเวอร์ชันตามspec-kit ซึ่งเป็นเฟรมเวิร์กการพัฒนาที่อิงตามข้อกำหนดจาก GitHub และมีแนวทางเฉพาะ ฟีเจอร์ทุกอย่างจะผ่านไปป์ไลน์ที่ตั้งใจไว้ ซึ่งแต่ละอาร์ติแฟกต์จะเป็นเอกสารแบบสแตนด์อโลนที่คุณสามารถตรวจสอบ แก้ไข และติดตามใน git ได้ ไปป์ไลน์มี 2 เฟสที่เป็นตัวเลือกในการตรวจสอบคุณภาพ (ชี้แจงและวิเคราะห์) ซึ่งจะตรวจพบปัญหาได้ก่อนที่จะกลายเป็นปัญหาในการติดตั้งใช้งาน
ระยะ | อาร์ติแฟกต์ | Purpose |
|
| กำหนดสิ่งที่จะสร้าง (สำหรับผู้ใช้ ไม่ขึ้นอยู่กับเทคโนโลยี) |
| อัปเดตเมื่อ | ระบุส่วนที่ไม่ได้ระบุรายละเอียด ถามคำถามที่เจาะจงเพื่อขอคำชี้แจง และเข้ารหัสคำตอบกลับลงในข้อกำหนด |
|
| ออกแบบวิธีสร้าง (แนวทางเทคนิค รูปแบบข้อมูล การวิจัย) |
|
| แบ่งแผนออกเป็นขั้นตอนที่นำไปใช้ได้จริงและเรียงตามลำดับ |
| รายงานการวิเคราะห์ | ตรวจสอบงานเพื่อหาความเสี่ยง ช่องว่าง หรือกรณีขอบที่ขาดหายไปก่อนการติดตั้งใช้งาน |
| การเปลี่ยนแปลงโค้ด | ทำงานและทำเครื่องหมายแต่ละงาน |

ระบบจะบันทึกอาร์ติแฟกต์ทุกรายการเป็นไฟล์ใน specs/<feature-branch>/ ควบคุมเวอร์ชันใน Git และนำกลับมาใช้ใหม่ได้ หากการสนทนาถูกขัดจังหวะหรือคุณต้องการกลับมาดูการตัดสินใจในภายหลัง เอกสารข้อกำหนดจะพร้อมให้คุณดูเสมอ โดยจะไม่อยู่ในประวัติการแชท
ที่เก็บข้อมูลเริ่มต้นมีเวิร์กโฟลว์ SDD เหล่านี้ใน .agents/workflows/ และเทมเพลตใน .specify/templates/ คุณจะใช้ฟังก์ชันเหล่านี้ในภายหลังเพื่อเพิ่มฟีเจอร์ลงในเอเจนต์
4. บริบทของโปรเจ็กต์ Bootstrap ด้วย Antigravity
ตอนนี้มาจำลองสถานการณ์ด้วยเงื่อนไขที่ "ค่อนข้างใกล้เคียง" กับงานประจำของเรากัน
- ที่เก็บที่ไม่ได้จัดการอย่างดี
- README ล้าสมัย
- เอกสารประกอบที่ไม่ได้อัปเดตบ่อย
สิ่งแรกที่เราต้องการทำในสถานการณ์เช่นนี้คือการสร้างแผนที่หรือบริบทเกี่ยวกับโปรเจ็กต์ที่เราต้องการให้ Antigravity ทำ ขั้นตอนนี้แสดงตัวอย่างแนวทางในการช่วยให้ Antigravity เข้าใจฐานของโค้ดที่มีอยู่ได้อย่างลึกซึ้งโดยการสร้างทักษะที่วิเคราะห์ที่เก็บและสร้างเอกสารบริบทของโปรเจ็กต์
นอกจากนี้ยังกำหนดธรรมนูญของโปรเจ็กต์ ซึ่งเป็นหลักการที่ต่อรองไม่ได้ซึ่งเวิร์กโฟลว์ SDD จะตรวจสอบ ซึ่งจะช่วยให้ Antigravity มีบริบทและข้อจำกัดที่จำเป็นสำหรับรอบ SDD ในภายหลัง
ลำดับชั้นบริบทของ Antigravity
Antigravity ใช้บริบท 3 ระดับ โดยแต่ละระดับมีขอบเขตที่แตกต่างกัน ดังนี้
- กฎ (
.agents/rules/): คำสั่งที่ใช้งานอยู่เสมอ ทุกการสนทนาในพื้นที่ทำงานนี้จะเห็นกฎ ( หากคุณเปิดใช้งาน) ใช้กฎสำหรับบริบททั่วทั้งโปรเจ็กต์ เช่น การตัดสินใจด้านสถาปัตยกรรม มาตรฐานการเขียนโค้ด หรือข้อมูล Technology Stack - ทักษะ (
.agents/skills/): ความรู้แบบออนดีมานด์ Antigravity จะโหลดทักษะเมื่อภารกิจปัจจุบันตรงกับฟิลด์descriptionของทักษะเท่านั้น ใช้ทักษะสำหรับข้อมูลอ้างอิงเฉพาะโดเมน - เวิร์กโฟลว์ (
.agents/workflows/): พรอมต์ที่บันทึกไว้ซึ่งทริกเกอร์ด้วยคำสั่ง/ใช้เวิร์กโฟลว์สำหรับกระบวนการแบบหลายขั้นตอนที่ทำซ้ำได้ เช่น ไปป์ไลน์ SDD
เปิดใช้งานสกิล
ที่เก็บเริ่มต้นมีสกิลที่เขียนไว้ล่วงหน้า 2 รายการใน .agents/skills/ โดยจะมีวิธีการโดยละเอียด แต่จะเริ่มต้นด้วยTODO(codelab)ความคิดเห็นแทนที่จะเป็น Frontmatter ของ YAML ที่จำเป็น หากไม่มี Frontmatter Antigravity จะค้นหาไม่ได้
ทักษะการต่อต้านแรงโน้มถ่วงต้องมีบล็อก Frontmatter ของ YAML ที่ด้านบนของไฟล์ที่มี 2 ฟิลด์ดังนี้
name— ตัวระบุที่ไม่ซ้ำกันสำหรับทักษะdescription- ข้อมูลสรุปภาษาธรรมชาติที่ Antigravity จะจับคู่เมื่อตัดสินใจว่าจะโหลดทักษะใดสำหรับคำขอที่ระบุ
เปิด .agents/skills/mcp-toolbox-postgres/SKILL.md ในโปรแกรมแก้ไข แทนที่TODO(codelab)บรรทัดความคิดเห็นที่ด้านบนด้วย Frontmatter นี้
---
name: mcp-toolbox-postgres
description: Configure MCP Toolbox for PostgreSQL — sources, tools, and embedding models
---
เปิด .agents/skills/repo-research/SKILL.md ในเครื่องมือแก้ไข แทนที่TODO(codelab)บรรทัดความคิดเห็นที่ด้านบนด้วย Frontmatter นี้
---
name: repo-research
description: Analyze a repository's structure, technologies, and patterns to create or update a project context document. Use when asked to research, analyze, or understand a codebase.
---
ตรวจสอบว่าทักษะทั้ง 2 มี Frontmatter ที่ถูกต้อง
head -4 .agents/skills/mcp-toolbox-postgres/SKILL.md
head -4 .agents/skills/repo-research/SKILL.md
แต่ละรายการควรแสดงตัวคั่น --- ที่ครอบฟิลด์ name: และ description: หากไม่มีตัวคั่นหรือฟิลด์ Antigravity จะไม่รู้จักทักษะ
ระบบจะโหลดทั้ง 2 ทักษะตามต้องการ โดย Antigravity จะจับคู่คำขอของคุณกับฟิลด์ description และดึงวิธีการทั้งหมดเมื่อเกี่ยวข้องเท่านั้น
กำหนดค่า ADK Docs MCP
เพื่อให้มั่นใจว่าตัวแทนการเขียนโค้ดของเรามีความรู้ที่ถูกต้องเกี่ยวกับวิธีพัฒนาเอเจนต์ ADK จึงจำเป็นต้องมีสิทธิ์เข้าถึงเอกสารประกอบ ADK ที่เหมาะสม เราเปิดใช้ฟีเจอร์นี้ได้โดยการตั้งค่าเซิร์ฟเวอร์ MCP ของเอกสาร ADK
ก่อนอื่น จากโปรแกรมแก้ไข Antigravity ให้ค้นหาไอคอน "จุดไข่ปลา" ที่หน้าต่างตัวแทนด้านขวาบน แล้วคลิก คุณจะเห็นตัวเลือกการกำหนดค่าสำหรับ MCP และการปรับแต่งดังนี้ คลิก MCP
\
จากนั้นคลิกปุ่ม Manage MCP servers

ระบบจะเปิดแท็บการกำหนดค่าเซิร์ฟเวอร์ MCP จากนั้นคลิกปุ่ม View Raw Config

ซึ่งจะเปิดไฟล์ mcp_config.json ตอนนี้ให้คัดลอกการกำหนดค่านี้ไปวางในไฟล์
{
"mcpServers": {
"adk-docs-mcp": {
"command": "uvx",
"args": [
"--from",
"mcpdoc",
"mcpdoc",
"--urls",
"AgentDevelopmentKit:https://adk.dev/llms.txt",
"--transport",
"stdio"
]
}
}
}
การตั้งค่านี้จะช่วยให้ Coding Agent ค้นหาและอ่านเอกสารประกอบ ADK โดยใช้เซิร์ฟเวอร์ MCP ได้
ติดตั้งทักษะที่พร้อมใช้งานแบบสาธารณะ
ก่อนหน้านี้เราได้ตรวจสอบทักษะที่เราสร้างขึ้นเอง ( ทักษะ repo-research และ mcp-toolbox-postgres) อย่างไรก็ตาม ยังมีทักษะอื่นๆ อีกมากมายที่มีประโยชน์ในการสนับสนุนการพัฒนาซอฟต์แวร์ของเรา และสามารถติดตั้งลงใน Agent การเขียนโค้ดได้อย่างง่ายดาย
ทักษะของมนุษย์ถ้ำ
ทักษะที่มีประโยชน์อย่างหนึ่งในการลดการใช้โทเค็นคือทักษะคนถ้ำนี้ ทักษะนี้สามารถตัดโทเค็นเอาต์พุตจากเอเจนต์ ทำให้เป็นส่วนผสมที่ดีเมื่อคุณใช้การพัฒนาที่ขับเคลื่อนด้วยข้อกำหนดแบบเต็ม เช่น บทแนะนำนี้
npx skills add JuliusBrussee/caveman
เช่นเดียวกับก่อนหน้านี้ ให้เลือกทักษะ caveman ที่นี่ก่อน

จากนั้นเพียงคลิกป้อนเพื่อเลือกตัวเลือกอื่นๆ เพื่อเปิดใช้การติดตั้งเริ่มต้นและติดตั้งทักษะในโปรเจ็กต์ปัจจุบัน
ตอนนี้เราควรมีทักษะ 4 อย่างที่กำหนดค่าไว้แล้วและพร้อมที่จะเริ่มต้นเส้นทาง SDD
.agents/skills/ ├── caveman ├── mcp-toolbox-postgres └── repo-research
สร้างบริบทของโปรเจ็กต์
ตรวจสอบว่ามีไดเรกทอรีของกฎ
mkdir -p .agents/rules
ในกล่อง Agent Manager/Chat ของ Antigravity (ในโหมดเอดิเตอร์ ให้กด ctrl + L) ให้เริ่มการสนทนาใหม่ ประเภท:
Research this repository and create a project context document, and communicate efficiently
Antigravity จะจับคู่คำขอของคุณกับทักษะ repo-research และ caveman ( คำสั่งเพื่อสื่อสารอย่างมีประสิทธิภาพ) จากนั้นจะเริ่มวิเคราะห์ฐานของโค้ดอย่างเป็นระบบ โดยจะอ่านไฟล์การกำหนดค่า ซอร์สโค้ด และเอกสารประกอบ จากนั้นจะป้อนข้อมูลลงในเทมเพลตบริบทของโปรเจ็กต์ด้วยสิ่งที่พบ
เมื่อเสร็จแล้ว ให้เปิด .agents/rules/project-context.md ในตัวแก้ไข ซึ่งมีข้อมูลที่ชัดเจนเกี่ยวกับโปรเจ็กต์ ได้แก่ Technology Stack (Python 3.12, ADK, MCP Toolbox, Cloud SQL), โครงสร้างโปรเจ็กต์, โมเดลข้อมูล (ตาราง menu_items ที่มี pgvector) และการผสานรวมภายนอก

กำหนดธรรมนูญของโปรเจ็กต์
เวิร์กโฟลว์ SDD อ้างอิงถึงธรรมนูญของโปรเจ็กต์ที่ .specify/memory/constitution.md ระหว่างการวางแผนและการวิเคราะห์ /speckit.plan เวิร์กโฟลว์จะเรียกใช้ "การตรวจสอบรัฐธรรมนูญ" กับข้อความดังกล่าว และ/speckit.analyze จะแจ้งว่ามีการละเมิดเป็น "วิกฤต" หากปล่อยให้รัฐธรรมนูญเป็นเทมเพลตเปล่าที่มีโทเค็นตัวยึดตำแหน่ง การตรวจสอบเหล่านี้จะไม่มีสิ่งใดให้ตรวจสอบได้ แผนและการวิเคราะห์จะทำงานโดยไม่มีการควบคุม
รัฐธรรมนูญกำหนดหลักการของโปรเจ็กต์ที่ต่อรองไม่ได้ ที่เก็บนี้เป็นที่เก็บขนาดเล็กที่ดูแลโดยนักพัฒนาซอฟต์แวร์เพียงคนเดียว ดังนั้นรัฐธรรมนูญควรสะท้อนถึงขอบเขตดังกล่าว นั่นคือทำให้เรียบง่าย สอดคล้องกัน และหลีกเลี่ยงการออกแบบที่ซับซ้อนเกินไป
ใน Agent Manager ของ Antigravity ให้เริ่มการสนทนาใหม่ เรียกใช้เวิร์กโฟลว์รัฐธรรมนูญ
/speckit.constitution This is a small restaurant concierge ADK agent maintained by one developer. Set 3 principles: (1) All database operations go through MCP Toolbox tool definitions in tools.yaml — no raw SQL in Python code, no ORM. (2) Session state uses ADK ToolContext — no custom state management, no external state stores. (3) Keep it simple — follow existing file and naming conventions exactly.
Antigravity จะกรอกเทมเพลตรัฐธรรมนูญด้วยหลักการที่เป็นรูปธรรม กำหนดเวอร์ชัน (1.0.0) และเรียกใช้การตรวจสอบความสอดคล้องในเทมเพลต SDD
ตรวจสอบรัฐธรรมนูญที่สร้างขึ้นที่ .specify/memory/constitution.md ตรวจสอบว่ามีหลักการทั้ง 3 ข้อและระบุไว้อย่างชัดเจน

5. วงจร SDD - เพิ่มฟีเจอร์การจอง
ขั้นตอนนี้จะอธิบายวงจร SDD ทั้งหมดเพื่อเพิ่มการจองห้องพักไปยังตัวแทนอำนวยความสะดวกของร้านอาหาร คุณจะขับเคลื่อน Antigravity ผ่านแต่ละเฟส ได้แก่ ระบุ ชี้แจง วางแผน งาน วิเคราะห์ และนำไปใช้ โดยสังเกตว่าอาร์ติแฟกต์แต่ละรายการสร้างขึ้นจากอาร์ติแฟกต์ก่อนหน้าอย่างไร ซึ่งเป็นประสบการณ์การเรียนรู้หลักของ Codelab
ระบุฟีเจอร์
ใน Agent Manager ของ Antigravity ให้เริ่มการสนทนาใหม่ พิมพ์/speckit.specifyคำสั่งเวิร์กโฟลว์พร้อมรายละเอียดฟีเจอร์
/speckit.specify Add reservation booking capability to the restaurant concierge agent. Guests should be able to make a table reservation by providing their name, party size, date, and time. They should also be able to check existing reservations. The agent should confirm reservation details before booking and handle special requests (e.g., "window seat", "birthday celebration").
Antigravity สร้างกิ่งก้านของฟีเจอร์ สร้างเอกสารข้อกำหนด และเรียกใช้การตรวจสอบคุณภาพ หาก Antigravity ถามคำถามที่ขอคำชี้แจง ให้ตอบคำถามเหล่านั้นตามรายละเอียดฟีเจอร์ด้านบน
ข้อกำหนดจะเน้นที่ "อะไร" และ "ทำไม" ไม่ใช่ "อย่างไร" โดยอธิบายประสบการณ์ของผู้ใช้ ("แขกสามารถจองได้โดยระบุชื่อ จำนวนคน วันที่ และเวลา") โดยไม่ต้องพูดถึงตาราง SQL, tools.yaml หรือ ADK API รายละเอียดการใช้งานจะอยู่ในระยะการวางแผน
ตรวจสอบข้อกำหนดที่สร้างขึ้นที่ specs/<branch-name>/spec.md ตรวจสอบว่าข้อกำหนดดังกล่าวครอบคลุมข้อกำหนดด้านฟังก์ชันการทำงานและเกณฑ์ความสำเร็จ

ชี้แจงข้อกำหนด (ไม่บังคับ)
เรียกใช้เวิร์กโฟลว์การชี้แจงเพื่อระบุและแก้ไขพื้นที่ที่ระบุไม่ชัดเจนในข้อกำหนด
/speckit.clarify
Antigravity จะสแกนข้อกำหนดเพื่อหาความคลุมเครือ เกณฑ์การยอมรับที่ขาดหายไป และข้อกำหนดที่ระบุไม่ครบ โดยจะถามคำถามที่มุ่งเน้นการชี้แจง ซึ่งแต่ละคำถามสามารถตอบได้ด้วยการเลือกหรือวลีสั้นๆ ระบบจะเข้ารหัสคำตอบของคุณกลับไปในข้อกำหนดโดยตรง ซึ่งจะทำให้ข้อกำหนดมีความแม่นยำมากขึ้นก่อนที่จะเริ่มวางแผน
วางแผนการติดตั้งใช้งาน
เรียกใช้เวิร์กโฟลว์การวางแผน
/speckit.plan Update the restaurant concierge agent to multi agent architecture which separate responsibilities for handling menu and reservations. Utilize your access to ADK Docs tools and MCP toolbox skill to implement it properly
Antigravity สร้างแผนทางเทคนิคผ่าน 2 ขั้นตอนต่อไปนี้
- ระยะการวิจัย - แก้ไขสิ่งที่ไม่ทราบเกี่ยวกับฐานของโค้ดที่มีอยู่ สร้าง
research.md - ช่วงออกแบบ - สร้าง
data-model.md(คำจำกัดความของเอนทิตีการจอง) และอัปเดตproject-context.md
Antigravity ควรใช้เครื่องมือ MCP ของเอกสาร ADK และทักษะเอกสาร MCP Toolbox ในระหว่างการวางแผน ตรวจสอบอาร์ติแฟกต์ที่สำคัญ
specs/<branch-name>/plan.md- แนวทางด้านเทคนิค: ไฟล์ที่จะแก้ไข รูปแบบที่ต้องปฏิบัติตามspecs/<branch-name>/data-model.md— คำจำกัดความของเอนทิตีการจอง (คอลัมน์ ประเภท ความสัมพันธ์)specs/<branch-name>/research.md— การตัดสินใจและเหตุผล

สร้างงาน
เรียกใช้เวิร์กโฟลว์ของงาน
/speckit.tasks
Antigravity จะแบ่งแผนออกเป็นรายการงานที่เรียงตามลำดับใน specs/<branch-name>/tasks.md งานจะเป็นไปตามรูปแบบรายการตรวจสอบที่เข้มงวดโดยมีรหัส เครื่องหมายลำดับความสำคัญ และเส้นทางไฟล์ เช่น
- [ ] [T001] [P] Create reservations table schema in scripts/seed_db.py - [ ] [T002] [P] Add create_reservation tool to tools.yaml - [ ] [T003] [P] Add list_reservations tool to tools.yaml - [ ] [T004] [P] Update agent instruction in restaurant_concierge/agent.py
โดยงานจะจัดระเบียบเป็นระยะต่างๆ ได้แก่ การตั้งค่า → พื้นฐาน → สตอรี่ของผู้ใช้ → การปรับแต่ง สแกนรายการงานเพื่อทำความเข้าใจว่าจะมีการสร้างและแก้ไขอะไรบ้าง

วิเคราะห์งาน (ไม่บังคับ)
เรียกใช้เวิร์กโฟลว์การวิเคราะห์เพื่อตรวจสอบงานสำหรับความเสี่ยงและช่องว่าง
/speckit.analyze
Antigravity จะตรวจสอบรายการงานเทียบกับข้อกำหนดและแผน โดยมองหางานที่อาจขัดแย้งกัน หรือช่องว่างระหว่างข้อกำหนดของข้อกำหนดกับงานที่วางแผนไว้ แก้ไขปัญหาร้ายแรงก่อนที่จะนำไปใช้
6. ใช้งาน
เรียกใช้เวิร์กโฟลว์การติดตั้งใช้งาน
/speckit.implement
Antigravity นำเสนอแผนการติดตั้งใช้งานขั้นสุดท้ายและอาร์ติแฟกต์ของงาน ตรวจสอบและอนุมัติเพื่อดำเนินการต่อ


Antigravity จะดำเนินการตามงานและทำเครื่องหมายแต่ละงานเมื่อเสร็จสิ้น เมื่อเสร็จแล้ว ระบบจะแสดงคำแนะนำแบบทีละขั้นที่สมบูรณ์

ทดสอบการเปลี่ยนแปลงโค้ด
หลังจากติดตั้งใช้งานเสร็จแล้ว ให้ยืนยันว่ามีการเปลี่ยนแปลงคีย์ ชื่อไฟล์และเนื้อหาที่แน่นอนอาจแตกต่างกันไป แต่ควรมีรูปแบบเหล่านี้ดังที่แสดงใน tools.yaml และ agent.py
# Verify reservation tools were added to tools.yaml
grep -i "reservation" tools.yaml
คุณจะเห็นเอาต์พุตบางอย่างดังนี้
...
get_reservations_by_name:
Retrieve all reservations for a guest by their name. Uses case-insensitive
SELECT id, guest_name, party_size, reservation_datetime, special_requests, created_at
FROM reservations
ORDER BY reservation_datetime DESC
...
และสำหรับ agent.py
# Verify agent instruction was updated
grep -i "reservation" restaurant_concierge/agent.py
# Check what files changed
git diff --name-only
คุณอาจเห็นการเปลี่ยนแปลงเช่นนี้
...
- **Table Reservations**: Help guests book a table or check their existing reservations.
## Reservation Booking Rules
When a guest wants to make a reservation, collect ALL of the following before confirming:
**IMPORTANT**: Before calling `book_reservation`, you MUST:
- Only call `book_reservation` after the guest says "yes" or "confirm"
## Checking Reservations
When a guest asks to check their reservations:
- Use `get_reservations_by_name` to find their bookings
book_reservation,
...
การเปลี่ยนแปลงควรส่งผลต่อสคริปต์ฐานข้อมูลเริ่มต้น สคริปต์ที่อัปเดตแล้วควรสร้างตาราง reservations หากยังไม่มี คุณควรเห็นเอาต์พุตที่ยืนยันว่าได้สร้างตารางใหม่แล้ว (menu_itemsข้อมูลที่มีอยู่จะยังคงอยู่)
หากทุกอย่างเป็นไปด้วยดีจนถึงตอนนี้ เราจะทดสอบฟีเจอร์ใน UI สำหรับนักพัฒนาซอฟต์แวร์ของตัวแทน ADK ได้ มาทำการย้ายข้อมูลฐานข้อมูลเพื่อรวมตารางใหม่และรีสตาร์ทกล่องเครื่องมือเพื่อเลือกคำจำกัดความเครื่องมือใหม่ใน tools.yaml กัน หยุดกระบวนการ Toolbox ที่มีอยู่ แล้วเริ่มกระบวนการใหม่โดยทำดังนี้
lsof -ti:5000 | xargs kill -9 2>/dev/null; echo "Done"
./scripts/setup_database.sh > database_setup.log 2>&1 &
คุณสามารถตรวจสอบบันทึกเอาต์พุตใน database_setup.log ว่า Antigravity สร้างโค้ดและการกำหนดค่าที่ถูกต้องหรือไม่ หากพบข้อผิดพลาด ให้ลองโต้ตอบกับตัวแทนเพื่อแก้ไข
หากทุกอย่างเป็นไปด้วยดี เราจะเริ่ม UI สำหรับนักพัฒนาแอป ADK ได้โดยทำดังนี้
uv run adk web .
เปิด http://localhost:8000 ในเบราว์เซอร์ แล้วทดสอบด้วยพรอมต์ต่อไปนี้
I'd like to book a table for 4 people on Friday at 7pm under the name Timmy
Do I have any upcoming reservations?


ตอนนี้ให้หยุด UI สำหรับนักพัฒนาแอป ADK โดยกด Ctrl+C 2 ครั้ง
7. ชาเลนจ์ (ไม่บังคับ)
ตอนนี้คุณทราบเวิร์กโฟลว์ SDD ทั้งหมดแล้ว ทดสอบ
- เรียกใช้รอบ SDD ที่ 2 เพื่อสร้างอินเทอร์เฟซแชทบนเว็บสำหรับเจ้าหน้าที่อำนวยความสะดวกของร้านอาหาร โดยครั้งนี้ไม่ต้องมีคำแนะนำแบบทีละขั้นตอน
- ทำให้ Agent ใช้งานได้ใน Cloud Run สำหรับสถานการณ์การใช้งานจริง
คำแนะนำ
- โปรเจ็กต์ไม่มีเฟรมเวิร์กส่วนหน้า Antigravity ควรเสนอ HTML/CSS/JS แบบดั้งเดิม หากแนะนำ React หรือคล้ายกัน ให้โน้มน้าวให้ใช้แบบเรียบง่าย (หลักการ "ทำให้เรียบง่าย" ของรัฐธรรมนูญควรจับประเด็นนี้ได้)
- เซิร์ฟเวอร์ ADK จะแสดง
/run_sseสำหรับการสตรีมและ/apps/{app_name}/users/{user_id}/sessionsสำหรับการจัดการเซสชัน Antigravity จะค้นพบสิ่งเหล่านี้จากบริบทของโปรเจ็กต์ - หลังจากติดตั้งใช้งานแล้ว ให้เริ่มเซิร์ฟเวอร์ด้วย
uv run uvicorn server:app --host 0.0.0.0 --port 8080(ไม่ใช่adk web) เพื่อให้การติดตั้งไฟล์แบบคงที่ทำงานได้ - ทดสอบที่
http://localhost:8080/static/index.html - Codelab อ้างอิงแสดงวิธีติดตั้งใช้งานและคงอยู่ของ Agent ADK อยู่แล้ว โปรดอ้างอิง Antigravity ถึง Codelab นี้
8. ยินดีด้วย
คุณได้ขยายตัวแทน ADK ของเจ้าหน้าที่อำนวยความสะดวกในร้านอาหารด้วยการจองที่นั่งผ่านเวิร์กโฟลว์ SDD ของ Antigravity โดยไม่ต้องเขียนโค้ดของแอปพลิเคชันด้วยตนเอง
สิ่งที่คุณสร้าง
- เอเจนต์ ADK ของเจ้าหน้าที่อำนวยความสะดวกในร้านอาหารที่มีการค้นหาเมนู การค้นหาเชิงความหมาย การติดตามค่ากำหนดด้านอาหาร และการจอง
- ทักษะ Antigravity สำหรับการวิจัยที่เก็บข้อมูลซึ่งสร้างและดูแลเอกสารบริบทของโปรเจ็กต์
- ธรรมนูญของโปรเจ็กต์ที่บังคับใช้หลักการที่ต่อรองไม่ได้ในระหว่างการวางแผนและการวิเคราะห์
- วงจร SDD ที่สมบูรณ์ซึ่งแสดงเวิร์กโฟลว์ระบุ → ชี้แจง → วางแผน → งาน → วิเคราะห์ → นำไปใช้
สิ่งที่คุณได้เรียนรู้
- วิธีใช้เวิร์กโฟลว์ Spec-Driven Development ใน Antigravity เพื่อเพิ่มฟีเจอร์ลงในฐานของโค้ดที่มีอยู่โดยอัตโนมัติ
- วิธีสร้างทักษะ Antigravity และกำหนดค่า MCP ที่จัดแพ็กเกจความรู้เฉพาะด้านเพื่อนำไปใช้ซ้ำในการสนทนา
- วิธีบูตสแตปบริบทของโปรเจ็กต์เพื่อให้ Antigravity ตัดสินใจอย่างมีข้อมูลเกี่ยวกับการเลือกสถาปัตยกรรม รูปแบบ และเทคโนโลยี
- วิธีตั้งค่าธรรมนูญของโปรเจ็กต์ที่เวิร์กโฟลว์ SDD ตรวจสอบ
- วิธีขยาย Agent ADK ด้วยเครื่องมือใหม่ที่ใช้ฐานข้อมูลผ่าน MCP Toolbox
ล้างข้อมูล
หยุดกระบวนการที่ทำงานในเครื่อง (กล่องเครื่องมือ)
lsof -ti:5000 | xargs kill -9 2>/dev/null
ลบอินสแตนซ์ Cloud SQL เพื่อหลีกเลี่ยงการเรียกเก็บเงินอย่างต่อเนื่อง โดยทำดังนี้
gcloud sql instances delete restaurant-db --quiet
หากต้องการ ให้ลบทั้งโปรเจ็กต์โดยทำดังนี้
gcloud projects delete $GOOGLE_CLOUD_PROJECT