Rules, Workflows và Skills: tuỳ biến agent Antigravity
TL;DR: Antigravity cho bạn ba lớp tuỳ biến agent: Rules (luật luôn áp dụng), Workflows (prompt lưu sẵn gọi khi cần) và Skills (gói chỉ dẫn tự nạp theo ngữ cảnh). Nắm được lúc nào dùng lớp nào, agent của bạn sẽ code đúng chuẩn dự án ngay từ prompt đầu tiên thay vì phải nhắc đi nhắc lại. Đây là bài 8 trong series 10 phần về Google Antigravity.
Sau bảy bài đầu của series, bạn đã cài được Antigravity, giao task cho agent và thậm chí chạy agent ngay trong terminal với CLI. Nhưng nếu dừng ở đó, mỗi lần mở conversation mới bạn vẫn phải dặn lại agent: "nhớ viết test nhé", "đặt tên biến kiểu snake_case", "commit message viết tiếng Anh". Bộ ba rules workflows antigravity và skills sinh ra để giải quyết đúng cái phiền đó — dạy agent một lần, dùng mãi về sau. Trong bài này mình đi qua từng cơ chế, so sánh khi nào dùng cái nào, và làm ví dụ thực tế cho một blog cá nhân.
Vì sao phải tuỳ biến agent thay vì prompt chay
Mình từng thử làm việc kiểu "prompt chay" suốt tuần đầu: mỗi task một đoạn mô tả dài, kèm đủ thứ quy ước. Kết quả là prompt nào cũng lặp lại 30–40% nội dung, và chỉ cần quên một câu dặn dò là agent lại trả về code lệch chuẩn.
Vấn đề không nằm ở model. Vấn đề là ngữ cảnh không được tái sử dụng. Agent giỏi đến đâu cũng chỉ biết những gì bạn đưa vào cuộc hội thoại. Antigravity xử lý chuyện này bằng ba cơ chế, mỗi cái phủ một tầng khác nhau:
| Cơ chế | Cách kích hoạt | Phù hợp với |
|---|---|---|
| Rules | Tự động, luôn áp dụng | Quy ước bắt buộc: coding style, ngôn ngữ, cấu trúc |
| Workflows | Bạn gọi thủ công khi cần | Tác vụ lặp lại có quy trình cố định |
| Skills | Agent tự nạp khi request khớp mô tả | Kiến thức chuyên sâu theo tình huống |
Ba tầng này cộng lại giống như cách bạn onboard một đồng nghiệp mới: sổ tay quy định (Rules), các checklist nghiệp vụ (Workflows), và kinh nghiệm chuyên môn gọi ra đúng lúc (Skills).
Rules: luật nền luôn bật cho mọi task
Rules là chỉ dẫn cấp hệ thống. Một khi đã khai báo, agent áp dụng cho mọi lần sinh code trong phạm vi của rule mà bạn không cần nhắc lại.
Vài ví dụ rule mình thấy hữu ích ngay từ ngày đầu:
- "Mọi code Python phải theo PEP 8, có docstring cho hàm public, chia module thay vì dồn một file."
- "Không hardcode secret hay API key; luôn đọc từ biến môi trường."
- "Comment và commit message viết tiếng Anh, giải thích cho người đọc code sau này."
- "Ưu tiên thư viện chuẩn trước khi thêm dependency mới."
Điểm hay của Rules là nó chạy ngầm. Bạn giao task "viết script đọc file CSV rồi tổng hợp doanh thu", agent tự động trả về code đã tuân thủ các luật trên — không cần bạn dán lại quy ước lần nào nữa.
Kinh nghiệm của mình: viết rule ngắn, cụ thể, kiểm chứng được. Rule kiểu "code phải sạch đẹp" gần như vô dụng vì agent không biết "đẹp" theo tiêu chí nào. Rule kiểu "hàm không dài quá 50 dòng, tách logic IO khỏi logic tính toán" thì agent bám theo rất chuẩn.
Workflows: prompt lưu sẵn cho việc lặp lại
Workflows là prompt soạn sẵn được gọi theo yêu cầu — bạn có thể hình dung nó như shortcut. Khác với Rules chạy tự động, Workflow chỉ chạy khi bạn chủ động gọi.
Những việc mình hay đóng gói thành workflow:
- Chuẩn bị release: chạy test, cập nhật changelog, kiểm tra version, liệt kê thay đổi từ lần release trước.
- Dọn dependency: rà các package không còn dùng, đề xuất bản cập nhật an toàn.
- Viết bài blog kỹ thuật: dàn ý theo cấu trúc cố định, kiểm tra heading, độ dài, link nội bộ.
Điểm khác biệt then chốt so với Rules: workflow mô tả một quy trình có bước, còn rule mô tả một ràng buộc. Nếu bạn thấy mình đang viết rule có chữ "bước 1, bước 2" thì gần như chắc chắn nó nên là workflow.
Antigravity còn có slash command sẵn như /browser hay /schedule (mình đã dùng /browser trong bài về browser control) — workflow tự viết của bạn về bản chất cũng là dạng lệnh gọi nhanh như vậy, nhưng nội dung do bạn quyết định.
Skills: gói kiến thức agent tự nạp đúng lúc
Skills là phần mình thấy thú vị nhất trong bộ ba. Mỗi skill là một gói chỉ dẫn kèm mô tả; khi request của bạn khớp với mô tả đó, agent tự nạp nội dung skill vào ngữ cảnh rồi mới làm việc.
Ví dụ kinh điển từ tài liệu: bạn tạo skill code-review chứa file SKILL.md với checklist review (kiểm tra edge case, naming, test coverage, security). Từ đó về sau, mỗi lần bạn gõ "review giúp mình đoạn code này", agent tự kích hoạt skill và review theo đúng checklist — không cần dán checklist thủ công mỗi lần.
Theo tài liệu công bố, vị trí đặt skill như sau:
- Global (mọi project):
~/.gemini/config/skills/— ví dụ~/.gemini/config/skills/code-review/SKILL.md - Riêng từng project:
<project>/.agents/skills/— chỉ có hiệu lực trong dự án đó
Cấu trúc một skill tối giản:
code-review/
└── SKILL.md # mô tả khi nào dùng + nội dung checklist
Trong SKILL.md, phần mô tả đầu file quyết định lúc nào skill được nạp — hãy viết mô tả sát với cách bạn thường ra lệnh. Nếu bạn hay gõ "soát lại code", đưa cả cụm đó vào mô tả để agent bắt khớp chính xác hơn.
Điều làm Skills khác hẳn Rules: skill không chiếm ngữ cảnh khi không cần. Rule luôn nằm trong đầu agent; skill chỉ được nạp đúng tình huống. Vì vậy kiến thức dài, chuyên sâu (quy trình deploy 20 bước, chuẩn viết API nội bộ) nên đóng thành skill thay vì nhồi hết vào rule.
Ví dụ thực tế: bộ rules workflows antigravity cho blog cá nhân
Để dễ hình dung, đây là bộ tuỳ biến mình phác cho một blog tĩnh (kiểu blog bạn đang đọc — tương tự dự án mình mô tả trong bài mở đầu series):
1 Rule — quy ước nội dung:
Bài viết markdown phải có frontmatter đủ title, description, date;
heading bắt đầu từ H2; ảnh dùng định dạng WebP; không hardcode URL tuyệt đối
của môi trường dev vào bài.
1 Workflow — "đăng bài mới":
Bước 1: tạo file markdown theo template chuẩn của blog.
Bước 2: kiểm tra chính tả và link nội bộ trong bài.
Bước 3: chạy lệnh build ở chế độ kiểm tra, báo lỗi nếu có.
Bước 4: tóm tắt thay đổi để mình tự review trước khi commit.
1 Skill — seo-check:
Mô tả: dùng khi được nhờ "kiểm tra SEO" hoặc "tối ưu bài viết".
Nội dung: checklist — title dưới 60 ký tự chứa keyword, description 50–160 ký tự,
keyword xuất hiện ở intro và ít nhất một H2, có link nội bộ về trang chuyên mục,
có external link nguồn uy tín.
Với bộ này, thao tác hằng ngày của mình rút xuống còn: gõ yêu cầu ngắn → agent tự tuân rule → cần đăng bài thì gọi workflow → cần soát SEO thì chỉ nói "kiểm tra SEO bài này" và skill tự nạp. Ai mới học Git để quản lý blog thì nên đọc thêm Git là gì — version control cho người mới vì workflow phía trên sẽ đẹp hơn nhiều khi repo của bạn có lịch sử commit sạch.
Mẹo tổ chức để team dùng chung
Làm một mình thì đặt đâu cũng được, nhưng làm theo team thì nên có kỷ luật ngay từ đầu:
- Commit skill cấp project vào repo. Thư mục
.agents/skills/nằm trong dự án nên checkout về là cả team dùng chung — giống cách chia sẻ cấu hình linter hay editorconfig. - Global cho cá nhân, project cho team. Sở thích riêng (giọng comment, thói quen đặt tên nhánh) để ở
~/.gemini/config/skills/; chuẩn chung của team phải nằm trong repo để không ai lệch. - Đặt tên skill theo động từ nghiệp vụ:
code-review,release-check,seo-check— nhìn tên đoán được lúc nào nó kích hoạt. - Review skill như review code. Skill sai sẽ dạy agent làm sai hàng loạt; thay đổi skill nên đi qua pull request như mọi thay đổi khác.
- Bắt đầu nhỏ. 3–5 rule cốt lõi và 1–2 skill dùng thật còn hơn 30 rule chép từ internet mà không ai nhớ nổi.
Một mẹo cuối: thỉnh thoảng hãy hỏi ngược agent "theo các rule hiện tại, có rule nào mâu thuẫn hoặc thừa không?". Mình đã lọc được kha khá rule trùng lặp nhờ cách này. Nếu bạn dùng nhiều công cụ AI song song, cách tổ chức rule tương tự cũng áp dụng được cho các CLI khác — mình có so sánh vài công cụ trong bài Codex, Claude và Gemini cho người mới vibe coding.
Kết: dạy agent một lần, dùng cả dự án
Bộ ba rules workflows antigravity cùng với Skills là ranh giới giữa "dùng thử AI cho vui" và "đưa agent vào quy trình làm việc thật". Rules giữ chuẩn mực, Workflows gói quy trình, Skills nạp kiến thức đúng lúc — cả ba cộng lại giúp agent của bạn hành xử nhất quán như một thành viên đã được onboard tử tế. Tài liệu chi tiết bạn xem thêm tại antigravity.google/docs, và các bài công nghệ khác nằm ở chuyên mục Công nghệ.
Bài tiếp theo: agent của bạn sẽ mạnh hơn nữa khi kết nối được với công cụ ngoài — đọc tiếp bài 9: MCP servers và Knowledge Base trong Antigravity để mở rộng "tay chân" cho agent.
Liên kết bên ngoài được sử dụng trong bài viết
Liên kết nội bộ liên quan
Bản quyền & Ghi nguồn
Một phần dữ liệu trong bài viết được tham khảo từ Getting Started with Google Antigravity — Google Codelabs, antigravity.google/docs và Build with Google Antigravity — Google Developers Blog. Mọi thương hiệu, tên sản phẩm và tài liệu gốc thuộc quyền sở hữu của chủ sở hữu tương ứng. Bài viết chỉ trích dẫn, tổng hợp và phân tích — không nhằm thay thế tài liệu chính thức.
Bình luận
Đang tải bình luận…
Chưa có bình luận nào. Hãy là người đầu tiên chia sẻ ý kiến.
Đăng nhập để tham gia thảo luận.
Đăng nhập bằng Google để bình luậnChỉ dùng để bình luận. Không truy cập trình soạn thảo/CMS.
Không kết nối được máy chủ. Vui lòng thử lại.