1. Antigravity là gì và vì sao cần tư duy viết prompt riêng cho Agentic AI?
Google Antigravity là nền tảng trợ lý lập trình AI thế hệ mới (Agentic AI Coding Assistant) được phát triển bởi đội ngũ Google DeepMind. Khác biệt hoàn toàn với các chatbot AI truyền thống chỉ dừng lại ở việc phản hồi các đoạn văn bản hay gợi ý code rời rạc, Antigravity là một Agent tự hành thực thụ. Công cụ này có khả năng trực tiếp đọc và phân tích cấu trúc dự án, chỉnh sửa tệp tin, thực thi câu lệnh terminal, điều phối các subagent độc lập, truy vấn máy chủ MCP (Model Context Protocol) và tự động chạy test để sửa lỗi khi gặp sự cố.
Chính vì Antigravity sở hữu quyền năng tương tác sâu vào môi trường phát triển (workspace), cách viết prompt cho Antigravity không thể giống như cách bạn chat thông thường với ChatGPT hay Gemini. Nếu bạn đưa ra những câu lệnh mơ hồ, agent có thể tự suy diễn, tạo ra những thay đổi không mong muốn trên nhiều tệp tin hoặc rơi vào vòng lặp sửa lỗi không hồi kết. Ngược lại, nếu biết cách xây dựng prompt chuẩn chỉnh với tư duy "uỷ quyền công việc" (task delegation), bạn sẽ biến Antigravity thành một lập trình viên cao cấp làm việc bền bỉ, chuẩn xác và gia tăng năng suất gấp nhiều lần.
2. Mô hình C-G-C-V: Cấu trúc Prompt chuẩn mực khi làm việc với Antigravity
Để đạt được kết quả chính xác nhất trong một lần thực thi, mọi prompt giao việc cho Antigravity nên được cấu trúc theo công thức C-G-C-V (Context - Goal - Constraints - Verification):
2.1. C - Context (Ngữ cảnh & Vị trí tệp tin)
Antigravity có thể đọc toàn bộ codebase của bạn, nhưng việc chỉ định chính xác phạm vi sẽ giúp AI định vị tệp cần sửa nhanh hơn và không tiêu tốn token context vô ích.
- Chỉ rõ đường dẫn tệp tin hoặc thư mục cần thao tác: ví dụ
src/components/Header.tsxhoặcbackend/services/auth.py. - Nêu rõ phiên bản công nghệ hoặc framework đang dùng (Next.js 14 App Router, Python 3.12, Tailwind CSS v4...).
- Mô tả trạng thái hiện tại của hệ thống hoặc luồng dữ liệu liên quan.
2.2. G - Goal (Mục tiêu cốt lõi)
Mục tiêu cần được phát biểu rõ ràng, cụ thể và có thể định lượng được. Tránh nói chung chung như "hãy tối ưu trang này", thay vào đó hãy nói: "Hãy tách hàm tính toán thuế thành một utility riêng và bổ sung tính năng hỗ trợ mã giảm giá phần trăm".
2.3. C - Constraints (Ràng buộc kỹ thuật & Quy chuẩn)
Đây là phần quan trọng nhất để giữ cho agent không "phá vỡ" kiến trúc hiện tại của dự án. Một số ràng buộc tiêu biểu bạn nên đưa vào:
- Ràng buộc phạm vi: Chỉ chỉnh sửa trong tệp chỉ định, không thay đổi signature của các hàm public đang được dùng ở nơi khác.
- Ràng buộc thư viện: Không cài thêm thư viện phụ thuộc (dependencies) mới ngoài những package đã có sẵn trong
package.jsonhoặcrequirements.txt. - Ràng buộc tương thích: Giữ nguyên chuẩn TypeScript strict mode, không dùng kiểu dữ liệu
any.
2.4. V - Verification (Tiêu chí kiểm thử & Nghiệm thu)
Vì Antigravity có quyền chạy lệnh shell trong terminal, bạn hoàn toàn có thể yêu cầu AI tự chứng minh code của mình đã hoạt động trước khi hoàn thành phiên làm việc:
Ví dụ: "Sau khi sửa đổi xong, hãy chạy lệnh npm test -- auth.test.ts để đảm bảo toàn bộ unit test đều vượt qua (Pass) và chạy npm run lint để kiểm tra lỗi cú pháp".
3. Các kỹ thuật viết Prompt thực chiến giúp khai phóng toàn bộ sức mạnh Antigravity
3.1. Tận dụng tối đa hệ thống Slash Commands
Antigravity tích hợp sẵn các lệnh gạch chéo (Slash Commands) đặc quyền để kích hoạt các chế độ tư duy và quy trình chuyên biệt. Hãy học cách lồng ghép chúng vào phiên làm việc:
/plan: Dùng khi bắt đầu một tính năng mới hoặc một đợt refactor phức tạp. Lệnh này buộc Antigravity phải phác thảo kế hoạch chi tiết, đánh giá rủi ro và các bước tiến hành trước khi bắt tay vào sửa code./grill-me: Kích hoạt chế độ "phỏng vấn ngược". Antigravity sẽ đóng vai một kỹ sư kiến trúc khó tính, liên tục đặt câu hỏi đào sâu vào các điểm chưa rõ ràng trong yêu cầu của bạn trước khi đưa ra giải pháp./goal: Dành cho các tác vụ tự hành chạy nền dài hạn. Agent sẽ kiên trì lặp lại các vòng lặp kiểm tra, tự sửa lỗi cho đến khi đạt được mục tiêu cuối cùng mới dừng lại./boost: Kích hoạt chế độ phân tích sâu đa góc nhìn, đặc biệt hữu ích khi tối ưu thuật toán khó, thiết kế cơ sở dữ liệu lớn hoặc truy tìm lỗ hổng bảo mật.
3.2. Cung cấp dữ liệu lỗi chi tiết thay vì mô tả cảm tính
Khi gặp bug, đừng bao giờ chỉ nhắn: "Hàm đăng nhập bị lỗi rồi, hãy sửa giúp tôi". Cách tiếp cận chuẩn xác là cung cấp đầy đủ nhật ký thực thi:
Ví dụ prompt chuẩn:
"Khi thực hiện gọi API POST đến endpoint/api/v1/checkout, máy chủ trả về mã lỗi 500 với log chi tiết như sau:TypeError: Cannot read properties of undefined (reading 'cartItems')tại dòng 42 tệpcontrollers/orderController.js. Hãy kiểm tra lại khâu validate dữ liệu payload đầu vào của middleware và bổ sung xử lý fallback khi giỏ hàng trống."
3.3. Sử dụng Custom Skills và Rules để "tiết kiệm từ ngữ"
Một bí quyết của những chuyên gia sử dụng Antigravity là không lặp lại cùng một chỉ dẫn nhiều lần. Bạn có thể định nghĩa các quy tắc cốt lõi của dự án vào thư mục .gemini/rules hoặc tạo các Skill riêng biệt. Khi đó, prompt của bạn chỉ cần ngắn gọn nhưng agent vẫn tuân thủ 100% văn phong lập trình, quy chuẩn đặt tên biến hay kiến trúc dự án đã được cài đặt sẵn.
3.4. Áp dụng chiến lược "One Step at a Time" (Từng bước một)
Đối với các dự án lớn, hãy chia nhỏ bài toán thành các mốc rõ ràng:
- Bước 1: Prompt yêu cầu tạo Schema / Model cơ sở dữ liệu và viết migration.
- Bước 2: Prompt yêu cầu tạo Data Access Layer (Repository / DAO).
- Bước 3: Prompt yêu cầu viết Service xử lý nghiệp vụ cùng Unit Test tương ứng.
- Bước 4: Prompt hoàn thiện Controller / API Route và tài liệu Swagger.
Việc này giúp bạn dễ dàng review từng diff thay đổi của code và tránh trường hợp AI sửa đổi quá nhiều file cùng lúc gây khó khăn cho việc kiểm soát.
4. Bảng so sánh Prompt kém hiệu quả và Prompt tối ưu cho Antigravity
Dưới đây là bảng đối chiếu thực tế giữa cách viết prompt thông thường và cách viết prompt tối ưu dành riêng cho Antigravity:
| Trường hợp sử dụng | Prompt mơ hồ (Dễ gây lỗi / Ảo giác) | Prompt tối ưu cho Antigravity (Mô hình C-G-C-V) |
|---|---|---|
| Sửa lỗi giao diện UI | Nút bấm thanh toán trên điện thoại bị lệch, chỉnh lại cho đẹp đi. | Kiểm tra tệp src/components/CheckoutButton.tsx. Nút bấm đang bị tràn lề ngang trên màn hình có độ rộng dưới 375px. Hãy chỉnh lại CSS dùng Flexbox kết hợp Tailwind responsive (w-full trên mobile, w-auto trên desktop), không làm ảnh hưởng đến margin của cụm nút liền kề. |
| Tạo API mới | Viết cho tôi một API tìm kiếm người dùng theo tên. | Trong routes/userRoutes.js, hãy tạo endpoint GET /api/users/search?q={keyword}. Sử dụng Prisma ORM truy vấn bảng User với điều kiện Contains không phân biệt hoa thường. Thêm phân trang limit=20, offset. Viết kèm 2 test case trong tests/user.test.js và chạy test để kiểm chứng. |
| Tối ưu truy vấn Database | Trang danh sách bài viết tải chậm quá, tăng tốc giúp tôi. | Sử dụng lệnh /boost để phân tích hàm getRecentPosts() trong services/postService.ts. Hiện tại hàm đang dính lỗi N+1 query khi nạp thông tin Author và Comments. Hãy chuyển sang kỹ thuật Eager Loading hoặc JOIN phù hợp, đánh index cho cột created_at và chạy benchmark lại bằng script scripts/benchmark.js. |
| Refactor mã nguồn | Dọn dẹp code file này cho gọn. | Áp dụng /plan trước. File utils/helpers.ts hiện dài hơn 1.000 dòng. Hãy lên kế hoạch phân tách thành các module con trong thư mục utils/ theo chức năng (dateHelper, stringHelper, formatHelper). Giữ nguyên index.ts để re-export nhằm không gây lỗi import ở các file khác. |
5. Những sai lầm phổ biến khi viết prompt cho Antigravity và cách khắc phục
5.1. Sai lầm 1: Ép agent sửa code mà không cho phép đọc ngữ cảnh
Nhiều người dùng chỉ dán một hàm duy nhất vào chat và bảo Antigravity sửa. Điều này làm mất đi lợi thế lớn nhất của Antigravity là khả năng hiểu toàn bộ cây thư mục dự án. Hãy luôn tạo điều kiện để agent tự duyệt file và đọc các file liên quan trước khi đưa ra quyết định thay đổi.
5.2. Sai lầm 2: Bỏ qua bước lập kế hoạch (/plan) cho các tác vụ lớn
Khi bạn yêu cầu làm mới toàn bộ một hệ thống xác thực (Authentication) hoặc chuyển đổi cơ sở dữ liệu mà không yêu cầu lập kế hoạch trước, agent có thể tiến hành sửa đổi hàng loạt file khiến việc hoàn tác (rollback) trở nên cực kỳ phức tạp. Hãy luôn bắt đầu bằng lệnh /plan hoặc /grill-me để thảo luận và thống nhất giải pháp kiến trúc.
5.3. Sai lầm 3: Quên xác thực quyền ghi file và câu lệnh nhạy cảm
Mặc dù Antigravity được tích hợp các cơ chế bảo vệ chống mất mát dữ liệu ngẫu nhiên (Accidental Data Loss Prevention), bạn vẫn nên nêu rõ trong prompt những vùng dữ liệu nhạy cảm không được phép đụng tới (chẳng hạn như file .env, thư mục migrations cũ hoặc nhánh production).
6. Kết luận
Viết prompt hiệu quả cho Google Antigravity là sự kết hợp hoàn hảo giữa tư duy kỹ thuật của một lập trình viên giàu kinh nghiệm và kỹ năng quản lý uỷ quyền mục tiêu cho Agentic AI. Bằng cách áp dụng mô hình C-G-C-V, khai thác tối đa hệ thống Slash Commands và cung cấp thông tin kiểm thử tự động, bạn sẽ giải phóng hoàn toàn sức mạnh của Antigravity, biến trợ lý AI này thành một người đồng đội lập trình đắc lực giúp bạn đưa các ý tưởng phần mềm vào thực tế với tốc độ và chất lượng vượt trội.

Nhận xét
Đăng nhận xét