Ở phần trước, chúng ta đã tìm hiểu:
- Skills thực chất là gì.
- Cơ chế Front-loading và Load On Demand.
- Vì sao Name và Description đóng vai trò quan trọng.
- Degrees of Freedom trong thiết kế Skills.
- Cách tổ chức thư mục cho một Skill.
Trong phần này, chúng ta sẽ tiếp tục với những Best Practices quan trọng khi xây dựng Skills, đồng thời phân tích ví dụ thực tế về việc sử dụng References và Python Scripts để tối ưu hiệu năng của Agent.
Best Practices Khi Đặt Tên Skills
Tên Skill không chỉ để người phát triển dễ nhận biết mà còn ảnh hưởng đến khả năng Orchestrator lựa chọn đúng Skill.
Vậy nên đặt tên theo hành động (verb) thay vì đặt tên theo đối tượng.
Ví dụ:
| Nên sử dụng | Không nên sử dụng |
|---|---|
| Processing PDFs | PDF Tool |
| Analyzing CSV | CSV Utility |
| Commenting Content | Comments |
| Generating Reports | Report |
Việc sử dụng động từ giúp Agent hiểu rõ mục đích của Skill ngay từ Name và tăng khả năng lựa chọn đúng Skill trong quá trình điều phối.
Viết Description Hiệu Quả
Description là một trong hai thông tin được Front-loaded ngay khi Agent khởi động.
Do đó, Description cần được viết ngắn gọn và rõ ràng.
Andrew chia sẻ một số nguyên tắc:
- Đưa từ khóa quan trọng lên đầu.
- Không viết lan man.
- Không cố gắng sử dụng hết 1024 ký tự.
- Viết ở ngôi thứ ba thay vì dạng mệnh lệnh.
Ví dụ:
Nên
Analyzes Word documents and adds native comments without modifying the original document.Không nên
Analyze Word documents and add comments.Description ở ngôi thứ ba mô tả Skill có khả năng làm gì, thay vì ra lệnh cho Agent phải làm gì.
Điều này giúp Orchestrator hiểu Skill tốt hơn khi quyết định có nên gọi Skill hay không.
Viết Instructions Cho Skill
Bên trong skill.md, Instructions là nơi hướng dẫn Agent thực hiện nhiệm vụ.
Ví dụ:
Analyze the document.
Add native comments using Microsoft Word or PowerPoint.
Never ask whether comments should be added.
Just add the comments.Có một chi tiết khá thú vị mà mình muốn nhấn mạnh.
Thay vì viết:
Do not ask...hãy sử dụng:
Never ask...Cách diễn đạt này giúp Agent thực hiện hành động dứt khoát hơn, tránh việc quay lại hỏi người dùng những câu hỏi không cần thiết.
Ví dụ:
Người dùng tải lên một tài liệu và yêu cầu:
“Hãy thêm các nhận xét.”
Agent không nên trả lời:
“Bạn có muốn tôi thêm nhận xét không?”
Mà nên thực hiện ngay yêu cầu.
Solve, Don’t Punt
Đây là một trong những nguyên tắc quan trọng nhất của series này.
Trong quá trình phát triển Skill, Agent có thể gặp lỗi.
Ví dụ:
Viết Python
↓
Chạy
↓
Lỗi
↓
Viết lại
↓
Chạy
↓
Lỗi
↓
Lặp lại...Nếu không xử lý, Agent sẽ liên tục thử lại, làm tăng thời gian xử lý và tiêu tốn nhiều AI Credits.
Trường hợp này gọi là Punting Errors.
Nguyên tắc được đề xuất:
Solve, Don’t Punt.
Nghĩa là sau khi Agent hoàn thành được nhiệm vụ, hãy tìm hiểu điều gì đã giúp Agent thành công và đưa kiến thức đó trở lại Skill.
Quy trình sẽ như sau:
Agent hoàn thành
↓
Hỏi Agent:
"What script worked?"
↓
Lấy Python Script
↓
Loại bỏ Hard-code
↓
Đưa vào Skill
↓
Các lần sau Agent tái sử dụng ScriptĐây là cách giúp Skill ngày càng thông minh hơn sau mỗi lần đánh giá (Evaluation).
Demo: Comment Word Và PowerPoint
Để minh họa, ta sẽ xây dựng một Skill có tên:
Commenting Content
Skill này có nhiệm vụ:
- Phân tích tài liệu Word.
- Phân tích PowerPoint.
- Thêm Comment trực tiếp vào tài liệu.
- Không chỉnh sửa nội dung gốc.
Luồng xử lý:
User
↓
Upload DOCX
↓
Commenting Content Skill
↓
Word Reference
↓
Python Script
↓
Word có CommentsĐối với PowerPoint:
User
↓
Upload PPTX
↓
Commenting Content Skill
↓
PowerPoint Reference
↓
Python Script
↓
PowerPoint có CommentsĐiểm đáng chú ý là Agent không thay đổi nội dung tài liệu, mà chỉ thêm các nhận xét (Comments) vào đúng vị trí cần góp ý.
References Giúp Giảm Token Consumption
Trong Skill, skill.md chỉ đóng vai trò điều phối.
Sau khi xác định loại tài liệu, Agent sẽ tải đúng Reference tương ứng.
Ví dụ:
Nếu là DOCX
↓
reference_docx.mdHoặc:
Nếu là PPTX
↓
reference_powerpoint.mdNhờ vậy, Agent không phải tải toàn bộ hướng dẫn của cả Word và PowerPoint vào Context Window.
Đây là một lợi ích quan trọng của cơ chế Load On Demand, giúp giảm lượng token sử dụng và tối ưu chi phí.
Tăng Hiệu Năng Bằng Python Scripts
Tôi đã tiến hành thực hiện hai lần chạy để so sánh.
Lần chạy đầu tiên
Skill chỉ có Markdown và References.
Khi cần thêm Comment vào Word, Agent phải:
- Tự viết Python.
- Thử chạy.
- Phát hiện lỗi.
- Viết lại.
- Chạy lại.
Toàn bộ quá trình này mất khoảng 2–3 phút.
Lần chạy thứ hai
Sau khi lấy được Python Script thành công ở lần đầu, tiến hành:
- Loại bỏ các giá trị Hard-code.
- Đưa Script vào thư mục
scripts. - Upload lại Skill.
Lần này, Agent chỉ cần gọi lại Script đã có.
Kết quả:
- Không phải tự sinh Python.
- Không lặp nhiều lần.
- Hoàn thành chỉ trong vài giây.
Đây là minh chứng rõ ràng cho lợi ích của việc tái sử dụng Scripts trong Skill.
Những Anti-pattern Cần Tránh
Đây là một số lỗi phổ biến khi xây dựng Skills.
Description quá mơ hồ
Description không nêu rõ mục đích của Skill sẽ khiến Agent khó lựa chọn đúng Skill.
Đưa từ khóa quan trọng xuống cuối
Các thông tin quan trọng nên xuất hiện ngay đầu Description vì đây là phần được Front-load.
Để Agent tự xử lý lỗi liên tục
Nếu Agent liên tục thử lại cùng một cách làm, Skill sẽ tiêu tốn nhiều thời gian và Credits hơn mức cần thiết.
Lồng quá nhiều References
Ví dụ:
skill.md
↓
reference1
↓
reference2
↓
reference3Việc lồng quá nhiều tầng khiến Skill khó bảo trì và làm tăng độ phức tạp không cần thiết.
Một Skill làm mọi việc
Thay vì tạo một Skill xử lý mọi tác vụ, nên chia thành nhiều Skill với phạm vi trách nhiệm rõ ràng.
Điều này giúp Orchestrator dễ dàng lựa chọn đúng Skill hơn.
Kết Luận
Skills là một trong những cơ chế mở rộng mạnh mẽ nhất của Microsoft Copilot Studio, cho phép Agent thực hiện các tác vụ chuyên biệt thông qua Markdown, References, Python Scripts và nhiều loại tài nguyên khác.
Thay vì xem Skill chỉ là một Prompt dài, nên coi Skill như một package chức năng hoàn chỉnh với cấu trúc rõ ràng và khả năng tái sử dụng cao.
Thông qua các nguyên tắc như Load On Demand, Balanced Degrees of Freedom, Solve, Don’t Punt và việc tổ chức hợp lý References cùng Scripts, chúng ta có thể xây dựng những Skills hoạt động ổn định hơn, giảm chi phí AI và dễ dàng mở rộng khi dự án phát triển.
Đối với các dự án Proof of Concept, một Skill đơn giản chỉ với skill.md có thể đáp ứng tốt nhu cầu ban đầu. Khi triển khai ở quy mô doanh nghiệp, việc bổ sung References, Scripts và tổ chức Skill theo các Best Practices sẽ giúp Agent đạt hiệu năng cao hơn và giảm đáng kể thời gian xử lý cho các tác vụ phức tạp.
Chúc các bạn thành công!

Xây Dựng Microsoft Copilot Studio Skills Chuyên Nghiệp Với References Và Scripts (Phần 2)
Ở phần trước, chúng ta đã tìm hiểu: Skills thực chất là gì. Cơ chế






















































































































































































