# Antigravity รันเอเจนต์Maguyva มอบแผนที่ให้พวกมัน

Canonical source: https://maguyva.ai/th/for-antigravity

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

Antigravity คือ IDE ที่เอเจนต์เป็นศูนย์กลาง: เอเจนต์วางแผนและแก้ไขข้ามเอดิเตอร์ เทอร์มินัล และเบราว์เซอร์ แต่ในโมโนรีโพจริง พวกมันก็ยังต้องมีแผนที่ว่าไฟล์ไหนสำคัญ Maguyva ทำดัชนีโค้ดเบสของคุณและส่งข้อมูลกลับผ่าน MCP (เชิงความหมาย เชิง AST เชิงกราฟ และเชิงข้อความ) ทำให้คำถาม “auth ทำงานตรงไหน” ได้คำตอบเป็นโฟลว์การยืนยันตัวตนจริง ไม่ใช่ test stub เจ็ดตัว

> Antigravity รันเอเจนต์ Maguyva บอกมันว่าควรแตะไฟล์ไหน

## แต่ละชั้นทำหน้าที่อะไร

สี่ส่วนประกอบ แต่ละส่วนมีหน้าที่ของตัวเอง

### Antigravity

ที่ที่เอเจนต์ของคุณวางแผน แก้ไข และตรวจสอบ

### @ mentions + กฎ

บริบทแบบแมนวลเวิร์กดี จนกว่ารีโพจะใหญ่ขึ้น

### Maguyva

ข้อมูลจริงของโค้ดเบสแบบอัตโนมัติผ่าน MCP

### เวิร์กสเปซ ไม่ใช่ที่นั่ง

