1. บทนำ

ในโค้ดแล็บนี้ คุณจะได้เรียนรู้วิธีใช้ Google Antigravity (ต่อไปนี้จะเรียกว่า Antigravity ในเอกสาร) เพื่อออกแบบ สร้าง และติดตั้งใช้งานแอปพลิเคชันแบบไม่มีเซิร์ฟเวอร์ใน Google Cloud เราจะสร้างไปป์ไลน์เอกสารแบบ Serverless และแบบอิงตามเหตุการณ์ซึ่งจะนำเข้าไฟล์จาก Google Cloud Storage (GCS) ประมวลผลโดยใช้ Cloud Run และ Gemini แล้วสตรีมข้อมูลเมตาไปยัง BigQuery
สิ่งที่คุณจะได้เรียนรู้
- วิธีใช้ Antigravity ในการวางแผนและออกแบบสถาปัตยกรรม
- สร้างโครงสร้างพื้นฐานเป็นโค้ด (สคริปต์เชลล์) ด้วย AI Agent
- สร้างและทำให้บริการ Cloud Run ที่ใช้ Python ใช้งานได้
- ผสานรวม Gemini บน Vertex AI เพื่อการวิเคราะห์เอกสารหลายรูปแบบ
- ยืนยันไปป์ไลน์ตั้งแต่ต้นจนจบโดยใช้สิ่งประดิษฐ์แบบวอล์กทรูของ Antigravity
สิ่งที่คุณต้องมี
- ติดตั้ง Google Antigravity แล้ว หากต้องการความช่วยเหลือในการติดตั้ง Antigravity และทำความเข้าใจพื้นฐาน ขอแนะนำให้ทำ Codelab การเริ่มต้นใช้งาน Google Antigravity ให้เสร็จสมบูรณ์
- โปรเจ็กต์ Google Cloud ที่เปิดใช้การเรียกเก็บเงิน
- ติดตั้งและตรวจสอบสิทธิ์ gcloud CLI แล้ว
2. ภาพรวมของแอป
ก่อนที่จะไปดูการออกแบบและติดตั้งใช้งานแอปพลิเคชันโดยใช้ Antigravity เรามาสรุปแอปพลิเคชันที่เราต้องการสร้างสำหรับตัวเราเองกันก่อน
เราต้องการสร้างไปป์ไลน์เอกสารแบบ Serverless และแบบอิงตามเหตุการณ์ซึ่งจะนำเข้าไฟล์จาก Google Cloud Storage (GCS) ประมวลผลโดยใช้ Cloud Run และ Gemini แล้วสตรีมข้อมูลเมตาไปยัง BigQuery
แผนภาพสถาปัตยกรรมระดับสูงสำหรับแอปพลิเคชันนี้อาจมีลักษณะดังนี้

โดยไม่จำเป็นต้องแม่นยำ Antigravity จะช่วยให้เราทราบรายละเอียดสถาปัตยกรรมเมื่อเราดำเนินการ แต่การมีไอเดียเกี่ยวกับสิ่งที่คุณต้องการสร้างจะช่วยได้ ยิ่งให้รายละเอียดมากเท่าไหร่ คุณก็จะยิ่งได้รับผลลัพธ์ที่ดีขึ้นจาก Antigravity ในแง่ของสถาปัตยกรรมและโค้ด
3. วางแผนสถาปัตยกรรม
เราพร้อมที่จะเริ่มวางแผนรายละเอียดสถาปัตยกรรมกับ Antigravity แล้ว
Antigravity เชี่ยวชาญด้านการวางแผนระบบที่ซับซ้อน เราสามารถเริ่มด้วยการกำหนดสถาปัตยกรรมระดับสูงแทนการเขียนโค้ดทันที
ก่อนอื่น ให้ตรวจสอบว่าคุณอยู่ใน Agent Manager หากเพิ่งเปิด Antigravity คุณสามารถคลิกปุ่ม Open Agent Manager ตรงกลางหรือคุณควรเห็นปุ่ม Open Agent Manager เดียวกันที่มุมขวาบน
ใน Agent Manager คุณมีตัวเลือกในการเปิดพื้นที่ทำงานหรือใช้ Playground ซึ่งเป็นพื้นที่ทำงานอิสระสำหรับการสร้างต้นแบบและการทดลองอย่างรวดเร็ว มาเริ่มกันที่ Playground
คลิกปุ่ม + เพื่อเริ่มการสนทนาใหม่ใน Playground

