---
title: "Skill AI là gì? Mình thử viết skill cho Grok Bot"
description: "Skill AI là gì và vì sao thiếu nó AI agent trả lời khách dè dặt? Mình thử viết skill cho Grok Bot, rút ra 4 cách viết skill và 5 bước tạo SKILL.md đầu tiên."
canonical: "https://200lab.io/blog/skill-la-gi-so-tay-cho-bot-ai"
published: "2026-10-24T02:54:46Z"
updated: "2026-11-02T02:17:24Z"
authors: ["Mỹ Ngọc"]
tags: ["AI", "Agent", "Tips and tricks", "Mindset", "Grok Bot"]
reading_minutes: 10
access: "public"
---

Để bot tự trả lời khách, điều mình ngại nhất là nó cam kết những thứ shop chưa từng đồng ý. Ở [bài trước](https://200lab.io/blog/lan-dau-de-ai-tu-lam-viec-minh-nhan-ve-mot-dong-hon-don), mình đã thấy chỉ cần nói rõ mục đích, ranh giới và lúc nào là xong thì AI làm đúng ý hơn hẳn. Nhưng chẳng lẽ lần nào cũng phải gõ lại từng ấy lời dặn?

Câu trả lời là **skill**. Mình thử nó với tình huống giả định cũ: một chủ shop nến thủ công bán một mình, nhờ bot trả lời khách báo nến bị vỡ.

## Skill AI là gì: cuốn sổ tay AI agent đọc trước khi làm việc

Skill là một bản hướng dẫn viết sẵn cho một loại việc: quy trình, quy tắc phải giữ, có khi cả mẫu câu. Gặp đúng loại việc đó, bot đọc sổ tay rồi mới làm.

Nó khác với việc dặn trong từng câu chat ở chỗ bạn chỉ viết **một lần**. Lời dặn trong chat trôi theo cuộc trò chuyện. Hôm nay dặn kỹ, mai dặn thiếu một ý là bot làm khác. Sổ tay thì lần nào bot cũng đọc đúng một nội dung.

Theo một [bài học trong khóa Agent Harness Foundations](https://200lab.io/courses/agent-harness-foundations) mà mình đọc, bot thường chỉ thấy tên và một dòng mô tả của skill trước, giống đọc gáy sách. Khi việc đang làm khớp với mô tả, hệ thống mới nạp nội dung đầy đủ vào.

## Thử nghiệm trên Grok Bot: trả lời khách báo nến vỡ, có và không có sổ tay

Mình viết một sổ tay khoảng 20 dòng cho việc "trả lời khách báo nến bị vỡ nắp hoặc vỡ hũ", với chính sách giả định:

- Khách báo trong vòng 3 ngày kể từ khi nhận hàng và có ảnh: shop gửi bù phần hư hoặc hoàn tiền đúng phần hư, khách chọn một.
- Quá 3 ngày: không cam kết gì, ghi nhận và chuyển cho chủ shop.
- Không cam kết quà, mã giảm giá, hoàn gấp đôi, hoàn cả đơn hay thời gian giao cụ thể.
- Xin lỗi một câu, không đổ lỗi cho vận chuyển, hỏi ảnh và mã đơn, xưng "mình - bạn", dưới 80 từ.

Mình soạn ba tin nhắn khách: một khách lịch sự đã gửi ảnh và mã đơn, một khách đang bực đòi hoàn gấp đôi kèm dọa đánh giá 1 sao, một khách nhận hàng 10 ngày rồi mới báo hũ nứt. Sau đó, mình tạo hai Grok Bot mới với cùng một dòng mô tả "Trợ lý shop nến, trả lời khách" (đừng nhầm Grok Bot với Grok CLI hay @grok trên X nhé). Bot "Sáp Nhỏ - Trực Chat Shop" không có sổ tay, còn bot "Bấc Nhỏ - Trực Chat Có Sổ Tay" được mình dán sổ tay ở tin nhắn đầu tiên, kèm lời dặn làm theo.

Mình đóng vai chủ shop, gửi lần lượt ba tin của khách cho từng bot trong cùng một cuộc trò chuyện và nhờ bot soạn câu trả lời. Mỗi bot chỉ chạy một lần, nên mình không dám nói chạy lại sẽ y hệt. Bot cũng thấy tin trước khi trả lời tin sau, nên ba ca không hoàn toàn tách rời nhau.

**Không có sổ tay**, bot không bịa chính sách nào. Cả ba lần, nó đều né cam kết cụ thể và ghi chú hỏi lại chủ shop. Như ở ca đầu, bot ghi chú rằng chưa biết chính sách đổi trả của shop nên chưa cam kết cụ thể chuyện gửi bù nắp hay đổi hũ mới, ai chịu phí ship. Cẩn thận là tốt, nhưng kết quả là không ca nào được chốt, ca nào cũng phải chờ chủ shop quyết.

Vài câu vẫn đi trước phần chưa xác minh. Ở hai ca đầu, bot cam kết mốc "trong hôm nay". Với khách lịch sự, nó viết "phản hồi bạn phương án gửi bù", nghe như thể shop đã định gửi bù. Với khách đang bực, chưa có ảnh hay mã đơn, bot đã vội nói "Shop nhận trách nhiệm".

**Có sổ tay**, bot chốt được ca đầu ngay trong một tin: "Bạn có thể chọn một trong hai cách: shop gửi bù cho bạn một nắp mới, hoặc hoàn tiền đúng phần nắp bị vỡ." Với khách đòi gấp đôi, bot xin ảnh và mã đơn, nêu đúng chính sách, còn phần gấp đôi thì "mình sẽ chuyển cho chủ shop xem thêm". Với khách báo muộn, bot áp đúng mốc 3 ngày: chỉ ghi nhận và "chuyển cho chủ shop xem", không cam kết đổi hay hoàn tiền.

Câu trả lời cũng gọn hơn hẳn. Bản không có sổ tay dài khoảng 100 đến 117 từ, còn bản có sổ tay từ 51 đến 71 từ, xưng "mình - bạn" đúng giọng sổ tay.

## Có skill rồi bot vẫn sai ở đâu: những lỗi nhỏ mình còn thấy

Đọc kỹ lại, bản có sổ tay vẫn còn chỗ hở. Với khách đòi gấp đôi, bot nêu luôn điều kiện 3 ngày dù chưa biết khách nhận hàng hôm nào. Như vậy là hơi lộ chính sách sớm, nhưng mình thấy vẫn chấp nhận được.

Chỗ đáng chú ý hơn nằm ở ca hũ nứt. Bot không có sổ tay tự dặn khách: "bạn tạm thời đừng đốt nến trong hũ bị nứt nha, vì nhiệt có thể làm vết nứt lan rộng, không an toàn cho bạn". Bot có sổ tay trả lời đúng luật nhưng bỏ qua câu này, vì sổ tay của mình chưa có dòng nào về an toàn. Sổ tay làm bot đúng hơn, nhưng cũng hẹp hơn.

Theo bài học kia, lời dặn dù viết hay đến đâu cũng chỉ giúp bot *đề xuất* đúng thường xuyên hơn, chứ không tự chặn được hành động sai. Việc nào liên quan tới tiền hay cam kết với khách, mình vẫn đọc lại trước khi gửi.

## Cách viết skill cho AI: 4 điều mình rút ra từ thí nghiệm với Grok Bot

1. **Ghi rõ "khi nào dùng" ngay đầu sổ tay.** Nếu bot chỉ thấy tên và mô tả trước, dòng mô tả quyết định sổ tay có được mở ra không. Thú thật, lần này mình dán thẳng sổ tay vào tin nhắn đầu tiên, nên chưa thử phần bot tự chọn sổ tay. Bot có sổ tay còn nói đã lưu sổ tay để dùng cho lần sau, nhưng mình chưa kiểm tra nó có tự mở ra ở cuộc trò chuyện khác không.
2. **Viết cả những điều không được cam kết.** Bot không có sổ tay không bịa chính sách, nhưng vẫn buột ra "trong hôm nay" hay "Shop nhận trách nhiệm". Bot có sổ tay thì từ chối hoàn gấp đôi và tự ghi chú là không cam kết "ngay hôm nay", đúng danh sách những điều không được cam kết trong sổ tay.
3. **Cho bot một lối thoát.** Câu "chuyển cho chủ shop xem thêm" giúp bot khỏi phải chọn giữa chiều khách và cãi khách. Cả hai ca khó đều được bot có sổ tay xử lý bằng kiểu câu này.
4. **Đọc kết quả rồi vá sổ tay.** Sổ tay của mình chỉ có luật về tiền và cam kết, nên bot làm đúng luật mà quên lời dặn an toàn. Sau lần chạy này, mình sẽ thêm một dòng: hũ nứt hay vỡ thì nhắc khách đừng đốt nến và cẩn thận mảnh thủy tinh. Sổ tay là thứ sửa dần.

## Khi nào nên tạo skill cho AI agent: việc lặp lại và có quy tắc rõ ràng

Không phải việc gì cũng cần sổ tay. Phép thử của mình: thấy mình dặn bot cùng một kiểu tới lần thứ ba thì nên viết ra. Hợp nhất là việc lặp lại và có luật, như trả lời khiếu nại, xác nhận đơn, viết mô tả sản phẩm theo khuôn. Việc làm một lần, hoặc việc chính bạn chưa nghĩ xong luật, thì cứ dặn trong chat.

## SKILL.md và Agent Skills: chuẩn skill chung cho nhiều AI agent

Theo quan điểm riêng của mình, mình thấy cái này hay ở chỗ skill biến kinh nghiệm của chủ shop thành thứ tái sử dụng được, viết một lần là bot dùng mãi. Mấy luật nhỏ trước giờ chỉ nằm trong đầu người bán, như ba ngày, có ảnh, không đổ lỗi shipper, giờ thành một trang giấy bot nào cũng đọc được.

Skill cũng không chỉ có ở một công cụ. README của repo [php2shell-checker](https://github.com/openai/php2shell-checker) trên GitHub của OpenAI hướng dẫn bảo [Codex](https://github.com/openai/codex) cài hai skill bằng lệnh `$skill-installer`, và mỗi skill là một file `SKILL.md`.

Grok Bot mình đang dùng cũng lưu quy trình làm việc thành các file skill riêng. Thật ra kiểu sổ tay này giờ đã thành chuẩn chung: [Agent Skills](https://github.com/agentskills/agentskills) là chuẩn mở cho file `SKILL.md`, và [theo Anthropic](https://www.anthropic.com/news/donating-agent-skills-to-the-agentic-ai-foundation), hơn 70 nền tảng agent như ChatGPT, Cursor, GitHub Copilot hay VS Code đã hỗ trợ. Với người dùng như mình, điều này có nghĩa là một trang sổ tay viết cẩn thận không bị khóa vào một công cụ, đổi bot vẫn mang theo được.

## Tự viết skill đầu tiên cho bot: 5 bước cơ bản cho người mới

Bạn không cần biết code để viết skill đầu tiên. Nếu công cụ bạn dùng chưa có chỗ cài skill, cứ dán sổ tay vào đầu cuộc trò chuyện, giống cách mình làm trong thí nghiệm ở trên.

1. **Rà lại những việc thủ công bạn làm mỗi ngày.** Ghi ra những việc bạn làm đi làm lại, hay những câu bạn trả lời khách gần như y nguyên mỗi ngày. Với shop nến, đó có thể là báo phí ship, xác nhận đơn, hay xử lý khách báo nến vỡ.
2. **Chọn một việc lặp lại và có luật rõ ràng.** Đừng bắt đầu bằng việc khó nhất, hãy chọn việc bạn đã biết rõ thế nào là làm đúng. Nếu chính bạn chưa chốt được luật, sổ tay cũng chưa giúp được gì.
3. **Chép lời bạn hay dặn bot ra một trang sổ tay.** Ghi rõ khi nào dùng, các bước làm, điều được cam kết, điều không được cam kết, và một lối thoát cho ca khó như câu "chuyển cho chủ shop xem thêm". Một trang là đủ, cỡ 20 dòng như sổ tay nến vỡ của mình.
4. **Thử cùng một tình huống, có và không có sổ tay.** Soạn hai, ba tin nhắn mẫu, trong đó có ít nhất một ca khó như khách đang bực hay báo muộn. Cho AI trả lời hai lần, một bên có sổ tay và một bên không, trên Grok Bot hay app chat bạn đang dùng, rồi đặt hai bản cạnh nhau mà so.
5. **Đọc kỹ kết quả rồi vá sổ tay.** Tìm chỗ bot cam kết quá mức, chỗ thiếu ý, chỗ câu chữ còn vụng, rồi thêm một hai dòng vào sổ tay. Như sau lần thử ở trên, mình định thêm dòng nhắc khách đừng đốt hũ bị nứt và cẩn thận mảnh thủy tinh.

Có cuốn sổ tay đầu tiên rồi, những cuốn sau chủ yếu là lặp lại đúng năm bước này cho việc khác trong danh sách.

## Đọc thêm

- [Gemini Decisions API: cổng chấm yes/no, choice và rubric của Google](https://200lab.io/blog/gemini-decisions-api.md): Gemini Decisions API chấm yes/no, chọn đáp án hoặc rubric kèm confidence trong một lượt. Google công bố latency 150-250 ms; bài tóm tắt từ docs, chưa gọi API.
- [Fine-tuning là gì? Khi nào chọn fine-tune, khi nào chọn RAG](https://200lab.io/blog/fine-tuning-la-gi.md): Fine tuning là gì: khi kiến thức hay đổi thì dùng RAG; muốn giữ format và giọng shop thì xét fine-tune hoặc LoRA.
- [Claude Fable 5.2 có gì mới và ưu đãi ra mắt cần biết](https://200lab.io/blog/claude-fable-5-2-whats-new.md): Claude Fable 5.2 được dùng trên app Claude với một số gói, hãy lưu ý hạn ưu đãi 16/11 và lưu dữ liệu 30 ngày; việc hằng ngày vẫn có thể bắt đầu với Opus 5.5.
- [Grok Bot gom phản hồi khách một tuần thành bảng việc cần sửa](https://200lab.io/blog/grok-bot-weekly-customer-feedback.md): Gom phản hồi khách bằng Grok Bot từ tin nhắn cả tuần: bạn có bảng khen chê kèm mã tin, ba việc cần sửa và tự đếm lại nhóm lớn nhất trước khi sửa shop.
- [Function calling là gì? Phân biệt với Structured Outputs và MCP](https://200lab.io/blog/function-calling-la-gi.md): Function calling nối model với dữ liệu thật qua host app: vòng tool call, các bước app phải kiểm tra, và điểm khác với Structured Outputs cùng MCP.
- [Mọi bài viết chủ đề AI](https://200lab.io/blog/tags/ai.md)

Toàn bộ nội dung: https://200lab.io/llms.txt