ไม่คิดค่าบริการต่อที่นั่งสำหรับเอเจนต์ [ดูราคา](https://maguyva.ai/th/pricing)

## Antigravity รันเอเจนต์ ปล่อยให้มันทำงานไป

IDE เอเจนต์ไม่ใช่ปัญหา ทั้ง Agent Manager, การทำงานข้ามเอดิเตอร์ เทอร์มินัล และเบราว์เซอร์ และไฟล์กฎยอดเยี่ยมอยู่แล้ว และคุณก็ใช้มันอยู่แล้วสำหรับ:

- วางแผนและรันเอเจนต์ข้ามเอดิเตอร์ เทอร์มินัล และเบราว์เซอร์
- การแก้ไขหลายไฟล์เมื่อการเปลี่ยนแปลงอยู่ในขอบเขตจำกัด
- กฎเอเจนต์สำหรับข้อตกลงของรีโพและกฎด้านสไตล์
- การ `@`-mention เพื่อดึงไฟล์ที่ต้องการเข้ามาในบริบท

ทำแบบนี้ต่อไปได้เลย ไม่มีอะไรหายไปไหน

แต่ในโมโนรีโพจริง (TypeScript ที่มีการพึ่งพาระดับเวิร์กสเปซ, บริการ Python, แพ็กเกจปะปนกัน) บริบทของเอเจนต์จะพังทันทีที่ไฟล์ที่เกี่ยวข้องยังไม่อยู่ในสายตาของเอเจนต์

## วิธีแก้แบบแมนวลที่คุณลองมาแล้ว และจุดที่มันพัง

วิธีแก้แบบแมนวลสี่แบบ คู่กับจุดที่มันล้มเหลว ฝั่งซ้าย = สิ่งที่คุณทำอยู่ทุกวันนี้ ฝั่งขวา = จุดที่มันพัง

### // mention ไฟล์ที่คิดว่าใช่

คุณ `@`-mention ไฟล์สามไฟล์ที่คิดว่าสำคัญ เอเจนต์ก็แก้ไขในไฟล์เหล่านั้นได้เนียนๆ

### // การ mention คือการเดา

มันได้ผลก็ต่อเมื่อคุณรู้อยู่แล้วว่าไฟล์ไหนเกี่ยวข้อง เอเจนต์ที่ทำงานอัตโนมัติต้องการไฟล์ที่คุณไม่รู้ว่าต้อง mention ต่างหาก

### // วางโค้ดที่ก็อบมา

คุณวางโค้ด 200 บรรทัดจากแพ็กเกจอื่นให้เอเจนต์ เพื่อให้มันมีบริบทเพียงพอ

### // โค้ดที่วางไว้ล้าสมัยไว

สนิปเป็ตที่คุณวางไว้ตอน 9 โมงเช้า ไม่สะท้อนการ rebase ที่เพื่อนร่วมทีมทำเสร็จตอน 11 โมง เอเจนต์กำลังแก้ไขโดยอิงกับแพ็กเกจเวอร์ชันผีที่ไม่มีอยู่จริงแล้ว

### // เขียนเอกสารบริบท

คุณเขียนไฟล์กฎเอเจนต์หรือ markdown อธิบายสถาปัตยกรรม วันนี้มันยังถูกต้องอยู่

### // เอกสารล้าหลังโค้ดเร็วกว่าที่คิด

อะไรก็ตามที่คุณเขียนด้วยมือจะค่อยๆ คลาดเคลื่อนไปเรื่อยๆ โค้ดคือแหล่งความจริงเดียว เอกสารที่อธิบายชั้นคิวถูกต้องอยู่แค่หนึ่งสัปดาห์ แล้วก็ผิดตลอดกาลหลังจากนั้น

### // เก็บไฟล์กฎไว้

คุณเพิ่มกฎเอเจนต์สำหรับการตั้งชื่อ lint และคำสั่งบิลด์ เหมาะมากสำหรับควบคุมพฤติกรรม

### // กฎ ≠ ดัชนี

กฎคือที่ที่เหมาะสำหรับ “ต้องรัน pnpm tsc -b ก่อน commit เสมอ” แต่มันไม่ใช่ดัชนีที่สอบถามได้ของทุกสัญลักษณ์ ไฟล์ และจุดเรียกใช้ในโมโนรีโพของคุณ

## Maguyva คือชั้นที่อยู่ข้างใต้

ไม่ได้มาแทนที่ Antigravity แต่เป็นชั้นบริบทของรีโพที่ต่อยอดจากการรองรับ MCP ของมัน

- **เชิงความหมาย + AST + กราฟ + ข้อความ**: ค้นหาได้ทั้งตามความหมาย โครงสร้าง การพึ่งพา หรือข้อความตรงตัว ทุกผลลัพธ์คืนพาธไฟล์และเลขบรรทัดมาให้
- **ข้ามแพ็กเกจโดยค่าเริ่มต้น**: จุดเรียกใช้และโค้ดที่อิมพอร์ตครอบคลุมทุกแพ็กเกจในโมโนรีโพ ไม่ใช่แค่แพ็กเกจที่เอเจนต์เปิดอยู่ตอนนี้
- **รับรู้แบรนช์**: Maguyva มองเห็นโค้ดเวอร์ชันเดียวกับที่เอเจนต์กำลังแก้ไขอยู่
- **สร้างมาเพื่อการทำงานอัตโนมัติ**: เอเจนต์ที่วางแผนแก้ไขหลายจุดต้องรู้รัศมีผลกระทบล่วงหน้า ไม่ใช่หลัง CI ขึ้นแดงแล้ว

> Antigravity ตัดสินใจว่าจะแก้ไขอะไร
> Maguyva บอกเอเจนต์ว่า*การแก้ไขนั้นแตะอะไรบ้าง*

## สามเวิร์กโฟลว์สำหรับโมโนรีโพ

ข้ามแพ็กเกจ ข้ามภาษา อ้างอิงจากกราฟการเรียกใช้จริง ไม่ใช่การ grep ของเอเจนต์

### 01. ค้นหาโฟลว์การยืนยันตัวตนข้ามแพ็กเกจ โดยไม่ต้อง mention อะไรเลย

```text
agent> ระบบยืนยันตัวตนในโมโนรีโพนี้ทำงานที่ตรงไหน?

graph::query("authentication flow")
  packages/web/src/auth/session.ts:42       middleware
  packages/api/src/auth/jwt.ts:88           token verify
  packages/shared/src/auth/types.ts:12      AuthContext
  packages/admin/src/auth/admin-only.ts:31  rbac gate

→ จุดเริ่มต้น 4 จุด ครอบคลุม 4 แพ็กเกจ จัดอันดับตามความหนาแน่นของจุดเรียกใช้
[exit 0]
```

คุณไม่ได้ mention ไฟล์ไหนเลย ไม่ได้วางสนิปเป็ตด้วย เอเจนต์มีไฟล์สำคัญทั้งสี่ไฟล์พร้อมลำดับที่ถูกต้อง และแก้ไขได้อย่างมีหลักฐานอ้างอิงจริง

### 02. หาการอิมพลีเมนต์จริง ไม่ใช่ test stub

```text
agent> normalizePhoneNumber จัดการ E.164 ยังไง?

semantic::query("normalize phone E.164")
  packages/shared/util/phone.ts:88     normalizePhoneNumber()  ← ของจริง
  packages/api/test/phone.spec.ts:14   jest.mock(...)          ← stub
[exit 0]
```

ชื่อบอกอะไรไม่ได้เสมอไป mock บดบังโค้ดจริงได้ Maguyva จัดอันดับการอิมพลีเมนต์จริงให้อยู่เหนือ test mock ในทุกแพ็กเกจ

### 03. เช็ครัศมีผลกระทบก่อนเอเจนต์จะรีแฟกเตอร์

```text
agent> อะไรเรียก QueueDispatcher.publish บ้างในโมโนรีโพนี้?

graph::callers(QueueDispatcher.publish)
  3 ครั้งใน packages/billing/*
  1 ครั้งใน packages/audit/*
  1 ครั้งใน packages/notifications/*
  1 ครั้งใน services/python-worker/*  ← ข้ามภาษาผ่าน gRPC stub
[exit 0]
```

ข้ามแพ็กเกจ และข้ามภาษาด้วยถ้ารีโพของคุณเป็นแบบหลายภาษา จุดเรียกใช้จะโผล่ขึ้นมาให้เห็นทันที เอเจนต์ที่ทำงานอัตโนมัติจะรู้รัศมีผลกระทบก่อนลงมือแก้ไข ไม่ใช่หลัง CI ขึ้นแดงแล้ว

## ตั้งค่ากับ Antigravity

สามขั้นตอน แผน Free: รีโพซิทอรี 3 แห่ง, บรรทัดที่ทำดัชนีสูงสุด 50,000 บรรทัด ไม่ต้องใช้บัตรเครดิต

### 01. ทำดัชนีรีโพที่ maguyva.ai

เลือกโมโนรีโพที่คุณเจอปัญหาเรื่องบริบทมากที่สุด

### 02. เพิ่ม Maguyva เป็นเซิร์ฟเวอร์ MCP ใน Antigravity

`~/.gemini/config/mcp_config.json`

```json
{
  "mcpServers": {
    "maguyva": {
      "serverUrl": "https://maguyva.tools/mcp",
      "headers": {
        "Authorization": "Bearer mgv_xxxx"
      }
    }
  }
}
```

### 03. ถามคำถามเดียวที่คุณรู้คำตอบอยู่แล้ว

อย่าปล่อยให้เอเจนต์ชี้ไปทั้งบริษัทของคุณ เริ่มจากรีโพเดียวและคำถามเดียวที่ตรวจสอบได้ เช่น “มีอะไรเรียก `formatInvoice` บ้างข้ามแพ็กเกจ?”

## ทำดัชนีรีโพเดียวที่คุณรู้จักดีอยู่แล้ว

ลองถามคำถามเดียวที่คุณตรวจสอบคำตอบได้