ซึ่งจะแสดงอินเทอร์เฟซที่คุณสามารถป้อนพรอมต์ได้ตามที่แสดงด้านล่าง

คลิกไอคอนการตั้งค่า ⚙️ ที่มุมขวาบน แล้วตั้งค่า Review Policy ในส่วน Artifact และ Terminal Command Auto Execution ในส่วน Terminal เป็น Request Review ซึ่งจะช่วยให้คุณตรวจสอบและอนุมัติแผนได้ในทุกขั้นตอนก่อนที่ตัวแทนจะดำเนินการ
พรอมต์
ตอนนี้เราพร้อมที่จะป้อนพรอมต์แรกให้กับ Antigravity แล้ว
ก่อนอื่น ตรวจสอบว่า Antigravity อยู่ในPlanning และสำหรับโมเดล ให้เลือกโมเดล Gemini Pro (High) (แต่คุณสามารถทดลองใช้โมเดลอื่นๆ ได้)
ป้อนพรอมต์ต่อไปนี้ แล้วคลิกปุ่มส่ง
I want to build a serverless event-driven document processing pipeline on Google Cloud.
Architecture:
- Ingestion: Users upload files to a Cloud Storage bucket.
- Trigger: File uploads trigger a Pub/Sub message.
- Processor: A Python-based Cloud Run service receives the message, processes the file (simulated OCR), and extracts metadata.
- Storage: Stream the metadata (filename, date, tags, word_count) into a BigQuery dataset.
รายการงานและแผนการติดตั้งใช้งาน
Antigravity จะวิเคราะห์คำขอของคุณและสร้างรายการงานและแผนการติดตั้งใช้งาน
แผนนี้ระบุรายละเอียดต่อไปนี้
- โครงสร้างพื้นฐาน: ถัง GCS, หัวข้อ Pub/Sub, ชุดข้อมูล BigQuery
- โปรเซสเซอร์: แอป Python/Flask, Dockerfile, ข้อกำหนด
- การผสานรวม: การแจ้งเตือน GCS → Pub/Sub → Cloud Run
คุณควรเห็นข้อมูลที่มีลักษณะคล้ายด้านล่าง

คลิกปุ่ม Open ข้างแถว Task ซึ่งควรแสดงชุดงานที่ Antigravity สร้างขึ้น ตัวแทนจะตรวจสอบทีละรายการ

ขั้นตอนถัดไปคือการตรวจสอบแผนการติดตั้งใช้งานและให้สิทธิ์แก่ตัวแทนเพื่อดำเนินการต่อ
คลิกแผนการติดตั้งใช้งานเพื่อดูรายละเอียด โปรดอ่านอย่างละเอียด นี่เป็นโอกาสของคุณในการแสดงความคิดเห็นเกี่ยวกับการใช้งาน คุณคลิกส่วนใดก็ได้ของแผนการติดตั้งใช้งานและเพิ่มความคิดเห็น เมื่อเพิ่มความคิดเห็นแล้ว โปรดส่งการเปลี่ยนแปลงที่ต้องการให้ตรวจสอบ โดยเฉพาะอย่างยิ่งการตั้งชื่อ รหัสโปรเจ็กต์ Google Cloud ภูมิภาค ฯลฯ
เมื่อทุกอย่างเรียบร้อยดีแล้ว ให้สิทธิ์ตัวแทนดำเนินการตามแผนการติดตั้งใช้งานโดยคลิกปุ่ม Proceed
4. สร้างแอปพลิเคชัน
เมื่อแผนได้รับอนุมัติแล้ว Antigravity จะเริ่มสร้างไฟล์ที่จำเป็นสำหรับการสมัคร ตั้งแต่สคริปต์การจัดสรรไปจนถึงโค้ดแอปพลิเคชัน
Antigravity จะสร้างโฟลเดอร์และเริ่มสร้างไฟล์ที่จำเป็นสำหรับโปรเจ็กต์ ในการทดสอบตัวอย่าง เราเห็นสิ่งต่อไปนี้

ระบบจะสร้างไฟล์สคริปต์เชลล์ setup.sh หรือไฟล์ที่มีชื่อคล้ายกัน ซึ่งจะทำให้การสร้างทรัพยากรเป็นไปโดยอัตโนมัติ โดยจะจัดการสิ่งต่อไปนี้
- การเปิดใช้ API (
run,pubsub,bigquery,storage) - สร้างที่เก็บข้อมูล Google Cloud Storage (
doc-ingestion-{project-id}) - การสร้างชุดข้อมูลและตาราง BigQuery (
pipeline_data.processed_docs) - การกำหนดค่าหัวข้อและการแจ้งเตือน Pub/Sub
ตัวแทนควรสร้างแอปพลิเคชัน Python (main.py) ที่รอรับข้อความแบบพุชของ Pub/Sub โดยใช้ตรรกะ OCR จำลอง สร้างจำนวนคำและแท็กแบบสุ่ม แล้วบันทึกลงใน BigQuery
เมื่อสร้างสคริปต์การตั้งค่านี้แล้ว Antigravity ควรแจ้งให้คุณเรียกใช้สคริปต์ในนามของคุณ ตัวอย่างหน้าจอแสดงอยู่ด้านล่าง

คลิก Accept ได้ตามต้องการ
สคริปต์การจัดสรรจะสร้างทรัพยากรและตรวจสอบว่าได้สร้างทรัพยากรแล้ว หากตรวจสอบสำเร็จ ระบบจะดำเนินการสร้างคอนเทนเนอร์และทำให้ใช้งานได้เป็นบริการ (ใน main.py) ใน Cloud Run ตัวอย่างเอาต์พุตแสดงอยู่ด้านล่าง

นอกจากนี้ ในการติดตั้งใช้งานบริการ ระบบจะตั้งค่าการสมัครใช้บริการ Pub/Sub และส่วนประกอบอื่นๆ ที่จำเป็นต่อการทำงานของไปป์ไลน์นี้ด้วย การดำเนินการทั้งหมดนี้จะใช้เวลาเพียงไม่กี่นาที
ในระหว่างนี้ คุณสามารถเปลี่ยนไปใช้ Inbox (จากมุมซ้ายบน) และตรวจสอบงาน Pending ที่รอข้อมูลจากคุณได้

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

สร้างอาร์ติแฟกต์การทดสอบ (test.txt) และต้องการอัปโหลดไปยังที่เก็บข้อมูล Google Cloud Storage คลิก Accept เพื่อดำเนินการต่อ
หากต้องการทดสอบเพิ่มเติมด้วยตนเอง คุณสามารถดูคำแนะนำจากขั้นตอนการตรวจสอบของ Antigravity ซึ่งใช้ยูทิลิตี gsutil เพื่ออัปโหลดไฟล์ตัวอย่างไปยังที่เก็บข้อมูล Cloud Storage ตัวอย่างคำสั่งแสดงอยู่ด้านล่าง
gsutil cp <some-test-doc>.txt gs://<bucket-name>/
ตรวจสอบผลลัพธ์ใน BigQuery
ในกระบวนการยืนยัน ระบบจะตรวจสอบด้วยว่าข้อมูลได้รับการบันทึกใน BigQuery แล้ว

จดบันทึกการค้นหา SQL ที่ใช้เพื่อตรวจสอบเอกสาร
เมื่อยืนยันแล้ว คุณควรเห็นว่ารายการงานเสร็จสิ้นแล้ว ดังนี้

ไม่บังคับ: การยืนยันด้วยตนเอง
แม้ว่า Antigravity จะยืนยันแอปพลิเคชันแล้ว แต่คุณก็ยังตรวจสอบด้วยตนเองในคอนโซล Google Cloud ได้ว่ามีการสร้างทรัพยากรทั้งหมดหรือไม่ หากต้องการ โดยทำตามขั้นตอนต่อไปนี้
Cloud Storage
เป้าหมาย: ตรวจสอบว่ามีที่เก็บข้อมูลอยู่และตรวจสอบไฟล์ที่อัปโหลด
- ไปที่ Cloud Storage > ที่เก็บข้อมูล
- ค้นหาที่เก็บข้อมูลชื่อ
[PROJECT_ID]-doc-uploads - คลิกชื่อที่เก็บข้อมูลเพื่อเรียกดูไฟล์
- ยืนยัน: คุณควรเห็นไฟล์ที่อัปโหลด (เช่น
test.txt)
Pub/Sub
เป้าหมาย: ยืนยันว่ามีหัวข้อและมีการสมัครใช้บริการแบบพุช
- ไปที่ Pub/Sub > หัวข้อ
- ค้นหา doc-processing-topic
- คลิกรหัสหัวข้อ
- เลื่อนลงไปที่แท็บการติดตาม
- ยืนยัน: ตรวจสอบว่า doc-processing-sub แสดงอยู่โดยมีประเภทการนำส่งเป็น "Push"
Cloud Run
เป้าหมาย: ตรวจสอบสถานะและบันทึกของบริการ
- ไปที่ Cloud Run
- คลิกบริการ doc-processor
- ยืนยัน
- สถานะ: เครื่องหมายถูกสีเขียวแสดงว่าบริการทำงานอยู่
- บันทึก: คลิกแท็บบันทึก มองหารายการ เช่น "กำลังประมวลผลไฟล์: gs://..." และ "ประมวลผลสำเร็จแล้ว..."
BigQuery
เป้าหมาย: ตรวจสอบว่ามีการจัดเก็บข้อมูลจริง
- ไปที่ BigQuery > พื้นที่ทํางาน SQL
- ในบานหน้าต่าง Explorer ให้ขยายโปรเจ็กต์ > ชุดข้อมูล pipeline_data
- คลิกตาราง processed_docs
- คลิกแท็บแสดงตัวอย่าง
- ยืนยัน: คุณควรเห็นแถวที่มี filename, upload_date, tags และ word_count
คำแนะนำแบบทีละขั้น
ขั้นตอนสุดท้าย Antigravity จะสร้างอาร์ติแฟกต์วอล์กทรู อาร์ติแฟกต์นี้สรุปข้อมูลต่อไปนี้
- เปลี่ยนแปลงแล้ว
- เรียกใช้คำสั่งยืนยัน
- ผลลัพธ์จริง (เอาต์พุตการค้นหาที่แสดงข้อมูลเมตาที่ Gemini แยกออกมา)
คุณคลิก Open เพื่อดูได้ ตัวอย่างเอาต์พุตแสดงอยู่ด้านล่าง

6. สำรวจแอปพลิเคชัน
ตอนนี้คุณได้จัดสรรและเรียกใช้แอปพื้นฐานแล้ว ก่อนที่จะเจาะลึกถึงการขยายแอปพลิเคชันนี้ โปรดใช้เวลาสักครู่เพื่อสำรวจโค้ด คุณเปลี่ยนไปใช้โปรแกรมแก้ไขได้ด้วยปุ่ม Open Editor ที่มุมขวาบน
สรุปโดยย่อเกี่ยวกับไฟล์ที่คุณอาจเห็นมีดังนี้
setup.sh: สคริปต์หลักที่จัดสรรทรัพยากร Google Cloud ทั้งหมดและเปิดใช้ API ที่จำเป็นmain.py: จุดแรกเข้าหลักของไปป์ไลน์ แอป Python นี้สร้างเว็บเซิร์ฟเวอร์ที่รับข้อความพุช Pub/Sub, ดาวน์โหลดไฟล์จาก GCS, "ประมวลผล" (จำลอง OCR) และสตรีมข้อมูลเมตาไปยัง BigQueryDockerfile: กำหนดวิธีแพ็กเกจแอปเป็นอิมเมจคอนเทนเนอร์requirements.txt: แสดงรายการการขึ้นต่อกันของ Python
นอกจากนี้ คุณอาจเห็นสคริปต์และไฟล์ข้อความอื่นๆ ที่จำเป็นสำหรับการทดสอบและการยืนยันด้วย
ในขั้นตอนนี้ คุณอาจต้องการย้ายจาก Playground ไปยังพื้นที่ทำงาน/โฟลเดอร์เฉพาะด้วย คุณทำได้โดยคลิกปุ่มที่เกี่ยวข้องที่มุมขวาบน

เมื่อเลือกโฟลเดอร์แล้ว ระบบจะย้ายโค้ดทั้งหมดไปยังโฟลเดอร์นั้น และจะสร้างพื้นที่ทำงานใหม่พร้อมโฟลเดอร์และประวัติการสนทนา
7. ขยายแอปพลิเคชัน
ตอนนี้คุณมีแอปพลิเคชันพื้นฐานที่ใช้งานได้แล้ว คุณสามารถทำซ้ำและขยายแอปพลิเคชันต่อไปได้ โดยใช้ไอเดียดังนี้
เพิ่มส่วนหน้า
สร้างอินเทอร์เฟซเว็บที่เรียบง่ายเพื่อดูเอกสารที่ประมวลผลแล้ว
ลองใช้พรอมต์ต่อไปนี้ Create a simple Streamlit or Flask web application that connects to BigQuery. It should display a table of the processed documents (filename, upload_date, tags, word_count) and allow me to filter the results by tag
ผสานรวมกับ AI/ML จริง
ใช้โมเดล Gemini เพื่อแยกประเภทและแปลแทนการประมวลผล OCR จำลอง
- แทนที่ตรรกะ OCR แบบจำลอง ส่งรูปภาพ/PDF ไปยัง Gemini เพื่อดึงข้อความและข้อมูลจริง วิเคราะห์ข้อความที่ดึงออกมาเพื่อจัดประเภทเอกสาร (ใบแจ้งหนี้ สัญญา ประวัติย่อ) หรือดึงข้อมูลเอนทิตี (วันที่ ชื่อ สถานที่)
- ตรวจหาภาษาของเอกสารโดยอัตโนมัติและแปลเป็นภาษาอังกฤษก่อนจัดเก็บ คุณใช้ภาษาอื่นได้ด้วย
ปรับปรุงพื้นที่เก็บข้อมูลและการวิเคราะห์
คุณสามารถกำหนดค่ากฎอายุการใช้งานในที่เก็บข้อมูลเพื่อย้ายไฟล์เก่าไปยังพื้นที่เก็บข้อมูล "Coldline" หรือ "Archive" เพื่อประหยัดค่าใช้จ่าย
ความทนทานและความปลอดภัย
คุณสามารถทำให้แอปมีประสิทธิภาพและปลอดภัยมากขึ้นได้ เช่น
- คิวจดหมายที่ส่งไม่ได้ (DLQ): อัปเดตการสมัครใช้บริการ Pub/Sub เพื่อจัดการความล้มเหลว หากบริการ Cloud Run ประมวลผลไฟล์ไม่สำเร็จ 5 ครั้ง ให้ส่งข้อความไปยังหัวข้อ/ที่เก็บข้อมูล "Dead Letter" แยกต่างหากเพื่อให้เจ้าหน้าที่ตรวจสอบ
- Secret Manager: หากแอปต้องใช้คีย์ API หรือการกำหนดค่าที่ละเอียดอ่อน ให้จัดเก็บไว้ใน Secret Manager และเข้าถึงอย่างปลอดภัยจาก Cloud Run แทนการฮาร์ดโค้ดสตริง
- Eventarc: อัปเกรดจาก Pub/Sub โดยตรงเป็น Eventarc เพื่อการกำหนดเส้นทางเหตุการณ์ที่ยืดหยุ่นมากขึ้น ซึ่งจะช่วยให้คุณทริกเกอร์ตามบันทึกการตรวจสอบที่ซับซ้อนหรือเหตุการณ์บริการอื่นๆ ของ GCP ได้
แน่นอนว่าคุณสามารถคิดไอเดียของคุณเองและใช้ Antigravity เพื่อช่วยคุณนำไอเดียเหล่านั้นไปใช้ได้
8. บทสรุป
คุณสร้างไปป์ไลน์เอกสารที่ทำงานด้วยระบบ AI แบบไร้เซิร์ฟเวอร์ที่ปรับขนาดได้สำเร็จแล้วในไม่กี่นาทีโดยใช้ Google Antigravity คุณได้เรียนรู้วิธีต่อไปนี้
- วางแผนสถาปัตยกรรมด้วย AI
- สั่งการและจัดการ Antigravity ขณะที่ทำงานผ่านการสร้างแอปพลิเคชันตั้งแต่การสร้างโค้ดไปจนถึงการติดตั้งใช้งานและการตรวจสอบ
- ยืนยันการติดตั้งใช้งานและการตรวจสอบด้วยคำแนะนำแบบทีละขั้นตอน
เอกสารอ้างอิง
- เว็บไซต์อย่างเป็นทางการ : https://antigravity.google/
- เอกสารประกอบ: https://antigravity.google/docs
- กรณีการใช้งาน : https://antigravity.google/use-cases
- ดาวน์โหลด : https://antigravity.google/download
- Codelab : การเริ่มต้นใช้งาน Google Antigravity